visionclaw 0.1.213-beta.13 → 0.1.213-beta.16

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 (494) hide show
  1. package/dist/agent/applied-credential-signature.d.ts +53 -0
  2. package/dist/agent/applied-credential-signature.d.ts.map +1 -0
  3. package/dist/agent/applied-credential-signature.js +137 -0
  4. package/dist/agent/applied-credential-signature.js.map +1 -0
  5. package/dist/agent/capabilities.d.ts +56 -0
  6. package/dist/agent/capabilities.d.ts.map +1 -0
  7. package/dist/agent/capabilities.js +121 -0
  8. package/dist/agent/capabilities.js.map +1 -0
  9. package/dist/agent/compaction-failure.d.ts +9 -0
  10. package/dist/agent/compaction-failure.d.ts.map +1 -0
  11. package/dist/agent/compaction-failure.js +11 -0
  12. package/dist/agent/compaction-failure.js.map +1 -0
  13. package/dist/agent/compaction-policy.d.ts +2 -0
  14. package/dist/agent/compaction-policy.d.ts.map +1 -1
  15. package/dist/agent/compaction-policy.js +2 -0
  16. package/dist/agent/compaction-policy.js.map +1 -1
  17. package/dist/agent/context-refresh.d.ts +2 -0
  18. package/dist/agent/context-refresh.d.ts.map +1 -1
  19. package/dist/agent/context-refresh.js +8 -2
  20. package/dist/agent/context-refresh.js.map +1 -1
  21. package/dist/agent/deep-night-dreaming.d.ts +68 -0
  22. package/dist/agent/deep-night-dreaming.d.ts.map +1 -0
  23. package/dist/agent/deep-night-dreaming.js +99 -0
  24. package/dist/agent/deep-night-dreaming.js.map +1 -0
  25. package/dist/agent/engines/client-factory.d.ts +63 -0
  26. package/dist/agent/engines/client-factory.d.ts.map +1 -0
  27. package/dist/agent/engines/client-factory.js +382 -0
  28. package/dist/agent/engines/client-factory.js.map +1 -0
  29. package/dist/agent/engines/engine.d.ts +8 -0
  30. package/dist/agent/engines/engine.d.ts.map +1 -0
  31. package/dist/agent/engines/engine.js +15 -0
  32. package/dist/agent/engines/engine.js.map +1 -0
  33. package/dist/agent/engines/openai/file-session.d.ts +19 -0
  34. package/dist/agent/engines/openai/file-session.d.ts.map +1 -0
  35. package/dist/agent/engines/openai/file-session.js +78 -0
  36. package/dist/agent/engines/openai/file-session.js.map +1 -0
  37. package/dist/agent/engines/openai/file-tools.d.ts +35 -0
  38. package/dist/agent/engines/openai/file-tools.d.ts.map +1 -0
  39. package/dist/agent/engines/openai/file-tools.js +194 -0
  40. package/dist/agent/engines/openai/file-tools.js.map +1 -0
  41. package/dist/agent/engines/openai/session.d.ts +55 -0
  42. package/dist/agent/engines/openai/session.d.ts.map +1 -0
  43. package/dist/agent/engines/openai/session.js +447 -0
  44. package/dist/agent/engines/openai/session.js.map +1 -0
  45. package/dist/agent/engines/openai/tools.d.ts +15 -0
  46. package/dist/agent/engines/openai/tools.d.ts.map +1 -0
  47. package/dist/agent/engines/openai/tools.js +221 -0
  48. package/dist/agent/engines/openai/tools.js.map +1 -0
  49. package/dist/agent/engines/pi/session.d.ts +49 -0
  50. package/dist/agent/engines/pi/session.d.ts.map +1 -0
  51. package/dist/agent/engines/pi/session.js +309 -0
  52. package/dist/agent/engines/pi/session.js.map +1 -0
  53. package/dist/agent/engines/pi-coding/responses-image-detail.d.ts +7 -0
  54. package/dist/agent/engines/pi-coding/responses-image-detail.d.ts.map +1 -0
  55. package/dist/agent/engines/pi-coding/responses-image-detail.js +29 -0
  56. package/dist/agent/engines/pi-coding/responses-image-detail.js.map +1 -0
  57. package/dist/agent/engines/pi-coding/session.d.ts +1 -0
  58. package/dist/agent/engines/pi-coding/session.d.ts.map +1 -1
  59. package/dist/agent/engines/pi-coding/session.js +36 -5
  60. package/dist/agent/engines/pi-coding/session.js.map +1 -1
  61. package/dist/agent/external-context/finapp-capability.d.ts +30 -0
  62. package/dist/agent/external-context/finapp-capability.d.ts.map +1 -0
  63. package/dist/agent/external-context/finapp-capability.js +72 -0
  64. package/dist/agent/external-context/finapp-capability.js.map +1 -0
  65. package/dist/agent/external-context/providers/finapp.d.ts.map +1 -1
  66. package/dist/agent/external-context/providers/finapp.js +48 -8
  67. package/dist/agent/external-context/providers/finapp.js.map +1 -1
  68. package/dist/agent/heartbeat-manager.d.ts +20 -0
  69. package/dist/agent/heartbeat-manager.d.ts.map +1 -1
  70. package/dist/agent/heartbeat-manager.js +24 -0
  71. package/dist/agent/heartbeat-manager.js.map +1 -1
  72. package/dist/agent/interrupt-handler.d.ts +7 -0
  73. package/dist/agent/interrupt-handler.d.ts.map +1 -1
  74. package/dist/agent/interrupt-handler.js +34 -7
  75. package/dist/agent/interrupt-handler.js.map +1 -1
  76. package/dist/agent/loop.d.ts.map +1 -1
  77. package/dist/agent/loop.js +15 -33
  78. package/dist/agent/loop.js.map +1 -1
  79. package/dist/agent/memory-dreaming-sweep.d.ts +99 -0
  80. package/dist/agent/memory-dreaming-sweep.d.ts.map +1 -0
  81. package/dist/agent/memory-dreaming-sweep.js +171 -0
  82. package/dist/agent/memory-dreaming-sweep.js.map +1 -0
  83. package/dist/agent/memory-dreaming.d.ts +85 -43
  84. package/dist/agent/memory-dreaming.d.ts.map +1 -1
  85. package/dist/agent/memory-dreaming.js +476 -188
  86. package/dist/agent/memory-dreaming.js.map +1 -1
  87. package/dist/agent/memory-injector.d.ts.map +1 -1
  88. package/dist/agent/memory-injector.js +16 -14
  89. package/dist/agent/memory-injector.js.map +1 -1
  90. package/dist/agent/memory-preload.d.ts +55 -0
  91. package/dist/agent/memory-preload.d.ts.map +1 -0
  92. package/dist/agent/memory-preload.js +166 -0
  93. package/dist/agent/memory-preload.js.map +1 -0
  94. package/dist/agent/providers/claude/cli-resolver.d.ts +16 -0
  95. package/dist/agent/providers/claude/cli-resolver.d.ts.map +1 -0
  96. package/dist/agent/providers/claude/cli-resolver.js +83 -0
  97. package/dist/agent/providers/claude/cli-resolver.js.map +1 -0
  98. package/dist/agent/providers/claude/session-browser-policy.d.ts +9 -0
  99. package/dist/agent/providers/claude/session-browser-policy.d.ts.map +1 -0
  100. package/dist/agent/providers/claude/session-browser-policy.js +49 -0
  101. package/dist/agent/providers/claude/session-browser-policy.js.map +1 -0
  102. package/dist/agent/providers/claude/session.d.ts +304 -0
  103. package/dist/agent/providers/claude/session.d.ts.map +1 -0
  104. package/dist/agent/providers/claude/session.js +1236 -0
  105. package/dist/agent/providers/claude/session.js.map +1 -0
  106. package/dist/agent/providers/client-factory.d.ts +60 -0
  107. package/dist/agent/providers/client-factory.d.ts.map +1 -0
  108. package/dist/agent/providers/client-factory.js +400 -0
  109. package/dist/agent/providers/client-factory.js.map +1 -0
  110. package/dist/agent/providers/openai/file-session.d.ts +19 -0
  111. package/dist/agent/providers/openai/file-session.d.ts.map +1 -0
  112. package/dist/agent/providers/openai/file-session.js +78 -0
  113. package/dist/agent/providers/openai/file-session.js.map +1 -0
  114. package/dist/agent/providers/openai/session.d.ts +55 -0
  115. package/dist/agent/providers/openai/session.d.ts.map +1 -0
  116. package/dist/agent/providers/openai/session.js +447 -0
  117. package/dist/agent/providers/openai/session.js.map +1 -0
  118. package/dist/agent/providers/openai/tools.d.ts +15 -0
  119. package/dist/agent/providers/openai/tools.d.ts.map +1 -0
  120. package/dist/agent/providers/openai/tools.js +229 -0
  121. package/dist/agent/providers/openai/tools.js.map +1 -0
  122. package/dist/agent/providers/session-types.d.ts +153 -0
  123. package/dist/agent/providers/session-types.d.ts.map +1 -0
  124. package/dist/agent/providers/session-types.js +2 -0
  125. package/dist/agent/providers/session-types.js.map +1 -0
  126. package/dist/agent/providers/system-prompt-log.d.ts +9 -0
  127. package/dist/agent/providers/system-prompt-log.d.ts.map +1 -0
  128. package/dist/agent/providers/system-prompt-log.js +46 -0
  129. package/dist/agent/providers/system-prompt-log.js.map +1 -0
  130. package/dist/agent/qq-claim-signal.d.ts +9 -0
  131. package/dist/agent/qq-claim-signal.d.ts.map +1 -0
  132. package/dist/agent/qq-claim-signal.js +38 -0
  133. package/dist/agent/qq-claim-signal.js.map +1 -0
  134. package/dist/agent/runtime-telemetry-redaction.d.ts +4 -0
  135. package/dist/agent/runtime-telemetry-redaction.d.ts.map +1 -0
  136. package/dist/agent/runtime-telemetry-redaction.js +92 -0
  137. package/dist/agent/runtime-telemetry-redaction.js.map +1 -0
  138. package/dist/agent/stream-handler.d.ts.map +1 -1
  139. package/dist/agent/stream-handler.js +13 -1
  140. package/dist/agent/stream-handler.js.map +1 -1
  141. package/dist/agent/transcript-backfill.d.ts +54 -0
  142. package/dist/agent/transcript-backfill.d.ts.map +1 -0
  143. package/dist/agent/transcript-backfill.js +604 -0
  144. package/dist/agent/transcript-backfill.js.map +1 -0
  145. package/dist/agent/transcript-indexer.d.ts +200 -0
  146. package/dist/agent/transcript-indexer.d.ts.map +1 -0
  147. package/dist/agent/transcript-indexer.js +775 -0
  148. package/dist/agent/transcript-indexer.js.map +1 -0
  149. package/dist/agent/transcript-memory-migrations.d.ts +25 -0
  150. package/dist/agent/transcript-memory-migrations.d.ts.map +1 -0
  151. package/dist/agent/transcript-memory-migrations.js +87 -0
  152. package/dist/agent/transcript-memory-migrations.js.map +1 -0
  153. package/dist/agent/transcript-summarizer.d.ts +6 -2
  154. package/dist/agent/transcript-summarizer.d.ts.map +1 -1
  155. package/dist/agent/transcript-summarizer.js +8 -4
  156. package/dist/agent/transcript-summarizer.js.map +1 -1
  157. package/dist/agent/tunnel-credential-handler.d.ts +90 -0
  158. package/dist/agent/tunnel-credential-handler.d.ts.map +1 -0
  159. package/dist/agent/tunnel-credential-handler.js +162 -0
  160. package/dist/agent/tunnel-credential-handler.js.map +1 -0
  161. package/dist/agent/usage-backfill-handler.d.ts +18 -0
  162. package/dist/agent/usage-backfill-handler.d.ts.map +1 -0
  163. package/dist/agent/usage-backfill-handler.js +69 -0
  164. package/dist/agent/usage-backfill-handler.js.map +1 -0
  165. package/dist/agent/usage-gate.d.ts +25 -0
  166. package/dist/agent/usage-gate.d.ts.map +1 -0
  167. package/dist/agent/usage-gate.js +83 -0
  168. package/dist/agent/usage-gate.js.map +1 -0
  169. package/dist/agent/usage-handler.d.ts +7 -0
  170. package/dist/agent/usage-handler.d.ts.map +1 -0
  171. package/dist/agent/usage-handler.js +28 -0
  172. package/dist/agent/usage-handler.js.map +1 -0
  173. package/dist/agent/usage-report-builder.d.ts +26 -0
  174. package/dist/agent/usage-report-builder.d.ts.map +1 -0
  175. package/dist/agent/usage-report-builder.js +80 -0
  176. package/dist/agent/usage-report-builder.js.map +1 -0
  177. package/dist/agent/usage-report-queue.d.ts +26 -0
  178. package/dist/agent/usage-report-queue.d.ts.map +1 -0
  179. package/dist/agent/usage-report-queue.js +199 -0
  180. package/dist/agent/usage-report-queue.js.map +1 -0
  181. package/dist/agent/usage-report-types.d.ts +41 -0
  182. package/dist/agent/usage-report-types.d.ts.map +1 -0
  183. package/dist/agent/usage-report-types.js +2 -0
  184. package/dist/agent/usage-report-types.js.map +1 -0
  185. package/dist/agent/usage-reporter.d.ts +31 -0
  186. package/dist/agent/usage-reporter.d.ts.map +1 -0
  187. package/dist/agent/usage-reporter.js +102 -0
  188. package/dist/agent/usage-reporter.js.map +1 -0
  189. package/dist/agent/wake-cycle-runner.d.ts.map +1 -1
  190. package/dist/agent/wake-cycle-runner.js +72 -0
  191. package/dist/agent/wake-cycle-runner.js.map +1 -1
  192. package/dist/agent/wake-cycle-tool-tracker.d.ts +39 -0
  193. package/dist/agent/wake-cycle-tool-tracker.d.ts.map +1 -0
  194. package/dist/agent/wake-cycle-tool-tracker.js +72 -0
  195. package/dist/agent/wake-cycle-tool-tracker.js.map +1 -0
  196. package/dist/anthropic-credentials.d.ts +24 -0
  197. package/dist/anthropic-credentials.d.ts.map +1 -0
  198. package/dist/anthropic-credentials.js +37 -0
  199. package/dist/anthropic-credentials.js.map +1 -0
  200. package/dist/billing/payg-handler.d.ts +29 -0
  201. package/dist/billing/payg-handler.d.ts.map +1 -0
  202. package/dist/billing/payg-handler.js +92 -0
  203. package/dist/billing/payg-handler.js.map +1 -0
  204. package/dist/billing/payment-handler.d.ts +24 -0
  205. package/dist/billing/payment-handler.d.ts.map +1 -0
  206. package/dist/billing/payment-handler.js +101 -0
  207. package/dist/billing/payment-handler.js.map +1 -0
  208. package/dist/builtin-skills/catalog/phone-adb-automation/SKILL.md +412 -0
  209. package/dist/builtin-skills/catalog/phone-adb-automation/phone_input.sh +132 -0
  210. package/dist/builtin-skills/catalog/phone-adb-automation/phone_launch.sh +166 -0
  211. package/dist/builtin-skills/catalog/phone-adb-automation/phone_screenshot.sh +87 -0
  212. package/dist/builtin-skills/catalog/phone-adb-automation/phone_security_kbd.py +174 -0
  213. package/dist/builtin-skills/catalog/phone-adb-automation/phone_setup.sh +274 -0
  214. package/dist/builtin-skills/catalog/phone-adb-automation/phone_swipe.sh +111 -0
  215. package/dist/builtin-skills/catalog/phone-adb-automation/phone_tap.sh +87 -0
  216. package/dist/builtin-skills/catalog/phone-adb-automation/phone_ui_parse.py +176 -0
  217. package/dist/builtin-skills/catalog/phone-adb-automation/phone_wake_unlock.sh +67 -0
  218. package/dist/builtin-skills/fin-app/SKILL.md +3 -3
  219. package/dist/builtin-skills/fin-app/core-contract.md +4 -3
  220. package/dist/builtin-skills/transcribe-audio/SKILL.md +122 -0
  221. package/dist/calendar/google-calendar.d.ts +54 -0
  222. package/dist/calendar/google-calendar.d.ts.map +1 -0
  223. package/dist/calendar/google-calendar.js +156 -0
  224. package/dist/calendar/google-calendar.js.map +1 -0
  225. package/dist/channels/web.d.ts +40 -0
  226. package/dist/channels/web.d.ts.map +1 -0
  227. package/dist/channels/web.js +137 -0
  228. package/dist/channels/web.js.map +1 -0
  229. package/dist/config/models.d.ts +32 -0
  230. package/dist/config/models.d.ts.map +1 -0
  231. package/dist/config/models.js +57 -0
  232. package/dist/config/models.js.map +1 -0
  233. package/dist/data-processing/convert-demo-cli.d.ts +7 -0
  234. package/dist/data-processing/convert-demo-cli.d.ts.map +1 -0
  235. package/dist/data-processing/convert-demo-cli.js +30 -0
  236. package/dist/data-processing/convert-demo-cli.js.map +1 -0
  237. package/dist/data-processing/convert-demo.d.ts +26 -0
  238. package/dist/data-processing/convert-demo.d.ts.map +1 -0
  239. package/dist/data-processing/convert-demo.js +233 -0
  240. package/dist/data-processing/convert-demo.js.map +1 -0
  241. package/dist/drive/google-drive.d.ts +83 -0
  242. package/dist/drive/google-drive.d.ts.map +1 -0
  243. package/dist/drive/google-drive.js +219 -0
  244. package/dist/drive/google-drive.js.map +1 -0
  245. package/dist/email/gmail-email.d.ts +64 -0
  246. package/dist/email/gmail-email.d.ts.map +1 -0
  247. package/dist/email/gmail-email.js +167 -0
  248. package/dist/email/gmail-email.js.map +1 -0
  249. package/dist/factcheck/agent.d.ts +50 -0
  250. package/dist/factcheck/agent.d.ts.map +1 -0
  251. package/dist/factcheck/agent.js +508 -0
  252. package/dist/factcheck/agent.js.map +1 -0
  253. package/dist/factcheck/financial-verifier.d.ts +49 -0
  254. package/dist/factcheck/financial-verifier.d.ts.map +1 -0
  255. package/dist/factcheck/financial-verifier.js +109 -0
  256. package/dist/factcheck/financial-verifier.js.map +1 -0
  257. package/dist/factcheck/setup.d.ts +32 -0
  258. package/dist/factcheck/setup.d.ts.map +1 -0
  259. package/dist/factcheck/setup.js +70 -0
  260. package/dist/factcheck/setup.js.map +1 -0
  261. package/dist/factcheck/sidecar.d.ts +131 -0
  262. package/dist/factcheck/sidecar.d.ts.map +1 -0
  263. package/dist/factcheck/sidecar.js +348 -0
  264. package/dist/factcheck/sidecar.js.map +1 -0
  265. package/dist/factcheck/store.d.ts +111 -0
  266. package/dist/factcheck/store.d.ts.map +1 -0
  267. package/dist/factcheck/store.js +246 -0
  268. package/dist/factcheck/store.js.map +1 -0
  269. package/dist/factcheck/web-searcher.d.ts +22 -0
  270. package/dist/factcheck/web-searcher.d.ts.map +1 -0
  271. package/dist/factcheck/web-searcher.js +90 -0
  272. package/dist/factcheck/web-searcher.js.map +1 -0
  273. package/dist/obs/auth.d.ts +45 -0
  274. package/dist/obs/auth.d.ts.map +1 -0
  275. package/dist/obs/auth.js +181 -0
  276. package/dist/obs/auth.js.map +1 -0
  277. package/dist/obs/console/ui.d.ts +2 -0
  278. package/dist/obs/console/ui.d.ts.map +1 -0
  279. package/dist/obs/console/ui.js +459 -0
  280. package/dist/obs/console/ui.js.map +1 -0
  281. package/dist/obs/mini-app/tasks.d.ts +2 -0
  282. package/dist/obs/mini-app/tasks.d.ts.map +1 -0
  283. package/dist/obs/mini-app/tasks.js +506 -0
  284. package/dist/obs/mini-app/tasks.js.map +1 -0
  285. package/dist/obs/rdp/icons/icons/app_windows.svg +4 -0
  286. package/dist/obs/rdp/icons/icons/clip_get.svg +4 -0
  287. package/dist/obs/rdp/icons/icons/clip_send.svg +4 -0
  288. package/dist/obs/rdp/icons/icons/clip_shared.svg +4 -0
  289. package/dist/obs/rdp/icons/icons/clipboard.svg +4 -0
  290. package/dist/obs/rdp/icons/icons/clipboard_shared.svg +4 -0
  291. package/dist/obs/rdp/icons/icons/control.svg +4 -0
  292. package/dist/obs/rdp/icons/icons/desktop.svg +4 -0
  293. package/dist/obs/rdp/icons/icons/display.svg +4 -0
  294. package/dist/obs/rdp/icons/icons/launchpad.svg +4 -0
  295. package/dist/obs/rdp/icons/icons/mission_control.svg +4 -0
  296. package/dist/obs/rdp/icons/icons/screenshot.svg +4 -0
  297. package/dist/obs/rdp/icons/icons/zoom_actual.svg +4 -0
  298. package/dist/obs/rdp/icons/icons/zoom_fit.svg +4 -0
  299. package/dist/obs/rdp/icons/icons/zoom_in.svg +4 -0
  300. package/dist/obs/rdp/icons/icons/zoom_out.svg +4 -0
  301. package/dist/obs/tunnel-telemetry.d.ts +46 -0
  302. package/dist/obs/tunnel-telemetry.d.ts.map +1 -0
  303. package/dist/obs/tunnel-telemetry.js +70 -0
  304. package/dist/obs/tunnel-telemetry.js.map +1 -0
  305. package/dist/obs/ui.d.ts +2 -0
  306. package/dist/obs/ui.d.ts.map +1 -0
  307. package/dist/obs/ui.js +1129 -0
  308. package/dist/obs/ui.js.map +1 -0
  309. package/dist/onboarding/cloudflared-cert.d.ts +15 -0
  310. package/dist/onboarding/cloudflared-cert.d.ts.map +1 -0
  311. package/dist/onboarding/cloudflared-cert.js +57 -0
  312. package/dist/onboarding/cloudflared-cert.js.map +1 -0
  313. package/dist/onboarding/gh-auth-browser.d.ts +10 -0
  314. package/dist/onboarding/gh-auth-browser.d.ts.map +1 -0
  315. package/dist/onboarding/gh-auth-browser.js +70 -0
  316. package/dist/onboarding/gh-auth-browser.js.map +1 -0
  317. package/dist/onboarding/provision-eth-wallet.d.ts +7 -0
  318. package/dist/onboarding/provision-eth-wallet.d.ts.map +1 -0
  319. package/dist/onboarding/provision-eth-wallet.js +14 -0
  320. package/dist/onboarding/provision-eth-wallet.js.map +1 -0
  321. package/dist/onboarding/provision-workspace-account.d.ts +14 -0
  322. package/dist/onboarding/provision-workspace-account.d.ts.map +1 -0
  323. package/dist/onboarding/provision-workspace-account.js +165 -0
  324. package/dist/onboarding/provision-workspace-account.js.map +1 -0
  325. package/dist/onboarding/provisioning-spec.d.ts +62 -0
  326. package/dist/onboarding/provisioning-spec.d.ts.map +1 -0
  327. package/dist/onboarding/provisioning-spec.js +159 -0
  328. package/dist/onboarding/provisioning-spec.js.map +1 -0
  329. package/dist/onboarding/send-identity-credentials.d.ts +11 -0
  330. package/dist/onboarding/send-identity-credentials.d.ts.map +1 -0
  331. package/dist/onboarding/send-identity-credentials.js +110 -0
  332. package/dist/onboarding/send-identity-credentials.js.map +1 -0
  333. package/dist/onboarding/setup-credentials.d.ts +7 -0
  334. package/dist/onboarding/setup-credentials.d.ts.map +1 -0
  335. package/dist/onboarding/setup-credentials.js +44 -0
  336. package/dist/onboarding/setup-credentials.js.map +1 -0
  337. package/dist/onboarding/telegram-claim.d.ts +42 -0
  338. package/dist/onboarding/telegram-claim.d.ts.map +1 -0
  339. package/dist/onboarding/telegram-claim.js +76 -0
  340. package/dist/onboarding/telegram-claim.js.map +1 -0
  341. package/dist/openai-credentials.d.ts +30 -0
  342. package/dist/openai-credentials.d.ts.map +1 -0
  343. package/dist/openai-credentials.js +37 -0
  344. package/dist/openai-credentials.js.map +1 -0
  345. package/dist/phonecall-credentials.d.ts +21 -0
  346. package/dist/phonecall-credentials.d.ts.map +1 -0
  347. package/dist/phonecall-credentials.js +34 -0
  348. package/dist/phonecall-credentials.js.map +1 -0
  349. package/dist/realtime/agent-bridge.d.ts +7 -0
  350. package/dist/realtime/agent-bridge.d.ts.map +1 -0
  351. package/dist/realtime/agent-bridge.js +31 -0
  352. package/dist/realtime/agent-bridge.js.map +1 -0
  353. package/dist/realtime/assets/index.html +1058 -0
  354. package/dist/realtime/assets/samples/alloy.mp3 +0 -0
  355. package/dist/realtime/assets/samples/ash.mp3 +0 -0
  356. package/dist/realtime/assets/samples/ballad.mp3 +0 -0
  357. package/dist/realtime/assets/samples/cedar.mp3 +0 -0
  358. package/dist/realtime/assets/samples/coral.mp3 +0 -0
  359. package/dist/realtime/assets/samples/echo.mp3 +0 -0
  360. package/dist/realtime/assets/samples/marin.mp3 +0 -0
  361. package/dist/realtime/assets/samples/sage.mp3 +0 -0
  362. package/dist/realtime/assets/samples/shimmer.mp3 +0 -0
  363. package/dist/realtime/assets/samples/verse.mp3 +0 -0
  364. package/dist/realtime/context.d.ts +14 -0
  365. package/dist/realtime/context.d.ts.map +1 -0
  366. package/dist/realtime/context.js +153 -0
  367. package/dist/realtime/context.js.map +1 -0
  368. package/dist/realtime/http-helpers.d.ts +5 -0
  369. package/dist/realtime/http-helpers.d.ts.map +1 -0
  370. package/dist/realtime/http-helpers.js +29 -0
  371. package/dist/realtime/http-helpers.js.map +1 -0
  372. package/dist/realtime/index.d.ts +62 -0
  373. package/dist/realtime/index.d.ts.map +1 -0
  374. package/dist/realtime/index.js +94 -0
  375. package/dist/realtime/index.js.map +1 -0
  376. package/dist/realtime/server.d.ts +6 -0
  377. package/dist/realtime/server.d.ts.map +1 -0
  378. package/dist/realtime/server.js +479 -0
  379. package/dist/realtime/server.js.map +1 -0
  380. package/dist/realtime/telegram-auth.d.ts +2 -0
  381. package/dist/realtime/telegram-auth.d.ts.map +1 -0
  382. package/dist/realtime/telegram-auth.js +24 -0
  383. package/dist/realtime/telegram-auth.js.map +1 -0
  384. package/dist/realtime/tools.d.ts +829 -0
  385. package/dist/realtime/tools.d.ts.map +1 -0
  386. package/dist/realtime/tools.js +611 -0
  387. package/dist/realtime/tools.js.map +1 -0
  388. package/dist/realtime/types.d.ts +62 -0
  389. package/dist/realtime/types.d.ts.map +1 -0
  390. package/dist/realtime/types.js +3 -0
  391. package/dist/realtime/types.js.map +1 -0
  392. package/dist/realtime/voice-summarizer.d.ts +4 -0
  393. package/dist/realtime/voice-summarizer.d.ts.map +1 -0
  394. package/dist/realtime/voice-summarizer.js +123 -0
  395. package/dist/realtime/voice-summarizer.js.map +1 -0
  396. package/dist/realtime/websocket.d.ts +7 -0
  397. package/dist/realtime/websocket.d.ts.map +1 -0
  398. package/dist/realtime/websocket.js +65 -0
  399. package/dist/realtime/websocket.js.map +1 -0
  400. package/dist/service/gbox-tun.d.ts +14 -0
  401. package/dist/service/gbox-tun.d.ts.map +1 -0
  402. package/dist/service/gbox-tun.js +315 -0
  403. package/dist/service/gbox-tun.js.map +1 -0
  404. package/dist/skills/installed.d.ts +11 -0
  405. package/dist/skills/installed.d.ts.map +1 -0
  406. package/dist/skills/installed.js +35 -0
  407. package/dist/skills/installed.js.map +1 -0
  408. package/dist/threads/ipc.d.ts +0 -4
  409. package/dist/threads/ipc.d.ts.map +1 -1
  410. package/dist/threads/ipc.js.map +1 -1
  411. package/dist/threads/relay-adapter.d.ts +6 -6
  412. package/dist/threads/relay-adapter.d.ts.map +1 -1
  413. package/dist/threads/relay-adapter.js +7 -9
  414. package/dist/threads/relay-adapter.js.map +1 -1
  415. package/dist/threads/supervisor.d.ts +28 -6
  416. package/dist/threads/supervisor.d.ts.map +1 -1
  417. package/dist/threads/supervisor.js +54 -25
  418. package/dist/threads/supervisor.js.map +1 -1
  419. package/dist/threads/worker-desktop-runtime.d.ts +6 -0
  420. package/dist/threads/worker-desktop-runtime.d.ts.map +1 -0
  421. package/dist/threads/worker-desktop-runtime.js +26 -0
  422. package/dist/threads/worker-desktop-runtime.js.map +1 -0
  423. package/dist/tools/card.d.ts +11 -0
  424. package/dist/tools/card.d.ts.map +1 -0
  425. package/dist/tools/card.js +87 -0
  426. package/dist/tools/card.js.map +1 -0
  427. package/dist/tools/coordinate-resolver.d.ts +30 -0
  428. package/dist/tools/coordinate-resolver.d.ts.map +1 -0
  429. package/dist/tools/coordinate-resolver.js +104 -0
  430. package/dist/tools/coordinate-resolver.js.map +1 -0
  431. package/dist/tools/sms.d.ts +16 -0
  432. package/dist/tools/sms.d.ts.map +1 -0
  433. package/dist/tools/sms.js +78 -0
  434. package/dist/tools/sms.js.map +1 -0
  435. package/dist/tools/stock-data.d.ts +70 -0
  436. package/dist/tools/stock-data.d.ts.map +1 -0
  437. package/dist/tools/stock-data.js +596 -0
  438. package/dist/tools/stock-data.js.map +1 -0
  439. package/dist/tools/webapp.d.ts +30 -0
  440. package/dist/tools/webapp.d.ts.map +1 -0
  441. package/dist/tools/webapp.js +114 -0
  442. package/dist/tools/webapp.js.map +1 -0
  443. package/dist/tui/auth.d.ts +6 -0
  444. package/dist/tui/auth.d.ts.map +1 -0
  445. package/dist/tui/auth.js +65 -0
  446. package/dist/tui/auth.js.map +1 -0
  447. package/dist/tui/run-store.d.ts +47 -0
  448. package/dist/tui/run-store.d.ts.map +1 -0
  449. package/dist/tui/run-store.js +166 -0
  450. package/dist/tui/run-store.js.map +1 -0
  451. package/dist/utils/wechat-monitor.d.ts +21 -0
  452. package/dist/utils/wechat-monitor.d.ts.map +1 -0
  453. package/dist/utils/wechat-monitor.js +88 -0
  454. package/dist/utils/wechat-monitor.js.map +1 -0
  455. package/dist/webapp/index.d.ts +28 -0
  456. package/dist/webapp/index.d.ts.map +1 -0
  457. package/dist/webapp/index.js +75 -0
  458. package/dist/webapp/index.js.map +1 -0
  459. package/dist/webapp/server.d.ts +32 -0
  460. package/dist/webapp/server.d.ts.map +1 -0
  461. package/dist/webapp/server.js +375 -0
  462. package/dist/webapp/server.js.map +1 -0
  463. package/dist/webapp/storage.d.ts +64 -0
  464. package/dist/webapp/storage.d.ts.map +1 -0
  465. package/dist/webapp/storage.js +103 -0
  466. package/dist/webapp/storage.js.map +1 -0
  467. package/dist/webapp/ui.d.ts +2 -0
  468. package/dist/webapp/ui.d.ts.map +1 -0
  469. package/dist/webapp/ui.js +319 -0
  470. package/dist/webapp/ui.js.map +1 -0
  471. package/dist-agent/assets/index.html +1058 -0
  472. package/dist-agent/assets/samples/alloy.mp3 +0 -0
  473. package/dist-agent/assets/samples/ash.mp3 +0 -0
  474. package/dist-agent/assets/samples/ballad.mp3 +0 -0
  475. package/dist-agent/assets/samples/cedar.mp3 +0 -0
  476. package/dist-agent/assets/samples/coral.mp3 +0 -0
  477. package/dist-agent/assets/samples/echo.mp3 +0 -0
  478. package/dist-agent/assets/samples/marin.mp3 +0 -0
  479. package/dist-agent/assets/samples/sage.mp3 +0 -0
  480. package/dist-agent/assets/samples/shimmer.mp3 +0 -0
  481. package/dist-agent/assets/samples/verse.mp3 +0 -0
  482. package/dist-agent/bundle.cjs +1818 -1457
  483. package/dist-agent/realtime/assets/index.html +1058 -0
  484. package/dist-agent/realtime/assets/samples/alloy.mp3 +0 -0
  485. package/dist-agent/realtime/assets/samples/ash.mp3 +0 -0
  486. package/dist-agent/realtime/assets/samples/ballad.mp3 +0 -0
  487. package/dist-agent/realtime/assets/samples/cedar.mp3 +0 -0
  488. package/dist-agent/realtime/assets/samples/coral.mp3 +0 -0
  489. package/dist-agent/realtime/assets/samples/echo.mp3 +0 -0
  490. package/dist-agent/realtime/assets/samples/marin.mp3 +0 -0
  491. package/dist-agent/realtime/assets/samples/sage.mp3 +0 -0
  492. package/dist-agent/realtime/assets/samples/shimmer.mp3 +0 -0
  493. package/dist-agent/realtime/assets/samples/verse.mp3 +0 -0
  494. package/package.json +2 -2
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Applied-credential signature manifest.
3
+ *
4
+ * Persisted alongside materialised tunnel credentials at
5
+ * `<profileTunnelDir>/.applied-signature.json`. Records the signature
6
+ * the server handed us with the last bundle we successfully applied.
7
+ *
8
+ * The manifest is the *only* piece of state the agent has to remember
9
+ * across process restarts about credential bundles — everything else
10
+ * (creds JSON, config.yml) is reconstructable from a fresh server
11
+ * delivery. The signature is opaque to us; we just echo it back on the
12
+ * next heartbeat so the server can decide whether to re-ship the body.
13
+ *
14
+ * Self-healing properties (intentional):
15
+ * - Manifest missing on disk → no signature sent → server sends
16
+ * bundle → we re-apply and rewrite the manifest. Recovers any
17
+ * install where the manifest was deleted but credentials weren't,
18
+ * or vice versa.
19
+ * - Manifest present but probe says no live tunnel files → we treat
20
+ * the manifest as unusable (return null from `loadIfValid`), the
21
+ * next heartbeat goes signature-free, the server re-ships the
22
+ * bundle, and we land back in a coherent state.
23
+ * - Process restart with everything intact → manifest signature is
24
+ * sent on the startup heartbeat, server replies with no
25
+ * `credentialBundle`, no disk writes, no tunnel restart.
26
+ */
27
+ /**
28
+ * Read the persisted signature, if any. Returns `null` when the file
29
+ * does not exist, fails to parse, has the wrong shape, or refers to a
30
+ * tunnel state that no longer matches what's on disk.
31
+ *
32
+ * The on-disk-coherence check (`probeLocalTunnelCredential()`) is what
33
+ * gives us self-healing: a stranded manifest from a wiped tunnel dir
34
+ * gets ignored, forcing a fresh bundle on the next heartbeat.
35
+ */
36
+ export declare function loadAppliedSignatureIfValid(): string | null;
37
+ /**
38
+ * Persist the signature for the most recently applied bundle. Best-
39
+ * effort: a write failure is logged but does not throw, since the
40
+ * worst case is just an extra full-bundle delivery on the next
41
+ * heartbeat.
42
+ *
43
+ * The file is written with 0o600 to match the credentials sitting next
44
+ * to it; the directory itself is already 0o700 from
45
+ * `runtime-credentials.ts`.
46
+ */
47
+ export declare function writeAppliedSignature(signature: string): void;
48
+ /**
49
+ * Forget the persisted signature. Used by tests; production code never
50
+ * needs to delete it explicitly because writes overwrite in place.
51
+ */
52
+ export declare function __clearAppliedSignatureForTests(): void;
53
+ //# sourceMappingURL=applied-credential-signature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applied-credential-signature.d.ts","sourceRoot":"","sources":["../../src/agent/applied-credential-signature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAwBH;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,GAAG,IAAI,CA2C3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAgC7D;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAMtD"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Applied-credential signature manifest.
3
+ *
4
+ * Persisted alongside materialised tunnel credentials at
5
+ * `<profileTunnelDir>/.applied-signature.json`. Records the signature
6
+ * the server handed us with the last bundle we successfully applied.
7
+ *
8
+ * The manifest is the *only* piece of state the agent has to remember
9
+ * across process restarts about credential bundles — everything else
10
+ * (creds JSON, config.yml) is reconstructable from a fresh server
11
+ * delivery. The signature is opaque to us; we just echo it back on the
12
+ * next heartbeat so the server can decide whether to re-ship the body.
13
+ *
14
+ * Self-healing properties (intentional):
15
+ * - Manifest missing on disk → no signature sent → server sends
16
+ * bundle → we re-apply and rewrite the manifest. Recovers any
17
+ * install where the manifest was deleted but credentials weren't,
18
+ * or vice versa.
19
+ * - Manifest present but probe says no live tunnel files → we treat
20
+ * the manifest as unusable (return null from `loadIfValid`), the
21
+ * next heartbeat goes signature-free, the server re-ships the
22
+ * bundle, and we land back in a coherent state.
23
+ * - Process restart with everything intact → manifest signature is
24
+ * sent on the startup heartbeat, server replies with no
25
+ * `credentialBundle`, no disk writes, no tunnel restart.
26
+ */
27
+ import fs from "node:fs";
28
+ import path from "node:path";
29
+ import { getProfileTunnelDir } from "../config/index.js";
30
+ import { probeLocalTunnelCredential } from "./runtime-credentials.js";
31
+ import { logger } from "../logger.js";
32
+ const MANIFEST_FILENAME = ".applied-signature.json";
33
+ const MANIFEST_VERSION = 1;
34
+ function getManifestPath() {
35
+ return path.join(getProfileTunnelDir(), MANIFEST_FILENAME);
36
+ }
37
+ /**
38
+ * Read the persisted signature, if any. Returns `null` when the file
39
+ * does not exist, fails to parse, has the wrong shape, or refers to a
40
+ * tunnel state that no longer matches what's on disk.
41
+ *
42
+ * The on-disk-coherence check (`probeLocalTunnelCredential()`) is what
43
+ * gives us self-healing: a stranded manifest from a wiped tunnel dir
44
+ * gets ignored, forcing a fresh bundle on the next heartbeat.
45
+ */
46
+ export function loadAppliedSignatureIfValid() {
47
+ const manifestPath = getManifestPath();
48
+ if (!fs.existsSync(manifestPath))
49
+ return null;
50
+ let raw;
51
+ try {
52
+ raw = fs.readFileSync(manifestPath, "utf-8");
53
+ }
54
+ catch (err) {
55
+ logger.warn(`Applied-signature manifest unreadable: ${err instanceof Error ? err.message : String(err)}`);
56
+ return null;
57
+ }
58
+ let parsed;
59
+ try {
60
+ parsed = JSON.parse(raw);
61
+ }
62
+ catch {
63
+ logger.warn(`Applied-signature manifest malformed; ignoring`);
64
+ return null;
65
+ }
66
+ if (!parsed ||
67
+ typeof parsed !== "object" ||
68
+ !("signature" in parsed) ||
69
+ typeof parsed.signature !== "string" ||
70
+ parsed.signature.trim() === "") {
71
+ return null;
72
+ }
73
+ const signature = parsed.signature.trim();
74
+ // Coherence: a manifest is only meaningful when the credentials it
75
+ // refers to actually still exist on disk. If the tunnel files were
76
+ // wiped (e.g. operator deleted `~/.visionclaw/profiles/default/tunnel`)
77
+ // the stored signature lies about our state, so pretend we have none
78
+ // and let the server reissue the bundle.
79
+ if (probeLocalTunnelCredential() === null) {
80
+ return null;
81
+ }
82
+ return signature;
83
+ }
84
+ /**
85
+ * Persist the signature for the most recently applied bundle. Best-
86
+ * effort: a write failure is logged but does not throw, since the
87
+ * worst case is just an extra full-bundle delivery on the next
88
+ * heartbeat.
89
+ *
90
+ * The file is written with 0o600 to match the credentials sitting next
91
+ * to it; the directory itself is already 0o700 from
92
+ * `runtime-credentials.ts`.
93
+ */
94
+ export function writeAppliedSignature(signature) {
95
+ if (typeof signature !== "string" || signature.trim() === "")
96
+ return;
97
+ const manifestPath = getManifestPath();
98
+ const dir = path.dirname(manifestPath);
99
+ try {
100
+ fs.mkdirSync(dir, { recursive: true });
101
+ }
102
+ catch {
103
+ // best-effort; the credential apply path will have created it
104
+ }
105
+ const payload = {
106
+ version: MANIFEST_VERSION,
107
+ signature: signature.trim(),
108
+ appliedAt: new Date().toISOString(),
109
+ };
110
+ try {
111
+ fs.writeFileSync(manifestPath, JSON.stringify(payload, null, 2), "utf-8");
112
+ if (process.platform !== "win32") {
113
+ try {
114
+ fs.chmodSync(manifestPath, 0o600);
115
+ }
116
+ catch {
117
+ // best-effort; directory perms still protect
118
+ }
119
+ }
120
+ }
121
+ catch (err) {
122
+ logger.warn(`Failed to persist applied-signature manifest: ${err instanceof Error ? err.message : String(err)}`);
123
+ }
124
+ }
125
+ /**
126
+ * Forget the persisted signature. Used by tests; production code never
127
+ * needs to delete it explicitly because writes overwrite in place.
128
+ */
129
+ export function __clearAppliedSignatureForTests() {
130
+ try {
131
+ fs.rmSync(getManifestPath(), { force: true });
132
+ }
133
+ catch {
134
+ // ignore
135
+ }
136
+ }
137
+ //# sourceMappingURL=applied-credential-signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applied-credential-signature.js","sourceRoot":"","sources":["../../src/agent/applied-credential-signature.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Versioned, server-authoritative optional runtime surfaces.
3
+ *
4
+ * Core model routing, local execution, localhost health/status, and the TUI
5
+ * control channel are deliberately not switches: every Agent needs them to be
6
+ * operable. Everything in this list may be omitted by an explicit setup.
7
+ */
8
+ export declare const AGENT_CAPABILITIES: readonly ["managed_workspace", "messaging_channels", "interactive_onboarding", "heartbeat", "tunnel", "gemini", "computer_use", "memory", "skills", "dynamic_mcp", "upgrade", "event_trigger", "external_integrations"];
9
+ export type AgentCapability = (typeof AGENT_CAPABILITIES)[number];
10
+ export interface AgentCapabilitySetData {
11
+ schemaVersion: 1;
12
+ enabled: AgentCapability[];
13
+ }
14
+ interface CapabilityCredentialBody {
15
+ tunnel?: unknown;
16
+ tunnelRotation?: unknown;
17
+ google?: unknown;
18
+ zoho?: unknown;
19
+ serpapi?: unknown;
20
+ gemini?: unknown;
21
+ llmGateway?: unknown;
22
+ eventTrigger?: unknown;
23
+ finApp?: unknown;
24
+ financialTool?: unknown;
25
+ }
26
+ interface CapabilityConfigShape {
27
+ capabilitySet?: AgentCapabilitySetData;
28
+ workspaceEnabled?: boolean;
29
+ }
30
+ /**
31
+ * Central capability policy object. Call sites ask a positive question
32
+ * (`capabilities.has("gemini")`) instead of re-implementing legacy defaults or
33
+ * decoding the wire object themselves.
34
+ */
35
+ export declare class CapabilitySet {
36
+ private readonly enabled;
37
+ private readonly legacyMode;
38
+ private constructor();
39
+ /** Today's behavior. Only the pre-existing Workspace flag can narrow it. */
40
+ static legacy(options?: {
41
+ workspaceEnabled?: boolean;
42
+ }): CapabilitySet;
43
+ static explicit(data: AgentCapabilitySetData): CapabilitySet;
44
+ static parse(value: unknown): CapabilitySet;
45
+ /** Missing capability data is the compatibility contract, never an empty set. */
46
+ static fromConfig(config: CapabilityConfigShape): CapabilitySet;
47
+ has(capability: AgentCapability): boolean;
48
+ /** Client-side defense in depth for a mistakenly over-broad bundle. */
49
+ filterCredentialBody<T extends CapabilityCredentialBody>(body: T): Partial<T>;
50
+ /** Unknown admin commands remain compatible only for legacy/full Agents. */
51
+ allowsPendingCommand(command: string): boolean;
52
+ toJSON(): AgentCapabilitySetData;
53
+ }
54
+ export declare function hasAgentCapability(config: CapabilityConfigShape, capability: AgentCapability): boolean;
55
+ export {};
56
+ //# sourceMappingURL=capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/agent/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,yNAcrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,CAAC,CAAC;IACjB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,UAAU,wBAAwB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,qBAAqB;IAC7B,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AASD;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IAErC,OAAO;IAKP,4EAA4E;IAC5E,MAAM,CAAC,MAAM,CAAC,OAAO,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,aAAa;IAO1E,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,GAAG,aAAa;IAI5D,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa;IAkB3C,iFAAiF;IACjF,MAAM,CAAC,UAAU,CACf,MAAM,EAAE,qBAAqB,GAC5B,aAAa;IAMhB,GAAG,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO;IAIzC,uEAAuE;IACvE,oBAAoB,CAAC,CAAC,SAAS,wBAAwB,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqB7E,4EAA4E;IAC5E,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAY9C,MAAM,IAAI,sBAAsB;CAMjC;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,qBAAqB,EAC7B,UAAU,EAAE,eAAe,GAC1B,OAAO,CAET"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Versioned, server-authoritative optional runtime surfaces.
3
+ *
4
+ * Core model routing, local execution, localhost health/status, and the TUI
5
+ * control channel are deliberately not switches: every Agent needs them to be
6
+ * operable. Everything in this list may be omitted by an explicit setup.
7
+ */
8
+ export const AGENT_CAPABILITIES = [
9
+ "managed_workspace",
10
+ "messaging_channels",
11
+ "interactive_onboarding",
12
+ "heartbeat",
13
+ "tunnel",
14
+ "gemini",
15
+ "computer_use",
16
+ "memory",
17
+ "skills",
18
+ "dynamic_mcp",
19
+ "upgrade",
20
+ "event_trigger",
21
+ "external_integrations",
22
+ ];
23
+ const KNOWN_CAPABILITIES = new Set(AGENT_CAPABILITIES);
24
+ function canonicalCapabilities(values) {
25
+ const selected = new Set(values);
26
+ return AGENT_CAPABILITIES.filter((capability) => selected.has(capability));
27
+ }
28
+ /**
29
+ * Central capability policy object. Call sites ask a positive question
30
+ * (`capabilities.has("gemini")`) instead of re-implementing legacy defaults or
31
+ * decoding the wire object themselves.
32
+ */
33
+ export class CapabilitySet {
34
+ enabled;
35
+ legacyMode;
36
+ constructor(enabled, legacyMode = false) {
37
+ this.enabled = new Set(canonicalCapabilities(enabled));
38
+ this.legacyMode = legacyMode;
39
+ }
40
+ /** Today's behavior. Only the pre-existing Workspace flag can narrow it. */
41
+ static legacy(options = {}) {
42
+ const enabled = options.workspaceEnabled === false
43
+ ? AGENT_CAPABILITIES.filter((capability) => capability !== "managed_workspace")
44
+ : AGENT_CAPABILITIES;
45
+ return new CapabilitySet(enabled, true);
46
+ }
47
+ static explicit(data) {
48
+ return CapabilitySet.parse(data);
49
+ }
50
+ static parse(value) {
51
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
52
+ throw new Error("Agent capability set must be an object");
53
+ }
54
+ const data = value;
55
+ if (data.schemaVersion !== 1 || !Array.isArray(data.enabled)) {
56
+ throw new Error("Unsupported Agent capability schema");
57
+ }
58
+ const enabled = [];
59
+ for (const rawCapability of data.enabled) {
60
+ if (typeof rawCapability !== "string" || !KNOWN_CAPABILITIES.has(rawCapability)) {
61
+ throw new Error(`Unknown Agent capability: ${String(rawCapability)}`);
62
+ }
63
+ enabled.push(rawCapability);
64
+ }
65
+ return new CapabilitySet(enabled);
66
+ }
67
+ /** Missing capability data is the compatibility contract, never an empty set. */
68
+ static fromConfig(config) {
69
+ return config.capabilitySet
70
+ ? CapabilitySet.explicit(config.capabilitySet)
71
+ : CapabilitySet.legacy({ workspaceEnabled: config.workspaceEnabled });
72
+ }
73
+ has(capability) {
74
+ return this.enabled.has(capability);
75
+ }
76
+ /** Client-side defense in depth for a mistakenly over-broad bundle. */
77
+ filterCredentialBody(body) {
78
+ return {
79
+ ...(this.has("tunnel") && body.tunnel !== undefined ? { tunnel: body.tunnel } : {}),
80
+ ...(this.has("tunnel") && body.tunnelRotation !== undefined
81
+ ? { tunnelRotation: body.tunnelRotation }
82
+ : {}),
83
+ ...(this.has("managed_workspace") && body.google !== undefined ? { google: body.google } : {}),
84
+ ...(this.has("managed_workspace") && body.zoho !== undefined ? { zoho: body.zoho } : {}),
85
+ ...(this.has("external_integrations") && body.serpapi !== undefined ? { serpapi: body.serpapi } : {}),
86
+ ...(this.has("gemini") && body.gemini !== undefined ? { gemini: body.gemini } : {}),
87
+ ...(body.llmGateway !== undefined ? { llmGateway: body.llmGateway } : {}),
88
+ ...(this.has("event_trigger") && body.eventTrigger !== undefined
89
+ ? { eventTrigger: body.eventTrigger }
90
+ : {}),
91
+ ...(this.has("messaging_channels") && body.finApp !== undefined ? { finApp: body.finApp } : {}),
92
+ ...(this.has("external_integrations") && body.financialTool !== undefined
93
+ ? { financialTool: body.financialTool }
94
+ : {}),
95
+ };
96
+ }
97
+ /** Unknown admin commands remain compatible only for legacy/full Agents. */
98
+ allowsPendingCommand(command) {
99
+ if (command === "upgrade" || command === "upgrade_beta")
100
+ return this.has("upgrade");
101
+ if (command === "create_rdp_session") {
102
+ return this.has("computer_use") && this.has("tunnel");
103
+ }
104
+ if (command === "notify")
105
+ return this.has("messaging_channels");
106
+ if (["collect_data", "usage", "usage_backfill", "switch_engine"].includes(command)) {
107
+ return true;
108
+ }
109
+ return this.legacyMode;
110
+ }
111
+ toJSON() {
112
+ return {
113
+ schemaVersion: 1,
114
+ enabled: canonicalCapabilities([...this.enabled]),
115
+ };
116
+ }
117
+ }
118
+ export function hasAgentCapability(config, capability) {
119
+ return CapabilitySet.fromConfig(config).has(capability);
120
+ }
121
+ //# sourceMappingURL=capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/agent/capabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare class CompactionFailureError extends Error {
2
+ readonly errorCode: string;
3
+ readonly sessionId: string | null;
4
+ constructor(message: string, options: {
5
+ errorCode: string;
6
+ sessionId: string | null;
7
+ });
8
+ }
9
+ //# sourceMappingURL=compaction-failure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction-failure.d.ts","sourceRoot":"","sources":["../../src/agent/compaction-failure.ts"],"names":[],"mappings":"AAAA,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;CAMtF"}
@@ -0,0 +1,11 @@
1
+ export class CompactionFailureError extends Error {
2
+ errorCode;
3
+ sessionId;
4
+ constructor(message, options) {
5
+ super(message);
6
+ this.name = "CompactionFailureError";
7
+ this.errorCode = options.errorCode;
8
+ this.sessionId = options.sessionId;
9
+ }
10
+ }
11
+ //# sourceMappingURL=compaction-failure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction-failure.js","sourceRoot":"","sources":["../../src/agent/compaction-failure.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACtC,SAAS,CAAS;IAClB,SAAS,CAAgB;IAElC,YAAY,OAAe,EAAE,OAAwD;QACnF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;CACF"}
@@ -34,6 +34,8 @@ export declare const CONTEXT_REFRESH_RESTART_TIMEOUT_MS = 420000;
34
34
  export declare const AUTO_REFRESH_ENABLED: boolean;
