@songsid/agend 2.3.5-alpha.4 → 2.3.5-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (670) hide show
  1. package/README.md +0 -2
  2. package/README.zh-TW.md +0 -2
  3. package/THIRD_PARTY_NOTICES.md +12 -28
  4. package/dist/agent-cli-instructions.md +1 -1
  5. package/dist/agent-credentials.d.ts +24 -0
  6. package/dist/agent-credentials.js +66 -0
  7. package/dist/agent-credentials.js.map +1 -0
  8. package/dist/agent-endpoint.d.ts +4 -6
  9. package/dist/agent-endpoint.js +15 -12
  10. package/dist/agent-endpoint.js.map +1 -1
  11. package/dist/auth-api.d.ts +0 -21
  12. package/dist/auth-api.js +8 -93
  13. package/dist/auth-api.js.map +1 -1
  14. package/dist/authority/session-authorizations.d.ts +30 -4
  15. package/dist/authority/session-authorizations.js +69 -17
  16. package/dist/authority/session-authorizations.js.map +1 -1
  17. package/dist/authority/web-authority.d.ts +2 -12
  18. package/dist/authority/web-authority.js +4 -25
  19. package/dist/authority/web-authority.js.map +1 -1
  20. package/dist/backend/antigravity.js +3 -1
  21. package/dist/backend/antigravity.js.map +1 -1
  22. package/dist/backend/claude-code.d.ts +12 -15
  23. package/dist/backend/claude-code.js +133 -152
  24. package/dist/backend/claude-code.js.map +1 -1
  25. package/dist/backend/codex-metadata.d.ts +14 -0
  26. package/dist/backend/codex-metadata.js +45 -0
  27. package/dist/backend/codex-metadata.js.map +1 -1
  28. package/dist/backend/codex-package.d.ts +2 -5
  29. package/dist/backend/codex-package.js +5 -1
  30. package/dist/backend/codex-package.js.map +1 -1
  31. package/dist/backend/codex-quota-history.d.ts +7 -0
  32. package/dist/backend/codex-quota-history.js +72 -0
  33. package/dist/backend/codex-quota-history.js.map +1 -0
  34. package/dist/backend/codex-session-lookup.d.ts +6 -0
  35. package/dist/backend/codex-session-lookup.js +1 -1
  36. package/dist/backend/codex-session-lookup.js.map +1 -1
  37. package/dist/backend/codex-speed.d.ts +14 -0
  38. package/dist/backend/codex-speed.js +35 -0
  39. package/dist/backend/codex-speed.js.map +1 -0
  40. package/dist/backend/codex.d.ts +116 -136
  41. package/dist/backend/codex.js +912 -942
  42. package/dist/backend/codex.js.map +1 -1
  43. package/dist/backend/grok-weekly-reset.d.ts +24 -0
  44. package/dist/backend/grok-weekly-reset.js +95 -0
  45. package/dist/backend/grok-weekly-reset.js.map +1 -0
  46. package/dist/backend/grok.d.ts +30 -3
  47. package/dist/backend/grok.js +301 -76
  48. package/dist/backend/grok.js.map +1 -1
  49. package/dist/backend/kiro.d.ts +3 -0
  50. package/dist/backend/kiro.js +50 -2
  51. package/dist/backend/kiro.js.map +1 -1
  52. package/dist/backend/muse.js +5 -3
  53. package/dist/backend/muse.js.map +1 -1
  54. package/dist/backend/types.d.ts +15 -8
  55. package/dist/backend/types.js +3 -0
  56. package/dist/backend/types.js.map +1 -1
  57. package/dist/bundled-tmux-guard.d.ts +21 -0
  58. package/dist/bundled-tmux-guard.js +96 -0
  59. package/dist/bundled-tmux-guard.js.map +1 -0
  60. package/dist/cache-ledger.d.ts +95 -0
  61. package/dist/cache-ledger.js +276 -4
  62. package/dist/cache-ledger.js.map +1 -1
  63. package/dist/cache-service.d.ts +5 -0
  64. package/dist/cache-service.js +16 -4
  65. package/dist/cache-service.js.map +1 -1
  66. package/dist/channel/adapters/discord.js +11 -3
  67. package/dist/channel/adapters/discord.js.map +1 -1
  68. package/dist/channel/adapters/telegram.d.ts +51 -0
  69. package/dist/channel/adapters/telegram.js +235 -17
  70. package/dist/channel/adapters/telegram.js.map +1 -1
  71. package/dist/channel/ipc-bridge.d.ts +0 -2
  72. package/dist/channel/mcp-tools.js +3 -3
  73. package/dist/channel/mcp-tools.js.map +1 -1
  74. package/dist/channel/types.d.ts +2 -0
  75. package/dist/classic-channel-manager.d.ts +2 -0
  76. package/dist/classic-channel-manager.js +5 -1
  77. package/dist/classic-channel-manager.js.map +1 -1
  78. package/dist/cli.js +14 -10
  79. package/dist/cli.js.map +1 -1
  80. package/dist/config-validator.js +30 -71
  81. package/dist/config-validator.js.map +1 -1
  82. package/dist/config.js +3 -17
  83. package/dist/config.js.map +1 -1
  84. package/dist/cross-instance-notice.d.ts +10 -0
  85. package/dist/cross-instance-notice.js +67 -5
  86. package/dist/cross-instance-notice.js.map +1 -1
  87. package/dist/daemon.d.ts +70 -68
  88. package/dist/daemon.js +774 -846
  89. package/dist/daemon.js.map +1 -1
  90. package/dist/dashboard-permissions.d.ts +8 -0
  91. package/dist/dashboard-permissions.js +16 -0
  92. package/dist/dashboard-permissions.js.map +1 -1
  93. package/dist/delivery-consumed-watch.d.ts +26 -16
  94. package/dist/delivery-consumed-watch.js +31 -26
  95. package/dist/delivery-consumed-watch.js.map +1 -1
  96. package/dist/delivery-outbox.d.ts +0 -5
  97. package/dist/delivery-outbox.js +4 -32
  98. package/dist/delivery-outbox.js.map +1 -1
  99. package/dist/delivery-reconciliation.d.ts +42 -2
  100. package/dist/delivery-reconciliation.js +164 -2
  101. package/dist/delivery-reconciliation.js.map +1 -1
  102. package/dist/export-import.d.ts +7 -0
  103. package/dist/export-import.js +44 -10
  104. package/dist/export-import.js.map +1 -1
  105. package/dist/fleet-context.d.ts +4 -2
  106. package/dist/fleet-level-config.d.ts +1 -1
  107. package/dist/fleet-level-config.js +0 -2
  108. package/dist/fleet-level-config.js.map +1 -1
  109. package/dist/fleet-manager.d.ts +108 -245
  110. package/dist/fleet-manager.js +656 -2028
  111. package/dist/fleet-manager.js.map +1 -1
  112. package/dist/general-instance.d.ts +0 -7
  113. package/dist/general-instance.js +3 -20
  114. package/dist/general-instance.js.map +1 -1
  115. package/dist/general-knowledge/skills/concepts/SKILL.md +393 -0
  116. package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +1 -0
  117. package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +3 -1
  118. package/dist/general-knowledge/skills/kiro-engine-migration/SKILL.md +41 -4
  119. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +9 -3
  120. package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +1 -1
  121. package/dist/instance-config-impact.js +6 -7
  122. package/dist/instance-config-impact.js.map +1 -1
  123. package/dist/instance-lifecycle.d.ts +19 -23
  124. package/dist/instance-lifecycle.js +216 -383
  125. package/dist/instance-lifecycle.js.map +1 -1
  126. package/dist/instance-topic-delete.d.ts +77 -0
  127. package/dist/instance-topic-delete.js +123 -0
  128. package/dist/instance-topic-delete.js.map +1 -0
  129. package/dist/instructions.d.ts +1 -3
  130. package/dist/instructions.js +1 -7
  131. package/dist/instructions.js.map +1 -1
  132. package/dist/kiro-engine-status.d.ts +11 -0
  133. package/dist/kiro-engine-status.js +6 -0
  134. package/dist/kiro-engine-status.js.map +1 -1
  135. package/dist/locale.js +63 -86
  136. package/dist/locale.js.map +1 -1
  137. package/dist/log-service.d.ts +28 -0
  138. package/dist/log-service.js +29 -0
  139. package/dist/log-service.js.map +1 -1
  140. package/dist/log-steps.d.ts +4 -3
  141. package/dist/log-steps.js +32 -7
  142. package/dist/log-steps.js.map +1 -1
  143. package/dist/logger.d.ts +16 -2
  144. package/dist/logger.js +346 -66
  145. package/dist/logger.js.map +1 -1
  146. package/dist/login-flows.d.ts +7 -0
  147. package/dist/login-flows.js +5 -2
  148. package/dist/login-flows.js.map +1 -1
  149. package/dist/login-manager.js +25 -4
  150. package/dist/login-manager.js.map +1 -1
  151. package/dist/missed-offline.d.ts +25 -0
  152. package/dist/missed-offline.js +79 -0
  153. package/dist/missed-offline.js.map +1 -0
  154. package/dist/muse-usage-relay.d.ts +2 -0
  155. package/dist/muse-usage-relay.js +5 -3
  156. package/dist/muse-usage-relay.js.map +1 -1
  157. package/dist/needs-you-hub.d.ts +6 -3
  158. package/dist/needs-you-hub.js +31 -9
  159. package/dist/needs-you-hub.js.map +1 -1
  160. package/dist/needs-you.d.ts +20 -18
  161. package/dist/needs-you.js +18 -14
  162. package/dist/needs-you.js.map +1 -1
  163. package/dist/office-share-page.js +1 -1
  164. package/dist/office-share-page.js.map +1 -1
  165. package/dist/outbound-handlers.d.ts +2 -16
  166. package/dist/outbound-handlers.js +10 -72
  167. package/dist/outbound-handlers.js.map +1 -1
  168. package/dist/outbound-schemas.d.ts +0 -38
  169. package/dist/outbound-schemas.js +5 -14
  170. package/dist/outbound-schemas.js.map +1 -1
  171. package/dist/pane-quota-history.d.ts +7 -0
  172. package/dist/pane-quota-history.js +47 -0
  173. package/dist/pane-quota-history.js.map +1 -0
  174. package/dist/platform-general.d.ts +46 -0
  175. package/dist/platform-general.js +91 -0
  176. package/dist/platform-general.js.map +1 -0
  177. package/dist/public-web-gateway.js +0 -9
  178. package/dist/public-web-gateway.js.map +1 -1
  179. package/dist/public-web-link.d.ts +0 -11
  180. package/dist/public-web-link.js +0 -13
  181. package/dist/public-web-link.js.map +1 -1
  182. package/dist/queued-handoffs.d.ts +33 -0
  183. package/dist/queued-handoffs.js +75 -0
  184. package/dist/queued-handoffs.js.map +1 -0
  185. package/dist/quickstart-api.js +5 -9
  186. package/dist/quickstart-api.js.map +1 -1
  187. package/dist/quickstart.d.ts +8 -1
  188. package/dist/quickstart.js +42 -4
  189. package/dist/quickstart.js.map +1 -1
  190. package/dist/quota-notice-config.d.ts +22 -0
  191. package/dist/quota-notice-config.js +41 -0
  192. package/dist/quota-notice-config.js.map +1 -0
  193. package/dist/quota-notice.d.ts +7 -0
  194. package/dist/quota-notice.js +40 -0
  195. package/dist/quota-notice.js.map +1 -1
  196. package/dist/reply-buttons-controller.js +10 -6
  197. package/dist/reply-buttons-controller.js.map +1 -1
  198. package/dist/reply-polls.d.ts +2 -2
  199. package/dist/reply-polls.js +3 -3
  200. package/dist/reply-polls.js.map +1 -1
  201. package/dist/scheduler/db.d.ts +2 -1
  202. package/dist/scheduler/db.js +23 -9
  203. package/dist/scheduler/db.js.map +1 -1
  204. package/dist/scheduler/task-board.d.ts +9 -0
  205. package/dist/scheduler/task-board.js +19 -0
  206. package/dist/scheduler/task-board.js.map +1 -1
  207. package/dist/settings-api.d.ts +13 -5
  208. package/dist/settings-api.js +26 -96
  209. package/dist/settings-api.js.map +1 -1
  210. package/dist/settings-baseline.d.ts +0 -1
  211. package/dist/settings-baseline.js +1 -1
  212. package/dist/settings-baseline.js.map +1 -1
  213. package/dist/settings-change.js +23 -28
  214. package/dist/settings-change.js.map +1 -1
  215. package/dist/settings-confirmation.d.ts +1 -16
  216. package/dist/settings-confirmation.js +9 -47
  217. package/dist/settings-confirmation.js.map +1 -1
  218. package/dist/settings-effect.d.ts +0 -4
  219. package/dist/settings-effect.js +1 -58
  220. package/dist/settings-effect.js.map +1 -1
  221. package/dist/settings-http-confirmation.d.ts +0 -4
  222. package/dist/settings-http-confirmation.js +3 -31
  223. package/dist/settings-http-confirmation.js.map +1 -1
  224. package/dist/settings-instance-patch.js +28 -1
  225. package/dist/settings-instance-patch.js.map +1 -1
  226. package/dist/settings-request-capability.d.ts +0 -2
  227. package/dist/settings-request-capability.js +0 -4
  228. package/dist/settings-request-capability.js.map +1 -1
  229. package/dist/settings-transaction.d.ts +0 -4
  230. package/dist/settings-transaction.js +0 -9
  231. package/dist/settings-transaction.js.map +1 -1
  232. package/dist/setup-form.js +3 -6
  233. package/dist/setup-form.js.map +1 -1
  234. package/dist/setup-i18n.js +0 -3
  235. package/dist/setup-i18n.js.map +1 -1
  236. package/dist/task-board-tool.d.ts +11 -0
  237. package/dist/task-board-tool.js +44 -0
  238. package/dist/task-board-tool.js.map +1 -1
  239. package/dist/task-board-waker.d.ts +6 -0
  240. package/dist/task-board-waker.js +4 -0
  241. package/dist/task-board-waker.js.map +1 -1
  242. package/dist/tmux-control.d.ts +1 -2
  243. package/dist/tmux-control.js.map +1 -1
  244. package/dist/tmux-manager.d.ts +1 -2
  245. package/dist/tmux-manager.js.map +1 -1
  246. package/dist/tool-permissions.d.ts +5 -2
  247. package/dist/tool-permissions.js +7 -7
  248. package/dist/tool-permissions.js.map +1 -1
  249. package/dist/tool-progress.d.ts +2 -0
  250. package/dist/tool-progress.js +19 -3
  251. package/dist/tool-progress.js.map +1 -1
  252. package/dist/topic-commands.js +4 -3
  253. package/dist/topic-commands.js.map +1 -1
  254. package/dist/transcript-delta-reader.d.ts +1 -1
  255. package/dist/transcript-delta-reader.js +1 -1
  256. package/dist/transcript-delta-reader.js.map +1 -1
  257. package/dist/transcript-monitor.d.ts +20 -3
  258. package/dist/transcript-monitor.js +92 -24
  259. package/dist/transcript-monitor.js.map +1 -1
  260. package/dist/transcript-sources.d.ts +0 -5
  261. package/dist/transcript-sources.js +79 -8
  262. package/dist/transcript-sources.js.map +1 -1
  263. package/dist/types.d.ts +3 -23
  264. package/dist/ui/app.html +8 -1
  265. package/dist/ui/backend-signin.js +21 -36
  266. package/dist/ui/chat-md-strings.js +9 -0
  267. package/dist/ui/chat-store.js +2 -13
  268. package/dist/ui/chat-strings.js +2 -50
  269. package/dist/ui/chat-thread.js +53 -3
  270. package/dist/ui/fleet-task-card.js +3 -3
  271. package/dist/ui/fleet-task-common.js +10 -0
  272. package/dist/ui/fleet-tasks.js +7 -5
  273. package/dist/ui/fleet-usage.js +90 -27
  274. package/dist/ui/panel-chat.js +37 -66
  275. package/dist/ui/panel-details.js +1 -2
  276. package/dist/ui/panel-fleet.js +88 -107
  277. package/dist/ui/panel-needs.js +21 -163
  278. package/dist/ui/panel-notices.js +4 -3
  279. package/dist/ui/panel-settings.js +149 -239
  280. package/dist/ui/preview-panel.js +84 -6
  281. package/dist/ui/search-dialog.js +3 -2
  282. package/dist/ui/settings-appearance.js +23 -122
  283. package/dist/ui/settings-catalog.js +10 -37
  284. package/dist/ui/settings-codex-copy.js +19 -0
  285. package/dist/ui/settings-confirm.js +1 -3
  286. package/dist/ui/settings-dialogs.js +20 -27
  287. package/dist/ui/settings-guests.js +14 -27
  288. package/dist/ui/settings-model.js +17 -12
  289. package/dist/ui/settings-quota-notice.js +100 -0
  290. package/dist/ui/settings-registry.js +4 -11
  291. package/dist/ui/settings-strings.js +4 -113
  292. package/dist/ui/settings-web-authority.js +13 -15
  293. package/dist/ui/shared/app-i18n.js +2 -2
  294. package/dist/ui/shared/app-needs.js +1 -1
  295. package/dist/ui/shared/app-route.js +2 -6
  296. package/dist/ui/shared/app-shell.js +18 -23
  297. package/dist/ui/shared/app-store.js +2 -3
  298. package/dist/ui/shared/app-stream.js +1 -3
  299. package/dist/ui/shared/app.css +40 -1312
  300. package/dist/ui/shared/app.js +2 -5
  301. package/dist/ui/shared/header-tools.js +4 -6
  302. package/dist/ui/shared/instance-nav.js +7 -34
  303. package/dist/ui/shared/instance-switch.js +3 -4
  304. package/dist/ui/shared/loading.css +37 -0
  305. package/dist/ui/shared/panel-view.js +77 -4
  306. package/dist/ui/shared/signin.js +6 -39
  307. package/dist/ui/shared/tokens.css +0 -1
  308. package/dist/ui/shared/ui-dialog.js +2 -2
  309. package/dist/ui/shared/ui-menu.js +10 -30
  310. package/dist/ui/shared/ui-states.js +14 -3
  311. package/dist/ui/shared/usage-dialog.js +18 -1
  312. package/dist/ui/shared/vendor/vendor.json +2 -19
  313. package/dist/ui/shared/view-history.css +17 -0
  314. package/dist/ui/shared/view-history.js +438 -0
  315. package/dist/ui/shared/view-strings.js +16 -8
  316. package/dist/ui/signin.html +5 -2
  317. package/dist/unattended-install.d.ts +11 -2
  318. package/dist/unattended-install.js +39 -5
  319. package/dist/unattended-install.js.map +1 -1
  320. package/dist/usage/capacity.d.ts +69 -0
  321. package/dist/usage/capacity.js +119 -0
  322. package/dist/usage/capacity.js.map +1 -0
  323. package/dist/usage/i18n-keys.d.ts +1 -1
  324. package/dist/usage/i18n-keys.js +3 -0
  325. package/dist/usage/i18n-keys.js.map +1 -1
  326. package/dist/usage/profile-timeline.d.ts +16 -0
  327. package/dist/usage/profile-timeline.js +58 -0
  328. package/dist/usage/profile-timeline.js.map +1 -0
  329. package/dist/usage/providers.d.ts +5 -0
  330. package/dist/usage/providers.js +5 -0
  331. package/dist/usage/providers.js.map +1 -1
  332. package/dist/usage/quota-history.d.ts +43 -0
  333. package/dist/usage/quota-history.js +168 -0
  334. package/dist/usage/quota-history.js.map +1 -0
  335. package/dist/usage/quota-notices.d.ts +38 -0
  336. package/dist/usage/quota-notices.js +160 -0
  337. package/dist/usage/quota-notices.js.map +1 -0
  338. package/dist/usage/usage-api.d.ts +32 -0
  339. package/dist/usage/usage-api.js +96 -1
  340. package/dist/usage/usage-api.js.map +1 -1
  341. package/dist/usage-report.d.ts +25 -1
  342. package/dist/usage-report.js +55 -4
  343. package/dist/usage-report.js.map +1 -1
  344. package/dist/usage-rollup.d.ts +6 -1
  345. package/dist/usage-rollup.js +16 -4
  346. package/dist/usage-rollup.js.map +1 -1
  347. package/dist/view-api.d.ts +16 -0
  348. package/dist/view-api.js +100 -16
  349. package/dist/view-api.js.map +1 -1
  350. package/dist/view-history.d.ts +84 -0
  351. package/dist/view-history.js +116 -0
  352. package/dist/view-history.js.map +1 -0
  353. package/dist/web-api.d.ts +6 -38
  354. package/dist/web-api.js +20 -255
  355. package/dist/web-api.js.map +1 -1
  356. package/dist/web-chat-history.d.ts +2 -19
  357. package/dist/web-chat-history.js +3 -72
  358. package/dist/web-chat-history.js.map +1 -1
  359. package/dist/web-only-fleet.d.ts +0 -20
  360. package/dist/web-only-fleet.js +0 -21
  361. package/dist/web-only-fleet.js.map +1 -1
  362. package/dist/web-session-authorization.d.ts +13 -2
  363. package/dist/web-session-authorization.js +10 -3
  364. package/dist/web-session-authorization.js.map +1 -1
  365. package/dist/web-session.d.ts +0 -7
  366. package/dist/web-session.js +0 -2
  367. package/dist/web-session.js.map +1 -1
  368. package/dist/web-shell-routes.d.ts +1 -4
  369. package/dist/web-shell-routes.js +2 -7
  370. package/dist/web-shell-routes.js.map +1 -1
  371. package/launcher/private-home.cjs +1 -1
  372. package/package.json +3 -9
  373. package/dist/agent-runtime-api.d.ts +0 -4
  374. package/dist/agent-runtime-api.js +0 -59
  375. package/dist/agent-runtime-api.js.map +0 -1
  376. package/dist/agent-runtime-change.d.ts +0 -74
  377. package/dist/agent-runtime-change.js +0 -102
  378. package/dist/agent-runtime-change.js.map +0 -1
  379. package/dist/backend/grok-model-cache.d.ts +0 -7
  380. package/dist/backend/grok-model-cache.js +0 -65
  381. package/dist/backend/grok-model-cache.js.map +0 -1
  382. package/dist/backend/native-pane.d.ts +0 -9
  383. package/dist/backend/native-pane.js +0 -59
  384. package/dist/backend/native-pane.js.map +0 -1
  385. package/dist/fleet-windows-runtime.d.ts +0 -97
  386. package/dist/fleet-windows-runtime.js +0 -449
  387. package/dist/fleet-windows-runtime.js.map +0 -1
  388. package/dist/general-binding.d.ts +0 -85
  389. package/dist/general-binding.js +0 -298
  390. package/dist/general-binding.js.map +0 -1
  391. package/dist/general-host-owner.d.ts +0 -8
  392. package/dist/general-host-owner.js +0 -26
  393. package/dist/general-host-owner.js.map +0 -1
  394. package/dist/general-role.d.ts +0 -5
  395. package/dist/general-role.js +0 -26
  396. package/dist/general-role.js.map +0 -1
  397. package/dist/local-pane-endpoint.d.ts +0 -46
  398. package/dist/local-pane-endpoint.js +0 -189
  399. package/dist/local-pane-endpoint.js.map +0 -1
  400. package/dist/local-pane-launcher.d.ts +0 -2
  401. package/dist/local-pane-launcher.js +0 -38
  402. package/dist/local-pane-launcher.js.map +0 -1
  403. package/dist/local-pane-stage.ps1 +0 -101
  404. package/dist/model-catalog-defaults.d.ts +0 -14
  405. package/dist/model-catalog-defaults.js +0 -20
  406. package/dist/model-catalog-defaults.js.map +0 -1
  407. package/dist/native-agent-admission.d.ts +0 -7
  408. package/dist/native-agent-admission.js +0 -26
  409. package/dist/native-agent-admission.js.map +0 -1
  410. package/dist/native-daemon-client.d.ts +0 -13
  411. package/dist/native-daemon-client.js +0 -28
  412. package/dist/native-daemon-client.js.map +0 -1
  413. package/dist/native-instance-api.d.ts +0 -14
  414. package/dist/native-instance-api.js +0 -205
  415. package/dist/native-instance-api.js.map +0 -1
  416. package/dist/native-instance-input.d.ts +0 -84
  417. package/dist/native-instance-input.js +0 -54
  418. package/dist/native-instance-input.js.map +0 -1
  419. package/dist/native-instance-registry.d.ts +0 -32
  420. package/dist/native-instance-registry.js +0 -105
  421. package/dist/native-instance-registry.js.map +0 -1
  422. package/dist/native-mcp.d.ts +0 -40
  423. package/dist/native-mcp.js +0 -278
  424. package/dist/native-mcp.js.map +0 -1
  425. package/dist/native-model-catalog.d.ts +0 -5
  426. package/dist/native-model-catalog.js +0 -76
  427. package/dist/native-model-catalog.js.map +0 -1
  428. package/dist/native-pane-crash-budget.d.ts +0 -20
  429. package/dist/native-pane-crash-budget.js +0 -60
  430. package/dist/native-pane-crash-budget.js.map +0 -1
  431. package/dist/native-pane-create.d.ts +0 -26
  432. package/dist/native-pane-create.js +0 -53
  433. package/dist/native-pane-create.js.map +0 -1
  434. package/dist/native-pane-lifecycle.d.ts +0 -65
  435. package/dist/native-pane-lifecycle.js +0 -230
  436. package/dist/native-pane-lifecycle.js.map +0 -1
  437. package/dist/native-pane-manager.d.ts +0 -59
  438. package/dist/native-pane-manager.js +0 -584
  439. package/dist/native-pane-manager.js.map +0 -1
  440. package/dist/native-pane-output-log.d.ts +0 -15
  441. package/dist/native-pane-output-log.js +0 -108
  442. package/dist/native-pane-output-log.js.map +0 -1
  443. package/dist/native-pane-reconciliation.d.ts +0 -4
  444. package/dist/native-pane-reconciliation.js +0 -40
  445. package/dist/native-pane-reconciliation.js.map +0 -1
  446. package/dist/native-pane-recovery.d.ts +0 -12
  447. package/dist/native-pane-recovery.js +0 -10
  448. package/dist/native-pane-recovery.js.map +0 -1
  449. package/dist/native-pane-tools.d.ts +0 -2
  450. package/dist/native-pane-tools.js +0 -14
  451. package/dist/native-pane-tools.js.map +0 -1
  452. package/dist/pane-port.d.ts +0 -118
  453. package/dist/pane-port.js +0 -2
  454. package/dist/pane-port.js.map +0 -1
  455. package/dist/runtime-api.d.ts +0 -8
  456. package/dist/runtime-api.js +0 -171
  457. package/dist/runtime-api.js.map +0 -1
  458. package/dist/runtime-assets/@xterm/addon-serialize/LICENSE +0 -21
  459. package/dist/runtime-assets/@xterm/addon-serialize/lib/addon-serialize.js +0 -2
  460. package/dist/runtime-assets/@xterm/addon-serialize/lib/addon-serialize.mjs +0 -19
  461. package/dist/runtime-assets/@xterm/addon-serialize/package.json +0 -29
  462. package/dist/runtime-assets/@xterm/headless/LICENSE +0 -21
  463. package/dist/runtime-assets/@xterm/headless/lib-headless/xterm-headless.js +0 -2
  464. package/dist/runtime-assets/@xterm/headless/lib-headless/xterm-headless.mjs +0 -46
  465. package/dist/runtime-assets/@xterm/headless/package.json +0 -29
  466. package/dist/runtime-assets/node-pty/CONPTY-LICENSE +0 -21
  467. package/dist/runtime-assets/node-pty/CONPTY-NOTICE.md +0 -503
  468. package/dist/runtime-assets/node-pty/LICENSE +0 -69
  469. package/dist/runtime-assets/node-pty/lib/conpty_console_list_agent.js +0 -16
  470. package/dist/runtime-assets/node-pty/lib/eventEmitter2.js +0 -47
  471. package/dist/runtime-assets/node-pty/lib/index.js +0 -52
  472. package/dist/runtime-assets/node-pty/lib/interfaces.js +0 -7
  473. package/dist/runtime-assets/node-pty/lib/shared/conout.js +0 -11
  474. package/dist/runtime-assets/node-pty/lib/terminal.js +0 -190
  475. package/dist/runtime-assets/node-pty/lib/types.js +0 -7
  476. package/dist/runtime-assets/node-pty/lib/unixTerminal.js +0 -346
  477. package/dist/runtime-assets/node-pty/lib/utils.js +0 -39
  478. package/dist/runtime-assets/node-pty/lib/windowsConoutConnection.js +0 -125
  479. package/dist/runtime-assets/node-pty/lib/windowsPtyAgent.js +0 -320
  480. package/dist/runtime-assets/node-pty/lib/windowsTerminal.js +0 -199
  481. package/dist/runtime-assets/node-pty/lib/worker/conoutSocketWorker.js +0 -22
  482. package/dist/runtime-assets/node-pty/package.json +0 -64
  483. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  484. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  485. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
  486. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  487. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  488. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  489. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty.node +0 -0
  490. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
  491. package/dist/runtime-build-info.d.ts +0 -9
  492. package/dist/runtime-build-info.js +0 -57
  493. package/dist/runtime-build-info.js.map +0 -1
  494. package/dist/runtime-bundle.d.ts +0 -19
  495. package/dist/runtime-bundle.js +0 -156
  496. package/dist/runtime-bundle.js.map +0 -1
  497. package/dist/runtime-cli.d.ts +0 -7
  498. package/dist/runtime-cli.js +0 -152
  499. package/dist/runtime-cli.js.map +0 -1
  500. package/dist/runtime-client-store.d.ts +0 -68
  501. package/dist/runtime-client-store.js +0 -344
  502. package/dist/runtime-client-store.js.map +0 -1
  503. package/dist/runtime-client.d.ts +0 -112
  504. package/dist/runtime-client.js +0 -736
  505. package/dist/runtime-client.js.map +0 -1
  506. package/dist/runtime-connection.d.ts +0 -22
  507. package/dist/runtime-connection.js +0 -93
  508. package/dist/runtime-connection.js.map +0 -1
  509. package/dist/runtime-coordinator.d.ts +0 -91
  510. package/dist/runtime-coordinator.js +0 -911
  511. package/dist/runtime-coordinator.js.map +0 -1
  512. package/dist/runtime-general-protocol.d.ts +0 -22
  513. package/dist/runtime-general-protocol.js +0 -57
  514. package/dist/runtime-general-protocol.js.map +0 -1
  515. package/dist/runtime-general-workspace.d.ts +0 -17
  516. package/dist/runtime-general-workspace.js +0 -213
  517. package/dist/runtime-general-workspace.js.map +0 -1
  518. package/dist/runtime-pane-assets.d.ts +0 -17
  519. package/dist/runtime-pane-assets.js +0 -23
  520. package/dist/runtime-pane-assets.js.map +0 -1
  521. package/dist/runtime-pane-boot.d.ts +0 -9
  522. package/dist/runtime-pane-boot.js +0 -47
  523. package/dist/runtime-pane-boot.js.map +0 -1
  524. package/dist/runtime-pane-codex-index.d.ts +0 -1
  525. package/dist/runtime-pane-codex-index.js +0 -47
  526. package/dist/runtime-pane-codex-index.js.map +0 -1
  527. package/dist/runtime-pane-config.d.ts +0 -16
  528. package/dist/runtime-pane-config.js +0 -54
  529. package/dist/runtime-pane-config.js.map +0 -1
  530. package/dist/runtime-pane-host.d.ts +0 -44
  531. package/dist/runtime-pane-host.js +0 -424
  532. package/dist/runtime-pane-host.js.map +0 -1
  533. package/dist/runtime-pane-job-owner.d.ts +0 -1
  534. package/dist/runtime-pane-job-owner.js +0 -29
  535. package/dist/runtime-pane-job-owner.js.map +0 -1
  536. package/dist/runtime-pane-job.ps1 +0 -116
  537. package/dist/runtime-pane-link.d.ts +0 -40
  538. package/dist/runtime-pane-link.js +0 -246
  539. package/dist/runtime-pane-link.js.map +0 -1
  540. package/dist/runtime-pane-mcp-protocol.d.ts +0 -32
  541. package/dist/runtime-pane-mcp-protocol.js +0 -39
  542. package/dist/runtime-pane-mcp-protocol.js.map +0 -1
  543. package/dist/runtime-pane-mcp-relay.d.ts +0 -17
  544. package/dist/runtime-pane-mcp-relay.js +0 -70
  545. package/dist/runtime-pane-mcp-relay.js.map +0 -1
  546. package/dist/runtime-pane-mcp.d.ts +0 -51
  547. package/dist/runtime-pane-mcp.js +0 -150
  548. package/dist/runtime-pane-mcp.js.map +0 -1
  549. package/dist/runtime-pane-native.d.ts +0 -45
  550. package/dist/runtime-pane-native.js +0 -65
  551. package/dist/runtime-pane-native.js.map +0 -1
  552. package/dist/runtime-pane-output.d.ts +0 -19
  553. package/dist/runtime-pane-output.js +0 -53
  554. package/dist/runtime-pane-output.js.map +0 -1
  555. package/dist/runtime-pane-port.d.ts +0 -139
  556. package/dist/runtime-pane-port.js +0 -558
  557. package/dist/runtime-pane-port.js.map +0 -1
  558. package/dist/runtime-pane-private.d.ts +0 -14
  559. package/dist/runtime-pane-private.js +0 -51
  560. package/dist/runtime-pane-private.js.map +0 -1
  561. package/dist/runtime-pane-private.ps1 +0 -14
  562. package/dist/runtime-pane-process.d.ts +0 -4
  563. package/dist/runtime-pane-process.js +0 -108
  564. package/dist/runtime-pane-process.js.map +0 -1
  565. package/dist/runtime-pane-protocol.d.ts +0 -172
  566. package/dist/runtime-pane-protocol.js +0 -195
  567. package/dist/runtime-pane-protocol.js.map +0 -1
  568. package/dist/runtime-pane-screen.d.ts +0 -19
  569. package/dist/runtime-pane-screen.js +0 -76
  570. package/dist/runtime-pane-screen.js.map +0 -1
  571. package/dist/runtime-pane-service.d.ts +0 -11
  572. package/dist/runtime-pane-service.js +0 -221
  573. package/dist/runtime-pane-service.js.map +0 -1
  574. package/dist/runtime-pane-stdio-protocol.d.ts +0 -54
  575. package/dist/runtime-pane-stdio-protocol.js +0 -94
  576. package/dist/runtime-pane-stdio-protocol.js.map +0 -1
  577. package/dist/runtime-pane-stdio.d.ts +0 -3
  578. package/dist/runtime-pane-stdio.js +0 -123
  579. package/dist/runtime-pane-stdio.js.map +0 -1
  580. package/dist/runtime-pane-store.d.ts +0 -33
  581. package/dist/runtime-pane-store.js +0 -164
  582. package/dist/runtime-pane-store.js.map +0 -1
  583. package/dist/runtime-pane-transcript-protocol.d.ts +0 -43
  584. package/dist/runtime-pane-transcript-protocol.js +0 -58
  585. package/dist/runtime-pane-transcript-protocol.js.map +0 -1
  586. package/dist/runtime-pane-transcript.d.ts +0 -45
  587. package/dist/runtime-pane-transcript.js +0 -605
  588. package/dist/runtime-pane-transcript.js.map +0 -1
  589. package/dist/runtime-pane-worker.d.ts +0 -1
  590. package/dist/runtime-pane-worker.js +0 -154
  591. package/dist/runtime-pane-worker.js.map +0 -1
  592. package/dist/runtime-protocol.d.ts +0 -162
  593. package/dist/runtime-protocol.js +0 -37
  594. package/dist/runtime-protocol.js.map +0 -1
  595. package/dist/runtime-switches.d.ts +0 -79
  596. package/dist/runtime-switches.js +0 -90
  597. package/dist/runtime-switches.js.map +0 -1
  598. package/dist/runtime-transcript-delta-reader.d.ts +0 -23
  599. package/dist/runtime-transcript-delta-reader.js +0 -74
  600. package/dist/runtime-transcript-delta-reader.js.map +0 -1
  601. package/dist/runtime-transcript-source.d.ts +0 -36
  602. package/dist/runtime-transcript-source.js +0 -189
  603. package/dist/runtime-transcript-source.js.map +0 -1
  604. package/dist/runtime-windows-bridge.d.ts +0 -41
  605. package/dist/runtime-windows-bridge.js +0 -157
  606. package/dist/runtime-windows-bridge.js.map +0 -1
  607. package/dist/settings-route-lifetime.d.ts +0 -14
  608. package/dist/settings-route-lifetime.js +0 -48
  609. package/dist/settings-route-lifetime.js.map +0 -1
  610. package/dist/tmux-pane-host.d.ts +0 -26
  611. package/dist/tmux-pane-host.js +0 -25
  612. package/dist/tmux-pane-host.js.map +0 -1
  613. package/dist/transcript-needles.d.ts +0 -35
  614. package/dist/transcript-needles.js +0 -158
  615. package/dist/transcript-needles.js.map +0 -1
  616. package/dist/transcript-records.d.ts +0 -21
  617. package/dist/transcript-records.js +0 -140
  618. package/dist/transcript-records.js.map +0 -1
  619. package/dist/ui/agent-proposals.js +0 -90
  620. package/dist/ui/agent-runtime-settings.js +0 -67
  621. package/dist/ui/agent-runtime.js +0 -124
  622. package/dist/ui/cli-picker.js +0 -42
  623. package/dist/ui/general-location.js +0 -71
  624. package/dist/ui/native-instance-settings.js +0 -44
  625. package/dist/ui/native-pane-recovery.js +0 -45
  626. package/dist/ui/panel-runtimes.js +0 -334
  627. package/dist/ui/panel-windows-agent.js +0 -86
  628. package/dist/ui/panel-windows-cli.js +0 -179
  629. package/dist/ui/provider-marks.js +0 -83
  630. package/dist/ui/runtime-catalog.js +0 -55
  631. package/dist/ui/settings-agent-filters.js +0 -94
  632. package/dist/ui/settings-layout.js +0 -245
  633. package/dist/ui/settings-outside.js +0 -176
  634. package/dist/ui/settings-shortcuts.js +0 -65
  635. package/dist/ui/shared/machine-name.js +0 -13
  636. package/dist/ui/shared/qrcode.module.js +0 -2237
  637. package/dist/ui/shared/settings-width.js +0 -31
  638. package/dist/ui/shared/vendor/qrcode-generator.LICENSE +0 -27
  639. package/dist/ui/windows-agents-nav.js +0 -2
  640. package/dist/ui/windows-cli-catalog.js +0 -108
  641. package/dist/web-remote-access.d.ts +0 -152
  642. package/dist/web-remote-access.js +0 -368
  643. package/dist/web-remote-access.js.map +0 -1
  644. package/dist/windows-agents.d.ts +0 -126
  645. package/dist/windows-agents.js +0 -490
  646. package/dist/windows-agents.js.map +0 -1
  647. package/dist/windows-cli-api.d.ts +0 -23
  648. package/dist/windows-cli-api.js +0 -159
  649. package/dist/windows-cli-api.js.map +0 -1
  650. package/dist/windows-cli-providers.d.ts +0 -115
  651. package/dist/windows-cli-providers.js +0 -429
  652. package/dist/windows-cli-providers.js.map +0 -1
  653. package/dist/windows-cli-worker.d.ts +0 -59
  654. package/dist/windows-cli-worker.js +0 -479
  655. package/dist/windows-cli-worker.js.map +0 -1
  656. package/dist/windows-cli.d.ts +0 -116
  657. package/dist/windows-cli.js +0 -407
  658. package/dist/windows-cli.js.map +0 -1
  659. package/dist/windows-native-mcp.d.ts +0 -19
  660. package/dist/windows-native-mcp.js +0 -143
  661. package/dist/windows-native-mcp.js.map +0 -1
  662. package/dist/windows-pane-mcp.d.ts +0 -26
  663. package/dist/windows-pane-mcp.js +0 -187
  664. package/dist/windows-pane-mcp.js.map +0 -1
  665. package/templates/runtime-assets/conpty-LICENSE +0 -21
  666. package/templates/runtime-assets/conpty-NOTICE.md +0 -503
  667. package/templates/runtime-assets/local-pane-stage.ps1 +0 -101
  668. package/templates/runtime-assets/runtime-pane-job.ps1 +0 -116
  669. package/templates/runtime-assets/runtime-pane-private.ps1 +0 -14
  670. package/templates/runtime-assets/xterm-LICENSE +0 -21
