aibroker 0.2.6 → 0.6.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.
Files changed (170) hide show
  1. package/README.md +164 -4
  2. package/dist/adapters/iterm/core.d.ts +2 -0
  3. package/dist/adapters/iterm/core.d.ts.map +1 -1
  4. package/dist/adapters/iterm/core.js +13 -5
  5. package/dist/adapters/iterm/core.js.map +1 -1
  6. package/dist/adapters/iterm/iterm2-api.d.ts +20 -0
  7. package/dist/adapters/iterm/iterm2-api.d.ts.map +1 -0
  8. package/dist/adapters/iterm/iterm2-api.js +244 -0
  9. package/dist/adapters/iterm/iterm2-api.js.map +1 -0
  10. package/dist/adapters/iterm/sessions.d.ts.map +1 -1
  11. package/dist/adapters/iterm/sessions.js +3 -2
  12. package/dist/adapters/iterm/sessions.js.map +1 -1
  13. package/dist/adapters/kokoro/media.d.ts +2 -1
  14. package/dist/adapters/kokoro/media.d.ts.map +1 -1
  15. package/dist/adapters/kokoro/media.js +53 -5
  16. package/dist/adapters/kokoro/media.js.map +1 -1
  17. package/dist/adapters/pailot/gateway (SFConflict mnott 2026-03-06-21-13-56).d.ts +49 -0
  18. package/dist/adapters/pailot/gateway (SFConflict mnott 2026-03-06-21-13-56).d.ts.map +1 -0
  19. package/dist/adapters/pailot/gateway (SFConflict mnott 2026-03-06-21-13-56).js +632 -0
  20. package/dist/adapters/pailot/gateway (SFConflict mnott 2026-03-06-21-13-56).js.map +1 -0
  21. package/dist/adapters/pailot/gateway (SFConflict mnott 2026-03-06-21-13-59).js +632 -0
  22. package/dist/adapters/pailot/gateway (SFConflict mnott 2026-03-06-21-15-36).d.ts +49 -0
  23. package/dist/adapters/pailot/gateway (SFConflict mnott 2026-03-06-21-15-36).d.ts.map +1 -0
  24. package/dist/adapters/pailot/gateway (SFConflict mnott 2026-03-06-21-15-36).js +614 -0
  25. package/dist/adapters/pailot/gateway (SFConflict mnott 2026-03-06-21-15-36).js.map +1 -0
  26. package/dist/adapters/pailot/gateway (SFConflict mnott 2026-03-06-21-15-46).js +614 -0
  27. package/dist/adapters/pailot/gateway.d.ts +48 -0
  28. package/dist/adapters/pailot/gateway.d.ts (SFConflict mnott 2026-03-06-21-13-59).map +1 -0
  29. package/dist/adapters/pailot/gateway.d.ts (SFConflict mnott 2026-03-06-21-15-46).map +1 -0
  30. package/dist/adapters/pailot/gateway.d.ts.map +1 -0
  31. package/dist/adapters/pailot/gateway.js +828 -0
  32. package/dist/adapters/pailot/gateway.js (SFConflict mnott 2026-03-06-21-13-59).map +1 -0
  33. package/dist/adapters/pailot/gateway.js (SFConflict mnott 2026-03-06-21-15-46).map +1 -0
  34. package/dist/adapters/pailot/gateway.js.map +1 -0
  35. package/dist/backend/api.d.ts +5 -1
  36. package/dist/backend/api.d.ts.map +1 -1
  37. package/dist/backend/api.js +74 -3
  38. package/dist/backend/api.js.map +1 -1
  39. package/dist/core/hybrid.d.ts +7 -0
  40. package/dist/core/hybrid.d.ts.map +1 -1
  41. package/dist/core/hybrid.js +33 -0
  42. package/dist/core/hybrid.js.map +1 -1
  43. package/dist/core/state.d.ts +3 -0
  44. package/dist/core/state.d.ts.map +1 -1
  45. package/dist/core/state.js +4 -0
  46. package/dist/core/state.js.map +1 -1
  47. package/dist/core/status-cache.d.ts +51 -0
  48. package/dist/core/status-cache.d.ts.map +1 -0
  49. package/dist/core/status-cache.js +62 -0
  50. package/dist/core/status-cache.js.map +1 -0
  51. package/dist/daemon/adapter-registry (SFConflict mnott 2026-03-06-21-15-36).d.ts +63 -0
  52. package/dist/daemon/adapter-registry (SFConflict mnott 2026-03-06-21-15-36).d.ts.map +1 -0
  53. package/dist/daemon/adapter-registry (SFConflict mnott 2026-03-06-21-15-36).js +229 -0
  54. package/dist/daemon/adapter-registry (SFConflict mnott 2026-03-06-21-15-36).js.map +1 -0
  55. package/dist/daemon/adapter-registry.d.ts +63 -0
  56. package/dist/daemon/adapter-registry.d.ts.map +1 -0
  57. package/dist/daemon/adapter-registry.js +240 -0
  58. package/dist/daemon/adapter-registry.js.map +1 -0
  59. package/dist/daemon/cli.d.ts +14 -0
  60. package/dist/daemon/cli.d.ts.map +1 -0
  61. package/dist/daemon/cli.js +150 -0
  62. package/dist/daemon/cli.js.map +1 -0
  63. package/dist/daemon/command-context.d.ts +24 -0
  64. package/dist/daemon/command-context.d.ts.map +1 -0
  65. package/dist/daemon/command-context.js +13 -0
  66. package/dist/daemon/command-context.js.map +1 -0
  67. package/dist/daemon/commands.d.ts +22 -0
  68. package/dist/daemon/commands.d.ts.map +1 -0
  69. package/dist/daemon/commands.js +632 -0
  70. package/dist/daemon/commands.js.map +1 -0
  71. package/dist/daemon/core-handlers.d.ts +24 -0
  72. package/dist/daemon/core-handlers.d.ts.map +1 -0
  73. package/dist/daemon/core-handlers.js +640 -0
  74. package/dist/daemon/core-handlers.js.map +1 -0
  75. package/dist/daemon/create-adapter.d.ts +22 -0
  76. package/dist/daemon/create-adapter.d.ts.map +1 -0
  77. package/dist/daemon/create-adapter.js +153 -0
  78. package/dist/daemon/create-adapter.js.map +1 -0
  79. package/dist/daemon/image-gen.d.ts +28 -0
  80. package/dist/daemon/image-gen.d.ts.map +1 -0
  81. package/dist/daemon/image-gen.js +97 -0
  82. package/dist/daemon/image-gen.js.map +1 -0
  83. package/dist/daemon/index.d.ts +12 -0
  84. package/dist/daemon/index.d.ts.map +1 -0
  85. package/dist/daemon/index.js +184 -0
  86. package/dist/daemon/index.js.map +1 -0
  87. package/dist/daemon/pai-projects.d.ts +68 -0
  88. package/dist/daemon/pai-projects.d.ts.map +1 -0
  89. package/dist/daemon/pai-projects.js +174 -0
  90. package/dist/daemon/pai-projects.js.map +1 -0
  91. package/dist/daemon/screenshot (SFConflict mnott 2026-03-06-21-13-56).d.ts +12 -0
  92. package/dist/daemon/screenshot (SFConflict mnott 2026-03-06-21-13-56).d.ts.map +1 -0
  93. package/dist/daemon/screenshot (SFConflict mnott 2026-03-06-21-13-56).js +252 -0
  94. package/dist/daemon/screenshot (SFConflict mnott 2026-03-06-21-13-56).js.map +1 -0
  95. package/dist/daemon/screenshot (SFConflict mnott 2026-03-06-21-13-59).js +252 -0
  96. package/dist/daemon/screenshot (SFConflict mnott 2026-03-06-21-15-36).d.ts +12 -0
  97. package/dist/daemon/screenshot (SFConflict mnott 2026-03-06-21-15-36).d.ts.map +1 -0
  98. package/dist/daemon/screenshot (SFConflict mnott 2026-03-06-21-15-36).js +240 -0
  99. package/dist/daemon/screenshot (SFConflict mnott 2026-03-06-21-15-36).js.map +1 -0
  100. package/dist/daemon/screenshot (SFConflict mnott 2026-03-06-21-15-46).js +240 -0
  101. package/dist/daemon/screenshot.d.ts +12 -0
  102. package/dist/daemon/screenshot.d.ts (SFConflict mnott 2026-03-06-21-13-59).map +1 -0
  103. package/dist/daemon/screenshot.d.ts (SFConflict mnott 2026-03-06-21-15-46).map +1 -0
  104. package/dist/daemon/screenshot.d.ts.map +1 -0
  105. package/dist/daemon/screenshot.js +252 -0
  106. package/dist/daemon/screenshot.js (SFConflict mnott 2026-03-06-21-13-59).map +1 -0
  107. package/dist/daemon/screenshot.js (SFConflict mnott 2026-03-06-21-15-46).map +1 -0
  108. package/dist/daemon/screenshot.js.map +1 -0
  109. package/dist/daemon/session-content.d.ts +27 -0
  110. package/dist/daemon/session-content.d.ts.map +1 -0
  111. package/dist/daemon/session-content.js +76 -0
  112. package/dist/daemon/session-content.js.map +1 -0
  113. package/dist/daemon/vision.d.ts +46 -0
  114. package/dist/daemon/vision.d.ts.map +1 -0
  115. package/dist/daemon/vision.js +176 -0
  116. package/dist/daemon/vision.js.map +1 -0
  117. package/dist/index.d.ts +16 -2
  118. package/dist/index.d.ts.map +1 -1
  119. package/dist/index.js +12 -1
  120. package/dist/index.js.map +1 -1
  121. package/dist/ipc/client.d.ts +4 -1
  122. package/dist/ipc/client.d.ts.map +1 -1
  123. package/dist/ipc/client.js +10 -1
  124. package/dist/ipc/client.js.map +1 -1
  125. package/dist/ipc/validate.d.ts +52 -0
  126. package/dist/ipc/validate.d.ts.map +1 -0
  127. package/dist/ipc/validate.js +129 -0
  128. package/dist/ipc/validate.js.map +1 -0
  129. package/dist/mcp/index (SFConflict mnott 2026-03-06-21-13-56).d.ts +23 -0
  130. package/dist/mcp/index (SFConflict mnott 2026-03-06-21-13-56).d.ts.map +1 -0
  131. package/dist/mcp/index (SFConflict mnott 2026-03-06-21-13-56).js +595 -0
  132. package/dist/mcp/index (SFConflict mnott 2026-03-06-21-13-56).js.map +1 -0
  133. package/dist/mcp/index (SFConflict mnott 2026-03-06-21-13-59).js +595 -0
  134. package/dist/mcp/index (SFConflict mnott 2026-03-06-21-15-36).d.ts +23 -0
  135. package/dist/mcp/index (SFConflict mnott 2026-03-06-21-15-36).d.ts.map +1 -0
  136. package/dist/mcp/index (SFConflict mnott 2026-03-06-21-15-36).js +592 -0
  137. package/dist/mcp/index (SFConflict mnott 2026-03-06-21-15-36).js.map +1 -0
  138. package/dist/mcp/index (SFConflict mnott 2026-03-06-21-15-46).js +592 -0
  139. package/dist/mcp/index.d.ts +23 -0
  140. package/dist/mcp/index.d.ts.map +1 -0
  141. package/dist/mcp/index.js +660 -0
  142. package/dist/mcp/index.js (SFConflict mnott 2026-03-06-21-13-59).map +1 -0
  143. package/dist/mcp/index.js (SFConflict mnott 2026-03-06-21-15-46).map +1 -0
  144. package/dist/mcp/index.js.map +1 -0
  145. package/dist/types/adapter.d.ts +41 -0
  146. package/dist/types/adapter.d.ts.map +1 -0
  147. package/dist/types/adapter.js +2 -0
  148. package/dist/types/adapter.js.map +1 -0
  149. package/dist/types/backend.d.ts +29 -1
  150. package/dist/types/backend.d.ts.map +1 -1
  151. package/dist/types/broker.d.ts +47 -0
  152. package/dist/types/broker.d.ts.map +1 -0
  153. package/dist/types/broker.js +21 -0
  154. package/dist/types/broker.js.map +1 -0
  155. package/dist/types/index.d.ts +2 -0
  156. package/dist/types/index.d.ts.map +1 -1
  157. package/dist/types/index.js +2 -0
  158. package/dist/types/index.js.map +1 -1
  159. package/package.json +12 -2
  160. package/templates/adapter/ONBOARDING_PROMPT.md +309 -0
  161. package/templates/adapter/README.md.tmpl +81 -0
  162. package/templates/adapter/package.json.tmpl +23 -0
  163. package/templates/adapter/src/watcher/cli.ts.tmpl +12 -0
  164. package/templates/adapter/src/watcher/commands.ts.tmpl +44 -0
  165. package/templates/adapter/src/watcher/connection.ts.tmpl +59 -0
  166. package/templates/adapter/src/watcher/index.ts.tmpl +201 -0
  167. package/templates/adapter/src/watcher/ipc-server.ts.tmpl +250 -0
  168. package/templates/adapter/src/watcher/send.ts.tmpl +62 -0
  169. package/templates/adapter/src/watcher/state.ts.tmpl +39 -0
  170. 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
