visionclaw 0.1.210 → 0.1.211-beta.0

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 (434) hide show
  1. package/dist/agent/engines/claude/session.d.ts.map +1 -1
  2. package/dist/agent/engines/claude/session.js +4 -1
  3. package/dist/agent/engines/claude/session.js.map +1 -1
  4. package/dist/agent/engines/pi/tools.d.ts +3 -0
  5. package/dist/agent/engines/pi/tools.d.ts.map +1 -1
  6. package/dist/agent/engines/pi/tools.js +8 -2
  7. package/dist/agent/engines/pi/tools.js.map +1 -1
  8. package/dist/agent/engines/pi-coding/session.d.ts.map +1 -1
  9. package/dist/agent/engines/pi-coding/session.js +4 -1
  10. package/dist/agent/engines/pi-coding/session.js.map +1 -1
  11. package/dist/agent/engines/pi-coding/tools.d.ts +2 -0
  12. package/dist/agent/engines/pi-coding/tools.d.ts.map +1 -1
  13. package/dist/agent/engines/pi-coding/tools.js.map +1 -1
  14. package/dist/agent/interrupt-handler.d.ts.map +1 -1
  15. package/dist/agent/interrupt-handler.js +3 -0
  16. package/dist/agent/interrupt-handler.js.map +1 -1
  17. package/dist/agent/loop.d.ts.map +1 -1
  18. package/dist/agent/loop.js +2 -0
  19. package/dist/agent/loop.js.map +1 -1
  20. package/dist/agent/system-prompt.d.ts +2 -0
  21. package/dist/agent/system-prompt.d.ts.map +1 -1
  22. package/dist/agent/system-prompt.js +2 -0
  23. package/dist/agent/system-prompt.js.map +1 -1
  24. package/dist/builtin-skills/fin-app/SKILL.md +2 -2
  25. package/dist/tools/index.d.ts +7 -0
  26. package/dist/tools/index.d.ts.map +1 -1
  27. package/dist/tools/index.js +2 -0
  28. package/dist/tools/index.js.map +1 -1
  29. package/dist-agent/bundle.cjs +5012 -4550
  30. package/package.json +1 -1
  31. package/dist/agent/applied-credential-signature.d.ts +0 -53
  32. package/dist/agent/applied-credential-signature.d.ts.map +0 -1
  33. package/dist/agent/applied-credential-signature.js +0 -137
  34. package/dist/agent/applied-credential-signature.js.map +0 -1
  35. package/dist/agent/capabilities.d.ts +0 -56
  36. package/dist/agent/capabilities.d.ts.map +0 -1
  37. package/dist/agent/capabilities.js +0 -121
  38. package/dist/agent/capabilities.js.map +0 -1
  39. package/dist/agent/engines/client-factory.d.ts +0 -63
  40. package/dist/agent/engines/client-factory.d.ts.map +0 -1
  41. package/dist/agent/engines/client-factory.js +0 -382
  42. package/dist/agent/engines/client-factory.js.map +0 -1
  43. package/dist/agent/engines/engine.d.ts +0 -8
  44. package/dist/agent/engines/engine.d.ts.map +0 -1
  45. package/dist/agent/engines/engine.js +0 -15
  46. package/dist/agent/engines/engine.js.map +0 -1
  47. package/dist/agent/engines/openai/file-session.d.ts +0 -19
  48. package/dist/agent/engines/openai/file-session.d.ts.map +0 -1
  49. package/dist/agent/engines/openai/file-session.js +0 -78
  50. package/dist/agent/engines/openai/file-session.js.map +0 -1
  51. package/dist/agent/engines/openai/file-tools.d.ts +0 -35
  52. package/dist/agent/engines/openai/file-tools.d.ts.map +0 -1
  53. package/dist/agent/engines/openai/file-tools.js +0 -194
  54. package/dist/agent/engines/openai/file-tools.js.map +0 -1
  55. package/dist/agent/engines/openai/session.d.ts +0 -55
  56. package/dist/agent/engines/openai/session.d.ts.map +0 -1
  57. package/dist/agent/engines/openai/session.js +0 -447
  58. package/dist/agent/engines/openai/session.js.map +0 -1
  59. package/dist/agent/engines/openai/tools.d.ts +0 -15
  60. package/dist/agent/engines/openai/tools.d.ts.map +0 -1
  61. package/dist/agent/engines/openai/tools.js +0 -221
  62. package/dist/agent/engines/openai/tools.js.map +0 -1
  63. package/dist/agent/engines/pi/session.d.ts +0 -49
  64. package/dist/agent/engines/pi/session.d.ts.map +0 -1
  65. package/dist/agent/engines/pi/session.js +0 -309
  66. package/dist/agent/engines/pi/session.js.map +0 -1
  67. package/dist/agent/memory-preload.d.ts +0 -55
  68. package/dist/agent/memory-preload.d.ts.map +0 -1
  69. package/dist/agent/memory-preload.js +0 -166
  70. package/dist/agent/memory-preload.js.map +0 -1
  71. package/dist/agent/providers/claude/cli-resolver.d.ts +0 -16
  72. package/dist/agent/providers/claude/cli-resolver.d.ts.map +0 -1
  73. package/dist/agent/providers/claude/cli-resolver.js +0 -83
  74. package/dist/agent/providers/claude/cli-resolver.js.map +0 -1
  75. package/dist/agent/providers/claude/session-browser-policy.d.ts +0 -9
  76. package/dist/agent/providers/claude/session-browser-policy.d.ts.map +0 -1
  77. package/dist/agent/providers/claude/session-browser-policy.js +0 -49
  78. package/dist/agent/providers/claude/session-browser-policy.js.map +0 -1
  79. package/dist/agent/providers/claude/session.d.ts +0 -304
  80. package/dist/agent/providers/claude/session.d.ts.map +0 -1
  81. package/dist/agent/providers/claude/session.js +0 -1236
  82. package/dist/agent/providers/claude/session.js.map +0 -1
  83. package/dist/agent/providers/client-factory.d.ts +0 -60
  84. package/dist/agent/providers/client-factory.d.ts.map +0 -1
  85. package/dist/agent/providers/client-factory.js +0 -400
  86. package/dist/agent/providers/client-factory.js.map +0 -1
  87. package/dist/agent/providers/openai/file-session.d.ts +0 -19
  88. package/dist/agent/providers/openai/file-session.d.ts.map +0 -1
  89. package/dist/agent/providers/openai/file-session.js +0 -78
  90. package/dist/agent/providers/openai/file-session.js.map +0 -1
  91. package/dist/agent/providers/openai/session.d.ts +0 -55
  92. package/dist/agent/providers/openai/session.d.ts.map +0 -1
  93. package/dist/agent/providers/openai/session.js +0 -447
  94. package/dist/agent/providers/openai/session.js.map +0 -1
  95. package/dist/agent/providers/openai/tools.d.ts +0 -15
  96. package/dist/agent/providers/openai/tools.d.ts.map +0 -1
  97. package/dist/agent/providers/openai/tools.js +0 -229
  98. package/dist/agent/providers/openai/tools.js.map +0 -1
  99. package/dist/agent/providers/session-types.d.ts +0 -153
  100. package/dist/agent/providers/session-types.d.ts.map +0 -1
  101. package/dist/agent/providers/session-types.js +0 -2
  102. package/dist/agent/providers/session-types.js.map +0 -1
  103. package/dist/agent/providers/system-prompt-log.d.ts +0 -9
  104. package/dist/agent/providers/system-prompt-log.d.ts.map +0 -1
  105. package/dist/agent/providers/system-prompt-log.js +0 -46
  106. package/dist/agent/providers/system-prompt-log.js.map +0 -1
  107. package/dist/agent/qq-claim-signal.d.ts +0 -9
  108. package/dist/agent/qq-claim-signal.d.ts.map +0 -1
  109. package/dist/agent/qq-claim-signal.js +0 -38
  110. package/dist/agent/qq-claim-signal.js.map +0 -1
  111. package/dist/agent/runtime-telemetry-redaction.d.ts +0 -4
  112. package/dist/agent/runtime-telemetry-redaction.d.ts.map +0 -1
  113. package/dist/agent/runtime-telemetry-redaction.js +0 -92
  114. package/dist/agent/runtime-telemetry-redaction.js.map +0 -1
  115. package/dist/agent/transcript-backfill.d.ts +0 -54
  116. package/dist/agent/transcript-backfill.d.ts.map +0 -1
  117. package/dist/agent/transcript-backfill.js +0 -604
  118. package/dist/agent/transcript-backfill.js.map +0 -1
  119. package/dist/agent/transcript-indexer.d.ts +0 -200
  120. package/dist/agent/transcript-indexer.d.ts.map +0 -1
  121. package/dist/agent/transcript-indexer.js +0 -775
  122. package/dist/agent/transcript-indexer.js.map +0 -1
  123. package/dist/agent/transcript-memory-migrations.d.ts +0 -25
  124. package/dist/agent/transcript-memory-migrations.d.ts.map +0 -1
  125. package/dist/agent/transcript-memory-migrations.js +0 -87
  126. package/dist/agent/transcript-memory-migrations.js.map +0 -1
  127. package/dist/agent/tunnel-credential-handler.d.ts +0 -90
  128. package/dist/agent/tunnel-credential-handler.d.ts.map +0 -1
  129. package/dist/agent/tunnel-credential-handler.js +0 -162
  130. package/dist/agent/tunnel-credential-handler.js.map +0 -1
  131. package/dist/agent/usage-backfill-handler.d.ts +0 -18
  132. package/dist/agent/usage-backfill-handler.d.ts.map +0 -1
  133. package/dist/agent/usage-backfill-handler.js +0 -69
  134. package/dist/agent/usage-backfill-handler.js.map +0 -1
  135. package/dist/agent/usage-gate.d.ts +0 -25
  136. package/dist/agent/usage-gate.d.ts.map +0 -1
  137. package/dist/agent/usage-gate.js +0 -83
  138. package/dist/agent/usage-gate.js.map +0 -1
  139. package/dist/agent/usage-handler.d.ts +0 -7
  140. package/dist/agent/usage-handler.d.ts.map +0 -1
  141. package/dist/agent/usage-handler.js +0 -28
  142. package/dist/agent/usage-handler.js.map +0 -1
  143. package/dist/agent/usage-report-builder.d.ts +0 -26
  144. package/dist/agent/usage-report-builder.d.ts.map +0 -1
  145. package/dist/agent/usage-report-builder.js +0 -80
  146. package/dist/agent/usage-report-builder.js.map +0 -1
  147. package/dist/agent/usage-report-queue.d.ts +0 -26
  148. package/dist/agent/usage-report-queue.d.ts.map +0 -1
  149. package/dist/agent/usage-report-queue.js +0 -199
  150. package/dist/agent/usage-report-queue.js.map +0 -1
  151. package/dist/agent/usage-report-types.d.ts +0 -41
  152. package/dist/agent/usage-report-types.d.ts.map +0 -1
  153. package/dist/agent/usage-report-types.js +0 -2
  154. package/dist/agent/usage-report-types.js.map +0 -1
  155. package/dist/agent/usage-reporter.d.ts +0 -31
  156. package/dist/agent/usage-reporter.d.ts.map +0 -1
  157. package/dist/agent/usage-reporter.js +0 -102
  158. package/dist/agent/usage-reporter.js.map +0 -1
  159. package/dist/agent/wake-cycle-tool-tracker.d.ts +0 -39
  160. package/dist/agent/wake-cycle-tool-tracker.d.ts.map +0 -1
  161. package/dist/agent/wake-cycle-tool-tracker.js +0 -72
  162. package/dist/agent/wake-cycle-tool-tracker.js.map +0 -1
  163. package/dist/anthropic-credentials.d.ts +0 -24
  164. package/dist/anthropic-credentials.d.ts.map +0 -1
  165. package/dist/anthropic-credentials.js +0 -37
  166. package/dist/anthropic-credentials.js.map +0 -1
  167. package/dist/billing/payg-handler.d.ts +0 -29
  168. package/dist/billing/payg-handler.d.ts.map +0 -1
  169. package/dist/billing/payg-handler.js +0 -92
  170. package/dist/billing/payg-handler.js.map +0 -1
  171. package/dist/billing/payment-handler.d.ts +0 -24
  172. package/dist/billing/payment-handler.d.ts.map +0 -1
  173. package/dist/billing/payment-handler.js +0 -101
  174. package/dist/billing/payment-handler.js.map +0 -1
  175. package/dist/builtin-skills/catalog/phone-adb-automation/SKILL.md +0 -412
  176. package/dist/builtin-skills/catalog/phone-adb-automation/phone_input.sh +0 -132
  177. package/dist/builtin-skills/catalog/phone-adb-automation/phone_launch.sh +0 -166
  178. package/dist/builtin-skills/catalog/phone-adb-automation/phone_screenshot.sh +0 -87
  179. package/dist/builtin-skills/catalog/phone-adb-automation/phone_security_kbd.py +0 -174
  180. package/dist/builtin-skills/catalog/phone-adb-automation/phone_setup.sh +0 -274
  181. package/dist/builtin-skills/catalog/phone-adb-automation/phone_swipe.sh +0 -111
  182. package/dist/builtin-skills/catalog/phone-adb-automation/phone_tap.sh +0 -87
  183. package/dist/builtin-skills/catalog/phone-adb-automation/phone_ui_parse.py +0 -176
  184. package/dist/builtin-skills/catalog/phone-adb-automation/phone_wake_unlock.sh +0 -67
  185. package/dist/builtin-skills/transcribe-audio/SKILL.md +0 -122
  186. package/dist/calendar/google-calendar.d.ts +0 -54
  187. package/dist/calendar/google-calendar.d.ts.map +0 -1
  188. package/dist/calendar/google-calendar.js +0 -156
  189. package/dist/calendar/google-calendar.js.map +0 -1
  190. package/dist/channels/web.d.ts +0 -40
  191. package/dist/channels/web.d.ts.map +0 -1
  192. package/dist/channels/web.js +0 -137
  193. package/dist/channels/web.js.map +0 -1
  194. package/dist/config/models.d.ts +0 -32
  195. package/dist/config/models.d.ts.map +0 -1
  196. package/dist/config/models.js +0 -57
  197. package/dist/config/models.js.map +0 -1
  198. package/dist/data-processing/convert-demo-cli.d.ts +0 -7
  199. package/dist/data-processing/convert-demo-cli.d.ts.map +0 -1
  200. package/dist/data-processing/convert-demo-cli.js +0 -30
  201. package/dist/data-processing/convert-demo-cli.js.map +0 -1
  202. package/dist/data-processing/convert-demo.d.ts +0 -26
  203. package/dist/data-processing/convert-demo.d.ts.map +0 -1
  204. package/dist/data-processing/convert-demo.js +0 -233
  205. package/dist/data-processing/convert-demo.js.map +0 -1
  206. package/dist/drive/google-drive.d.ts +0 -83
  207. package/dist/drive/google-drive.d.ts.map +0 -1
  208. package/dist/drive/google-drive.js +0 -219
  209. package/dist/drive/google-drive.js.map +0 -1
  210. package/dist/email/gmail-email.d.ts +0 -64
  211. package/dist/email/gmail-email.d.ts.map +0 -1
  212. package/dist/email/gmail-email.js +0 -167
  213. package/dist/email/gmail-email.js.map +0 -1
  214. package/dist/factcheck/agent.d.ts +0 -50
  215. package/dist/factcheck/agent.d.ts.map +0 -1
  216. package/dist/factcheck/agent.js +0 -508
  217. package/dist/factcheck/agent.js.map +0 -1
  218. package/dist/factcheck/financial-verifier.d.ts +0 -49
  219. package/dist/factcheck/financial-verifier.d.ts.map +0 -1
  220. package/dist/factcheck/financial-verifier.js +0 -109
  221. package/dist/factcheck/financial-verifier.js.map +0 -1
  222. package/dist/factcheck/setup.d.ts +0 -32
  223. package/dist/factcheck/setup.d.ts.map +0 -1
  224. package/dist/factcheck/setup.js +0 -70
  225. package/dist/factcheck/setup.js.map +0 -1
  226. package/dist/factcheck/sidecar.d.ts +0 -131
  227. package/dist/factcheck/sidecar.d.ts.map +0 -1
  228. package/dist/factcheck/sidecar.js +0 -348
  229. package/dist/factcheck/sidecar.js.map +0 -1
  230. package/dist/factcheck/store.d.ts +0 -111
  231. package/dist/factcheck/store.d.ts.map +0 -1
  232. package/dist/factcheck/store.js +0 -246
  233. package/dist/factcheck/store.js.map +0 -1
  234. package/dist/factcheck/web-searcher.d.ts +0 -22
  235. package/dist/factcheck/web-searcher.d.ts.map +0 -1
  236. package/dist/factcheck/web-searcher.js +0 -90
  237. package/dist/factcheck/web-searcher.js.map +0 -1
  238. package/dist/obs/auth.d.ts +0 -45
  239. package/dist/obs/auth.d.ts.map +0 -1
  240. package/dist/obs/auth.js +0 -181
  241. package/dist/obs/auth.js.map +0 -1
  242. package/dist/obs/mini-app/tasks.d.ts +0 -2
  243. package/dist/obs/mini-app/tasks.d.ts.map +0 -1
  244. package/dist/obs/mini-app/tasks.js +0 -506
  245. package/dist/obs/mini-app/tasks.js.map +0 -1
  246. package/dist/obs/rdp/icons/icons/app_windows.svg +0 -4
  247. package/dist/obs/rdp/icons/icons/clip_get.svg +0 -4
  248. package/dist/obs/rdp/icons/icons/clip_send.svg +0 -4
  249. package/dist/obs/rdp/icons/icons/clip_shared.svg +0 -4
  250. package/dist/obs/rdp/icons/icons/clipboard.svg +0 -4
  251. package/dist/obs/rdp/icons/icons/clipboard_shared.svg +0 -4
  252. package/dist/obs/rdp/icons/icons/control.svg +0 -4
  253. package/dist/obs/rdp/icons/icons/desktop.svg +0 -4
  254. package/dist/obs/rdp/icons/icons/display.svg +0 -4
  255. package/dist/obs/rdp/icons/icons/launchpad.svg +0 -4
  256. package/dist/obs/rdp/icons/icons/mission_control.svg +0 -4
  257. package/dist/obs/rdp/icons/icons/screenshot.svg +0 -4
  258. package/dist/obs/rdp/icons/icons/zoom_actual.svg +0 -4
  259. package/dist/obs/rdp/icons/icons/zoom_fit.svg +0 -4
  260. package/dist/obs/rdp/icons/icons/zoom_in.svg +0 -4
  261. package/dist/obs/rdp/icons/icons/zoom_out.svg +0 -4
  262. package/dist/obs/tunnel-telemetry.d.ts +0 -46
  263. package/dist/obs/tunnel-telemetry.d.ts.map +0 -1
  264. package/dist/obs/tunnel-telemetry.js +0 -70
  265. package/dist/obs/tunnel-telemetry.js.map +0 -1
  266. package/dist/onboarding/cloudflared-cert.d.ts +0 -15
  267. package/dist/onboarding/cloudflared-cert.d.ts.map +0 -1
  268. package/dist/onboarding/cloudflared-cert.js +0 -57
  269. package/dist/onboarding/cloudflared-cert.js.map +0 -1
  270. package/dist/onboarding/gh-auth-browser.d.ts +0 -10
  271. package/dist/onboarding/gh-auth-browser.d.ts.map +0 -1
  272. package/dist/onboarding/gh-auth-browser.js +0 -70
  273. package/dist/onboarding/gh-auth-browser.js.map +0 -1
  274. package/dist/onboarding/provision-eth-wallet.d.ts +0 -7
  275. package/dist/onboarding/provision-eth-wallet.d.ts.map +0 -1
  276. package/dist/onboarding/provision-eth-wallet.js +0 -14
  277. package/dist/onboarding/provision-eth-wallet.js.map +0 -1
  278. package/dist/onboarding/provision-workspace-account.d.ts +0 -14
  279. package/dist/onboarding/provision-workspace-account.d.ts.map +0 -1
  280. package/dist/onboarding/provision-workspace-account.js +0 -165
  281. package/dist/onboarding/provision-workspace-account.js.map +0 -1
  282. package/dist/onboarding/provisioning-spec.d.ts +0 -62
  283. package/dist/onboarding/provisioning-spec.d.ts.map +0 -1
  284. package/dist/onboarding/provisioning-spec.js +0 -159
  285. package/dist/onboarding/provisioning-spec.js.map +0 -1
  286. package/dist/onboarding/send-identity-credentials.d.ts +0 -11
  287. package/dist/onboarding/send-identity-credentials.d.ts.map +0 -1
  288. package/dist/onboarding/send-identity-credentials.js +0 -110
  289. package/dist/onboarding/send-identity-credentials.js.map +0 -1
  290. package/dist/onboarding/setup-credentials.d.ts +0 -7
  291. package/dist/onboarding/setup-credentials.d.ts.map +0 -1
  292. package/dist/onboarding/setup-credentials.js +0 -44
  293. package/dist/onboarding/setup-credentials.js.map +0 -1
  294. package/dist/openai-credentials.d.ts +0 -30
  295. package/dist/openai-credentials.d.ts.map +0 -1
  296. package/dist/openai-credentials.js +0 -37
  297. package/dist/openai-credentials.js.map +0 -1
  298. package/dist/phonecall-credentials.d.ts +0 -21
  299. package/dist/phonecall-credentials.d.ts.map +0 -1
  300. package/dist/phonecall-credentials.js +0 -34
  301. package/dist/phonecall-credentials.js.map +0 -1
  302. package/dist/realtime/agent-bridge.d.ts +0 -7
  303. package/dist/realtime/agent-bridge.d.ts.map +0 -1
  304. package/dist/realtime/agent-bridge.js +0 -31
  305. package/dist/realtime/agent-bridge.js.map +0 -1
  306. package/dist/realtime/assets/index.html +0 -1058
  307. package/dist/realtime/assets/samples/alloy.mp3 +0 -0
  308. package/dist/realtime/assets/samples/ash.mp3 +0 -0
  309. package/dist/realtime/assets/samples/ballad.mp3 +0 -0
  310. package/dist/realtime/assets/samples/cedar.mp3 +0 -0
  311. package/dist/realtime/assets/samples/coral.mp3 +0 -0
  312. package/dist/realtime/assets/samples/echo.mp3 +0 -0
  313. package/dist/realtime/assets/samples/marin.mp3 +0 -0
  314. package/dist/realtime/assets/samples/sage.mp3 +0 -0
  315. package/dist/realtime/assets/samples/shimmer.mp3 +0 -0
  316. package/dist/realtime/assets/samples/verse.mp3 +0 -0
  317. package/dist/realtime/context.d.ts +0 -14
  318. package/dist/realtime/context.d.ts.map +0 -1
  319. package/dist/realtime/context.js +0 -153
  320. package/dist/realtime/context.js.map +0 -1
  321. package/dist/realtime/http-helpers.d.ts +0 -5
  322. package/dist/realtime/http-helpers.d.ts.map +0 -1
  323. package/dist/realtime/http-helpers.js +0 -29
  324. package/dist/realtime/http-helpers.js.map +0 -1
  325. package/dist/realtime/index.d.ts +0 -62
  326. package/dist/realtime/index.d.ts.map +0 -1
  327. package/dist/realtime/index.js +0 -94
  328. package/dist/realtime/index.js.map +0 -1
  329. package/dist/realtime/server.d.ts +0 -6
  330. package/dist/realtime/server.d.ts.map +0 -1
  331. package/dist/realtime/server.js +0 -479
  332. package/dist/realtime/server.js.map +0 -1
  333. package/dist/realtime/telegram-auth.d.ts +0 -2
  334. package/dist/realtime/telegram-auth.d.ts.map +0 -1
  335. package/dist/realtime/telegram-auth.js +0 -24
  336. package/dist/realtime/telegram-auth.js.map +0 -1
  337. package/dist/realtime/tools.d.ts +0 -829
  338. package/dist/realtime/tools.d.ts.map +0 -1
  339. package/dist/realtime/tools.js +0 -611
  340. package/dist/realtime/tools.js.map +0 -1
  341. package/dist/realtime/types.d.ts +0 -62
  342. package/dist/realtime/types.d.ts.map +0 -1
  343. package/dist/realtime/types.js +0 -3
  344. package/dist/realtime/types.js.map +0 -1
  345. package/dist/realtime/voice-summarizer.d.ts +0 -4
  346. package/dist/realtime/voice-summarizer.d.ts.map +0 -1
  347. package/dist/realtime/voice-summarizer.js +0 -123
  348. package/dist/realtime/voice-summarizer.js.map +0 -1
  349. package/dist/realtime/websocket.d.ts +0 -7
  350. package/dist/realtime/websocket.d.ts.map +0 -1
  351. package/dist/realtime/websocket.js +0 -65
  352. package/dist/realtime/websocket.js.map +0 -1
  353. package/dist/service/gbox-tun.d.ts +0 -14
  354. package/dist/service/gbox-tun.d.ts.map +0 -1
  355. package/dist/service/gbox-tun.js +0 -315
  356. package/dist/service/gbox-tun.js.map +0 -1
  357. package/dist/skills/installed.d.ts +0 -11
  358. package/dist/skills/installed.d.ts.map +0 -1
  359. package/dist/skills/installed.js +0 -35
  360. package/dist/skills/installed.js.map +0 -1
  361. package/dist/threads/worker-desktop-runtime.d.ts +0 -6
  362. package/dist/threads/worker-desktop-runtime.d.ts.map +0 -1
  363. package/dist/threads/worker-desktop-runtime.js +0 -26
  364. package/dist/threads/worker-desktop-runtime.js.map +0 -1
  365. package/dist/tools/card.d.ts +0 -11
  366. package/dist/tools/card.d.ts.map +0 -1
  367. package/dist/tools/card.js +0 -87
  368. package/dist/tools/card.js.map +0 -1
  369. package/dist/tools/coordinate-resolver.d.ts +0 -30
  370. package/dist/tools/coordinate-resolver.d.ts.map +0 -1
  371. package/dist/tools/coordinate-resolver.js +0 -104
  372. package/dist/tools/coordinate-resolver.js.map +0 -1
  373. package/dist/tools/sms.d.ts +0 -16
  374. package/dist/tools/sms.d.ts.map +0 -1
  375. package/dist/tools/sms.js +0 -78
  376. package/dist/tools/sms.js.map +0 -1
  377. package/dist/tools/stock-data.d.ts +0 -70
  378. package/dist/tools/stock-data.d.ts.map +0 -1
  379. package/dist/tools/stock-data.js +0 -596
  380. package/dist/tools/stock-data.js.map +0 -1
  381. package/dist/tools/webapp.d.ts +0 -30
  382. package/dist/tools/webapp.d.ts.map +0 -1
  383. package/dist/tools/webapp.js +0 -114
  384. package/dist/tools/webapp.js.map +0 -1
  385. package/dist/tui/auth.d.ts +0 -6
  386. package/dist/tui/auth.d.ts.map +0 -1
  387. package/dist/tui/auth.js +0 -65
  388. package/dist/tui/auth.js.map +0 -1
  389. package/dist/tui/run-store.d.ts +0 -47
  390. package/dist/tui/run-store.d.ts.map +0 -1
  391. package/dist/tui/run-store.js +0 -166
  392. package/dist/tui/run-store.js.map +0 -1
  393. package/dist/utils/wechat-monitor.d.ts +0 -21
  394. package/dist/utils/wechat-monitor.d.ts.map +0 -1
  395. package/dist/utils/wechat-monitor.js +0 -88
  396. package/dist/utils/wechat-monitor.js.map +0 -1
  397. package/dist/webapp/index.d.ts +0 -28
  398. package/dist/webapp/index.d.ts.map +0 -1
  399. package/dist/webapp/index.js +0 -75
  400. package/dist/webapp/index.js.map +0 -1
  401. package/dist/webapp/server.d.ts +0 -32
  402. package/dist/webapp/server.d.ts.map +0 -1
  403. package/dist/webapp/server.js +0 -375
  404. package/dist/webapp/server.js.map +0 -1
  405. package/dist/webapp/storage.d.ts +0 -64
  406. package/dist/webapp/storage.d.ts.map +0 -1
  407. package/dist/webapp/storage.js +0 -103
  408. package/dist/webapp/storage.js.map +0 -1
  409. package/dist/webapp/ui.d.ts +0 -2
  410. package/dist/webapp/ui.d.ts.map +0 -1
  411. package/dist/webapp/ui.js +0 -319
  412. package/dist/webapp/ui.js.map +0 -1
  413. package/dist-agent/assets/index.html +0 -1058
  414. package/dist-agent/assets/samples/alloy.mp3 +0 -0
  415. package/dist-agent/assets/samples/ash.mp3 +0 -0
  416. package/dist-agent/assets/samples/ballad.mp3 +0 -0
  417. package/dist-agent/assets/samples/cedar.mp3 +0 -0
  418. package/dist-agent/assets/samples/coral.mp3 +0 -0
  419. package/dist-agent/assets/samples/echo.mp3 +0 -0
  420. package/dist-agent/assets/samples/marin.mp3 +0 -0
  421. package/dist-agent/assets/samples/sage.mp3 +0 -0
  422. package/dist-agent/assets/samples/shimmer.mp3 +0 -0
  423. package/dist-agent/assets/samples/verse.mp3 +0 -0
  424. package/dist-agent/realtime/assets/index.html +0 -1058
  425. package/dist-agent/realtime/assets/samples/alloy.mp3 +0 -0
  426. package/dist-agent/realtime/assets/samples/ash.mp3 +0 -0
  427. package/dist-agent/realtime/assets/samples/ballad.mp3 +0 -0
  428. package/dist-agent/realtime/assets/samples/cedar.mp3 +0 -0
  429. package/dist-agent/realtime/assets/samples/coral.mp3 +0 -0
  430. package/dist-agent/realtime/assets/samples/echo.mp3 +0 -0
  431. package/dist-agent/realtime/assets/samples/marin.mp3 +0 -0
  432. package/dist-agent/realtime/assets/samples/sage.mp3 +0 -0
  433. package/dist-agent/realtime/assets/samples/shimmer.mp3 +0 -0
  434. package/dist-agent/realtime/assets/samples/verse.mp3 +0 -0
@@ -1,159 +0,0 @@
1
- import fs from "node:fs";
2
- import { z } from "zod";
3
- const GoogleServiceAccountSchema = z.object({
4
- type: z.string().min(1),
5
- project_id: z.string().min(1),
6
- private_key_id: z.string().min(1),
7
- private_key: z.string().min(1),
8
- client_email: z.string().min(1),
9
- client_id: z.string().min(1),
10
- auth_uri: z.string().optional(),
11
- token_uri: z.string().min(1),
12
- });
13
- const GoogleWorkspaceConfigSchema = z.object({
14
- licenseSku: z.string().optional().nullable(),
15
- licenseProductId: z.string().optional().nullable(),
16
- delegatedAdminEmail: z.string().trim().min(1),
17
- adminSdkServiceAccount: GoogleServiceAccountSchema,
18
- });
19
- const GoogleOAuthConfigSchema = z.object({
20
- clientId: z.string().optional().nullable(),
21
- clientSecret: z.string().optional().nullable(),
22
- }).default({});
23
- // Optional as a whole: an agent can be created with no Telegram bot at all
24
- // (onboarding #1087), in which case the server omits this block entirely. The
25
- // inner `min(1)` stays strict on purpose — if a bot IS configured, a blank
26
- // token is a server bug we want to fail loudly on, not silently disable
27
- // Telegram. The owner can still land a bot later via self-registration (#544).
28
- const TelegramConfigSchema = z.object({
29
- botToken: z.string().min(1),
30
- botName: z.string().min(1),
31
- });
32
- const CloudflaredConfigSchema = z.object({
33
- enabled: z.boolean().default(false),
34
- tunnelName: z.string().optional().nullable(),
35
- tunnelHostname: z.string().optional().nullable(),
36
- }).default({ enabled: false });
37
- const GithubConfigSchema = z.object({
38
- enabled: z.boolean().default(false),
39
- createAccountIfMissing: z.boolean().default(true),
40
- pat: z.string().min(1).optional().nullable(),
41
- }).default({ enabled: false, createAccountIfMissing: true, pat: null });
42
- const OnboardingServiceConfigSchema = z.object({
43
- url: z.url(),
44
- apiKey: z.string().min(1),
45
- });
46
- export const ProvisioningSpecSchema = z.object({
47
- workspaceProvider: z.enum(["google", "zoho"]).default("google"),
48
- agentName: z.string().trim().min(1),
49
- emailUsername: z.string().trim().regex(/^[a-z0-9][a-z0-9._-]*$/i, {
50
- message: "emailUsername must be alphanumeric and may include . _ -",
51
- }),
52
- workspaceDomain: z.string().trim().min(1).default("visionclaw.dev"),
53
- gmailPassword: z.string().optional().nullable(),
54
- googleActivated: z.boolean().optional().default(false),
55
- systemPassword: z.string().optional().nullable(),
56
- serpApiKey: z.string().min(1),
57
- googleWorkspace: GoogleWorkspaceConfigSchema.optional(),
58
- googleOAuth: GoogleOAuthConfigSchema,
59
- telegram: TelegramConfigSchema.optional(),
60
- cloudflared: CloudflaredConfigSchema,
61
- github: GithubConfigSchema,
62
- installService: z.boolean().default(true),
63
- onboardingService: OnboardingServiceConfigSchema.optional(),
64
- geminiApiKey: z.string().optional().nullable(),
65
- });
66
- function isRemoteSource(source) {
67
- return /^https:\/\//i.test(source);
68
- }
69
- /**
70
- * An onboarding key is a 32-char hex string (the agent's API key).
71
- * It is used to fetch the provisioning spec from the onboarding service.
72
- * Defaults to https://onboarding.visionclaw.dev; override with VISIONCLAW_ONBOARDING_SERVICE_URL.
73
- */
74
- function isOnboardingKey(source) {
75
- return /^[0-9a-f]{32}$/i.test(source);
76
- }
77
- /**
78
- * A 6-digit numeric setup code, used as a shorter alternative to the full API key
79
- * for `visionclaw setup <code>`.
80
- */
81
- function isSetupCode(source) {
82
- return /^\d{6}$/.test(source);
83
- }
84
- function getOnboardingServiceBase() {
85
- const serviceUrl = process.env.VISIONCLAW_ONBOARDING_SERVICE_URL ?? "https://onboarding.visionclaw.dev";
86
- return serviceUrl.replace(/\/+$/, "");
87
- }
88
- async function fetchFromOnboardingService(url) {
89
- let response;
90
- try {
91
- response = await fetch(url, {
92
- signal: AbortSignal.timeout(30_000),
93
- });
94
- }
95
- catch (err) {
96
- throw new Error(`Cannot reach onboarding service at ${url} — ${err instanceof Error ? err.message : String(err)}\n` +
97
- `Set VISIONCLAW_ONBOARDING_SERVICE_URL if the service is running elsewhere.`);
98
- }
99
- if (!response.ok) {
100
- throw new Error(`Failed to fetch provisioning spec from ${url}: HTTP ${response.status}`);
101
- }
102
- return response.text();
103
- }
104
- async function readProvisioningSource(source) {
105
- console.log(`Resolving provisioning source: "${source}" (remote=${isRemoteSource(source)}, onboardingKey=${isOnboardingKey(source)}, setupCode=${isSetupCode(source)})`);
106
- if (isRemoteSource(source)) {
107
- const response = await fetch(source, {
108
- signal: AbortSignal.timeout(30_000),
109
- });
110
- if (!response.ok) {
111
- throw new Error(`Failed to fetch provisioning JSON: HTTP ${response.status}`);
112
- }
113
- return {
114
- sourceType: "remote",
115
- content: await response.text(),
116
- };
117
- }
118
- if (isSetupCode(source)) {
119
- const base = getOnboardingServiceBase();
120
- const url = `${base}/api/provisioning/setup-code/${source}`;
121
- console.log(`Fetching provisioning spec via setup code from: ${url}`);
122
- return {
123
- sourceType: "remote",
124
- content: await fetchFromOnboardingService(url),
125
- setupCode: source,
126
- };
127
- }
128
- if (isOnboardingKey(source)) {
129
- const base = getOnboardingServiceBase();
130
- const url = `${base}/api/provisioning/${source}`;
131
- console.log(`Fetching provisioning spec from: ${url}`);
132
- return {
133
- sourceType: "remote",
134
- content: await fetchFromOnboardingService(url),
135
- };
136
- }
137
- if (!fs.existsSync(source)) {
138
- throw new Error(`Provisioning JSON file not found: ${source}`);
139
- }
140
- return {
141
- sourceType: "local",
142
- content: fs.readFileSync(source, "utf-8"),
143
- };
144
- }
145
- export async function loadProvisioningSpec(source) {
146
- const trimmedSource = source.trim();
147
- if (!trimmedSource) {
148
- throw new Error("Provisioning source is required");
149
- }
150
- const { sourceType, content, setupCode } = await readProvisioningSource(trimmedSource);
151
- const parsed = JSON.parse(content);
152
- return {
153
- source: trimmedSource,
154
- sourceType,
155
- ...(setupCode ? { setupCode } : {}),
156
- spec: ProvisioningSpecSchema.parse(parsed),
157
- };
158
- }
159
- //# sourceMappingURL=provisioning-spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provisioning-spec.js","sourceRoot":"","sources":["../../src/onboarding/provisioning-spec.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { VisionClawConfig, OwnerConfig } from "../config/types.js";
2
- import type { ChannelManager } from "../channels/manager.js";
3
- /**
4
- * Send identity credentials to the owner using two-channel delivery:
5
- * 1. Email: encrypted ZIP of identity.md (contains all agent credentials)
6
- * 2. Telegram: decryption password
7
- *
8
- * This ensures no single channel compromise exposes sensitive credentials.
9
- */
10
- export declare function sendIdentityCredentials(config: VisionClawConfig, ownerConfig: OwnerConfig, channelManager: ChannelManager): Promise<void>;
11
- //# sourceMappingURL=send-identity-credentials.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"send-identity-credentials.d.ts","sourceRoot":"","sources":["../../src/onboarding/send-identity-credentials.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAsC7D;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,IAAI,CAAC,CA6Ef"}
@@ -1,110 +0,0 @@
1
- import crypto from "node:crypto";
2
- import fs from "node:fs";
3
- import os from "node:os";
4
- import path from "node:path";
5
- import { execFileSync } from "node:child_process";
6
- import { GmailEmailClient } from "../email/gmail-email.js";
7
- import { getMemoriesDir } from "../config/index.js";
8
- import { logger } from "../logger.js";
9
- /**
10
- * Generate a cryptographically secure random password.
11
- * Returns a 24-character alphanumeric string.
12
- */
13
- function generatePassword() {
14
- return crypto.randomBytes(18).toString("base64url").slice(0, 24);
15
- }
16
- /**
17
- * Create a password-protected ZIP of identity.md.
18
- *
19
- * @returns Path to the created ZIP file (in a temp directory).
20
- */
21
- function createEncryptedIdentityZip(identityPath, password) {
22
- const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "visionclaw-identity-"));
23
- const zipFile = path.join(tmpDir, "identity.zip");
24
- execFileSync("zip", ["-j", "-P", password, zipFile, identityPath], {
25
- stdio: "pipe",
26
- });
27
- return zipFile;
28
- }
29
- /**
30
- * Extract the ETH wallet address from identity.md content.
31
- */
32
- function extractWalletAddress(content) {
33
- const match = /- Address:\s*(0x[0-9a-fA-F]+)/.exec(content);
34
- return match?.[1] ?? null;
35
- }
36
- /**
37
- * Send identity credentials to the owner using two-channel delivery:
38
- * 1. Email: encrypted ZIP of identity.md (contains all agent credentials)
39
- * 2. Telegram: decryption password
40
- *
41
- * This ensures no single channel compromise exposes sensitive credentials.
42
- */
43
- export async function sendIdentityCredentials(config, ownerConfig, channelManager) {
44
- const identityPath = path.join(getMemoriesDir(), "identity.md");
45
- if (!fs.existsSync(identityPath)) {
46
- logger.warn("No identity.md found — skipping two-channel delivery");
47
- return;
48
- }
49
- const identityContent = fs.readFileSync(identityPath, "utf-8");
50
- const walletAddress = extractWalletAddress(identityContent);
51
- const password = generatePassword();
52
- let zipFile;
53
- try {
54
- zipFile = createEncryptedIdentityZip(identityPath, password);
55
- // Channel 1: Send encrypted file via email
56
- const addressLine = walletAddress
57
- ? `\nETH wallet address: ${walletAddress}\n`
58
- : "";
59
- const emailBody = `Hi ${ownerConfig.ownerName || "there"},
60
-
61
- I'm sending you the credentials for my ETH wallet.
62
- ${addressLine}
63
- For your reference, the agent's identity file is attached as an encrypted archive (identity.zip).
64
- The decryption password has been sent to your Telegram account.
65
-
66
- Note: The agent retains these credentials for operations. This copy is for your records.
67
- - Open the encrypted file using the password from Telegram
68
- - Save the credentials in a secure location (e.g., password manager) if you wish
69
- - Never share private keys or recovery words with anyone
70
-
71
- — ${config.agentName}`;
72
- const emailClient = new GmailEmailClient(config);
73
- await emailClient.sendEmail({
74
- to: ownerConfig.ownerEmail,
75
- subject: `${config.agentName} — Your Agent Credentials`,
76
- body: emailBody,
77
- attachments: [
78
- {
79
- type: "file",
80
- localPath: zipFile,
81
- filename: "identity.zip",
82
- mimeType: "application/zip",
83
- },
84
- ],
85
- });
86
- logger.system(`Identity credentials email sent to ${ownerConfig.ownerEmail}`);
87
- // Channel 2: Send decryption password via Telegram
88
- if (ownerConfig.telegramChatId) {
89
- const telegramMessage = `Your VisionClaw instance has it's own ETH wallet address: ${walletAddress}
90
-
91
- The credentials for the wallet is sent to your email for your reference(the agent retains them for operations).
92
- The decryption password for the email attachment is:
93
- ${password}
94
- `;
95
- await channelManager.sendMessage("telegram", String(ownerConfig.telegramChatId), telegramMessage);
96
- logger.system("Credential decryption password sent via Telegram");
97
- }
98
- else {
99
- logger.warn("No Telegram chat ID — could not send decryption password. " +
100
- "Credential delivery incomplete!");
101
- }
102
- }
103
- finally {
104
- if (zipFile && fs.existsSync(zipFile)) {
105
- const tmpDir = path.dirname(zipFile);
106
- fs.rmSync(tmpDir, { recursive: true, force: true });
107
- }
108
- }
109
- }
110
- //# sourceMappingURL=send-identity-credentials.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"send-identity-credentials.js","sourceRoot":"","sources":["../../src/onboarding/send-identity-credentials.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export interface ServerGoogleOAuthCredential {
2
- clientId: string;
3
- clientSecret: string;
4
- }
5
- export declare function applyServerGoogleOAuthTokensForSetup(setupCode: string): Promise<ServerGoogleOAuthCredential | false>;
6
- export declare function applyServerZohoOAuthTokensForSetup(setupCode: string): Promise<boolean>;
7
- //# sourceMappingURL=setup-credentials.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-credentials.d.ts","sourceRoot":"","sources":["../../src/onboarding/setup-credentials.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAOD,wBAAsB,oCAAoC,CACxD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,2BAA2B,GAAG,KAAK,CAAC,CAqB9C;AAED,wBAAsB,kCAAkC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU5F"}
@@ -1,44 +0,0 @@
1
- import { saveZohoTokens } from "../config/index.js";
2
- import { ZohoTokensSchema } from "../config/types.js";
3
- import { writeGoogleTokensJson } from "../google/token-file.js";
4
- function getOnboardingServiceBase() {
5
- const serviceUrl = process.env.VISIONCLAW_ONBOARDING_SERVICE_URL ?? "https://onboarding.visionclaw.dev";
6
- return serviceUrl.replace(/\/+$/, "");
7
- }
8
- export async function applyServerGoogleOAuthTokensForSetup(setupCode) {
9
- if (!/^\d{6}$/.test(setupCode))
10
- return false;
11
- const url = `${getOnboardingServiceBase()}/api/provisioning/setup-code/${setupCode}/credentials`;
12
- const response = await fetch(url, { signal: AbortSignal.timeout(30_000) });
13
- if (response.status === 404)
14
- return false;
15
- if (!response.ok) {
16
- throw new Error(`Failed to fetch setup credentials: HTTP ${response.status}`);
17
- }
18
- const body = await response.json();
19
- const tokensJson = body.google?.oauthTokensJson?.trim();
20
- if (!tokensJson)
21
- return false;
22
- const clientId = body.google?.clientId?.trim();
23
- const clientSecret = body.google?.clientSecret?.trim();
24
- if (!clientId || !clientSecret) {
25
- throw new Error("Google setup credentials are missing OAuth client credentials");
26
- }
27
- writeGoogleTokensJson(tokensJson);
28
- return { clientId, clientSecret };
29
- }
30
- export async function applyServerZohoOAuthTokensForSetup(setupCode) {
31
- if (!/^\d{6}$/.test(setupCode))
32
- return false;
33
- const url = `${getOnboardingServiceBase()}/api/provisioning/setup-code/${setupCode}/credentials`;
34
- const response = await fetch(url, { signal: AbortSignal.timeout(30_000) });
35
- if (!response.ok)
36
- return false;
37
- const body = await response.json();
38
- const tokensJson = body.zoho?.oauthTokensJson?.trim();
39
- if (!tokensJson)
40
- return false;
41
- saveZohoTokens(ZohoTokensSchema.parse(JSON.parse(tokensJson)));
42
- return true;
43
- }
44
- //# sourceMappingURL=setup-credentials.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-credentials.js","sourceRoot":"","sources":["../../src/onboarding/setup-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAoBhE,SAAS,wBAAwB;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,mCAAmC,CAAC;IACxG,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,SAAiB;IAEjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAE7C,MAAM,GAAG,GAAG,GAAG,wBAAwB,EAAE,gCAAgC,SAAS,cAAc,CAAC;IACjG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6B,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACxD,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kCAAkC,CAAC,SAAiB;IACxE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,GAAG,GAAG,GAAG,wBAAwB,EAAE,gCAAgC,SAAS,cAAc,CAAC;IACjG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6B,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACtD,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Shared OpenAI API credentials.
3
- *
4
- * Two tiers, highest priority first:
5
- * 1. Shared in-memory heartbeat cache (`sharedKeys.openaiApiKey`),
6
- * populated by `applySharedKeysFromHeartbeat()` in
7
- * `agent/heartbeat-manager.ts`.
8
- * 2. Local `config.openaiApiKey` — manual fallback. The heartbeat path
9
- * seeds this on first delivery when the slot is empty, but never
10
- * overwrites an existing value.
11
- *
12
- * Mirrors `anthropic-credentials.ts` minus the bundle (tier-1) layer,
13
- * which OpenAI does not currently use — per-agent OpenAI keys are not
14
- * shipped via `credentialBundle.body.llm` today. If/when they are
15
- * (see design/llm_credentials_in_bundle_df9fdc89.plan.md), add a
16
- * `bundleOpenAIApiKey` here and check it first in `resolveOpenAIApiKey`.
17
- */
18
- import type { VisionClawConfig } from "./config/types.js";
19
- export declare function setSharedOpenAIApiKey(apiKey: string | undefined): boolean;
20
- /**
21
- * Resolve the OpenAI API key to use.
22
- *
23
- * Precedence: shared cache > local config. Mirrors the
24
- * `resolveAnthropicApiKey` precedence so a fresh key broadcast by the
25
- * onboarding service supersedes a stale manual value on disk for the
26
- * current process. The on-disk value is only written by the heartbeat
27
- * path when initially absent.
28
- */
29
- export declare function resolveOpenAIApiKey(config: VisionClawConfig): string | undefined;
30
- //# sourceMappingURL=openai-credentials.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-credentials.d.ts","sourceRoot":"","sources":["../src/openai-credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAIzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAEhF"}
@@ -1,37 +0,0 @@
1
- /**
2
- * Shared OpenAI API credentials.
3
- *
4
- * Two tiers, highest priority first:
5
- * 1. Shared in-memory heartbeat cache (`sharedKeys.openaiApiKey`),
6
- * populated by `applySharedKeysFromHeartbeat()` in
7
- * `agent/heartbeat-manager.ts`.
8
- * 2. Local `config.openaiApiKey` — manual fallback. The heartbeat path
9
- * seeds this on first delivery when the slot is empty, but never
10
- * overwrites an existing value.
11
- *
12
- * Mirrors `anthropic-credentials.ts` minus the bundle (tier-1) layer,
13
- * which OpenAI does not currently use — per-agent OpenAI keys are not
14
- * shipped via `credentialBundle.body.llm` today. If/when they are
15
- * (see design/llm_credentials_in_bundle_df9fdc89.plan.md), add a
16
- * `bundleOpenAIApiKey` here and check it first in `resolveOpenAIApiKey`.
17
- */
18
- let sharedOpenAIApiKey;
19
- export function setSharedOpenAIApiKey(apiKey) {
20
- if (sharedOpenAIApiKey === apiKey)
21
- return false;
22
- sharedOpenAIApiKey = apiKey;
23
- return true;
24
- }
25
- /**
26
- * Resolve the OpenAI API key to use.
27
- *
28
- * Precedence: shared cache > local config. Mirrors the
29
- * `resolveAnthropicApiKey` precedence so a fresh key broadcast by the
30
- * onboarding service supersedes a stale manual value on disk for the
31
- * current process. The on-disk value is only written by the heartbeat
32
- * path when initially absent.
33
- */
34
- export function resolveOpenAIApiKey(config) {
35
- return sharedOpenAIApiKey ?? config.openaiApiKey;
36
- }
37
- //# sourceMappingURL=openai-credentials.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-credentials.js","sourceRoot":"","sources":["../src/openai-credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,IAAI,kBAAsC,CAAC;AAE3C,MAAM,UAAU,qBAAqB,CAAC,MAA0B;IAC9D,IAAI,kBAAkB,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAChD,kBAAkB,GAAG,MAAM,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAwB;IAC1D,OAAO,kBAAkB,IAAI,MAAM,CAAC,YAAY,CAAC;AACnD,CAAC"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Phonecall MCP API credentials.
3
- *
4
- * Three tiers, highest priority first:
5
- * 1. Per-agent bundle — reserved (currently unused; symmetry with the
6
- * other credential modules).
7
- * 2. Shared in-memory heartbeat cache (`sharedKeys.phonecallApiKey`).
8
- * 3. Local `config.phonecallApiKey` — manual fallback. The heartbeat
9
- * shared-keys path seeds this on first delivery but never overwrites
10
- * an existing value.
11
- */
12
- import type { VisionClawConfig } from "./config/types.js";
13
- export declare function setBundlePhonecallApiKey(apiKey: string | undefined): boolean;
14
- export declare function setSharedPhonecallApiKey(apiKey: string | undefined): boolean;
15
- /**
16
- * Resolve the Phonecall MCP API key to use.
17
- *
18
- * Precedence: per-agent bundle > shared cache > local config (offline cache).
19
- */
20
- export declare function resolvePhonecallApiKey(config: VisionClawConfig): string | undefined;
21
- //# sourceMappingURL=phonecall-credentials.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"phonecall-credentials.d.ts","sourceRoot":"","sources":["../src/phonecall-credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK1D,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAI5E;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAI5E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAEnF"}
@@ -1,34 +0,0 @@
1
- /**
2
- * Phonecall MCP API credentials.
3
- *
4
- * Three tiers, highest priority first:
5
- * 1. Per-agent bundle — reserved (currently unused; symmetry with the
6
- * other credential modules).
7
- * 2. Shared in-memory heartbeat cache (`sharedKeys.phonecallApiKey`).
8
- * 3. Local `config.phonecallApiKey` — manual fallback. The heartbeat
9
- * shared-keys path seeds this on first delivery but never overwrites
10
- * an existing value.
11
- */
12
- let bundlePhonecallApiKey;
13
- let sharedPhonecallApiKey;
14
- export function setBundlePhonecallApiKey(apiKey) {
15
- if (bundlePhonecallApiKey === apiKey)
16
- return false;
17
- bundlePhonecallApiKey = apiKey;
18
- return true;
19
- }
20
- export function setSharedPhonecallApiKey(apiKey) {
21
- if (sharedPhonecallApiKey === apiKey)
22
- return false;
23
- sharedPhonecallApiKey = apiKey;
24
- return true;
25
- }
26
- /**
27
- * Resolve the Phonecall MCP API key to use.
28
- *
29
- * Precedence: per-agent bundle > shared cache > local config (offline cache).
30
- */
31
- export function resolvePhonecallApiKey(config) {
32
- return bundlePhonecallApiKey ?? sharedPhonecallApiKey ?? config.phonecallApiKey;
33
- }
34
- //# sourceMappingURL=phonecall-credentials.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"phonecall-credentials.js","sourceRoot":"","sources":["../src/phonecall-credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,IAAI,qBAAyC,CAAC;AAC9C,IAAI,qBAAyC,CAAC;AAE9C,MAAM,UAAU,wBAAwB,CAAC,MAA0B;IACjE,IAAI,qBAAqB,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACnD,qBAAqB,GAAG,MAAM,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAA0B;IACjE,IAAI,qBAAqB,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACnD,qBAAqB,GAAG,MAAM,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAwB;IAC7D,OAAO,qBAAqB,IAAI,qBAAqB,IAAI,MAAM,CAAC,eAAe,CAAC;AAClF,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { ChannelManager } from "../channels/manager.js";
2
- import type { RealtimeModuleHandle } from "./index.js";
3
- export declare function wireRealtimeToAgent(options: {
4
- realtimeHandle: RealtimeModuleHandle;
5
- channelManager: ChannelManager;
6
- }): void;
7
- //# sourceMappingURL=agent-bridge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-bridge.d.ts","sourceRoot":"","sources":["../../src/realtime/agent-bridge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,cAAc,EAAE,oBAAoB,CAAC;IACrC,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,IAAI,CA+BP"}
@@ -1,31 +0,0 @@
1
- import { logger } from "../logger.js";
2
- export function wireRealtimeToAgent(options) {
3
- const { realtimeHandle, channelManager } = options;
4
- realtimeHandle.onVoiceSessionFinished((event) => {
5
- if (event.summary.noActionable) {
6
- logger.system(`[Realtime] Voice session ${event.sessionId} has no actionable items; not enqueueing follow-up.`);
7
- return;
8
- }
9
- const text = event.summaryText || event.summary.headline || "Voice session ended.";
10
- const filename = `${event.sessionId}.json`;
11
- const msg = {
12
- id: `realtime_voice_${event.sessionId}`,
13
- channel: "system",
14
- sender: "realtime",
15
- text: `## Realtime Voice Session Completed\n${text}`,
16
- attachments: [],
17
- timestamp: event.endedAt,
18
- meta: {
19
- kind: "realtime-voice-followup",
20
- sessionId: event.sessionId,
21
- transcriptFilename: filename,
22
- },
23
- };
24
- channelManager.enqueueInternalMessage(msg);
25
- realtimeHandle.markTranscriptProcessed(filename).catch((err) => {
26
- logger.warn(`[Realtime] Failed to mark transcript processed after enqueue: ${err instanceof Error ? err.message : String(err)}`);
27
- });
28
- logger.system(`[Realtime] Enqueued voice follow-up through message path (session ${event.sessionId}).`);
29
- });
30
- }
31
- //# sourceMappingURL=agent-bridge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-bridge.js","sourceRoot":"","sources":["../../src/realtime/agent-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAKtC,MAAM,UAAU,mBAAmB,CAAC,OAGnC;IACC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAEnD,cAAc,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,4BAA4B,KAAK,CAAC,SAAS,qDAAqD,CAAC,CAAC;YAChH,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,sBAAsB,CAAC;QACnF,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,SAAS,OAAO,CAAC;QAC3C,MAAM,GAAG,GAAmB;YAC1B,EAAE,EAAE,kBAAkB,KAAK,CAAC,SAAS,EAAE;YACvC,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,wCAAwC,IAAI,EAAE;YACpD,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,KAAK,CAAC,OAAO;YACxB,IAAI,EAAE;gBACJ,IAAI,EAAE,yBAAyB;gBAC/B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,kBAAkB,EAAE,QAAQ;aAC7B;SACF,CAAC;QAEF,cAAc,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC3C,cAAc,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtE,MAAM,CAAC,IAAI,CAAC,iEAAiE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnI,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,qEAAqE,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;IAC1G,CAAC,CAAC,CAAC;AACL,CAAC"}