@@ -1,368 +0,0 @@
1
- /**
2
- * #3008 (alpha.3; decision 28c2d3a3 rule 3, the user's simplified form hmsg-33c3d609): connections from outside for a
3
- * web-only fleet. Its one person — this computer's admin, the host operator (`agend web --code` on this computer) — sets
4
- * up an authenticator app (TOTP, RFC 6238) here, then turns on "Allow connections from outside": the public link opens,
5
- * owned by this computer's admin, and signing in through it asks for the app's code. Turning it off closes the link.
6
- *
7
- * What this file holds, in `web-remote-access.json` beside the fleet (0600, written atomically — never fleet.yaml, so
8
- * neither an agent nor a hand edit of the config turns it on):
9
- * - the authenticator secret (160 bits, base32), when it was set up, and the last time step a code was accepted for
10
- * (each step once: a code that was seen cannot be used again);
11
- * - the outside switch;
12
- * - the wrong-code limiter: 5 wrong codes → a wait (15 minutes, doubling after each further 5 up to a day; a correct
13
- * code resets it — #3008 C(b), confirmed by the user, decision 0471da59). Never a permanent
14
- * lock (the user's decision 4). It is fleet-wide: one guesser from many addresses is one guesser.
15
- *
16
- * The secret never leaves this module except once, to the host operator who is setting it up (beginEnrollment). It is
17
- * never logged, never in a status, a Notice or an error.
18
- */
19
- import { createHmac, randomBytes, timingSafeEqual } from "node:crypto";
20
- import { readFileSync } from "node:fs";
21
- import { atomicWriteFileSync } from "./atomic-write.js";
22
- import { t } from "./locale.js";
23
- export const WEB_REMOTE_ACCESS_FILE = "web-remote-access.json";
24
- /** RFC 6238 as every common authenticator app shows it: SHA-1, 6 digits, 30-second steps. */
25
- export const TOTP_STEP_SECONDS = 30;
26
- export const TOTP_DIGITS = 6;
27
- /**
28
- * Steps accepted around now: one either side (#3008 C, the leader: this host is WSL2, whose clock drifts behind after
29
- * Windows sleeps — accepting only the current and previous code would refuse the phone's newest one).
30
- */
31
- export const TOTP_PAST_STEPS = 1;
32
- export const TOTP_FUTURE_STEPS = 1;
33
- /** Diagnosis only (#3008 C): a wrong code is also compared this many steps out, to log how far this clock is off. */
34
- export const TOTP_SKEW_PROBE_STEPS = 2;
35
- /** 5 wrong codes → a wait. */
36
- export const TOTP_WRONG_LIMIT = 5;
37
- /** The first wait; #3008 C(b): each further one doubles, up to TOTP_PAUSE_MAX_MS. A correct code resets it. */
38
- export const TOTP_PAUSE_MS = 15 * 60_000;
39
- export const TOTP_PAUSE_MAX_MS = 24 * 60 * 60_000;
40
- /** #3008 review (Prism P2 1): a state that could not be saved is written again this often until it is. */
41
- export const OUTSIDE_SAVE_RETRY_MS = 30_000;
42
- /** How long a secret being set up waits for its first code. */
43
- export const TOTP_ENROLL_TTL_MS = 10 * 60_000;
44
- const SECRET_BYTES = 20;
45
- const BASE32 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
46
- export function base32Encode(bytes) {
47
- let out = "", bits = 0, value = 0;
48
- for (const b of bytes) {
49
- value = (value << 8) | b;
50
- bits += 8;
51
- while (bits >= 5) {
52
- out += BASE32[(value >>> (bits - 5)) & 31];
53
- bits -= 5;
54
- }
55
- }
56
- if (bits > 0)
57
- out += BASE32[(value << (5 - bits)) & 31];
58
- return out;
59
- }
60
- export function base32Decode(text) {
61
- const clean = text.replace(/[\s=]/g, "").toUpperCase();
62
- if (!clean || /[^A-Z2-7]/.test(clean))
63
- return null;
64
- const out = [];
65
- let bits = 0, value = 0;
66
- for (const ch of clean) {
67
- value = (value << 5) | BASE32.indexOf(ch);
68
- bits += 5;
69
- if (bits >= 8) {
70
- out.push((value >>> (bits - 8)) & 255);
71
- bits -= 8;
72
- }
73
- }
74
- return Buffer.from(out);
75
- }
76
- /** RFC 4226 HOTP: the code for one counter, as `digits` decimal digits (left-padded). */
77
- export function hotp(secret, counter, digits = TOTP_DIGITS) {
78
- const msg = Buffer.alloc(8);
79
- msg.writeUInt32BE(Math.floor(counter / 2 ** 32), 0);
80
- msg.writeUInt32BE(counter >>> 0, 4);
81
- const mac = createHmac("sha1", secret).update(msg).digest();
82
- const off = mac[mac.length - 1] & 15;
83
- const bin = ((mac[off] & 0x7f) << 24) | (mac[off + 1] << 16) | (mac[off + 2] << 8) | mac[off + 3];
84
- return String(bin % 10 ** digits).padStart(digits, "0");
85
- }
86
- /** The RFC 6238 time step a wall-clock moment falls in. */
87
- export function totpStep(nowMs) {
88
- return Math.floor(nowMs / 1000 / TOTP_STEP_SECONDS);
89
- }
90
- /**
91
- * The step `code` is valid for — the current one or one within the accepted window, newer than `after` — or null. Six
92
- * digits only (spaces ignored); compared in constant time.
93
- */
94
- export function matchTotp(secret, code, nowMs, after) {
95
- const typed = code.replace(/\s/g, "");
96
- if (!/^\d{6}$/.test(typed))
97
- return null;
98
- const now = totpStep(nowMs);
99
- let found = null;
100
- for (let step = now - TOTP_PAST_STEPS; step <= now + TOTP_FUTURE_STEPS; step++) {
101
- if (step <= after)
102
- continue;
103
- if (timingSafeEqual(Buffer.from(hotp(secret, step)), Buffer.from(typed)) && found === null)
104
- found = step;
105
- }
106
- return found;
107
- }
108
- /**
109
- * Diagnosis only, never acceptance: for a code that did not match, the step offset (beyond the accepted window, at most
110
- * TOTP_SKEW_PROBE_STEPS out) it would have matched — positive: the phone is ahead of this computer's clock. Else null.
111
- */
112
- export function totpSkew(secret, code, nowMs) {
113
- const typed = code.replace(/\s/g, "");
114
- if (!/^\d{6}$/.test(typed))
115
- return null;
116
- const now = totpStep(nowMs);
117
- for (let d = 1; d <= TOTP_SKEW_PROBE_STEPS; d++) {
118
- for (const offset of [d, -d]) {
119
- if (offset >= -TOTP_PAST_STEPS && offset <= TOTP_FUTURE_STEPS)
120
- continue;
121
- if (timingSafeEqual(Buffer.from(hotp(secret, now + offset)), Buffer.from(typed)))
122
- return offset;
123
- }
124
- }
125
- return null;
126
- }
127
- /** The `otpauth://` URI an authenticator app reads from the QR code (or the key typed in by hand). */
128
- export function otpauthUri(secretBase32, account) {
129
- const label = encodeURIComponent(`AgEnD:${account}`);
130
- return `otpauth://totp/${label}?secret=${secretBase32}&issuer=AgEnD&algorithm=SHA1&digits=${TOTP_DIGITS}&period=${TOTP_STEP_SECONDS}`;
131
- }
132
- /** How many sessions from outside one generation remembers (each is a sign-in with a code; older ones read as revoked). */
133
- export const OUTSIDE_HANDLES_MAX = 64;
134
- const blank = () => ({ v: 1, outside: false, wrong: 0, level: 0, pausedUntil: 0, handles: [] });
135
- export class WebRemoteAccess {
136
- path;
137
- log;
138
- now;
139
- monotonic;
140
- state = blank();
141
- pending = null;
142
- warned = false;
143
- /** The state in memory is not on disk yet (a write failed): written again, by the next change or the retry timer. */
144
- dirty = false;
145
- retry = null;
146
- constructor(path, log, now = Date.now, monotonic = () => performance.now()) {
147
- this.path = path;
148
- this.log = log;
149
- this.now = now;
150
- this.monotonic = monotonic;
151
- let raw;
152
- try {
153
- raw = readFileSync(path, "utf8");
154
- }
155
- catch (err) {
156
- if (err.code !== "ENOENT")
157
- log.warn({ path }, "Outside connections state unreadable — off, nothing set up");
158
- return;
159
- }
160
- try {
161
- const v = JSON.parse(raw);
162
- if (v.v !== 1)
163
- throw new Error("shape");
164
- const t = v.totp;
165
- const totp = t && typeof t.secret === "string" && (base32Decode(t.secret)?.length ?? 0) >= 16 && Number.isSafeInteger(t.enrolledAt)
166
- && Number.isSafeInteger(t.lastStep) ? { secret: t.secret, enrolledAt: t.enrolledAt, lastStep: t.lastStep } : undefined;
167
- const count = (n) => (Number.isSafeInteger(n) && n >= 0 ? n : 0);
168
- this.state = { v: 1, ...(totp ? { totp } : {}),
169
- // Never on without an app set up: a file that says otherwise is read as off.
170
- outside: v.outside === true && !!totp,
171
- wrong: Math.min(count(v.wrong), TOTP_WRONG_LIMIT - 1), level: Math.min(count(v.level), 32),
172
- // A wait never longer than the longest there is (a clock set back, or a hand edit).
173
- pausedUntil: Math.min(count(v.pausedUntil), this.now() + TOTP_PAUSE_MAX_MS),
174
- // A file without the list (or a garbled one) admits nobody: every older receipt from outside reads as none.
175
- handles: Array.isArray(v.handles) ? v.handles.filter((h) => typeof h === "string" && /^[0-9a-f]{16}$/.test(h)).slice(-OUTSIDE_HANDLES_MAX) : [] };
176
- }
177
- catch {
178
- log.warn({ path }, "Outside connections state unreadable — off, nothing set up");
179
- this.state = blank();
180
- }
181
- }
182
- status() {
183
- return { enrolled: !!this.state.totp, enrolledAt: this.state.totp?.enrolledAt ?? null, outside: this.state.outside,
184
- pausedForMs: Math.max(0, this.state.pausedUntil - this.now()) };
185
- }
186
- get enrolled() { return !!this.state.totp; }
187
- /** The sessions authorized from outside since the last revocation (their receipts hold). */
188
- get admitted() { return new Set(this.state.handles); }
189
- /**
190
- * A session just signed in from outside: its handle is saved as admitted before it is authorized. False: not saved —
191
- * the sign-in must not go on (a restart would not know it, and the next revocation could not be proven to end it).
192
- */
193
- admit(handle) {
194
- if (!/^[0-9a-f]{16}$/.test(handle) || !this.state.totp || !this.state.outside)
195
- return false;
196
- const before = this.state, wasDirty = this.dirty;
197
- this.state = { ...this.state, handles: [...this.state.handles.filter(h => h !== handle), handle].slice(-OUTSIDE_HANDLES_MAX) };
198
- if (this.flush())
199
- return true;
200
- this.restore(before, wasDirty);
201
- return false;
202
- }
203
- /** Undo a change whose write failed, keeping whatever was already owed to the disk before it (#3015 review r3, P2 1). */
204
- restore(before, wasDirty) {
205
- this.state = before;
206
- this.dirty = wasDirty;
207
- if (!wasDirty && this.retry) {
208
- clearTimeout(this.retry);
209
- this.retry = null;
210
- }
211
- if (wasDirty)
212
- this.flush(); // still owed: keep trying (re-arms the timer)
213
- }
214
- get outside() { return this.state.outside && !!this.state.totp; }
215
- /**
216
- * A new secret for the session `handle` to set up (it replaces nothing until confirmEnrollment). Returned once: the
217
- * caller shows it to that session and forgets it.
218
- */
219
- beginEnrollment(handle, account) {
220
- const secret = base32Encode(randomBytes(SECRET_BYTES));
221
- this.pending = { secret, handle, until: this.monotonic() + TOTP_ENROLL_TTL_MS };
222
- return { secret, uri: otpauthUri(secret, account), expiresInMs: TOTP_ENROLL_TTL_MS };
223
- }
224
- /**
225
- * The first code from the app being set up, by the session that began it. "ok": it is now the one (a previous one is
226
- * replaced; the limiter starts afresh). The caller then ends the sessions signed in with the old one.
227
- */
228
- confirmEnrollment(handle, code) {
229
- const p = this.pending;
230
- if (!p || p.handle !== handle || this.monotonic() > p.until) {
231
- if (p && this.monotonic() > p.until)
232
- this.pending = null;
233
- return "expired";
234
- }
235
- const step = matchTotp(base32Decode(p.secret), code, this.now(), -1);
236
- if (step === null)
237
- return "wrong";
238
- const before = this.state, wasDirty = this.dirty;
239
- // A new app replaces the old one: what was authorized under the old one ends (the admitted sessions are forgotten).
240
- this.state = { ...this.state, totp: { secret: p.secret, enrolledAt: this.now(), lastStep: step }, wrong: 0, level: 0, pausedUntil: 0, handles: [] };
241
- if (!this.flush()) {
242
- // Not set up: the state before stands — and if it was itself still owed to the disk (an unsaved Off), it still is.
243
- this.restore(before, wasDirty);
244
- return "unsaved";
245
- }
246
- this.pending = null;
247
- return "ok";
248
- }
249
- /**
250
- * Forget the app; the outside switch goes off with it, and what was authorized from outside ends (handles). In force in
251
- * memory at once; false: not saved yet (retried — a restart before that would read the old file).
252
- */
253
- remove() {
254
- this.pending = null;
255
- this.state = { ...blank() };
256
- return this.flush();
257
- }
258
- /**
259
- * The switch. On only with an app set up. Off ends what was authorized from outside (handles). "unsaved": in force in
260
- * memory, not on disk yet (retried; asking again writes it again).
261
- */
262
- setOutside(on) {
263
- if (on && !this.state.totp)
264
- return "not_enrolled";
265
- if (this.state.outside === on && !this.dirty)
266
- return "ok";
267
- if (this.state.outside !== on)
268
- this.state = { ...this.state, outside: on, ...(on ? {} : { handles: [] }) };
269
- return this.flush() ? "ok" : "unsaved";
270
- }
271
- /** A code typed at sign-in from outside. Each step is accepted once; wrong codes count toward a wait. */
272
- verify(code) {
273
- const t = this.state.totp;
274
- if (!t)
275
- return { kind: "not_enrolled" };
276
- const now = this.now();
277
- if (now < this.state.pausedUntil)
278
- return { kind: "paused", retryAfterMs: this.state.pausedUntil - now };
279
- const step = matchTotp(base32Decode(t.secret), code, now, t.lastStep);
280
- if (step !== null) {
281
- const before = this.state;
282
- this.state = { ...this.state, totp: { ...t, lastStep: step }, wrong: 0, level: 0, pausedUntil: 0 };
283
- if (!this.flush()) {
284
- this.state = { ...before, totp: { ...t, lastStep: step } };
285
- return { kind: "unavailable" };
286
- }
287
- return { kind: "ok" };
288
- }
289
- const skewSteps = totpSkew(base32Decode(t.secret), code, now);
290
- const wrong = this.state.wrong + 1;
291
- if (wrong < TOTP_WRONG_LIMIT) {
292
- this.state = { ...this.state, wrong };
293
- this.flush();
294
- return { kind: "wrong", paused: false, skewSteps };
295
- }
296
- const wait = Math.min(TOTP_PAUSE_MS * 2 ** this.state.level, TOTP_PAUSE_MAX_MS);
297
- this.state = { ...this.state, wrong: 0, level: this.state.level + 1, pausedUntil: now + wait };
298
- this.flush();
299
- return { kind: "wrong", paused: true, retryAfterMs: wait, wrong: TOTP_WRONG_LIMIT, skewSteps };
300
- }
301
- /**
302
- * Saved: true. Not saved: false (warned once until it works again) — memory keeps the new state, and it is written
303
- * again by the next change or every OUTSIDE_SAVE_RETRY_MS until it is (#3008 review, Prism P2 1).
304
- */
305
- flush() {
306
- try {
307
- atomicWriteFileSync(this.path, JSON.stringify(this.state) + "\n", { mode: 0o600 });
308
- this.warned = false;
309
- this.dirty = false;
310
- if (this.retry) {
311
- clearTimeout(this.retry);
312
- this.retry = null;
313
- }
314
- return true;
315
- }
316
- catch (err) {
317
- if (!this.warned)
318
- this.log.warn({ err: err.message, path: this.path }, "Outside connections state could not be saved; retrying");
319
- this.warned = true;
320
- this.dirty = true;
321
- if (!this.retry) {
322
- this.retry = setTimeout(() => { this.retry = null; if (this.dirty)
323
- this.flush(); }, OUTSIDE_SAVE_RETRY_MS);
324
- this.retry.unref?.();
325
- }
326
- return false;
327
- }
328
- }
329
- /** Whether the state in memory is still waiting to be saved. */
330
- get unsaved() { return this.dirty; }
331
- /** Fleet stop: one last write of an unsaved state, then no timer left. */
332
- close() {
333
- if (this.dirty)
334
- this.flush();
335
- if (this.retry) {
336
- clearTimeout(this.retry);
337
- this.retry = null;
338
- }
339
- }
340
- }
341
- // ── The outside link (FleetManager): its owner, its retries, and the closes that are its own ──
342
- /**
343
- * #3008: whose the outside link is — this computer's admin, not a chat account. Never matches a chat owner (those carry
344
- * a live adapter binding); FleetManager.publicOwnerCurrent permits it only while the switch is on, on a web-only fleet.
345
- */
346
- export const OUTSIDE_LINK_OWNER = Object.freeze({ adapterId: "host", userId: "operator", chatId: "host" });
347
- export function isOutsideLinkOwner(owner) {
348
- return owner.adapterId === OUTSIDE_LINK_OWNER.adapterId && owner.userId === OUTSIDE_LINK_OWNER.userId
349
- && owner.chatId === OUTSIDE_LINK_OWNER.chatId && owner.binding === undefined && owner.threadId === undefined;
350
- }
351
- /** #3008 B: a dropped link is reopened twice at most — after 30 s, then 2 minutes. */
352
- export const OUTSIDE_LINK_RETRY_MS = [30_000, 120_000];
353
- /** Closes the switch itself made (or the fleet stopping, or its own failed start): nothing to reopen or announce. */
354
- export const OUTSIDE_OWN_CLOSES = new Set(["outside off", "outside removed", "fleet shutdown", "unattended start failed"]);
355
- export function outsideTimer(fn, ms) {
356
- const timer = setTimeout(fn, ms);
357
- timer.unref?.();
358
- return { cancel: () => clearTimeout(timer) };
359
- }
360
- /** A wait as words: "15 minutes" / 「15 分鐘」, "2 hours" / 「2 小時」 (whole minutes under an hour, else whole hours, rounded up). */
361
- export function outsideDuration(ms) {
362
- const minutes = Math.max(1, Math.ceil(ms / 60_000));
363
- if (minutes < 60)
364
- return minutes === 1 ? t("outside.duration_minute") : t("outside.duration_minutes", minutes);
365
- const hours = Math.ceil(minutes / 60);
366
- return hours === 1 ? t("outside.duration_hour") : t("outside.duration_hours", hours);
367
- }
368
- //# sourceMappingURL=web-remote-access.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web-remote-access.js","sourceRoot":"","sources":["../src/web-remote-access.ts"],"names":[],"mappings":"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"}
@@ -1,126 +0,0 @@
1
- import type { NativePaneRecovery } from "./native-pane-recovery.js";
2
- import { type RuntimePaneSnapshot } from "./runtime-pane-protocol.js";
3
- import { type WindowsCliExecutor, type WindowsCliTask } from "./windows-cli.js";
4
- import { type NativeMcpConnection, type NativeProviderId } from "./windows-cli-providers.js";
5
- export interface WindowsTurn {
6
- id: string;
7
- prompt: string;
8
- output: string;
9
- status: string;
10
- startedAt: number;
11
- finishedAt?: number;
12
- error?: string;
13
- }
14
- export interface WindowsAgent {
15
- id: string;
16
- name: string;
17
- cwd: string;
18
- description: string;
19
- instructions: string;
20
- cli: NativeProviderId;
21
- model?: string;
22
- sandbox: "read-only" | "workspace-write";
23
- createdAt: number;
24
- threadId?: string;
25
- activeId?: string;
26
- turns: WindowsTurn[];
27
- /** Also occupies activeId so an older exec-only coordinator fails closed after rollback. */
28
- paneLaunchId?: string;
29
- paneRecovery?: NativePaneRecovery;
30
- paneRecoveryAt?: number;
31
- paused?: boolean;
32
- /** Once linked, removal from fleet.yaml must not import this provider state again. */
33
- fleet_instance?: string;
34
- machineId?: string;
35
- }
36
- /**
37
- * M-2297: the per-PC agent limit is reached. The message keeps its original first sentence (callers match on it) and
38
- * names the limit and what holds the slots; `limit` and `holders` carry the same for a localised view.
39
- */
40
- export declare class MachineSlotLimitError extends Error {
41
- readonly limit: number;
42
- readonly holders: Array<{
43
- name: string;
44
- unknown: boolean;
45
- }>;
46
- constructor(limit: number, holders: Array<{
47
- name: string;
48
- unknown: boolean;
49
- }>);
50
- }
51
- export interface WindowsAgentPatch {
52
- name?: string;
53
- cwd?: string;
54
- description?: string;
55
- instructions?: string;
56
- sandbox?: WindowsAgent["sandbox"];
57
- cli?: NativeProviderId;
58
- model?: string;
59
- }
60
- export interface WindowsAgentSendOptions {
61
- onSettled?: (task: WindowsCliTask) => void;
62
- mcp?: NativeMcpConnection;
63
- context?: string;
64
- }
65
- export declare class WindowsAgents {
66
- private bridge;
67
- private data;
68
- private file;
69
- private listeners;
70
- private launching;
71
- constructor(home: string, bridge: WindowsCliExecutor);
72
- private change;
73
- private find;
74
- useExecutor(executor: WindowsCliExecutor): void;
75
- get(id: string): WindowsAgent & {
76
- blocked: boolean;
77
- };
78
- list(): Array<Omit<WindowsAgent, "turns" | "instructions"> & {
79
- blocked: boolean;
80
- }>;
81
- subscribe(listener: () => void): () => void;
82
- /** Synchronous profile reservation is shared by exec and pane starts. Unknown owners still occupy a slot. */
83
- private admitMachineSlot;
84
- /** Metadata reservation before a pane can spawn. Exec and persistent adapters can never own one profile together. */
85
- reservePane(id: string, launchId: string): WindowsAgent;
86
- setPaneRecovery(id: string, recovery: NativePaneRecovery | undefined): void;
87
- pinPaneSession(id: string, launchId: string, sessionId: string): void;
88
- /** Only a durable fresh-session intent plus an exact positive exit can replace a pane pin. No provider data is removed. */
89
- replacePaneSession(id: string, raw: RuntimePaneSnapshot, nextSessionId: string): void;
90
- /** The durable Codex fresh intent is committed first; only its exact observed launch may replace the old pin. */
91
- pinFreshCodexSession(id: string, rawPrevious: RuntimePaneSnapshot, rawObserved: RuntimePaneSnapshot): void;
92
- /** A fresh Codex launch can exit before reporting any UUID. Release only that positive exit; retain the old pin. */
93
- releaseUnpinnedCodexPane(id: string, rawPrevious: RuntimePaneSnapshot, rawExit: RuntimePaneSnapshot): void;
94
- /** Only an exact positive owned-exit snapshot releases the old exec-compatible reservation. */
95
- releasePane(id: string, raw: RuntimePaneSnapshot): void;
96
- bindInstance(id: string, name: string): void;
97
- /** A confirmed General binding is born already linked, so legacy import can never turn it into a worker. */
98
- ensureGeneralBinding(input: {
99
- id: string;
100
- instance: string;
101
- machineId: string;
102
- cli: "claude-code" | "codex";
103
- cwd: string;
104
- name: string;
105
- model: string;
106
- instructions: string;
107
- description: string;
108
- }, authorized: () => boolean): WindowsAgent;
109
- /** Validate without changing the retained launch or profile (used before an explicit cold-settings stop). */
110
- previewUpdate(id: string, patch: WindowsAgentPatch): WindowsAgent;
111
- update(id: string, patch: WindowsAgentPatch, authorized?: () => boolean): WindowsAgent;
112
- remove(id: string, authorized?: () => boolean): WindowsAgent;
113
- restore(snapshot: WindowsAgent): void;
114
- setPaused(id: string, paused: boolean): WindowsAgent;
115
- cancel(id: string): WindowsCliTask | null;
116
- create(input: unknown, authorized?: () => boolean, binding?: {
117
- instance: string;
118
- }): Promise<WindowsAgent>;
119
- send(id: string, value: unknown, authorized: () => boolean, options?: WindowsAgentSendOptions): WindowsCliTask | WindowsTurn;
120
- recover(id: string, confirmedStopped: unknown): WindowsAgent & {
121
- blocked: boolean;
122
- };
123
- }
124
- export declare function windowsAgentsFor(owner: object & {
125
- dataDir?: string;
126
- }, executor?: WindowsCliExecutor): WindowsAgents;