35
35
  /** Consecutive compaction timeouts required before forcing a refresh. */
36
36
  export declare const AUTO_REFRESH_TIMEOUT_STREAK = 2;
37
+ /** Error codes that identify a failed Pi auto-compaction worth recovering. */
38
+ export declare const COMPACTION_FAILURE_ERROR_CODES: Set<string>;
37
39
  /** Minimum gap between two automatic refreshes. */
38
40
  export declare const AUTO_REFRESH_COOLDOWN_MS = 1800000;
39
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"compaction-policy.d.ts","sourceRoot":"","sources":["../../src/agent/compaction-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,SAAU,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,QAAS,CAAC;AAExD,2EAA2E;AAC3E,eAAO,MAAM,kCAAkC,SAAU,CAAC;AAE1D;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAW,OAAO,CAAC;AAEpD,yEAAyE;AACzE,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,mDAAmD;AACnD,eAAO,MAAM,wBAAwB,UAAY,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAW,OAAO,CAAC"}
1
+ {"version":3,"file":"compaction-policy.d.ts","sourceRoot":"","sources":["../../src/agent/compaction-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,SAAU,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,QAAS,CAAC;AAExD,2EAA2E;AAC3E,eAAO,MAAM,kCAAkC,SAAU,CAAC;AAE1D;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAW,OAAO,CAAC;AAEpD,yEAAyE;AACzE,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,8EAA8E;AAC9E,eAAO,MAAM,8BAA8B,aAAiC,CAAC;AAE7E,mDAAmD;AACnD,eAAO,MAAM,wBAAwB,UAAY,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAW,OAAO,CAAC"}
@@ -34,6 +34,8 @@ export const CONTEXT_REFRESH_RESTART_TIMEOUT_MS = 420_000; // 7 minutes
34
34
  export const AUTO_REFRESH_ENABLED = true;
35
35
  /** Consecutive compaction timeouts required before forcing a refresh. */
36
36
  export const AUTO_REFRESH_TIMEOUT_STREAK = 2;
37
+ /** Error codes that identify a failed Pi auto-compaction worth recovering. */
38
+ export const COMPACTION_FAILURE_ERROR_CODES = new Set(["400", "413", "504"]);
37
39
  /** Minimum gap between two automatic refreshes. */
38
40
  export const AUTO_REFRESH_COOLDOWN_MS = 1_800_000; // 30 minutes
39
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"compaction-policy.js","sourceRoot":"","sources":["../../src/agent/compaction-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,OAAO,CAAC,CAAC,YAAY;AAElE;;;;GAIG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC;AAExD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,kCAAkC,GAAG,OAAO,CAAC,CAAC,YAAY;AAEvE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAe,CAAC;AAEpD,yEAAyE;AACzE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C,mDAAmD;AACnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC,CAAC,aAAa;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAe,CAAC"}
1
+ {"version":3,"file":"compaction-policy.js","sourceRoot":"","sources":["../../src/agent/compaction-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,OAAO,CAAC,CAAC,YAAY;AAElE;;;;GAIG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC;AAExD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,kCAAkC,GAAG,OAAO,CAAC,CAAC,YAAY;AAEvE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAe,CAAC;AAEpD,yEAAyE;AACzE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAE7E,mDAAmD;AACnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC,CAAC,aAAa;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAe,CAAC"}
@@ -11,6 +11,8 @@ export interface PerformContextRefreshDeps {
11
11
  export interface PerformContextRefreshOptions {
12
12
  /** Short reason for logs (e.g. "manual" or "compaction-timeout-streak"). */
13
13
  reason: string;
14
+ /** Bound the summarizer input after a provider payload overflow. */
15
+ compactInput?: boolean;
14
16
  /**
15
17
  * System message enqueued for the next wake cycle so the new session knows
16
18
  * a refresh happened. Defaults to the manual-refresh wording.
@@ -1 +1 @@
1
- {"version":3,"file":"context-refresh.d.ts","sourceRoot":"","sources":["../../src/agent/context-refresh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,gBAAgB,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,CAAC,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,4BAA4B;IAC3C,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C;uCACmC;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EACpE,aAAa,EAAE,MAAM,EACrB,mBAAmB,EAAE,MAAM,EAC3B,KAAK,EAAE,MAAM,GACZ,OAAO,CAKT;AAOD;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,yBAAyB,EAC/B,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,2BAA2B,CAAC,CAgDtC;AAED,MAAM,WAAW,qBAAsB,SAAQ,yBAAyB;IACtE;6EACyE;IACzE,UAAU,EAAE,IAAI,CACd,UAAU,EACV,YAAY,GAAG,MAAM,GAAG,eAAe,GAAG,aAAa,GAAG,wBAAwB,CACnF,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5C,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1C,gFAAgF;IAChF,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7E;AAED,MAAM,WAAW,wBAAyB,SAAQ,4BAA4B;IAC5E;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC/C;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,GACxB;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC;AAoB/B;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,qBAAqB,EAC3B,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,wBAAwB,CAAC,CA8CnC"}
1
+ {"version":3,"file":"context-refresh.d.ts","sourceRoot":"","sources":["../../src/agent/context-refresh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAM7C,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,gBAAgB,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,CAAC,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,4BAA4B;IAC3C,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C;uCACmC;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EACpE,aAAa,EAAE,MAAM,EACrB,mBAAmB,EAAE,MAAM,EAC3B,KAAK,EAAE,MAAM,GACZ,OAAO,CAKT;AAOD;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,yBAAyB,EAC/B,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,2BAA2B,CAAC,CAkDtC;AAED,MAAM,WAAW,qBAAsB,SAAQ,yBAAyB;IACtE;6EACyE;IACzE,UAAU,EAAE,IAAI,CACd,UAAU,EACV,YAAY,GAAG,MAAM,GAAG,eAAe,GAAG,aAAa,GAAG,wBAAwB,CACnF,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5C,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1C,gFAAgF;IAChF,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7E;AAED,MAAM,WAAW,wBAAyB,SAAQ,4BAA4B;IAC5E;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC/C;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,GACxB;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC;AAoB/B;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,qBAAqB,EAC3B,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,wBAAwB,CAAC,CAkDnC"}
@@ -44,7 +44,9 @@ export async function performContextRefresh(deps, options) {
44
44
  ? transcriptInfo.sessionFilePath ?? activeSession.getTranscriptPath()
45
45
  : null;
46
46
  const { summarizeWithFallback } = await import("./transcript-summarizer.js");
47
- const finalSummary = await summarizeWithFallback(transcriptPath, config);
47
+ const finalSummary = options.compactInput
48
+ ? await summarizeWithFallback(transcriptPath, config, { compactInput: true })
49
+ : await summarizeWithFallback(transcriptPath, config);
48
50
  // Persist critical working state to /memories before the reset so the next
49
51
  // session can rehydrate it. Self-gated on the memory feature flag. Wrapped so
50
52
  // that neither the dynamic import nor the flush can block the refresh.
@@ -126,7 +128,11 @@ export async function runContextRefresh(deps, options) {
126
128
  config,
127
129
  messageQueue,
128
130
  taskReplyTarget: agentState.currentTaskReplyTarget,
129
- }, { reason, systemMessage });
131
+ }, {
132
+ reason,
133
+ systemMessage,
134
+ ...(options.compactInput ? { compactInput: true } : {}),
135
+ });
130
136
  if (!result.refreshed) {
131
137
  return { status: "no_session" };
132
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context-refresh.js","sourceRoot":"","sources":["../../src/agent/context-refresh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-refresh.js","sourceRoot":"","sources":["../../src/agent/context-refresh.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Client-side deep-night dreaming decision.
3
+ *
4
+ * The agent decides for itself when to dream. Everything the decision needs is
5
+ * local: its own wall clock (the deep-night window), its own `.dream_log`
6
+ * state (has it already dreamed today), and its own transcripts (whether there
7
+ * is anything worth dreaming — that gate lives downstream in
8
+ * `runMemoryDreaming`). The server contributes nothing: dreaming is a default
9
+ * agent capability with no feature gate, so there is no delivery ordering, no
10
+ * ack and no server-side latch to keep in sync.
11
+ *
12
+ * This replaces the earlier server-dispatched `do_dreaming` command. Four of
13
+ * the defects found in review of that design (handler-registration race,
14
+ * ack-before-drain, the supervisor-free dispatch failure, and the swallowed
15
+ * dispatch error) were failure shapes of the distribution itself, not of the
16
+ * scheduling rule — a local `if` cannot have them.
17
+ */
18
+ import type { VisionClawConfig } from "../config/types.js";
19
+ import type { ThreadSupervisor } from "../threads/supervisor.js";
20
+ /**
21
+ * Deep-night window, half-open `[start, end)`, in the agent's own local time.
22
+ * Inherited unchanged from the deleted server-side dispatcher.
23
+ */
24
+ export declare const DREAM_WINDOW_START_HOUR = 2;
25
+ export declare const DREAM_WINDOW_END_HOUR = 6;
26
+ /** `YYYYMMDD` for a local date — the granularity of the once-a-day latch. */
27
+ export declare function localDayNumber(now: Date): number;
28
+ /** Why a deep-night check declined to run, for logging and tests. */
29
+ export type DeepNightSkipReason = "outside-window" | "already-dreamed-today";
30
+ export type DeepNightDecision = {
31
+ run: true;
32
+ localDay: number;
33
+ } | {
34
+ run: false;
35
+ reason: DeepNightSkipReason;
36
+ };
37
+ /**
38
+ * Pure scheduling rule: inside the local deep-night window, at most once per
39
+ * local natural day.
40
+ *
41
+ * `lastDreamedDay` is the `YYYYMMDD` latch read from `.dream_log/state.json`.
42
+ * Comparing for equality rather than ordering means a backwards clock jump (or
43
+ * a state file copied from another machine) costs at most one extra sweep,
44
+ * where `>=` could latch the agent out of dreaming until the stored day passes.
45
+ */
46
+ export declare function decideDeepNightDreaming(input: {
47
+ now: Date;
48
+ lastDreamedDay: number | null;
49
+ }): DeepNightDecision;
50
+ /**
51
+ * Evaluate the rule and, when it says yes, run the sweep. Called from the idle
52
+ * heartbeat tick (every 5 minutes while asleep), so it must be cheap in the
53
+ * overwhelmingly common "not 2am" case — reading the latch file only happens
54
+ * once the window check has already passed.
55
+ *
56
+ * The day latch is written BEFORE the sweep starts. That makes "one sweep per
57
+ * local day" hold even if the sweep throws or the process dies mid-way: the
58
+ * cost of a failed night is one skipped night, whereas latching afterwards
59
+ * would let a reproducible failure retry every five minutes for four hours.
60
+ * Per-transcript progress is not lost either way — `runMemoryDreaming` keeps
61
+ * its own mtime watermark and only latches transcripts it actually dreamed.
62
+ *
63
+ * Never throws: this is fire-and-forget from the heartbeat tick.
64
+ */
65
+ export declare function maybeRunDeepNightDreaming(config: VisionClawConfig, getSupervisor: () => ThreadSupervisor | null, options?: {
66
+ now?: Date;
67
+ }): Promise<DeepNightDecision>;
68
+ //# sourceMappingURL=deep-night-dreaming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep-night-dreaming.d.ts","sourceRoot":"","sources":["../../src/agent/deep-night-dreaming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,CAEhD;AAED,qEAAqE;AACrE,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,uBAAuB,CAAC;AAE7E,MAAM,MAAM,iBAAiB,GACzB;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,GAAG,EAAE,IAAI,CAAC;IACV,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,GAAG,iBAAiB,CAUpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,MAAM,gBAAgB,GAAG,IAAI,EAC5C,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAA;CAAO,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAqC5B"}