aibroker 0.2.5 → 0.5.1
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 +164 -4
- package/dist/adapters/iterm/core.d.ts +2 -0
- package/dist/adapters/iterm/core.d.ts.map +1 -1
- package/dist/adapters/iterm/core.js +13 -5
- package/dist/adapters/iterm/core.js.map +1 -1
- package/dist/adapters/kokoro/media.d.ts +2 -1
- package/dist/adapters/kokoro/media.d.ts.map +1 -1
- package/dist/adapters/kokoro/media.js +51 -3
- package/dist/adapters/kokoro/media.js.map +1 -1
- package/dist/adapters/pailot/gateway.d.ts +49 -0
- package/dist/adapters/pailot/gateway.d.ts.map +1 -0
- package/dist/adapters/pailot/gateway.js +502 -0
- package/dist/adapters/pailot/gateway.js.map +1 -0
- package/dist/backend/api.d.ts +5 -1
- package/dist/backend/api.d.ts.map +1 -1
- package/dist/backend/api.js +78 -5
- package/dist/backend/api.js.map +1 -1
- package/dist/core/hybrid.d.ts +67 -0
- package/dist/core/hybrid.d.ts.map +1 -0
- package/dist/core/hybrid.js +182 -0
- package/dist/core/hybrid.js.map +1 -0
- package/dist/core/state.d.ts +3 -0
- package/dist/core/state.d.ts.map +1 -1
- package/dist/core/state.js +4 -0
- package/dist/core/state.js.map +1 -1
- package/dist/daemon/adapter-registry.d.ts +58 -0
- package/dist/daemon/adapter-registry.d.ts.map +1 -0
- package/dist/daemon/adapter-registry.js +179 -0
- package/dist/daemon/adapter-registry.js.map +1 -0
- package/dist/daemon/cli.d.ts +13 -0
- package/dist/daemon/cli.d.ts.map +1 -0
- package/dist/daemon/cli.js +58 -0
- package/dist/daemon/cli.js.map +1 -0
- package/dist/daemon/core-handlers.d.ts +24 -0
- package/dist/daemon/core-handlers.d.ts.map +1 -0
- package/dist/daemon/core-handlers.js +146 -0
- package/dist/daemon/core-handlers.js.map +1 -0
- package/dist/daemon/create-adapter.d.ts +22 -0
- package/dist/daemon/create-adapter.d.ts.map +1 -0
- package/dist/daemon/create-adapter.js +152 -0
- package/dist/daemon/create-adapter.js.map +1 -0
- package/dist/daemon/index.d.ts +12 -0
- package/dist/daemon/index.d.ts.map +1 -0
- package/dist/daemon/index.js +83 -0
- package/dist/daemon/index.js.map +1 -0
- package/dist/daemon/pai-projects.d.ts +68 -0
- package/dist/daemon/pai-projects.d.ts.map +1 -0
- package/dist/daemon/pai-projects.js +174 -0
- package/dist/daemon/pai-projects.js.map +1 -0
- package/dist/index.d.ts +13 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/ipc/client.d.ts +4 -1
- package/dist/ipc/client.d.ts.map +1 -1
- package/dist/ipc/client.js +10 -1
- package/dist/ipc/client.js.map +1 -1
- package/dist/types/adapter.d.ts +41 -0
- package/dist/types/adapter.d.ts.map +1 -0
- package/dist/types/adapter.js +2 -0
- package/dist/types/adapter.js.map +1 -0
- package/dist/types/backend.d.ts +31 -1
- package/dist/types/backend.d.ts.map +1 -1
- package/dist/types/broker.d.ts +45 -0
- package/dist/types/broker.d.ts.map +1 -0
- package/dist/types/broker.js +21 -0
- package/dist/types/broker.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +9 -2
- package/templates/adapter/ONBOARDING_PROMPT.md +287 -0
- package/templates/adapter/README.md.tmpl +98 -0
- package/templates/adapter/package.json.tmpl +23 -0
- package/templates/adapter/src/watcher/cli.ts.tmpl +12 -0
- package/templates/adapter/src/watcher/commands.ts.tmpl +146 -0
- package/templates/adapter/src/watcher/connection.ts.tmpl +59 -0
- package/templates/adapter/src/watcher/index.ts.tmpl +177 -0
- package/templates/adapter/src/watcher/ipc-server.ts.tmpl +226 -0
- package/templates/adapter/src/watcher/send.ts.tmpl +62 -0
- package/templates/adapter/src/watcher/state.ts.tmpl +39 -0
- package/templates/adapter/tsconfig.json.tmpl +14 -0
package/README.md
CHANGED
|
@@ -3,13 +3,140 @@
|
|
|
3
3
|
Platform-agnostic AI message broker — shared infrastructure for messaging
|
|
4
4
|
bridges that connect WhatsApp, Telegram, and other channels to Claude Code.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Architecture
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
Messaging Services AIBroker Hub AI Backends
|
|
12
|
+
───────────────── ──────────── ───────────
|
|
13
|
+
WhatsApp (Whazaa) ──────> ──────> Anthropic Claude
|
|
14
|
+
Telegram (Telex) ──────> Hub Daemon ──────> OpenAI
|
|
15
|
+
iOS App (PAILot) ──────> ──────> Ollama (local)
|
|
16
|
+
Your Adapter ──────> ──────> Custom Backend
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Each adapter is a standalone npm package. The hub daemon routes messages between adapters and AI backends. Everything communicates over Unix Domain Sockets.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Supported Adapters
|
|
7
24
|
|
|
8
25
|
| Package | Channel | Repo |
|
|
9
26
|
|---------|---------|------|
|
|
10
|
-
| **aibroker** | Shared core | [github.com/mnott/AIBroker](https://github.com/mnott/AIBroker) |
|
|
11
27
|
| **whazaa** | WhatsApp | [github.com/mnott/Whazaa](https://github.com/mnott/Whazaa) |
|
|
12
28
|
| **telex** | Telegram | [github.com/mnott/Telex](https://github.com/mnott/Telex) |
|
|
29
|
+
| **pailot** | iOS companion app | Built into aibroker (`adapters/pailot/`) |
|
|
30
|
+
|
|
31
|
+
Want to connect a different service? See [docs/CREATE_ADAPTER.md](docs/CREATE_ADAPTER.md).
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Supported AI Backends
|
|
36
|
+
|
|
37
|
+
| Provider | Model Access | Tool Use | Conversation History |
|
|
38
|
+
|----------|-------------|----------|---------------------|
|
|
39
|
+
| **Anthropic Claude** | Claude Agent SDK subprocess | Yes (full tool access) | Yes (session resume) |
|
|
40
|
+
| **OpenAI** | Chat Completions API | No | No (stateless) |
|
|
41
|
+
| **Ollama** | Local Ollama HTTP API | No | No (stateless) |
|
|
42
|
+
| **Custom** | Your implementation | Optional | Optional |
|
|
43
|
+
|
|
44
|
+
Want to connect a different AI provider? See [docs/BACKEND_GUIDE.md](docs/BACKEND_GUIDE.md).
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Quick Start
|
|
49
|
+
|
|
50
|
+
### 1. Install
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npm install -g aibroker
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 2. Configure
|
|
57
|
+
|
|
58
|
+
Create `~/.aibroker/config.json`:
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"adapters": [
|
|
63
|
+
{
|
|
64
|
+
"name": "whazaa",
|
|
65
|
+
"socketPath": "/tmp/whazaa-watcher.sock"
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"backend": {
|
|
69
|
+
"type": "api",
|
|
70
|
+
"provider": "anthropic",
|
|
71
|
+
"model": "claude-opus-4-5"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 3. Start the daemon
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
aibroker start
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Check status:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
aibroker status
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 4. Install and start an adapter
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
npm install -g whazaa
|
|
92
|
+
whazaa watch
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Once the adapter watcher is running, messages from your messaging service are routed to the configured AI backend and replies are sent back automatically.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Bring Your Own Messenger
|
|
100
|
+
|
|
101
|
+
AIBroker adapters are standalone npm packages. The scaffold takes care of all IPC wiring, MCP tool registration, and hub integration. You only implement two functions: `connectWatcher()` (connect to the service) and `sendText()` / `sendVoice()` / `sendFile()` (deliver outbound messages).
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
aibroker create-adapter my-signal
|
|
105
|
+
cd my-signal
|
|
106
|
+
claude # paste the onboarding prompt and answer 5 questions
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Full guide: [docs/CREATE_ADAPTER.md](docs/CREATE_ADAPTER.md)
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Bring Your Own AI
|
|
114
|
+
|
|
115
|
+
Configure a built-in provider (Anthropic, OpenAI, Ollama) or implement the `Backend` interface in any Node.js module:
|
|
116
|
+
|
|
117
|
+
```json
|
|
118
|
+
{
|
|
119
|
+
"backend": {
|
|
120
|
+
"type": "api",
|
|
121
|
+
"provider": "ollama",
|
|
122
|
+
"model": "llama3.2"
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"backend": {
|
|
130
|
+
"type": "custom",
|
|
131
|
+
"modulePath": "/path/to/my-backend.js",
|
|
132
|
+
"options": { "model": "my-model" }
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Full guide: [docs/BACKEND_GUIDE.md](docs/BACKEND_GUIDE.md)
|
|
138
|
+
|
|
139
|
+
---
|
|
13
140
|
|
|
14
141
|
## What's Inside
|
|
15
142
|
|
|
@@ -19,22 +146,55 @@ bridges that connect WhatsApp, Telegram, and other channels to Claude Code.
|
|
|
19
146
|
- Unix Domain Socket IPC (server + client)
|
|
20
147
|
- macOS iTerm2 adapter (AppleScript session management)
|
|
21
148
|
- Kokoro TTS (local speech synthesis + Whisper transcription)
|
|
149
|
+
- PAILot WebSocket gateway (iOS companion app support)
|
|
150
|
+
|
|
151
|
+
---
|
|
22
152
|
|
|
23
|
-
## Usage
|
|
153
|
+
## Usage as a Library
|
|
24
154
|
|
|
25
155
|
```typescript
|
|
26
|
-
import { setLogPrefix, setAppDir } from "aibroker";
|
|
156
|
+
import { setLogPrefix, setAppDir, log } from "aibroker";
|
|
27
157
|
|
|
28
158
|
setLogPrefix("my-app");
|
|
29
159
|
setAppDir("/path/to/data");
|
|
160
|
+
|
|
161
|
+
log("my-app started");
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
The IPC client:
|
|
165
|
+
|
|
166
|
+
```typescript
|
|
167
|
+
import { WatcherClient } from "aibroker";
|
|
168
|
+
|
|
169
|
+
const client = new WatcherClient("/tmp/my-adapter-watcher.sock");
|
|
170
|
+
const result = await client.call_raw("health", {});
|
|
171
|
+
console.log(result);
|
|
30
172
|
```
|
|
31
173
|
|
|
174
|
+
---
|
|
175
|
+
|
|
32
176
|
## Hard Rule
|
|
33
177
|
|
|
34
178
|
aibroker never imports `@whiskeysockets/baileys`, `telegram`/`gramjs`,
|
|
35
179
|
`better-sqlite3`, `qrcode`, or any transport SDK. Those belong in
|
|
36
180
|
the per-channel packages.
|
|
37
181
|
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Family
|
|
185
|
+
|
|
186
|
+
| Package | Channel | Repo |
|
|
187
|
+
|---------|---------|------|
|
|
188
|
+
| **aibroker** | Shared core | [github.com/mnott/AIBroker](https://github.com/mnott/AIBroker) |
|
|
189
|
+
| **whazaa** | WhatsApp | [github.com/mnott/Whazaa](https://github.com/mnott/Whazaa) |
|
|
190
|
+
| **telex** | Telegram | [github.com/mnott/Telex](https://github.com/mnott/Telex) |
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Contributing
|
|
195
|
+
|
|
196
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
197
|
+
|
|
38
198
|
## License
|
|
39
199
|
|
|
40
200
|
MIT — Matthias Nott
|
|
@@ -20,6 +20,8 @@ export declare function writeToTty(ttyPath: string, text: string): boolean;
|
|
|
20
20
|
export interface SessionSnapshot {
|
|
21
21
|
id: string;
|
|
22
22
|
name: string;
|
|
23
|
+
profileName: string;
|
|
24
|
+
tabTitle: string | null;
|
|
23
25
|
tty: string;
|
|
24
26
|
atPrompt: boolean;
|
|
25
27
|
paiName: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/adapters/iterm/core.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ5D;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAI3E;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAc,GAAG,MAAM,CActG;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAQpF;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAQvF;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAIxE;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ7E;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CA+BjD;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAcnE;AAED,wBAAgB,cAAc,IAAI,OAAO,CAMxC;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAO9D;AAED,wBAAgB,cAAc,IAAI,OAAO,CAWxC;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CA8BjE;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAgB,mBAAmB,IAAI,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/adapters/iterm/core.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ5D;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAI3E;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAc,GAAG,MAAM,CActG;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAQpF;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAQvF;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAIxE;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ7E;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CA+BjD;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAcnE;AAED,wBAAgB,cAAc,IAAI,OAAO,CAMxC;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAO9D;AAED,wBAAgB,cAAc,IAAI,OAAO,CAWxC;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CA8BjE;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAgB,mBAAmB,IAAI,eAAe,EAAE,CAiDvD"}
|
|
@@ -155,6 +155,7 @@ tell application "iTerm2"
|
|
|
155
155
|
repeat with aSession in sessions of aTab
|
|
156
156
|
set sessionId to id of aSession
|
|
157
157
|
set sessionName to name of aSession
|
|
158
|
+
set sessionProfile to profile name of aSession
|
|
158
159
|
set sessionTty to tty of aSession
|
|
159
160
|
set isAtPrompt to (is at shell prompt of aSession)
|
|
160
161
|
tell aSession
|
|
@@ -163,8 +164,13 @@ tell application "iTerm2"
|
|
|
163
164
|
on error
|
|
164
165
|
set paiName to ""
|
|
165
166
|
end try
|
|
167
|
+
try
|
|
168
|
+
set tabTitle to (variable named "tab.title")
|
|
169
|
+
on error
|
|
170
|
+
set tabTitle to ""
|
|
171
|
+
end try
|
|
166
172
|
end tell
|
|
167
|
-
set output to output & sessionId & (ASCII character 9) & sessionName & (ASCII character 9) & sessionTty & (ASCII character 9) & (isAtPrompt as text) & (ASCII character 9) & paiName & linefeed
|
|
173
|
+
set output to output & sessionId & (ASCII character 9) & sessionName & (ASCII character 9) & sessionProfile & (ASCII character 9) & sessionTty & (ASCII character 9) & (isAtPrompt as text) & (ASCII character 9) & paiName & (ASCII character 9) & tabTitle & linefeed
|
|
168
174
|
end repeat
|
|
169
175
|
end repeat
|
|
170
176
|
end repeat
|
|
@@ -176,14 +182,16 @@ end tell`;
|
|
|
176
182
|
const sessions = [];
|
|
177
183
|
for (const line of result.split("\n").filter(Boolean)) {
|
|
178
184
|
const parts = line.split("\t");
|
|
179
|
-
if (parts.length <
|
|
185
|
+
if (parts.length < 5)
|
|
180
186
|
continue;
|
|
181
187
|
sessions.push({
|
|
182
188
|
id: parts[0],
|
|
183
189
|
name: parts[1],
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
190
|
+
profileName: parts[2],
|
|
191
|
+
tabTitle: (parts[6] && parts[6] !== "missing value" && parts[6] !== "") ? parts[6] : null,
|
|
192
|
+
tty: parts[3],
|
|
193
|
+
atPrompt: parts[4] === "true",
|
|
194
|
+
paiName: (parts[5] && parts[5] !== "missing value" && parts[5] !== "") ? parts[5] : null,
|
|
187
195
|
});
|
|
188
196
|
}
|
|
189
197
|
return sessions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/adapters/iterm/core.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/adapters/iterm/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,8 @@ export declare function mimetypeToDocExt(mimetype: string | null | undefined): s
|
|
|
26
26
|
export declare function transcribeAudio(audioPath: string, label?: string): Promise<string | null>;
|
|
27
27
|
/**
|
|
28
28
|
* Split text into chunks suitable for sequential TTS voice notes.
|
|
29
|
-
* Splits at paragraph breaks, then sentence boundaries,
|
|
29
|
+
* Splits at paragraph breaks, then sentence boundaries, then commas,
|
|
30
|
+
* then word boundaries. Guarantees no chunk exceeds maxChars.
|
|
30
31
|
*/
|
|
31
32
|
export declare function splitIntoChunks(text: string, maxChars?: number): string[];
|
|
32
33
|
//# sourceMappingURL=media.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/adapters/kokoro/media.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,+CAA+C;AAC/C,eAAO,MAAM,WAAW,QAGR,CAAC;AAEjB,2CAA2C;AAC3C,eAAO,MAAM,aAAa,QACgG,CAAC;AAE3H;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAMzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAiB5E;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,KAAK,SAAY,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4CxB;AAED
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/adapters/kokoro/media.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,+CAA+C;AAC/C,eAAO,MAAM,WAAW,QAGR,CAAC;AAEjB,2CAA2C;AAC3C,eAAO,MAAM,aAAa,QACgG,CAAC;AAE3H;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAMzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAiB5E;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,KAAK,SAAY,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4CxB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,EAAE,CAsCtE"}
|
|
@@ -115,9 +115,10 @@ export async function transcribeAudio(audioPath, label = "[Audio]") {
|
|
|
115
115
|
}
|
|
116
116
|
/**
|
|
117
117
|
* Split text into chunks suitable for sequential TTS voice notes.
|
|
118
|
-
* Splits at paragraph breaks, then sentence boundaries,
|
|
118
|
+
* Splits at paragraph breaks, then sentence boundaries, then commas,
|
|
119
|
+
* then word boundaries. Guarantees no chunk exceeds maxChars.
|
|
119
120
|
*/
|
|
120
|
-
export function splitIntoChunks(text, maxChars =
|
|
121
|
+
export function splitIntoChunks(text, maxChars = 500) {
|
|
121
122
|
if (text.length <= maxChars)
|
|
122
123
|
return [text];
|
|
123
124
|
const paragraphs = text.split(/\n\n+/);
|
|
@@ -145,7 +146,16 @@ export function splitIntoChunks(text, maxChars = 800) {
|
|
|
145
146
|
else {
|
|
146
147
|
if (current)
|
|
147
148
|
chunks.push(current.trim());
|
|
148
|
-
|
|
149
|
+
if (sentence.length > maxChars) {
|
|
150
|
+
// Sentence too long — split at commas/word boundaries
|
|
151
|
+
const subs = splitAtBoundaries(sentence, maxChars);
|
|
152
|
+
for (let i = 0; i < subs.length - 1; i++)
|
|
153
|
+
chunks.push(subs[i]);
|
|
154
|
+
current = subs[subs.length - 1];
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
current = sentence;
|
|
158
|
+
}
|
|
149
159
|
}
|
|
150
160
|
}
|
|
151
161
|
}
|
|
@@ -154,4 +164,42 @@ export function splitIntoChunks(text, maxChars = 800) {
|
|
|
154
164
|
chunks.push(current.trim());
|
|
155
165
|
return chunks;
|
|
156
166
|
}
|
|
167
|
+
/** Split a long segment at comma boundaries, falling back to word boundaries. */
|
|
168
|
+
function splitAtBoundaries(text, maxChars) {
|
|
169
|
+
// Try comma boundaries first
|
|
170
|
+
const parts = text.split(/,\s*/);
|
|
171
|
+
const chunks = [];
|
|
172
|
+
let current = "";
|
|
173
|
+
for (const part of parts) {
|
|
174
|
+
const sep = current ? ", " : "";
|
|
175
|
+
if (current.length + sep.length + part.length <= maxChars) {
|
|
176
|
+
current += sep + part;
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
if (current)
|
|
180
|
+
chunks.push(current.trim());
|
|
181
|
+
if (part.length > maxChars) {
|
|
182
|
+
// No commas — split at word boundaries
|
|
183
|
+
const words = part.split(/\s+/);
|
|
184
|
+
current = "";
|
|
185
|
+
for (const word of words) {
|
|
186
|
+
if (current.length + word.length + 1 <= maxChars) {
|
|
187
|
+
current += (current ? " " : "") + word;
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
if (current)
|
|
191
|
+
chunks.push(current.trim());
|
|
192
|
+
current = word;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
current = part;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if (current.trim())
|
|
202
|
+
chunks.push(current.trim());
|
|
203
|
+
return chunks;
|
|
204
|
+
}
|
|
157
205
|
//# sourceMappingURL=media.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/adapters/kokoro/media.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/adapters/kokoro/media.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* adapters/pailot/gateway.ts — WebSocket gateway for PAILot app connections.
|
|
3
|
+
*
|
|
4
|
+
* Runs alongside any transport's watcher (Whazaa, Telex, etc.). When the
|
|
5
|
+
* PAILot iOS app connects via WebSocket, incoming messages are routed through
|
|
6
|
+
* the same handleMessage() path as the transport's native messages. Outbound
|
|
7
|
+
* messages from Claude are broadcast to all connected clients.
|
|
8
|
+
*
|
|
9
|
+
* The gateway also supports structured commands (sessions, screenshot,
|
|
10
|
+
* navigation keys) so the app can interact with the watcher without
|
|
11
|
+
* going through text-based slash commands.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Provide the screenshot handler so ws-gateway can trigger screenshots
|
|
15
|
+
* for navigation commands without a circular import.
|
|
16
|
+
*/
|
|
17
|
+
export declare function setScreenshotHandler(handler: (source?: "whatsapp" | "pailot") => Promise<void>): void;
|
|
18
|
+
/**
|
|
19
|
+
* Start the WebSocket gateway.
|
|
20
|
+
* @param onMessage — the same handleMessage(text, timestamp) used by the transport
|
|
21
|
+
*/
|
|
22
|
+
export declare function startWsGateway(onMessage: (text: string, timestamp: number) => void | Promise<void>): void;
|
|
23
|
+
/**
|
|
24
|
+
* Broadcast a text message to all connected PAILot clients.
|
|
25
|
+
*/
|
|
26
|
+
export declare function broadcastText(text: string): void;
|
|
27
|
+
/**
|
|
28
|
+
* Broadcast a voice note to all connected PAILot clients.
|
|
29
|
+
* Converts OGG Opus to M4A (AAC) since iOS can't play OGG natively.
|
|
30
|
+
*/
|
|
31
|
+
export declare function broadcastVoice(audioBuffer: Buffer, transcript: string): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Broadcast a screenshot/image to all connected PAILot clients.
|
|
34
|
+
*/
|
|
35
|
+
export declare function broadcastImage(imageBuffer: Buffer, caption?: string): void;
|
|
36
|
+
/**
|
|
37
|
+
* Broadcast a status change to all connected PAILot clients.
|
|
38
|
+
* Used to signal compaction, reconnection, etc.
|
|
39
|
+
*/
|
|
40
|
+
export declare function broadcastStatus(status: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* Returns true if any PAILot clients are connected.
|
|
43
|
+
*/
|
|
44
|
+
export declare function hasPailotClients(): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Stop the WebSocket gateway.
|
|
47
|
+
*/
|
|
48
|
+
export declare function stopWsGateway(): void;
|
|
49
|
+
//# sourceMappingURL=gateway.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../src/adapters/pailot/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA+CH;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAErG;AAwUD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAqGzG;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB3F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAM1E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAOpC"}
|