- ## Family
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,CAyCvD"}
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 < 4)
185
+ if (parts.length < 5)
180
186
  continue;
181
187
  sessions.push({
182
188
  id: parts[0],
183
189
  name: parts[1],
184
- tty: parts[2],
185
- atPrompt: parts[3] === "true",
186
- paiName: (parts[4] && parts[4] !== "missing value" && parts[4] !== "") ? parts[4] : null,
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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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * adapters/iterm/iterm2-api.ts — Native iTerm2 API client via WebSocket + protobuf.
3
+ *
4
+ * Connects to iTerm2's local API (unix socket or TCP) to perform operations
5
+ * that aren't possible via AppleScript alone, such as setting the tab title
6
+ * override (the persistent title set by double-click rename).
7
+ *
8
+ * Zero external dependencies beyond `ws` (already in the project).
9
+ * Replaces the Python `iterm2` module dependency.
10
+ */
11
+ /**
12
+ * Set the tab title override for the tab containing a given iTerm2 session.
13
+ * This is the same as double-click renaming a tab — it persists until changed.
14
+ *
15
+ * Uses iTerm2's native WebSocket API (unix socket at
16
+ * ~/Library/Application Support/iTerm2/private/socket).
17
+ * No Python dependency required.
18
+ */
19
+ export declare function iterm2SetTabTitle(sessionId: string, newTitle: string): Promise<void>;
20
+ //# sourceMappingURL=iterm2-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterm2-api.d.ts","sourceRoot":"","sources":["../../../src/adapters/iterm/iterm2-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoMH;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwD1F"}
@@ -0,0 +1,244 @@
1
+ /**
2
+ * adapters/iterm/iterm2-api.ts — Native iTerm2 API client via WebSocket + protobuf.
3
+ *
4
+ * Connects to iTerm2's local API (unix socket or TCP) to perform operations
5
+ * that aren't possible via AppleScript alone, such as setting the tab title
6
+ * override (the persistent title set by double-click rename).
7
+ *
8
+ * Zero external dependencies beyond `ws` (already in the project).
9
+ * Replaces the Python `iterm2` module dependency.
10
+ */
11
+ import { WebSocket } from "ws";
12
+ import { execSync } from "node:child_process";
13
+ import { existsSync } from "node:fs";
14
+ import { join } from "node:path";
15
+ import { homedir } from "node:os";
16
+ import { createConnection } from "node:net";
17
+ import http from "node:http";
18
+ // ── Minimal protobuf encoder (hand-rolled for the specific messages we need) ──
19
+ function encodeVarint(v) {
20
+ const bytes = [];
21
+ v >>>= 0;
22
+ while (v > 0x7f) {
23
+ bytes.push((v & 0x7f) | 0x80);
24
+ v >>>= 7;
25
+ }
26
+ bytes.push(v & 0x7f);
27
+ return Buffer.from(bytes);
28
+ }
29
+ function encodeTag(fieldNumber, wireType) {
30
+ return encodeVarint((fieldNumber << 3) | wireType);
31
+ }
32
+ function encodeString(fieldNumber, value) {
33
+ const buf = Buffer.from(value, "utf-8");
34
+ return Buffer.concat([encodeTag(fieldNumber, 2), encodeVarint(buf.length), buf]);
35
+ }
36
+ function encodeDouble(fieldNumber, value) {
37
+ const buf = Buffer.alloc(8);
38
+ buf.writeDoubleLE(value);
39
+ return Buffer.concat([encodeTag(fieldNumber, 1), buf]);
40
+ }
41
+ function encodeLengthDelimited(fieldNumber, buf) {
42
+ return Buffer.concat([encodeTag(fieldNumber, 2), encodeVarint(buf.length), buf]);
43
+ }
44
+ function decodeVarintAt(buf, off) {
45
+ let value = 0, shift = 0;
46
+ while (off < buf.length) {
47
+ const b = buf[off++];
48
+ value |= (b & 0x7f) << shift;
49
+ shift += 7;
50
+ if (!(b & 0x80))
51
+ break;
52
+ }
53
+ return { value, offset: off };
54
+ }
55
+ function decodeField(buf, off) {
56
+ const { value: tag, offset: o1 } = decodeVarintAt(buf, off);
57
+ const fn = tag >>> 3, wt = tag & 0x7;
58
+ if (wt === 0) {
59
+ const { value, offset: o2 } = decodeVarintAt(buf, o1);
60
+ return { fn, wt, value, offset: o2 };
61
+ }
62
+ if (wt === 1)
63
+ return { fn, wt, value: buf.slice(o1, o1 + 8), offset: o1 + 8 };
64
+ if (wt === 2) {
65
+ const { value: len, offset: o2 } = decodeVarintAt(buf, o1);
66
+ return { fn, wt, value: buf.slice(o2, o2 + len), offset: o2 + len };
67
+ }
68
+ if (wt === 5)
69
+ return { fn, wt, value: buf.slice(o1, o1 + 4), offset: o1 + 4 };
70
+ throw new Error(`Unknown protobuf wire type ${wt}`);
71
+ }
72
+ function parseFields(buf) {
73
+ const results = [];
74
+ let off = 0;
75
+ try {
76
+ while (off < buf.length) {
77
+ const f = decodeField(buf, off);
78
+ results.push(f);
79
+ off = f.offset;
80
+ }
81
+ }
82
+ catch { /* partial parse is OK */ }
83
+ return results;
84
+ }
85
+ // ── Message builders ──
86
+ function buildListSessionsRequest(id) {
87
+ return Buffer.concat([
88
+ Buffer.concat([encodeTag(1, 0), encodeVarint(id)]),
89
+ encodeLengthDelimited(106, Buffer.alloc(0)),
90
+ ]);
91
+ }
92
+ function buildSetTitleRequest(id, tabId, title) {
93
+ const escaped = title.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
94
+ const invocation = `iterm2.set_title(title: "${escaped}")`;
95
+ const method = encodeString(1, tabId);
96
+ const inner = Buffer.concat([
97
+ encodeString(5, invocation),
98
+ encodeDouble(6, -1.0),
99
+ encodeLengthDelimited(7, method),
100
+ ]);
101
+ return Buffer.concat([
102
+ Buffer.concat([encodeTag(1, 0), encodeVarint(id)]),
103
+ encodeLengthDelimited(132, inner),
104
+ ]);
105
+ }
106
+ // ── Response parsing ──
107
+ /**
108
+ * Find the tab_id for a given iTerm2 session UUID in a list_sessions response.
109
+ *
110
+ * Response structure (from protobuf dump):
111
+ * response.list_sessions_response (field 106)
112
+ * .windows (field 1, repeated)
113
+ * .tabs (field 1, repeated)
114
+ * .tab_id (field 2, string like "77")
115
+ * .root (field 3, contains sessions)
116
+ * ...nested...
117
+ * .session.unique_identifier (field 1, UUID string)
118
+ */
119
+ function findTabIdForSession(buf, targetSessionId) {
120
+ for (const f106 of parseFields(buf)) {
121
+ if (f106.fn !== 106 || f106.wt !== 2)
122
+ continue;
123
+ for (const fWin of parseFields(f106.value)) {
124
+ if (fWin.fn !== 1 || fWin.wt !== 2)
125
+ continue;
126
+ for (const fTab of parseFields(fWin.value)) {
127
+ if (fTab.fn !== 1 || fTab.wt !== 2)
128
+ continue;
129
+ const tabFields = parseFields(fTab.value);
130
+ let tabId = null;
131
+ for (const tf of tabFields) {
132
+ if (tf.fn === 2 && tf.wt === 2) {
133
+ const s = tf.value.toString("utf-8");
134
+ if (/^\d+$/.test(s))
135
+ tabId = s;
136
+ }
137
+ }
138
+ // Check if this tab contains our session UUID anywhere in its data
139
+ if (tabId && fTab.value.toString("utf-8").includes(targetSessionId)) {
140
+ return tabId;
141
+ }
142
+ }
143
+ }
144
+ }
145
+ return null;
146
+ }
147
+ // ── Auth ──
148
+ function getCookieAndKey() {
149
+ try {
150
+ const result = execSync(`osascript -e 'tell application "iTerm2" to request cookie and key for app named "AIBroker"'`, { timeout: 5000, encoding: "utf-8" }).trim();
151
+ const [cookie, key] = result.split(" ");
152
+ if (!cookie || !key)
153
+ return null;
154
+ return { cookie, key };
155
+ }
156
+ catch {
157
+ return null;
158
+ }
159
+ }
160
+ // ── Connection ──
161
+ const SOCKET_PATH = join(homedir(), "Library", "Application Support", "iTerm2", "private", "socket");
162
+ const TIMEOUT_MS = 5000;
163
+ function createIterm2WebSocket(auth) {
164
+ const headers = {
165
+ "origin": "ws://localhost/",
166
+ "x-iterm2-library-version": "node 1.0",
167
+ "x-iterm2-disable-auth-ui": "true",
168
+ "x-iterm2-cookie": auth.cookie,
169
+ "x-iterm2-key": auth.key,
170
+ "x-iterm2-advisory-name": "AIBroker",
171
+ };
172
+ if (existsSync(SOCKET_PATH)) {
173
+ const agent = new http.Agent();
174
+ agent.createConnection = (_, cb) => createConnection(SOCKET_PATH, cb);
175
+ return new WebSocket("ws://localhost/", ["api.iterm2.com"], { headers, agent });
176
+ }
177
+ return new WebSocket("ws://localhost:1912", ["api.iterm2.com"], { headers });
178
+ }
179
+ // ── Public API ──
180
+ /**
181
+ * Set the tab title override for the tab containing a given iTerm2 session.
182
+ * This is the same as double-click renaming a tab — it persists until changed.
183
+ *
184
+ * Uses iTerm2's native WebSocket API (unix socket at
185
+ * ~/Library/Application Support/iTerm2/private/socket).
186
+ * No Python dependency required.
187
+ */
188
+ export async function iterm2SetTabTitle(sessionId, newTitle) {
189
+ const auth = getCookieAndKey();
190
+ if (!auth)
191
+ throw new Error("Failed to get iTerm2 auth cookie");
192
+ const ws = createIterm2WebSocket(auth);
193
+ return new Promise((resolve, reject) => {
194
+ let msgId = 0;
195
+ const pending = new Map();
196
+ const timer = setTimeout(() => { ws.close(); reject(new Error("Timeout")); }, TIMEOUT_MS);
197
+ ws.on("open", () => {
198
+ const id = ++msgId;
199
+ pending.set(id, "list");
200
+ ws.send(buildListSessionsRequest(id));
201
+ });
202
+ ws.on("message", (data) => {
203
+ const buf = Buffer.from(data);
204
+ // Extract response id (field 1, varint)
205
+ let responseId = -1;
206
+ try {
207
+ let off = 0;
208
+ while (off < buf.length) {
209
+ const f = decodeField(buf, off);
210
+ off = f.offset;
211
+ if (f.fn === 1 && f.wt === 0) {
212
+ responseId = f.value;
213
+ break;
214
+ }
215
+ }
216
+ }
217
+ catch { /* */ }
218
+ const type = pending.get(responseId);
219
+ pending.delete(responseId);
220
+ if (type === "list") {
221
+ const tabId = findTabIdForSession(buf, sessionId);
222
+ if (!tabId) {
223
+ clearTimeout(timer);
224
+ ws.close();
225
+ reject(new Error(`Session ${sessionId.slice(0, 8)}... not found in iTerm2`));
226
+ return;
227
+ }
228
+ const id = ++msgId;
229
+ pending.set(id, "set");
230
+ ws.send(buildSetTitleRequest(id, tabId, newTitle));
231
+ }
232
+ else if (type === "set") {
233
+ clearTimeout(timer);
234
+ ws.close();
235
+ resolve();
236
+ }
237
+ });
238
+ ws.on("error", (err) => {
239
+ clearTimeout(timer);
240
+ reject(err);
241
+ });
242
+ });
243
+ }
244
+ //# sourceMappingURL=iterm2-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterm2-api.js","sourceRoot":"","sources":["../../../src/adapters/iterm/iterm2-api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/adapters/iterm/sessions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6CH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAG7E;AAED,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAG1E;AAED,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBxE;AAID,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,GAAG,IAAI,CA0Bf;AAID,wBAAgB,kBAAkB,IAAI,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAKxE;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,KAAK,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,CAoBD;AAID,wBAAgB,mBAAmB,CAAC,OAAO,SAAW,GAAG,MAAM,GAAG,IAAI,CAkBrE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqBjE;AAID,wBAAsB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,SAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9F;AAED,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAMxD"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/adapters/iterm/sessions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6CH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAG7E;AAED,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ1E;AAED,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBxE;AAID,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,GAAG,IAAI,CA0Bf;AAID,wBAAgB,kBAAkB,IAAI,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAKxE;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,KAAK,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,CAoBD;AAID,wBAAgB,mBAAmB,CAAC,OAAO,SAAW,GAAG,MAAM,GAAG,IAAI,CAkBrE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqBjE;AAID,wBAAsB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,SAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9F;AAED,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAMxD"}
@@ -26,8 +26,9 @@ export function setItermSessionVar(itermSessionId, name) {
26
26
  setItermSessionProperty(itermSessionId, `set variable named "user.paiName" to "${escaped}"`);
27
27
  }
28
28
  export function setItermTabName(itermSessionId, name) {
29
- const escaped = name.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/[\n\r]/g, " ");
30
- setItermSessionProperty(itermSessionId, `set name to "${escaped}"`);
29
+ // Fire-and-forget: rename the tab via iTerm2's native WebSocket API.
30
+ // This sets the persistent title override (same as double-click rename).
31
+ import("./iterm2-api.js").then(({ iterm2SetTabTitle }) => iterm2SetTabTitle(itermSessionId, name).catch((err) => log(`Tab rename failed: ${err instanceof Error ? err.message : String(err)}`)));
31
32
  }
32
33
  export function getItermSessionVar(itermSessionId) {
33
34
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/adapters/iterm/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/adapters/iterm/sessions.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, targeting ~800 chars per chunk.
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;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,EAAE,CA+BtE"}
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"}