Skip to content

feat: REST + WebSocket transport adapter#1

Open
HexaField wants to merge 1 commit into
mainfrom
feat/sse-to-websocket
Open

feat: REST + WebSocket transport adapter#1
HexaField wants to merge 1 commit into
mainfrom
feat/sse-to-websocket

Conversation

@HexaField
Copy link
Copy Markdown
Contributor

Summary

Adds the bridge adapter for the feat/sse-to-websocket branch of coasys/ad4m.

Transport: REST + WebSocket RPC

  • Patches RestClient.call() to intercept all HTTP requests
  • Intercepts WebSocket RPC frames (_ensureWs() pattern) for real-time operation tracking
  • Maps REST operations to OperationRecord with transport: 'rest'
  • Maps WS RPC calls to OperationRecord with transport: 'ws'
  • Tracks SSE/EventSource subscriptions and reconnection events

Integration

In Ad4mClient constructor (REST-based):

import { initDevToolsBridge } from '@ad4m-devtools/bridge';
// After constructing RestClient:
initDevToolsBridge(this);

Builds

  • packages/bridge: ✅ tsc clean
  • packages/extension: ✅ vite build clean

Target

Works with coasys/ad4m#feat/sse-to-websocket

- Bridge uses REST adapter wrapping RestClient HTTP calls
- WebSocket frame interception for WS RPC tracking
- Tracks event stream subscriptions
- Same extension UI (transport-agnostic)
- Compatible with coasys/ad4m feat/sse-to-websocket branch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant