visionclaw 0.1.207-beta.4 → 0.1.207-beta.5

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 (329) hide show
  1. package/dist/agent/onboarding-gate.d.ts.map +1 -1
  2. package/dist/agent/onboarding-gate.js +64 -4
  3. package/dist/agent/onboarding-gate.js.map +1 -1
  4. package/dist/onboarding/bind-token.d.ts +20 -0
  5. package/dist/onboarding/bind-token.d.ts.map +1 -0
  6. package/dist/onboarding/bind-token.js +22 -0
  7. package/dist/onboarding/bind-token.js.map +1 -0
  8. package/dist/onboarding/onboarding-service-client.d.ts +60 -0
  9. package/dist/onboarding/onboarding-service-client.d.ts.map +1 -1
  10. package/dist/onboarding/onboarding-service-client.js +55 -0
  11. package/dist/onboarding/onboarding-service-client.js.map +1 -1
  12. package/dist/onboarding/telegram-onboarding.d.ts +20 -1
  13. package/dist/onboarding/telegram-onboarding.d.ts.map +1 -1
  14. package/dist/onboarding/telegram-onboarding.js +71 -1
  15. package/dist/onboarding/telegram-onboarding.js.map +1 -1
  16. package/dist-agent/bundle.cjs +17454 -13624
  17. package/package.json +1 -1
  18. package/dist/agent/applied-credential-signature.d.ts +0 -53
  19. package/dist/agent/applied-credential-signature.d.ts.map +0 -1
  20. package/dist/agent/applied-credential-signature.js +0 -137
  21. package/dist/agent/applied-credential-signature.js.map +0 -1
  22. package/dist/agent/engines/client-factory.d.ts +0 -63
  23. package/dist/agent/engines/client-factory.d.ts.map +0 -1
  24. package/dist/agent/engines/client-factory.js +0 -382
  25. package/dist/agent/engines/client-factory.js.map +0 -1
  26. package/dist/agent/engines/engine.d.ts +0 -8
  27. package/dist/agent/engines/engine.d.ts.map +0 -1
  28. package/dist/agent/engines/engine.js +0 -15
  29. package/dist/agent/engines/engine.js.map +0 -1
  30. package/dist/agent/engines/openai/file-session.d.ts +0 -19
  31. package/dist/agent/engines/openai/file-session.d.ts.map +0 -1
  32. package/dist/agent/engines/openai/file-session.js +0 -78
  33. package/dist/agent/engines/openai/file-session.js.map +0 -1
  34. package/dist/agent/engines/openai/file-tools.d.ts +0 -35
  35. package/dist/agent/engines/openai/file-tools.d.ts.map +0 -1
  36. package/dist/agent/engines/openai/file-tools.js +0 -194
  37. package/dist/agent/engines/openai/file-tools.js.map +0 -1
  38. package/dist/agent/engines/openai/session.d.ts +0 -55
  39. package/dist/agent/engines/openai/session.d.ts.map +0 -1
  40. package/dist/agent/engines/openai/session.js +0 -447
  41. package/dist/agent/engines/openai/session.js.map +0 -1
  42. package/dist/agent/engines/openai/tools.d.ts +0 -15
  43. package/dist/agent/engines/openai/tools.d.ts.map +0 -1
  44. package/dist/agent/engines/openai/tools.js +0 -221
  45. package/dist/agent/engines/openai/tools.js.map +0 -1
  46. package/dist/agent/engines/pi/session.d.ts +0 -49
  47. package/dist/agent/engines/pi/session.d.ts.map +0 -1
  48. package/dist/agent/engines/pi/session.js +0 -309
  49. package/dist/agent/engines/pi/session.js.map +0 -1
  50. package/dist/agent/memory-preload.d.ts +0 -55
  51. package/dist/agent/memory-preload.d.ts.map +0 -1
  52. package/dist/agent/memory-preload.js +0 -166
  53. package/dist/agent/memory-preload.js.map +0 -1
  54. package/dist/agent/providers/claude/cli-resolver.d.ts +0 -16
  55. package/dist/agent/providers/claude/cli-resolver.d.ts.map +0 -1
  56. package/dist/agent/providers/claude/cli-resolver.js +0 -83
  57. package/dist/agent/providers/claude/cli-resolver.js.map +0 -1
  58. package/dist/agent/providers/claude/session-browser-policy.d.ts +0 -9
  59. package/dist/agent/providers/claude/session-browser-policy.d.ts.map +0 -1
  60. package/dist/agent/providers/claude/session-browser-policy.js +0 -49
  61. package/dist/agent/providers/claude/session-browser-policy.js.map +0 -1
  62. package/dist/agent/providers/claude/session.d.ts +0 -304
  63. package/dist/agent/providers/claude/session.d.ts.map +0 -1
  64. package/dist/agent/providers/claude/session.js +0 -1236
  65. package/dist/agent/providers/claude/session.js.map +0 -1
  66. package/dist/agent/providers/client-factory.d.ts +0 -60
  67. package/dist/agent/providers/client-factory.d.ts.map +0 -1
  68. package/dist/agent/providers/client-factory.js +0 -400
  69. package/dist/agent/providers/client-factory.js.map +0 -1
  70. package/dist/agent/providers/openai/file-session.d.ts +0 -19
  71. package/dist/agent/providers/openai/file-session.d.ts.map +0 -1
  72. package/dist/agent/providers/openai/file-session.js +0 -78
  73. package/dist/agent/providers/openai/file-session.js.map +0 -1
  74. package/dist/agent/providers/openai/session.d.ts +0 -55
  75. package/dist/agent/providers/openai/session.d.ts.map +0 -1
  76. package/dist/agent/providers/openai/session.js +0 -447
  77. package/dist/agent/providers/openai/session.js.map +0 -1
  78. package/dist/agent/providers/openai/tools.d.ts +0 -15
  79. package/dist/agent/providers/openai/tools.d.ts.map +0 -1
  80. package/dist/agent/providers/openai/tools.js +0 -229
  81. package/dist/agent/providers/openai/tools.js.map +0 -1
  82. package/dist/agent/providers/session-types.d.ts +0 -153
  83. package/dist/agent/providers/session-types.d.ts.map +0 -1
  84. package/dist/agent/providers/session-types.js +0 -2
  85. package/dist/agent/providers/session-types.js.map +0 -1
  86. package/dist/agent/providers/system-prompt-log.d.ts +0 -9
  87. package/dist/agent/providers/system-prompt-log.d.ts.map +0 -1
  88. package/dist/agent/providers/system-prompt-log.js +0 -46
  89. package/dist/agent/providers/system-prompt-log.js.map +0 -1
  90. package/dist/agent/transcript-backfill.d.ts +0 -54
  91. package/dist/agent/transcript-backfill.d.ts.map +0 -1
  92. package/dist/agent/transcript-backfill.js +0 -604
  93. package/dist/agent/transcript-backfill.js.map +0 -1
  94. package/dist/agent/transcript-indexer.d.ts +0 -200
  95. package/dist/agent/transcript-indexer.d.ts.map +0 -1
  96. package/dist/agent/transcript-indexer.js +0 -775
  97. package/dist/agent/transcript-indexer.js.map +0 -1
  98. package/dist/agent/transcript-memory-migrations.d.ts +0 -25
  99. package/dist/agent/transcript-memory-migrations.d.ts.map +0 -1
  100. package/dist/agent/transcript-memory-migrations.js +0 -87
  101. package/dist/agent/transcript-memory-migrations.js.map +0 -1
  102. package/dist/agent/tunnel-credential-handler.d.ts +0 -90
  103. package/dist/agent/tunnel-credential-handler.d.ts.map +0 -1
  104. package/dist/agent/tunnel-credential-handler.js +0 -162
  105. package/dist/agent/tunnel-credential-handler.js.map +0 -1
  106. package/dist/agent/usage-backfill-handler.d.ts +0 -18
  107. package/dist/agent/usage-backfill-handler.d.ts.map +0 -1
  108. package/dist/agent/usage-backfill-handler.js +0 -69
  109. package/dist/agent/usage-backfill-handler.js.map +0 -1
  110. package/dist/agent/usage-gate.d.ts +0 -25
  111. package/dist/agent/usage-gate.d.ts.map +0 -1
  112. package/dist/agent/usage-gate.js +0 -83
  113. package/dist/agent/usage-gate.js.map +0 -1
  114. package/dist/agent/usage-handler.d.ts +0 -7
  115. package/dist/agent/usage-handler.d.ts.map +0 -1
  116. package/dist/agent/usage-handler.js +0 -28
  117. package/dist/agent/usage-handler.js.map +0 -1
  118. package/dist/agent/usage-report-builder.d.ts +0 -26
  119. package/dist/agent/usage-report-builder.d.ts.map +0 -1
  120. package/dist/agent/usage-report-builder.js +0 -80
  121. package/dist/agent/usage-report-builder.js.map +0 -1
  122. package/dist/agent/usage-report-queue.d.ts +0 -26
  123. package/dist/agent/usage-report-queue.d.ts.map +0 -1
  124. package/dist/agent/usage-report-queue.js +0 -199
  125. package/dist/agent/usage-report-queue.js.map +0 -1
  126. package/dist/agent/usage-report-types.d.ts +0 -41
  127. package/dist/agent/usage-report-types.d.ts.map +0 -1
  128. package/dist/agent/usage-report-types.js +0 -2
  129. package/dist/agent/usage-report-types.js.map +0 -1
  130. package/dist/agent/usage-reporter.d.ts +0 -31
  131. package/dist/agent/usage-reporter.d.ts.map +0 -1
  132. package/dist/agent/usage-reporter.js +0 -102
  133. package/dist/agent/usage-reporter.js.map +0 -1
  134. package/dist/agent/wake-cycle-tool-tracker.d.ts +0 -39
  135. package/dist/agent/wake-cycle-tool-tracker.d.ts.map +0 -1
  136. package/dist/agent/wake-cycle-tool-tracker.js +0 -72
  137. package/dist/agent/wake-cycle-tool-tracker.js.map +0 -1
  138. package/dist/billing/payg-handler.d.ts +0 -29
  139. package/dist/billing/payg-handler.d.ts.map +0 -1
  140. package/dist/billing/payg-handler.js +0 -92
  141. package/dist/billing/payg-handler.js.map +0 -1
  142. package/dist/billing/payment-handler.d.ts +0 -24
  143. package/dist/billing/payment-handler.d.ts.map +0 -1
  144. package/dist/billing/payment-handler.js +0 -101
  145. package/dist/billing/payment-handler.js.map +0 -1
  146. package/dist/builtin-skills/catalog/phone-adb-automation/SKILL.md +0 -412
  147. package/dist/builtin-skills/catalog/phone-adb-automation/phone_input.sh +0 -132
  148. package/dist/builtin-skills/catalog/phone-adb-automation/phone_launch.sh +0 -166
  149. package/dist/builtin-skills/catalog/phone-adb-automation/phone_screenshot.sh +0 -87
  150. package/dist/builtin-skills/catalog/phone-adb-automation/phone_security_kbd.py +0 -174
  151. package/dist/builtin-skills/catalog/phone-adb-automation/phone_setup.sh +0 -274
  152. package/dist/builtin-skills/catalog/phone-adb-automation/phone_swipe.sh +0 -111
  153. package/dist/builtin-skills/catalog/phone-adb-automation/phone_tap.sh +0 -87
  154. package/dist/builtin-skills/catalog/phone-adb-automation/phone_ui_parse.py +0 -176
  155. package/dist/builtin-skills/catalog/phone-adb-automation/phone_wake_unlock.sh +0 -67
  156. package/dist/builtin-skills/transcribe-audio/SKILL.md +0 -122
  157. package/dist/channels/web.d.ts +0 -40
  158. package/dist/channels/web.d.ts.map +0 -1
  159. package/dist/channels/web.js +0 -137
  160. package/dist/channels/web.js.map +0 -1
  161. package/dist/data-processing/convert-demo-cli.d.ts +0 -7
  162. package/dist/data-processing/convert-demo-cli.d.ts.map +0 -1
  163. package/dist/data-processing/convert-demo-cli.js +0 -30
  164. package/dist/data-processing/convert-demo-cli.js.map +0 -1
  165. package/dist/data-processing/convert-demo.d.ts +0 -26
  166. package/dist/data-processing/convert-demo.d.ts.map +0 -1
  167. package/dist/data-processing/convert-demo.js +0 -233
  168. package/dist/data-processing/convert-demo.js.map +0 -1
  169. package/dist/obs/auth.d.ts +0 -45
  170. package/dist/obs/auth.d.ts.map +0 -1
  171. package/dist/obs/auth.js +0 -181
  172. package/dist/obs/auth.js.map +0 -1
  173. package/dist/obs/mini-app/tasks.d.ts +0 -2
  174. package/dist/obs/mini-app/tasks.d.ts.map +0 -1
  175. package/dist/obs/mini-app/tasks.js +0 -506
  176. package/dist/obs/mini-app/tasks.js.map +0 -1
  177. package/dist/obs/rdp/icons/icons/app_windows.svg +0 -4
  178. package/dist/obs/rdp/icons/icons/clip_get.svg +0 -4
  179. package/dist/obs/rdp/icons/icons/clip_send.svg +0 -4
  180. package/dist/obs/rdp/icons/icons/clip_shared.svg +0 -4
  181. package/dist/obs/rdp/icons/icons/clipboard.svg +0 -4
  182. package/dist/obs/rdp/icons/icons/clipboard_shared.svg +0 -4
  183. package/dist/obs/rdp/icons/icons/control.svg +0 -4
  184. package/dist/obs/rdp/icons/icons/desktop.svg +0 -4
  185. package/dist/obs/rdp/icons/icons/display.svg +0 -4
  186. package/dist/obs/rdp/icons/icons/launchpad.svg +0 -4
  187. package/dist/obs/rdp/icons/icons/mission_control.svg +0 -4
  188. package/dist/obs/rdp/icons/icons/screenshot.svg +0 -4
  189. package/dist/obs/rdp/icons/icons/zoom_actual.svg +0 -4
  190. package/dist/obs/rdp/icons/icons/zoom_fit.svg +0 -4
  191. package/dist/obs/rdp/icons/icons/zoom_in.svg +0 -4
  192. package/dist/obs/rdp/icons/icons/zoom_out.svg +0 -4
  193. package/dist/obs/tunnel-telemetry.d.ts +0 -46
  194. package/dist/obs/tunnel-telemetry.d.ts.map +0 -1
  195. package/dist/obs/tunnel-telemetry.js +0 -70
  196. package/dist/obs/tunnel-telemetry.js.map +0 -1
  197. package/dist/onboarding/cloudflared-cert.d.ts +0 -15
  198. package/dist/onboarding/cloudflared-cert.d.ts.map +0 -1
  199. package/dist/onboarding/cloudflared-cert.js +0 -57
  200. package/dist/onboarding/cloudflared-cert.js.map +0 -1
  201. package/dist/onboarding/provision-eth-wallet.d.ts +0 -7
  202. package/dist/onboarding/provision-eth-wallet.d.ts.map +0 -1
  203. package/dist/onboarding/provision-eth-wallet.js +0 -14
  204. package/dist/onboarding/provision-eth-wallet.js.map +0 -1
  205. package/dist/onboarding/send-identity-credentials.d.ts +0 -11
  206. package/dist/onboarding/send-identity-credentials.d.ts.map +0 -1
  207. package/dist/onboarding/send-identity-credentials.js +0 -110
  208. package/dist/onboarding/send-identity-credentials.js.map +0 -1
  209. package/dist/phonecall-credentials.d.ts +0 -21
  210. package/dist/phonecall-credentials.d.ts.map +0 -1
  211. package/dist/phonecall-credentials.js +0 -34
  212. package/dist/phonecall-credentials.js.map +0 -1
  213. package/dist/realtime/agent-bridge.d.ts +0 -7
  214. package/dist/realtime/agent-bridge.d.ts.map +0 -1
  215. package/dist/realtime/agent-bridge.js +0 -31
  216. package/dist/realtime/agent-bridge.js.map +0 -1
  217. package/dist/realtime/assets/index.html +0 -1058
  218. package/dist/realtime/assets/samples/alloy.mp3 +0 -0
  219. package/dist/realtime/assets/samples/ash.mp3 +0 -0
  220. package/dist/realtime/assets/samples/ballad.mp3 +0 -0
  221. package/dist/realtime/assets/samples/cedar.mp3 +0 -0
  222. package/dist/realtime/assets/samples/coral.mp3 +0 -0
  223. package/dist/realtime/assets/samples/echo.mp3 +0 -0
  224. package/dist/realtime/assets/samples/marin.mp3 +0 -0
  225. package/dist/realtime/assets/samples/sage.mp3 +0 -0
  226. package/dist/realtime/assets/samples/shimmer.mp3 +0 -0
  227. package/dist/realtime/assets/samples/verse.mp3 +0 -0
  228. package/dist/realtime/context.d.ts +0 -14
  229. package/dist/realtime/context.d.ts.map +0 -1
  230. package/dist/realtime/context.js +0 -153
  231. package/dist/realtime/context.js.map +0 -1
  232. package/dist/realtime/http-helpers.d.ts +0 -5
  233. package/dist/realtime/http-helpers.d.ts.map +0 -1
  234. package/dist/realtime/http-helpers.js +0 -29
  235. package/dist/realtime/http-helpers.js.map +0 -1
  236. package/dist/realtime/index.d.ts +0 -62
  237. package/dist/realtime/index.d.ts.map +0 -1
  238. package/dist/realtime/index.js +0 -94
  239. package/dist/realtime/index.js.map +0 -1
  240. package/dist/realtime/server.d.ts +0 -6
  241. package/dist/realtime/server.d.ts.map +0 -1
  242. package/dist/realtime/server.js +0 -479
  243. package/dist/realtime/server.js.map +0 -1
  244. package/dist/realtime/telegram-auth.d.ts +0 -2
  245. package/dist/realtime/telegram-auth.d.ts.map +0 -1
  246. package/dist/realtime/telegram-auth.js +0 -24
  247. package/dist/realtime/telegram-auth.js.map +0 -1
  248. package/dist/realtime/tools.d.ts +0 -829
  249. package/dist/realtime/tools.d.ts.map +0 -1
  250. package/dist/realtime/tools.js +0 -611
  251. package/dist/realtime/tools.js.map +0 -1
  252. package/dist/realtime/types.d.ts +0 -62
  253. package/dist/realtime/types.d.ts.map +0 -1
  254. package/dist/realtime/types.js +0 -3
  255. package/dist/realtime/types.js.map +0 -1
  256. package/dist/realtime/voice-summarizer.d.ts +0 -4
  257. package/dist/realtime/voice-summarizer.d.ts.map +0 -1
  258. package/dist/realtime/voice-summarizer.js +0 -123
  259. package/dist/realtime/voice-summarizer.js.map +0 -1
  260. package/dist/realtime/websocket.d.ts +0 -7
  261. package/dist/realtime/websocket.d.ts.map +0 -1
  262. package/dist/realtime/websocket.js +0 -65
  263. package/dist/realtime/websocket.js.map +0 -1
  264. package/dist/service/gbox-tun.d.ts +0 -14
  265. package/dist/service/gbox-tun.d.ts.map +0 -1
  266. package/dist/service/gbox-tun.js +0 -315
  267. package/dist/service/gbox-tun.js.map +0 -1
  268. package/dist/skills/installed.d.ts +0 -11
  269. package/dist/skills/installed.d.ts.map +0 -1
  270. package/dist/skills/installed.js +0 -35
  271. package/dist/skills/installed.js.map +0 -1
  272. package/dist/tools/card.d.ts +0 -11
  273. package/dist/tools/card.d.ts.map +0 -1
  274. package/dist/tools/card.js +0 -87
  275. package/dist/tools/card.js.map +0 -1
  276. package/dist/tools/coordinate-resolver.d.ts +0 -30
  277. package/dist/tools/coordinate-resolver.d.ts.map +0 -1
  278. package/dist/tools/coordinate-resolver.js +0 -104
  279. package/dist/tools/coordinate-resolver.js.map +0 -1
  280. package/dist/tools/stock-data.d.ts +0 -70
  281. package/dist/tools/stock-data.d.ts.map +0 -1
  282. package/dist/tools/stock-data.js +0 -596
  283. package/dist/tools/stock-data.js.map +0 -1
  284. package/dist/tools/webapp.d.ts +0 -30
  285. package/dist/tools/webapp.d.ts.map +0 -1
  286. package/dist/tools/webapp.js +0 -114
  287. package/dist/tools/webapp.js.map +0 -1
  288. package/dist/utils/wechat-monitor.d.ts +0 -21
  289. package/dist/utils/wechat-monitor.d.ts.map +0 -1
  290. package/dist/utils/wechat-monitor.js +0 -88
  291. package/dist/utils/wechat-monitor.js.map +0 -1
  292. package/dist/webapp/index.d.ts +0 -28
  293. package/dist/webapp/index.d.ts.map +0 -1
  294. package/dist/webapp/index.js +0 -75
  295. package/dist/webapp/index.js.map +0 -1
  296. package/dist/webapp/server.d.ts +0 -32
  297. package/dist/webapp/server.d.ts.map +0 -1
  298. package/dist/webapp/server.js +0 -375
  299. package/dist/webapp/server.js.map +0 -1
  300. package/dist/webapp/storage.d.ts +0 -64
  301. package/dist/webapp/storage.d.ts.map +0 -1
  302. package/dist/webapp/storage.js +0 -103
  303. package/dist/webapp/storage.js.map +0 -1
  304. package/dist/webapp/ui.d.ts +0 -2
  305. package/dist/webapp/ui.d.ts.map +0 -1
  306. package/dist/webapp/ui.js +0 -319
  307. package/dist/webapp/ui.js.map +0 -1
  308. package/dist-agent/assets/index.html +0 -1058
  309. package/dist-agent/assets/samples/alloy.mp3 +0 -0
  310. package/dist-agent/assets/samples/ash.mp3 +0 -0
  311. package/dist-agent/assets/samples/ballad.mp3 +0 -0
  312. package/dist-agent/assets/samples/cedar.mp3 +0 -0
  313. package/dist-agent/assets/samples/coral.mp3 +0 -0
  314. package/dist-agent/assets/samples/echo.mp3 +0 -0
  315. package/dist-agent/assets/samples/marin.mp3 +0 -0
  316. package/dist-agent/assets/samples/sage.mp3 +0 -0
  317. package/dist-agent/assets/samples/shimmer.mp3 +0 -0
  318. package/dist-agent/assets/samples/verse.mp3 +0 -0
  319. package/dist-agent/realtime/assets/index.html +0 -1058
  320. package/dist-agent/realtime/assets/samples/alloy.mp3 +0 -0
  321. package/dist-agent/realtime/assets/samples/ash.mp3 +0 -0
  322. package/dist-agent/realtime/assets/samples/ballad.mp3 +0 -0
  323. package/dist-agent/realtime/assets/samples/cedar.mp3 +0 -0
  324. package/dist-agent/realtime/assets/samples/coral.mp3 +0 -0
  325. package/dist-agent/realtime/assets/samples/echo.mp3 +0 -0
  326. package/dist-agent/realtime/assets/samples/marin.mp3 +0 -0
  327. package/dist-agent/realtime/assets/samples/sage.mp3 +0 -0
  328. package/dist-agent/realtime/assets/samples/shimmer.mp3 +0 -0
  329. package/dist-agent/realtime/assets/samples/verse.mp3 +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-gate.d.ts","sourceRoot":"","sources":["../../src/agent/onboarding-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAYzD,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAYjF,wBAAgB,oCAAoC,CAClD,cAAc,GAAE,cAAuC,GACtD,iBAAiB,CAMnB;AA6BD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,OAAO,CAAC,CA8PlB"}
1
+ {"version":3,"file":"onboarding-gate.d.ts","sourceRoot":"","sources":["../../src/agent/onboarding-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAYzD,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAYjF,wBAAgB,oCAAoC,CAClD,cAAc,GAAE,cAAuC,GACtD,iBAAiB,CAMnB;AA6BD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,OAAO,CAAC,CA0UlB"}
@@ -134,7 +134,9 @@ export async function runOnboardingGate(config, channelManager, messageQueue) {
134
134
  logger.system("Code already verified — finalizing onboarding...");
135
135
  }
136
136
  const botToken = config.channels.telegram?.botToken ?? "";
137
- const handler = new TelegramOnboardingHandler(partialOwner, config, botToken, channelManager);
137
+ const handler = new TelegramOnboardingHandler(partialOwner, config, botToken, channelManager,
138
+ // Lets the handler redeem Phase 1b bind tokens (#940) against the service.
139
+ onboardingClient);
138
140
  // QQ-first claim handler: completes onboarding when the onboarding service
139
141
  // delivers QQ credentials over the heartbeat (Scene B), in parallel with the
140
142
  // Telegram `/start` path below. Whichever finishes first wins.
@@ -149,6 +151,13 @@ export async function runOnboardingGate(config, channelManager, messageQueue) {
149
151
  gateSettled = true;
150
152
  resolveGate?.();
151
153
  };
154
+ // Declared before the heartbeat loop below, which calls it to send the
155
+ // in-channel binding confirmation. `const` is in its temporal dead zone until
156
+ // this line runs, and the first tick can fire before the message loop is set
157
+ // up, so hoisting it above the timer is load-bearing rather than cosmetic.
158
+ const sendReply = async (chatId, text) => {
159
+ await channelManager.sendMessage("telegram", String(chatId), text);
160
+ };
152
161
  // Start background heartbeat so the onboarding server tracks us as online
153
162
  // and we can detect owner email changes or resend requests.
154
163
  let heartbeatTimer;
@@ -179,6 +188,60 @@ export async function runOnboardingGate(config, channelManager, messageQueue) {
179
188
  return;
180
189
  }
181
190
  }
191
+ // Phase 1b channel binding (#940): the owner proved possession through
192
+ // the setup page, and the service delivers the result here.
193
+ //
194
+ // Telegram bindings normally complete in the `/start` handler, which
195
+ // already has the chat id and finalizes there — this path is what makes
196
+ // the binding survive if the agent was down when the proof landed, and
197
+ // it is the only delivery route for channels whose proof does not pass
198
+ // through this process at all.
199
+ //
200
+ // Delivery is at-least-once: the service keeps offering this binding on
201
+ // every heartbeat until we ack it, so an agent that dies mid-apply gets
202
+ // it again rather than losing it. The order below is what makes that
203
+ // safe — apply, finalize, confirm *in the bound channel*, and only then
204
+ // ack. Acking earlier would let a crash between the ack and the
205
+ // confirmation strand an owner who is bound server-side but was never
206
+ // told, with nothing left to re-drive it.
207
+ if (result.channelBinding?.channel === "telegram") {
208
+ const binding = result.channelBinding;
209
+ const chatId = Number(binding.externalSubject);
210
+ if (Number.isFinite(chatId)) {
211
+ const owner = loadOwnerConfig();
212
+ // Idempotent: a re-delivery after we applied but before the ack
213
+ // landed must not re-save or re-announce. We still fall through to
214
+ // the ack below so the redelivery loop actually terminates.
215
+ if (owner.telegramChatId !== chatId) {
216
+ logger.system(`Channel binding delivered: telegram chat ${chatId}. Applying and completing onboarding...`);
217
+ owner.telegramChatId = chatId;
218
+ owner.primaryChannel = "telegram";
219
+ owner.onboardingCodeVerified = true;
220
+ saveOwnerConfig(owner);
221
+ handler.updateOwnerConfig(owner);
222
+ }
223
+ // Confirm in the channel that was just bound — the final link of the
224
+ // chain in docs/owner-identity-contract.md §7. Best-effort: if the
225
+ // send fails we skip the ack, leave the binding deliverable, and try
226
+ // the whole sequence again on the next tick.
227
+ let confirmed = false;
228
+ try {
229
+ await sendReply(chatId, "✅ Setup complete — this chat is now bound to your agent. You can start talking to me here.");
230
+ confirmed = true;
231
+ }
232
+ catch (err) {
233
+ logger.err(`Channel binding confirmation failed; will retry on the next heartbeat: ${err instanceof Error ? err.message : String(err)}`);
234
+ }
235
+ if (confirmed) {
236
+ // Ack last. Only now may the service stop re-offering this.
237
+ await onboardingClient.acknowledgeChannelBinding(binding.attemptId);
238
+ // Finalize: an agent that was offline when the proof landed must
239
+ // still leave the gate, not sit in onboarding mode forever.
240
+ settleGate();
241
+ return;
242
+ }
243
+ }
244
+ }
182
245
  // Sync owner email/name if changed on the server (e.g. owner re-submitted
183
246
  // the form with a different email before activating Telegram).
184
247
  const currentOwner = loadOwnerConfig();
@@ -227,9 +290,6 @@ export async function runOnboardingGate(config, channelManager, messageQueue) {
227
290
  void runHeartbeatTick();
228
291
  });
229
292
  }
230
- const sendReply = async (chatId, text) => {
231
- await channelManager.sendMessage("telegram", String(chatId), text);
232
- };
233
293
  await new Promise((resolve) => {
234
294
  resolveGate = resolve;
235
295
  const onMessage = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-gate.js","sourceRoot":"","sources":["../../src/agent/onboarding-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboarding-gate.js","sourceRoot":"","sources":["../../src/agent/onboarding-gate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Phase 1b bind-token recognition (#940), agent side.
3
+ *
4
+ * Telegram delivers both a Phase 1b bind token and the legacy 6-character
5
+ * onboarding code through the same `/start <payload>` surface. The agent has to
6
+ * route them to different handlers, and it must do so explicitly: inferring
7
+ * from length would silently misroute the day either format changes, and the
8
+ * legacy path has to keep working until Phase 5.
9
+ *
10
+ * NOTE: this prefix is duplicated from the onboarding service
11
+ * (`services/onboarding/src/lib/db/bind-attempts.ts`, `BIND_TOKEN_PREFIX`).
12
+ * The two packages ship separately and share no runtime code, so a constant is
13
+ * the honest representation. It is part of the wire contract between them:
14
+ * changing it on one side alone breaks redemption, so change both together.
15
+ * `tests/unit/onboarding/bind-token.test.ts` pins the value.
16
+ */
17
+ export declare const BIND_TOKEN_PREFIX = "vcb_";
18
+ /** True if a `/start` payload is a Phase 1b bind token, not a legacy code. */
19
+ export declare function isBindToken(payload: string): boolean;
20
+ //# sourceMappingURL=bind-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind-token.d.ts","sourceRoot":"","sources":["../../src/onboarding/bind-token.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAExC,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEpD"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Phase 1b bind-token recognition (#940), agent side.
3
+ *
4
+ * Telegram delivers both a Phase 1b bind token and the legacy 6-character
5
+ * onboarding code through the same `/start <payload>` surface. The agent has to
6
+ * route them to different handlers, and it must do so explicitly: inferring
7
+ * from length would silently misroute the day either format changes, and the
8
+ * legacy path has to keep working until Phase 5.
9
+ *
10
+ * NOTE: this prefix is duplicated from the onboarding service
11
+ * (`services/onboarding/src/lib/db/bind-attempts.ts`, `BIND_TOKEN_PREFIX`).
12
+ * The two packages ship separately and share no runtime code, so a constant is
13
+ * the honest representation. It is part of the wire contract between them:
14
+ * changing it on one side alone breaks redemption, so change both together.
15
+ * `tests/unit/onboarding/bind-token.test.ts` pins the value.
16
+ */
17
+ export const BIND_TOKEN_PREFIX = "vcb_";
18
+ /** True if a `/start` payload is a Phase 1b bind token, not a legacy code. */
19
+ export function isBindToken(payload) {
20
+ return payload.startsWith(BIND_TOKEN_PREFIX);
21
+ }
22
+ //# sourceMappingURL=bind-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind-token.js","sourceRoot":"","sources":["../../src/onboarding/bind-token.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAExC,8EAA8E;AAC9E,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAC/C,CAAC"}
@@ -231,6 +231,24 @@ export interface HeartbeatResponse {
231
231
  * QQ adapter. Absent on every other heartbeat.
232
232
  */
233
233
  qqCredentials?: QQClaimCredentials;
234
+ /**
235
+ * A completed channel binding (#940 Phase 1b), delivered on every heartbeat
236
+ * until the agent acknowledges it. The agent binds the channel locally,
237
+ * finalizes onboarding, confirms *in that channel*, and only then echoes
238
+ * `channelBindingAck` on a subsequent heartbeat. Absent otherwise.
239
+ *
240
+ * Delivery is at-least-once by design, so the apply must be idempotent: an
241
+ * agent that crashes after applying but before acking will be handed the same
242
+ * binding again, and re-applying it must be a no-op rather than a second bind.
243
+ */
244
+ channelBinding?: ChannelBindingDelivery;
245
+ }
246
+ /** A binding the owner completed through the Phase 1b setup page. */
247
+ export interface ChannelBindingDelivery {
248
+ attemptId: string;
249
+ channel: "telegram" | "qq";
250
+ /** Telegram chat id / QQ openid that proved possession. */
251
+ externalSubject: string;
234
252
  }
235
253
  /**
236
254
  * QQ Bot credentials produced by a completed QQ-first claim. Mirrors the
@@ -314,6 +332,15 @@ export interface HeartbeatPayload {
314
332
  usageReports?: WakeCycleUsageReport[];
315
333
  /** Agent-originated health events to record in onboarding Health Events. */
316
334
  healthEvents?: HeartbeatHealthEvent[];
335
+ /**
336
+ * Attempt id of a `channelBinding` (#940 Phase 1b) this agent has fully
337
+ * applied: channel bound locally, onboarding finalized, and the confirmation
338
+ * sent *in that channel*. The server stops re-offering the binding only once
339
+ * this arrives, so it must be sent **after** that work succeeds, never
340
+ * alongside it — acking first would reintroduce the at-most-once delivery
341
+ * this protocol exists to avoid.
342
+ */
343
+ channelBindingAck?: string;
317
344
  }
318
345
  /**
319
346
  * HTTP client for the VisionClaw onboarding service.
@@ -346,6 +373,39 @@ export declare class OnboardingServiceClient {
346
373
  * The tokens are already on local disk at this point.
347
374
  */
348
375
  reportGoogleTokens(oauthTokensJson: string): Promise<boolean>;
376
+ /**
377
+ * Redeem a Phase 1b bind token (#940) with the subject that proved
378
+ * possession of the channel.
379
+ *
380
+ * The agent's own bot is what receives `/start <token>`, so the agent is the
381
+ * only party holding both the token and the platform's attestation of which
382
+ * chat sent it. The service still decides: it validates the token's agent
383
+ * binding, channel binding, expiry, and single-use property in one atomic
384
+ * compare-and-swap. This call proves nothing by itself.
385
+ */
386
+ consumeBindAttempt(input: {
387
+ token: string;
388
+ channel: "telegram" | "qq";
389
+ externalSubject: string;
390
+ }): Promise<{
391
+ ok: boolean;
392
+ replayed: boolean;
393
+ reason?: string;
394
+ attemptId?: string;
395
+ }>;
396
+ /**
397
+ * Acknowledge a delivered channel binding (#940 Phase 1b).
398
+ *
399
+ * Sent as a one-field heartbeat *after* the agent has applied the binding,
400
+ * finalized onboarding, and confirmed in the bound channel. Until this lands
401
+ * the service keeps re-offering the binding on every heartbeat, which is what
402
+ * makes delivery at-least-once instead of at-most-once.
403
+ *
404
+ * Failure is deliberately silent: an ack that does not arrive costs one
405
+ * redundant re-delivery, which the agent's apply is idempotent against. The
406
+ * opposite bias — treating a failed ack as done — is what loses bindings.
407
+ */
408
+ acknowledgeChannelBinding(attemptId: string): Promise<void>;
349
409
  notifyEmailSent(): Promise<void>;
350
410
  sendUsageBackfill(usageReports: WakeCycleUsageReport[]): Promise<boolean>;
351
411
  getUsagePeriods(): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-service-client.d.ts","sourceRoot":"","sources":["../../src/onboarding/onboarding-service-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboarding-service-client.d.ts","sourceRoot":"","sources":["../../src/onboarding/onboarding-service-client.ts"],"names":[],"mappings":"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"}
@@ -123,6 +123,61 @@ export class OnboardingServiceClient {
123
123
  return false;
124
124
  }
125
125
  }
126
+ /**
127
+ * Redeem a Phase 1b bind token (#940) with the subject that proved
128
+ * possession of the channel.
129
+ *
130
+ * The agent's own bot is what receives `/start <token>`, so the agent is the
131
+ * only party holding both the token and the platform's attestation of which
132
+ * chat sent it. The service still decides: it validates the token's agent
133
+ * binding, channel binding, expiry, and single-use property in one atomic
134
+ * compare-and-swap. This call proves nothing by itself.
135
+ */
136
+ async consumeBindAttempt(input) {
137
+ try {
138
+ const res = await fetch(`${this.baseUrl}/api/agents/${this.agentName}/bind-attempts/consume`, {
139
+ method: "POST",
140
+ headers: {
141
+ Authorization: `Bearer ${this.apiKey}`,
142
+ "Content-Type": "application/json",
143
+ },
144
+ body: JSON.stringify(input),
145
+ signal: AbortSignal.timeout(15_000),
146
+ });
147
+ const data = (await res.json().catch(() => ({})));
148
+ if (!res.ok) {
149
+ return { ok: false, replayed: false, reason: data.reason ?? `http_${res.status}` };
150
+ }
151
+ return {
152
+ ok: data.ok === true,
153
+ replayed: data.replayed === true,
154
+ // Echoed back on a later heartbeat to retire the pending delivery, so
155
+ // the owner is not greeted twice by the heartbeat path.
156
+ attemptId: typeof data.attemptId === "string" ? data.attemptId : undefined,
157
+ };
158
+ }
159
+ catch (err) {
160
+ // A network failure is NOT a rejection: the token may still be valid and
161
+ // the user can retry. Surfacing this as "invalid link" would be a lie.
162
+ logger.warn(`Bind attempt consume error: ${describeError(err)}`);
163
+ return { ok: false, replayed: false, reason: "network_error" };
164
+ }
165
+ }
166
+ /**
167
+ * Acknowledge a delivered channel binding (#940 Phase 1b).
168
+ *
169
+ * Sent as a one-field heartbeat *after* the agent has applied the binding,
170
+ * finalized onboarding, and confirmed in the bound channel. Until this lands
171
+ * the service keeps re-offering the binding on every heartbeat, which is what
172
+ * makes delivery at-least-once instead of at-most-once.
173
+ *
174
+ * Failure is deliberately silent: an ack that does not arrive costs one
175
+ * redundant re-delivery, which the agent's apply is idempotent against. The
176
+ * opposite bias — treating a failed ack as done — is what loses bindings.
177
+ */
178
+ async acknowledgeChannelBinding(attemptId) {
179
+ await this.heartbeat({ channelBindingAck: attemptId });
180
+ }
126
181
  async notifyEmailSent() {
127
182
  try {
128
183
  const res = await fetch(`${this.baseUrl}/api/agents/${this.agentName}/email-sent`, {
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-service-client.js","sourceRoot":"","sources":["../../src/onboarding/onboarding-service-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboarding-service-client.js","sourceRoot":"","sources":["../../src/onboarding/onboarding-service-client.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { OwnerConfig, VisionClawConfig } from "../config/types.js";
2
2
  import type { CommandMessage } from "../channels/interface.js";
3
3
  import type { ChannelManager } from "../channels/manager.js";
4
+ import type { OnboardingServiceClient } from "./onboarding-service-client.js";
4
5
  type SendReplyFn = (chatId: number, text: string) => Promise<void>;
5
6
  /**
6
7
  * Telegram onboarding handler.
@@ -13,8 +14,16 @@ export declare class TelegramOnboardingHandler {
13
14
  private ownerConfig;
14
15
  private config;
15
16
  private channelManager;
17
+ private onboardingClient;
16
18
  private _isComplete;
17
- constructor(ownerConfig: OwnerConfig, config: VisionClawConfig, _botToken: string, channelManager: ChannelManager);
19
+ constructor(ownerConfig: OwnerConfig, config: VisionClawConfig, _botToken: string, channelManager: ChannelManager,
20
+ /**
21
+ * Used to redeem Phase 1b bind tokens (#940). Null when the agent has no
22
+ * onboarding service configured, in which case only the legacy `/start
23
+ * CODE` path is available — which is correct, since a bind token is
24
+ * meaningless without the service that issued it.
25
+ */
26
+ onboardingClient?: OnboardingServiceClient | null);
18
27
  get isComplete(): boolean;
19
28
  /**
20
29
  * Replace the cached owner config (called when the server reports
@@ -30,6 +39,16 @@ export declare class TelegramOnboardingHandler {
30
39
  * Validate the /start verification code and finalize onboarding.
31
40
  */
32
41
  private handleCodeVerification;
42
+ /**
43
+ * Redeem a Phase 1b bind token (#940).
44
+ *
45
+ * The proof-of-possession step: Telegram itself tells us which chat sent
46
+ * this, so `chatId` is an attestation, not a user claim. We hand both to the
47
+ * onboarding service, which validates the token atomically and decides. We
48
+ * bind locally only if it says yes — a token that fails validation must leave
49
+ * this agent exactly as it was.
50
+ */
51
+ private handleBindToken;
33
52
  private finalizeOnboarding;
34
53
  }
35
54
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"telegram-onboarding.d.ts","sourceRoot":"","sources":["../../src/onboarding/telegram-onboarding.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,KAAK,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAS;gBAG1B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,cAAc;IAOhC,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAI7C;;;OAGG;IACG,aAAa,CACjB,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,WAAW,GACrB,OAAO,CAAC,OAAO,CAAC;IAqBnB;;OAEG;YACW,sBAAsB;YAqCtB,kBAAkB;CA0BjC"}
1
+ {"version":3,"file":"telegram-onboarding.d.ts","sourceRoot":"","sources":["../../src/onboarding/telegram-onboarding.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAG9E,KAAK,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,WAAW,CAAS;gBAG1B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,cAAc;IAC9B;;;;;OAKG;IACH,gBAAgB,GAAE,uBAAuB,GAAG,IAAW;IAQzD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAI7C;;;OAGG;IACG,aAAa,CACjB,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,WAAW,GACrB,OAAO,CAAC,OAAO,CAAC;IAqBnB;;OAEG;YACW,sBAAsB;IA8CpC;;;;;;;;OAQG;YACW,eAAe;YA4Df,kBAAkB;CA0BjC"}
@@ -1,6 +1,7 @@
1
1
  import { saveOwnerConfig, deleteOnboardingSession, } from "../config/index.js";
2
2
  import { logger } from "../logger.js";
3
3
  import { sendWelcomeMessages } from "./send-invite.js";
4
+ import { isBindToken } from "./bind-token.js";
4
5
  /**
5
6
  * Telegram onboarding handler.
6
7
  *
@@ -12,11 +13,20 @@ export class TelegramOnboardingHandler {
12
13
  ownerConfig;
13
14
  config;
14
15
  channelManager;
16
+ onboardingClient;
15
17
  _isComplete = false;
16
- constructor(ownerConfig, config, _botToken, channelManager) {
18
+ constructor(ownerConfig, config, _botToken, channelManager,
19
+ /**
20
+ * Used to redeem Phase 1b bind tokens (#940). Null when the agent has no
21
+ * onboarding service configured, in which case only the legacy `/start
22
+ * CODE` path is available — which is correct, since a bind token is
23
+ * meaningless without the service that issued it.
24
+ */
25
+ onboardingClient = null) {
17
26
  this.ownerConfig = ownerConfig;
18
27
  this.config = config;
19
28
  this.channelManager = channelManager;
29
+ this.onboardingClient = onboardingClient;
20
30
  }
21
31
  get isComplete() {
22
32
  return this._isComplete;
@@ -59,6 +69,14 @@ export class TelegramOnboardingHandler {
59
69
  "/start YOUR_CODE\n\nYou can find the code in the setup email.");
60
70
  return false;
61
71
  }
72
+ // Phase 1b bind token (#940) — the setup page's flow. Telegram delivers
73
+ // these through the same `/start <payload>` surface as the legacy email
74
+ // code, so they are told apart by their explicit prefix rather than by
75
+ // guessing from length. The legacy branch below is untouched and keeps
76
+ // working through the compatibility window.
77
+ if (isBindToken(code)) {
78
+ return this.handleBindToken(code, chatId, sendReply);
79
+ }
62
80
  if (code !== this.ownerConfig.onboardingCode) {
63
81
  await sendReply(chatId, "That verification code doesn't match. Please check the email and try again.\n\n" +
64
82
  "/start YOUR_CODE");
@@ -72,6 +90,58 @@ export class TelegramOnboardingHandler {
72
90
  await this.finalizeOnboarding(chatId, sendReply);
73
91
  return true;
74
92
  }
93
+ /**
94
+ * Redeem a Phase 1b bind token (#940).
95
+ *
96
+ * The proof-of-possession step: Telegram itself tells us which chat sent
97
+ * this, so `chatId` is an attestation, not a user claim. We hand both to the
98
+ * onboarding service, which validates the token atomically and decides. We
99
+ * bind locally only if it says yes — a token that fails validation must leave
100
+ * this agent exactly as it was.
101
+ */
102
+ async handleBindToken(token, chatId, sendReply) {
103
+ const client = this.onboardingClient;
104
+ if (!client) {
105
+ logger.warn("Bind token received but no onboarding service client is configured");
106
+ await sendReply(chatId, "I couldn't verify that setup link right now. Please try again in a moment.");
107
+ return false;
108
+ }
109
+ const result = await client.consumeBindAttempt({
110
+ token,
111
+ channel: "telegram",
112
+ externalSubject: String(chatId),
113
+ });
114
+ if (!result.ok) {
115
+ // Distinguish "already used" from everything else so a user who taps the
116
+ // link twice on a slow connection isn't told their link was invalid.
117
+ const message = result.reason === "already_consumed"
118
+ ? "That setup link has already been used. If this wasn't you, ask your administrator for a new link."
119
+ : result.reason === "session_already_completed"
120
+ ? "This agent has already been set up through another channel. Ask your administrator for a new link if you need to change it."
121
+ : result.reason === "network_error"
122
+ ? "I couldn't reach the setup service just now. Please try again in a moment."
123
+ : "That setup link isn't valid or has expired. Please ask your administrator for a new one.";
124
+ await sendReply(chatId, message);
125
+ return false;
126
+ }
127
+ // The service accepted the proof. Bind this chat as the owner channel.
128
+ this.ownerConfig.onboardingCodeVerified = true;
129
+ this.ownerConfig.telegramChatId = chatId;
130
+ this.ownerConfig.primaryChannel = "telegram";
131
+ saveOwnerConfig(this.ownerConfig);
132
+ logger.system(`Onboarding: bind token redeemed for chat ${chatId}${result.replayed ? " (replay)" : ""}`);
133
+ await this.finalizeOnboarding(chatId, sendReply);
134
+ // Ack last, after the binding is applied, onboarding is finalized, and the
135
+ // confirmation has gone out in this chat. The heartbeat delivers the same
136
+ // binding until this lands, so acking here is what stops it arriving a
137
+ // second time and re-announcing to a user who is already set up. If the ack
138
+ // fails we simply take that redundant delivery — the gate's apply is
139
+ // idempotent, and losing a binding is the far worse failure.
140
+ if (result.attemptId) {
141
+ await client.acknowledgeChannelBinding(result.attemptId);
142
+ }
143
+ return true;
144
+ }
75
145
  async finalizeOnboarding(chatId, sendReply) {
76
146
  this.ownerConfig.onboardingComplete = true;
77
147
  this.ownerConfig.onboardedAt = new Date().toISOString();
@@ -1 +1 @@
1
- {"version":3,"file":"telegram-onboarding.js","sourceRoot":"","sources":["../../src/onboarding/telegram-onboarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telegram-onboarding.js","sourceRoot":"","sources":["../../src/onboarding/telegram-onboarding.ts"],"names":[],"mappings":"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"}