aibroker 0.5.1 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +263 -104
- package/dist/adapters/iterm/iterm2-api.d.ts +20 -0
- package/dist/adapters/iterm/iterm2-api.d.ts.map +1 -0
- package/dist/adapters/iterm/iterm2-api.js +244 -0
- package/dist/adapters/iterm/iterm2-api.js.map +1 -0
- package/dist/adapters/iterm/sessions.d.ts +1 -0
- package/dist/adapters/iterm/sessions.d.ts.map +1 -1
- package/dist/adapters/iterm/sessions.js +26 -2
- package/dist/adapters/iterm/sessions.js.map +1 -1
- package/dist/adapters/kokoro/media.js +2 -2
- package/dist/adapters/kokoro/media.js.map +1 -1
- package/dist/adapters/pailot/gateway.d.ts +5 -6
- package/dist/adapters/pailot/gateway.d.ts.map +1 -1
- package/dist/adapters/pailot/gateway.js +575 -34
- package/dist/adapters/pailot/gateway.js.map +1 -1
- package/dist/aibp/bridge.d.ts +123 -0
- package/dist/aibp/bridge.d.ts.map +1 -0
- package/dist/aibp/bridge.js +363 -0
- package/dist/aibp/bridge.js.map +1 -0
- package/dist/aibp/envelope.d.ts +26 -0
- package/dist/aibp/envelope.d.ts.map +1 -0
- package/dist/aibp/envelope.js +101 -0
- package/dist/aibp/envelope.js.map +1 -0
- package/dist/aibp/index.d.ts +11 -0
- package/dist/aibp/index.d.ts.map +1 -0
- package/dist/aibp/index.js +10 -0
- package/dist/aibp/index.js.map +1 -0
- package/dist/aibp/registry.d.ts +71 -0
- package/dist/aibp/registry.d.ts.map +1 -0
- package/dist/aibp/registry.js +408 -0
- package/dist/aibp/registry.js.map +1 -0
- package/dist/aibp/types.d.ts +91 -0
- package/dist/aibp/types.d.ts.map +1 -0
- package/dist/aibp/types.js +8 -0
- package/dist/aibp/types.js.map +1 -0
- package/dist/core/hybrid.d.ts +2 -0
- package/dist/core/hybrid.d.ts.map +1 -1
- package/dist/core/hybrid.js +8 -0
- package/dist/core/hybrid.js.map +1 -1
- package/dist/core/state.d.ts +12 -0
- package/dist/core/state.d.ts.map +1 -1
- package/dist/core/state.js +34 -0
- package/dist/core/state.js.map +1 -1
- package/dist/core/status-cache.d.ts +51 -0
- package/dist/core/status-cache.d.ts.map +1 -0
- package/dist/core/status-cache.js +62 -0
- package/dist/core/status-cache.js.map +1 -0
- package/dist/daemon/adapter-registry.d.ts +5 -0
- package/dist/daemon/adapter-registry.d.ts.map +1 -1
- package/dist/daemon/adapter-registry.js +94 -4
- package/dist/daemon/adapter-registry.js.map +1 -1
- package/dist/daemon/cli.d.ts +1 -0
- package/dist/daemon/cli.d.ts.map +1 -1
- package/dist/daemon/cli.js +95 -3
- package/dist/daemon/cli.js.map +1 -1
- package/dist/daemon/command-context.d.ts +28 -0
- package/dist/daemon/command-context.d.ts.map +1 -0
- package/dist/daemon/command-context.js +13 -0
- package/dist/daemon/command-context.js.map +1 -0
- package/dist/daemon/commands.d.ts +22 -0
- package/dist/daemon/commands.d.ts.map +1 -0
- package/dist/daemon/commands.js +849 -0
- package/dist/daemon/commands.js.map +1 -0
- package/dist/daemon/core-handlers.d.ts.map +1 -1
- package/dist/daemon/core-handlers.js +758 -3
- package/dist/daemon/core-handlers.js.map +1 -1
- package/dist/daemon/create-adapter.js +2 -1
- package/dist/daemon/create-adapter.js.map +1 -1
- package/dist/daemon/image-context.d.ts +56 -0
- package/dist/daemon/image-context.d.ts.map +1 -0
- package/dist/daemon/image-context.js +116 -0
- package/dist/daemon/image-context.js.map +1 -0
- package/dist/daemon/image-gen/index.d.ts +22 -0
- package/dist/daemon/image-gen/index.d.ts.map +1 -0
- package/dist/daemon/image-gen/index.js +129 -0
- package/dist/daemon/image-gen/index.js.map +1 -0
- package/dist/daemon/image-gen/providers/cloudflare.d.ts +13 -0
- package/dist/daemon/image-gen/providers/cloudflare.d.ts.map +1 -0
- package/dist/daemon/image-gen/providers/cloudflare.js +63 -0
- package/dist/daemon/image-gen/providers/cloudflare.js.map +1 -0
- package/dist/daemon/image-gen/providers/huggingface.d.ts +12 -0
- package/dist/daemon/image-gen/providers/huggingface.d.ts.map +1 -0
- package/dist/daemon/image-gen/providers/huggingface.js +58 -0
- package/dist/daemon/image-gen/providers/huggingface.js.map +1 -0
- package/dist/daemon/image-gen/providers/pollinations.d.ts +11 -0
- package/dist/daemon/image-gen/providers/pollinations.d.ts.map +1 -0
- package/dist/daemon/image-gen/providers/pollinations.js +39 -0
- package/dist/daemon/image-gen/providers/pollinations.js.map +1 -0
- package/dist/daemon/image-gen/providers/replicate.d.ts +9 -0
- package/dist/daemon/image-gen/providers/replicate.d.ts.map +1 -0
- package/dist/daemon/image-gen/providers/replicate.js +158 -0
- package/dist/daemon/image-gen/providers/replicate.js.map +1 -0
- package/dist/daemon/image-gen/types.d.ts +41 -0
- package/dist/daemon/image-gen/types.d.ts.map +1 -0
- package/dist/daemon/image-gen/types.js +5 -0
- package/dist/daemon/image-gen/types.js.map +1 -0
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +260 -6
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/screenshot.d.ts +12 -0
- package/dist/daemon/screenshot.d.ts.map +1 -0
- package/dist/daemon/screenshot.js +252 -0
- package/dist/daemon/screenshot.js.map +1 -0
- package/dist/daemon/session-content.d.ts +27 -0
- package/dist/daemon/session-content.d.ts.map +1 -0
- package/dist/daemon/session-content.js +76 -0
- package/dist/daemon/session-content.js.map +1 -0
- package/dist/daemon/vision.d.ts +46 -0
- package/dist/daemon/vision.d.ts.map +1 -0
- package/dist/daemon/vision.js +176 -0
- package/dist/daemon/vision.js.map +1 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/ipc/validate.d.ts +52 -0
- package/dist/ipc/validate.d.ts.map +1 -0
- package/dist/ipc/validate.js +129 -0
- package/dist/ipc/validate.js.map +1 -0
- package/dist/mcp/index.d.ts +23 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +787 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/types/broker.d.ts +3 -1
- package/dist/types/broker.d.ts.map +1 -1
- package/dist/types/broker.js.map +1 -1
- package/package.json +5 -2
- package/templates/adapter/ONBOARDING_PROMPT.md +51 -29
- package/templates/adapter/README.md.tmpl +14 -31
- package/templates/adapter/package.json.tmpl +1 -1
- package/templates/adapter/src/watcher/commands.ts.tmpl +24 -126
- package/templates/adapter/src/watcher/index.ts.tmpl +112 -88
- package/templates/adapter/src/watcher/ipc-server.ts.tmpl +27 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/broker.d.ts
CHANGED
|
@@ -6,10 +6,12 @@
|
|
|
6
6
|
* this format, regardless of the originating transport (WhatsApp,
|
|
7
7
|
* Telegram, PAILot, etc.).
|
|
8
8
|
*/
|
|
9
|
-
export type BrokerMessageType = "text" | "voice" | "file" | "command" | "status";
|
|
9
|
+
export type BrokerMessageType = "text" | "voice" | "image" | "video" | "file" | "command" | "status";
|
|
10
10
|
export interface BrokerMessagePayload {
|
|
11
11
|
text?: string;
|
|
12
12
|
filePath?: string;
|
|
13
|
+
/** Path to audio file on disk (for voice messages). */
|
|
14
|
+
audioPath?: string;
|
|
13
15
|
/** Base64-encoded binary data (for voice/file over JSON IPC). */
|
|
14
16
|
buffer?: string;
|
|
15
17
|
mimetype?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../src/types/broker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../src/types/broker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErG,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,qDAAqD;AACrD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,oBAAoB,EAC7B,MAAM,CAAC,EAAE,MAAM,GACd,aAAa,CASf"}
|
package/dist/types/broker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker.js","sourceRoot":"","sources":["../../src/types/broker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"broker.js","sourceRoot":"","sources":["../../src/types/broker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA0CzC,qDAAqD;AACrD,MAAM,UAAU,mBAAmB,CACjC,MAAc,EACd,IAAuB,EACvB,OAA6B,EAC7B,MAAe;IAEf,OAAO;QACL,EAAE,EAAE,UAAU,EAAE;QAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,MAAM;QACN,MAAM;QACN,IAAI;QACJ,OAAO;KACR,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aibroker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.2",
|
|
4
4
|
"description": "Platform-agnostic AI message broker — routes between user channels and AI backends",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"build": "tsc",
|
|
19
19
|
"dev": "tsc --watch",
|
|
20
20
|
"start": "node dist/daemon/cli.js start",
|
|
21
|
+
"test": "npx tsx --test test/*.test.ts",
|
|
21
22
|
"prepublishOnly": "npm run build"
|
|
22
23
|
},
|
|
23
24
|
"repository": {
|
|
@@ -42,8 +43,10 @@
|
|
|
42
43
|
},
|
|
43
44
|
"dependencies": {
|
|
44
45
|
"@anthropic-ai/claude-agent-sdk": "^0.1.0",
|
|
46
|
+
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
45
47
|
"kokoro-js": "^1.2.1",
|
|
46
|
-
"ws": "^8.19.0"
|
|
48
|
+
"ws": "^8.19.0",
|
|
49
|
+
"zod": "^4.3.6"
|
|
47
50
|
},
|
|
48
51
|
"devDependencies": {
|
|
49
52
|
"@types/node": "^22.0.0",
|
|
@@ -87,15 +87,16 @@ Generate all files listed below. Use the scaffold templates in `templates/adapte
|
|
|
87
87
|
|
|
88
88
|
**`src/watcher/commands.ts`** — from `templates/adapter/src/watcher/commands.ts.tmpl`
|
|
89
89
|
- Replace placeholders only
|
|
90
|
-
-
|
|
90
|
+
- This is a thin handler — only /restart and /login are local
|
|
91
|
+
- All other commands are forwarded to the hub by index.ts
|
|
91
92
|
|
|
92
93
|
**`src/watcher/ipc-server.ts`** — from `templates/adapter/src/watcher/ipc-server.ts.tmpl`
|
|
93
94
|
- Replace placeholders only
|
|
94
|
-
- The
|
|
95
|
+
- The required IPC handlers are already present: `deliver`, `health`, `connection_status`, `login`
|
|
95
96
|
|
|
96
97
|
**`src/watcher/index.ts`** — from `templates/adapter/src/watcher/index.ts.tmpl`
|
|
97
98
|
- Replace placeholders only
|
|
98
|
-
- The hub
|
|
99
|
+
- The hub-required pattern (connectToHub with retry, heartbeat, re-registration) is built in
|
|
99
100
|
|
|
100
101
|
**`src/watcher/cli.ts`** — from `templates/adapter/src/watcher/cli.ts.tmpl`
|
|
101
102
|
- Replace placeholders only
|
|
@@ -146,15 +147,24 @@ After generating the adapter files, register the adapter with the AIBroker hub:
|
|
|
146
147
|
After generating all files:
|
|
147
148
|
|
|
148
149
|
```bash
|
|
149
|
-
#
|
|
150
|
+
# Ensure the AIBroker hub is running
|
|
151
|
+
aibroker start
|
|
152
|
+
|
|
153
|
+
# Build and start the adapter
|
|
150
154
|
cd /path/to/{{ADAPTER_NAME}}
|
|
151
155
|
npm install
|
|
152
156
|
npm run build
|
|
153
|
-
|
|
154
|
-
# Start the watcher (runs the upstream connection)
|
|
155
157
|
node dist/watcher/cli.js watch
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
The adapter will:
|
|
161
|
+
1. Connect to the AIBroker hub (fails if hub is not running)
|
|
162
|
+
2. Connect to the upstream service
|
|
163
|
+
3. Register with the hub
|
|
164
|
+
4. Start its IPC server
|
|
156
165
|
|
|
157
|
-
|
|
166
|
+
Verify the IPC server is responding:
|
|
167
|
+
```bash
|
|
158
168
|
node -e "
|
|
159
169
|
import { WatcherClient } from 'aibroker';
|
|
160
170
|
const c = new WatcherClient('/tmp/{{ADAPTER_NAME}}-watcher.sock');
|
|
@@ -204,6 +214,22 @@ interface MessengerAdapter {
|
|
|
204
214
|
}
|
|
205
215
|
```
|
|
206
216
|
|
|
217
|
+
### AdapterHealth contract
|
|
218
|
+
|
|
219
|
+
```typescript
|
|
220
|
+
interface AdapterHealth {
|
|
221
|
+
status: "ok" | "degraded" | "down";
|
|
222
|
+
connectionStatus: "connected" | "connecting" | "disconnected" | "error";
|
|
223
|
+
stats: {
|
|
224
|
+
messagesReceived: number;
|
|
225
|
+
messagesSent: number;
|
|
226
|
+
errors: number;
|
|
227
|
+
};
|
|
228
|
+
lastMessageAgo: number | null;
|
|
229
|
+
detail?: string;
|
|
230
|
+
}
|
|
231
|
+
```
|
|
232
|
+
|
|
207
233
|
### BrokerMessage (hub envelope)
|
|
208
234
|
|
|
209
235
|
```typescript
|
|
@@ -212,11 +238,12 @@ interface BrokerMessage {
|
|
|
212
238
|
timestamp: number; // epoch ms
|
|
213
239
|
source: string; // adapter name that sent it
|
|
214
240
|
target?: string; // target adapter name (omit for default routing)
|
|
215
|
-
type: "text" | "voice" | "file" | "command" | "status";
|
|
241
|
+
type: "text" | "voice" | "file" | "image" | "command" | "status";
|
|
216
242
|
payload: {
|
|
217
243
|
text?: string;
|
|
218
244
|
filePath?: string;
|
|
219
245
|
audioPath?: string;
|
|
246
|
+
buffer?: string; // base64-encoded binary data (images, voice)
|
|
220
247
|
mimetype?: string;
|
|
221
248
|
caption?: string;
|
|
222
249
|
recipient?: string;
|
|
@@ -231,7 +258,7 @@ interface BrokerMessage {
|
|
|
231
258
|
| Handler | Called by | Must return |
|
|
232
259
|
|---------|-----------|-------------|
|
|
233
260
|
| `deliver` | Hub, when routing a BrokerMessage to this adapter | `{ ok: true, result: { delivered: true } }` or `{ ok: false, error: string }` |
|
|
234
|
-
| `health` | Hub health polling | `{ ok: true, result: AdapterHealth }` |
|
|
261
|
+
| `health` | Hub health polling (every 10s) | `{ ok: true, result: AdapterHealth }` |
|
|
235
262
|
| `connection_status` | Hub, MCP tools | `{ ok: true, result: { status: AdapterConnectionStatus } }` |
|
|
236
263
|
| `login` | User, via MCP tool | `{ ok: true, result: { message: string } }` |
|
|
237
264
|
| `send` | MCP tool | `{ ok: true, result: { sent: true } }` |
|
|
@@ -239,30 +266,24 @@ interface BrokerMessage {
|
|
|
239
266
|
| `send_file` | MCP tool | `{ ok: true, result: { sent: true } }` |
|
|
240
267
|
| `status` | MCP tool | Human-readable status object |
|
|
241
268
|
|
|
242
|
-
### Hub
|
|
269
|
+
### Hub-required architecture
|
|
243
270
|
|
|
244
|
-
The
|
|
271
|
+
The adapter **requires** the AIBroker hub daemon to be running:
|
|
245
272
|
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
]);
|
|
254
|
-
return result !== null;
|
|
255
|
-
} catch {
|
|
256
|
-
return false;
|
|
257
|
-
}
|
|
258
|
-
}
|
|
273
|
+
```
|
|
274
|
+
Adapter startup:
|
|
275
|
+
1. connectToHub() — probe hub via "ping", retry 3x, fail if unreachable
|
|
276
|
+
2. connectWatcher() — establish upstream service connection
|
|
277
|
+
3. startIpcServer() — start adapter IPC server on its socket
|
|
278
|
+
4. register_adapter — announce to hub so it can push outbound messages
|
|
279
|
+
5. heartbeat loop — ping hub every 30s, re-register if it restarts
|
|
259
280
|
```
|
|
260
281
|
|
|
261
|
-
|
|
262
|
-
-
|
|
263
|
-
-
|
|
264
|
-
|
|
265
|
-
|
|
282
|
+
Adapters do NOT:
|
|
283
|
+
- Create their own APIBackend or HybridSessionManager
|
|
284
|
+
- Handle commands locally (except /restart and /login)
|
|
285
|
+
- Run TTS, STT, screenshots, or image generation
|
|
286
|
+
- Manage sessions
|
|
266
287
|
|
|
267
288
|
---
|
|
268
289
|
|
|
@@ -275,6 +296,7 @@ If `false`, the adapter handles everything locally (embedded mode).
|
|
|
275
296
|
- Key file — send: `src/watcher/send.ts`
|
|
276
297
|
- Key file — IPC: `src/watcher/ipc-server.ts`
|
|
277
298
|
- Key file — MCP tools: `src/index.ts`
|
|
299
|
+
- Key file — watcher: `src/watcher/index.ts` (thin hub-required adapter pattern)
|
|
278
300
|
- Key pattern — Baileys saves auth state to `~/.whazaa/auth/` via `useMultiFileAuthState()`
|
|
279
301
|
|
|
280
302
|
The Whazaa pattern for `connectWatcher()` is:
|
|
@@ -6,6 +6,8 @@ AIBroker adapter for {{DISPLAY_NAME}}.
|
|
|
6
6
|
|
|
7
7
|
This adapter bridges {{DISPLAY_NAME}} and the [AIBroker](https://github.com/mnott/AIBroker) hub, enabling bidirectional message routing between {{DISPLAY_NAME}} and AI backends (Claude Code, Anthropic API, etc.).
|
|
8
8
|
|
|
9
|
+
**Requires the AIBroker daemon to be running.** The adapter is a thin transport pipe — all command handling, session management, TTS, and media processing are owned by the hub.
|
|
10
|
+
|
|
9
11
|
## Setup
|
|
10
12
|
|
|
11
13
|
### 1. Install dependencies
|
|
@@ -36,12 +38,11 @@ npm run build
|
|
|
36
38
|
### 5. Run
|
|
37
39
|
|
|
38
40
|
```bash
|
|
39
|
-
#
|
|
40
|
-
|
|
41
|
+
# Start the AIBroker hub first
|
|
42
|
+
aibroker start
|
|
41
43
|
|
|
42
|
-
#
|
|
43
|
-
|
|
44
|
-
npm run watch # adapter auto-detects and registers with hub
|
|
44
|
+
# Then start the adapter — it auto-registers with the hub
|
|
45
|
+
npm run watch
|
|
45
46
|
```
|
|
46
47
|
|
|
47
48
|
## Architecture
|
|
@@ -49,34 +50,16 @@ npm run watch # adapter auto-detects and registers with hub
|
|
|
49
50
|
```
|
|
50
51
|
{{DISPLAY_NAME}} <── connectWatcher() ──> watcher/index.ts
|
|
51
52
|
│
|
|
52
|
-
|
|
53
|
-
│
|
|
54
|
-
|
|
55
|
-
│
|
|
56
|
-
AIBroker hub / embedded
|
|
53
|
+
forward to hub startIpcServer()
|
|
54
|
+
│ │
|
|
55
|
+
AIBroker hub ◄── deliver ─┘
|
|
57
56
|
```
|
|
58
57
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|----------|---------|-------------|
|
|
65
|
-
| `AIBROKER_MODEL` | `sonnet` | AI model for API sessions |
|
|
66
|
-
| `AIBROKER_CWD` | `~` | Working directory for AI sessions |
|
|
67
|
-
| `AIBROKER_MAX_TURNS` | `30` | Max turns per API session |
|
|
68
|
-
| `AIBROKER_MAX_BUDGET` | `1.0` | Max USD budget per API session |
|
|
69
|
-
| `AIBROKER_PERMISSION_MODE` | `acceptEdits` | Claude permission mode |
|
|
70
|
-
|
|
71
|
-
## Slash Commands
|
|
72
|
-
|
|
73
|
-
| Command | Description |
|
|
74
|
-
|---------|-------------|
|
|
75
|
-
| `/h`, `/help` | Show help |
|
|
76
|
-
| `/s`, `/sessions` | List all sessions |
|
|
77
|
-
| `/ss`, `/status` | Show active session status |
|
|
78
|
-
| `/n [name]` | Create a new API session |
|
|
79
|
-
| `/1`, `/2`, ... | Switch to session by index |
|
|
58
|
+
The adapter:
|
|
59
|
+
- Forwards all incoming messages to the hub via `route_message`
|
|
60
|
+
- Receives outbound messages from the hub via the `deliver` IPC handler
|
|
61
|
+
- Only handles `/restart` and `/login` locally
|
|
62
|
+
- Maintains a 30s heartbeat with the hub; re-registers if hub restarts
|
|
80
63
|
|
|
81
64
|
## IPC Methods
|
|
82
65
|
|
|
@@ -1,146 +1,44 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* commands.ts —
|
|
2
|
+
* commands.ts — Thin adapter-local command handler for {{DISPLAY_NAME}}
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* Extend this file with adapter-specific slash commands as needed.
|
|
4
|
+
* Only handles commands that require direct upstream service access
|
|
5
|
+
* (/restart, /login). All other commands are forwarded to the AIBroker
|
|
6
|
+
* hub daemon via route_message in index.ts.
|
|
9
7
|
*/
|
|
10
8
|
|
|
11
|
-
import {
|
|
12
|
-
hybridManager,
|
|
13
|
-
deliverViaApi,
|
|
14
|
-
log,
|
|
15
|
-
} from "aibroker";
|
|
9
|
+
import { log } from "aibroker";
|
|
16
10
|
import { sendText } from "./send.js";
|
|
17
11
|
|
|
18
|
-
// ── Command handler factory ───────────────────────────────────────────────────
|
|
19
|
-
|
|
20
12
|
/**
|
|
21
|
-
*
|
|
13
|
+
* Create the local message handler for adapter-specific commands.
|
|
22
14
|
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
15
|
+
* Only /restart and /login are handled here. Everything else should have
|
|
16
|
+
* been routed to the hub by index.ts — this handler is the fallback for
|
|
17
|
+
* commands that need direct adapter access.
|
|
26
18
|
*/
|
|
27
19
|
export function createMessageHandler(): (text: string, timestamp: number) => void {
|
|
28
20
|
return function handleMessage(text: string, _timestamp: number): void {
|
|
29
21
|
const trimmed = text.trim();
|
|
30
22
|
|
|
31
|
-
if (
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
void handleSlashCommand(trimmed);
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// ── Slash command dispatcher ─────────────────────────────────────────────────
|
|
43
|
-
|
|
44
|
-
async function handleSlashCommand(cmd: string): Promise<void> {
|
|
45
|
-
const [base, ...args] = cmd.split(/\s+/);
|
|
46
|
-
|
|
47
|
-
switch (base) {
|
|
48
|
-
case "/h":
|
|
49
|
-
case "/help":
|
|
50
|
-
await sendText(buildHelp());
|
|
51
|
-
return;
|
|
52
|
-
|
|
53
|
-
case "/s":
|
|
54
|
-
case "/sessions": {
|
|
55
|
-
const mgr = hybridManager;
|
|
56
|
-
if (!mgr) { await sendText("No session manager active."); return; }
|
|
57
|
-
await sendText(mgr.formatSessionList());
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
case "/ss":
|
|
62
|
-
case "/status": {
|
|
63
|
-
const mgr = hybridManager;
|
|
64
|
-
if (!mgr) { await sendText("No session manager active."); return; }
|
|
65
|
-
const status = mgr.formatActiveStatus();
|
|
66
|
-
await sendText(status ?? "Active session is a visual terminal — no text status available.");
|
|
23
|
+
if (trimmed === "/restart") {
|
|
24
|
+
log("/restart: watcher restart requested");
|
|
25
|
+
sendText("Restarting {{ADAPTER_NAME}} watcher...").catch(() => {});
|
|
26
|
+
setTimeout(() => {
|
|
27
|
+
log("/restart: exiting — process manager will restart us");
|
|
28
|
+
process.exit(0);
|
|
29
|
+
}, 1500);
|
|
67
30
|
return;
|
|
68
31
|
}
|
|
69
32
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
const cwd = process.env.AIBROKER_CWD ?? process.env.HOME ?? "/";
|
|
75
|
-
const name = args[0] ?? `Session ${Date.now()}`;
|
|
76
|
-
const session = mgr.createApiSession(name, cwd);
|
|
77
|
-
await sendText(`Created new API session: "${session.name}" (${session.id})`);
|
|
33
|
+
// /login is handled via the triggerLogin callback in index.ts,
|
|
34
|
+
// not here. This is just a safety net.
|
|
35
|
+
if (trimmed === "/login") {
|
|
36
|
+
sendText("Use the login flow — handled by the watcher.").catch(() => {});
|
|
78
37
|
return;
|
|
79
38
|
}
|
|
80
39
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
const mgr = hybridManager;
|
|
86
|
-
if (!mgr) { await sendText("No session manager active."); return; }
|
|
87
|
-
const session = mgr.switchToIndex(idx);
|
|
88
|
-
if (session) {
|
|
89
|
-
await sendText(`Switched to: "${session.name}" (${session.kind})`);
|
|
90
|
-
} else {
|
|
91
|
-
await sendText(`No session at index ${idx}.`);
|
|
92
|
-
}
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
log(`[{{ADAPTER_NAME}}] Unknown command: ${cmd}`);
|
|
97
|
-
await sendText(`Unknown command: ${cmd}\nType /h for help.`);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// ── Message delivery ─────────────────────────────────────────────────────────
|
|
102
|
-
|
|
103
|
-
async function deliverMessage(text: string): Promise<void> {
|
|
104
|
-
const mgr = hybridManager;
|
|
105
|
-
if (!mgr) {
|
|
106
|
-
log("[{{ADAPTER_NAME}}] No hybrid manager — dropping message");
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
const active = mgr.activeSession;
|
|
111
|
-
if (!active) {
|
|
112
|
-
await sendText("No active session. Use /n to create one.");
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
if (active.kind === "api") {
|
|
117
|
-
// Deliver via APIBackend — response comes back asynchronously via deliverViaApi
|
|
118
|
-
const response = await deliverViaApi(text, async (responseText: string) => {
|
|
119
|
-
await sendText(responseText);
|
|
120
|
-
});
|
|
121
|
-
if (response) {
|
|
122
|
-
// Synchronous response (some backends return inline)
|
|
123
|
-
await sendText(response);
|
|
124
|
-
}
|
|
125
|
-
} else {
|
|
126
|
-
// Visual (iTerm2) session — TODO: type into terminal if iTerm2 adapter is available
|
|
127
|
-
log(`[{{ADAPTER_NAME}}] Visual session delivery not yet implemented`);
|
|
128
|
-
await sendText("Visual session delivery not yet implemented for this adapter.");
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
// ── Help text ────────────────────────────────────────────────────────────────
|
|
133
|
-
|
|
134
|
-
function buildHelp(): string {
|
|
135
|
-
return [
|
|
136
|
-
"*{{DISPLAY_NAME}} Adapter — Commands*",
|
|
137
|
-
"",
|
|
138
|
-
"/h, /help — This help message",
|
|
139
|
-
"/s, /sessions — List all sessions",
|
|
140
|
-
"/ss, /status — Show active session status",
|
|
141
|
-
"/n [name] — Create a new API session",
|
|
142
|
-
"/1, /2, ... — Switch to session by index",
|
|
143
|
-
"",
|
|
144
|
-
"Any other text is delivered to the active AI session.",
|
|
145
|
-
].join("\n");
|
|
40
|
+
// Everything else should have gone to the hub. If we get here,
|
|
41
|
+
// something went wrong with routing.
|
|
42
|
+
log(`[{{ADAPTER_NAME}}] commands.ts: unexpected local message: ${trimmed.slice(0, 60)}`);
|
|
43
|
+
};
|
|
146
44
|
}
|