@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,558 +0,0 @@
1
- import { NativePaneOutputLog } from "./native-pane-output-log.js";
2
- import { validatePaneOutputBatch } from "./runtime-pane-output.js";
3
- /** Coordinator-side pane handle. Remote PIDs are never exposed as local supervision targets. */
4
- import { EventEmitter } from "node:events";
5
- import { randomUUID } from "node:crypto";
6
- import { lstatSync, readFileSync } from "node:fs";
7
- import { atomicWriteFileSync } from "./atomic-write.js";
8
- import { runtimeJobDigest } from "./runtime-client-store.js";
9
- import { PANE_EDIT_KEYS, validateRuntimePaneRequest, validateRuntimePaneSnapshot, validateRuntimePaneOpenResult } from "./runtime-pane-protocol.js";
10
- import { validateRuntimeTranscriptReference, validatePaneTranscriptBaseline, validatePaneTranscriptWireBatch, sameRuntimeTranscriptScope } from "./runtime-pane-transcript-protocol.js";
11
- export class RuntimePanePort {
12
- endpoint;
13
- file;
14
- inputIsComposer;
15
- record;
16
- tail = Promise.resolve();
17
- error = null;
18
- closing;
19
- outputLog;
20
- lastObservation;
21
- inputCapture;
22
- inputNotSent = false;
23
- inputDiagnostic = null;
24
- consecutiveRefusals = 0;
25
- refusalLogger;
26
- setInputRefusalLogger(log) { this.refusalLogger = log; }
27
- getLastInputDiagnostic() { return this.inputDiagnostic ? { ...this.inputDiagnostic } : null; }
28
- constructor(endpoint, file, launch, inputIsComposer = () => false) {
29
- this.endpoint = endpoint;
30
- this.file = file;
31
- this.inputIsComposer = inputIsComposer;
32
- this.record = { version: 1, machineId: endpoint.machineId, launch, openId: randomUUID() };
33
- try {
34
- const stat = lstatSync(file);
35
- if (!stat.isFile() || stat.isSymbolicLink() || stat.size > 128 * 1024)
36
- throw Error("Unsafe coordinator pane receipt");
37
- const stored = JSON.parse(readFileSync(file, "utf8"));
38
- if (stored?.version !== 1 || stored.machineId !== endpoint.machineId || stored.launch?.agentId !== launch.agentId
39
- || stored.launch.instance !== launch.instance || runtimeJobDigest(stored.launch) !== runtimeJobDigest(launch)
40
- || !/^[a-f0-9-]{36}$/i.test(stored.openId) || stored.statusRequested !== undefined && typeof stored.statusRequested !== "boolean")
41
- throw Error("Coordinator pane receipt scope differs");
42
- if (stored.snapshot)
43
- validateRuntimePaneSnapshot(stored.snapshot);
44
- if (stored.pending) {
45
- const pending = validateRuntimePaneRequest(stored.pending);
46
- if (pending.action !== "reconcile" || !stored.snapshot || pending.paneId !== stored.snapshot.paneId
47
- || pending.launchId !== stored.snapshot.launchId || pending.sequence !== stored.snapshot.commandSequence + 1)
48
- throw Error("Pane command receipt scope differs");
49
- }
50
- if (stored.pendingClose) {
51
- const close = validateRuntimePaneRequest(stored.pendingClose);
52
- if (close.action !== "close" || !stored.snapshot || close.paneId !== stored.snapshot.paneId || close.launchId !== stored.snapshot.launchId)
53
- throw Error("Pane close receipt scope differs");
54
- }
55
- this.record = stored;
56
- }
57
- catch (error) {
58
- if (error.code !== "ENOENT")
59
- throw error;
60
- }
61
- }
62
- save() { atomicWriteFileSync(this.file, JSON.stringify(this.record), { mode: 0o600 }); }
63
- serialize(operation) {
64
- const result = this.tail.catch(() => { }).then(operation);
65
- this.tail = result;
66
- return result;
67
- }
68
- accept(value) {
69
- const snapshot = validateRuntimePaneSnapshot(value);
70
- const launch = this.record.launch;
71
- if (launch.launchId !== undefined && snapshot.launchId !== launch.launchId || snapshot.paneId !== launch.paneId || snapshot.agentId !== launch.agentId || snapshot.instance !== launch.instance
72
- || launch.sessionId !== undefined && snapshot.sessionId !== launch.sessionId
73
- || launch.cli === "claude-code" && snapshot.sessionId !== (launch.sessionId ?? snapshot.launchId)
74
- || this.record.snapshot && (snapshot.launchId !== this.record.snapshot.launchId || snapshot.hostBootId !== this.record.snapshot.hostBootId)
75
- || this.record.snapshot?.sessionId && snapshot.sessionId !== this.record.snapshot.sessionId
76
- || this.record.snapshot && snapshot.commandSequence < this.record.snapshot.commandSequence)
77
- throw Error("Pane ownership proof differs");
78
- return snapshot;
79
- }
80
- async open() {
81
- return this.serialize(async () => {
82
- if (this.closing || this.record.pendingClose)
83
- throw Error("Pane close outcome is retained; inspect its exit before starting again");
84
- this.save(); // The open identity exists before the runtime may spawn.
85
- const { reattached, ...raw } = validateRuntimePaneOpenResult(await this.endpoint.call({ action: "open", operationId: this.record.openId, launch: this.record.launch }));
86
- if (this.record.snapshot && !reattached)
87
- throw Error("Retained pane was not reattached by its host");
88
- const snapshot = this.accept(raw);
89
- this.record.snapshot = snapshot;
90
- this.save();
91
- // Exit/no-launch proof settles even an interrupted input or close. It is never permission to replay either.
92
- if (snapshot.state === "exited") {
93
- delete this.record.pending;
94
- delete this.record.pendingClose;
95
- this.save();
96
- throw Error(snapshot.noLaunch ? "Pane admission refused before launch" : "Retained pane has exited");
97
- }
98
- if (this.record.pending) {
99
- // Exact identity only. The host returns a prior applied result or holds an uncertain input; never resubmits it.
100
- const result = this.accept(await this.endpoint.call(this.record.pending));
101
- this.record.snapshot = result;
102
- delete this.record.pending;
103
- this.save();
104
- }
105
- if (snapshot.state !== "running")
106
- throw Error("Pane is not confirmed running");
107
- return { windowId: snapshot.paneId, reattached };
108
- });
109
- }
110
- /** Read-only recovery of an open whose ACK was lost. Never sends open or starts a process. */
111
- async inspectRetained() {
112
- return this.serialize(async () => {
113
- const launch = this.record.launch;
114
- if (!this.endpoint.online() || !launch.launchId)
115
- throw Error("Retained native owner is unavailable");
116
- const result = await this.endpoint.call({ action: "snapshot", paneId: launch.paneId, launchId: launch.launchId });
117
- const snapshot = this.accept(result);
118
- if (!this.endpoint.online())
119
- throw Error("Retained native observation became disconnected");
120
- this.record.snapshot = snapshot;
121
- this.save();
122
- return structuredClone(snapshot);
123
- });
124
- }
125
- /** Idempotent metadata binding; it never types into the CLI or replays an input. */
126
- async bindConversation(sessionId) {
127
- return this.serialize(async () => {
128
- const before = this.record.snapshot;
129
- if (!before || !this.endpoint.online() || this.closing || this.record.pending || this.record.pendingClose)
130
- throw Error("Pane session owner is unavailable or its input needs reconciliation");
131
- const request = validateRuntimePaneRequest({ action: "bind-session", paneId: before.paneId, launchId: before.launchId, sessionId });
132
- const snapshot = this.accept(await this.endpoint.call(request));
133
- if (!this.endpoint.online() || snapshot.sessionId !== sessionId)
134
- throw Error("Pane conversation binding is unconfirmed");
135
- this.record.snapshot = snapshot;
136
- this.save();
137
- return structuredClone(snapshot);
138
- });
139
- }
140
- /** Intent before the one automatic /status. A lost coordinator must inspect its result, never type it twice. */
141
- beginStatusRequest() {
142
- return this.serialize(async () => {
143
- if (!this.endpoint.online() || this.closing || this.record.pending || this.record.pendingClose || this.record.snapshot?.state !== "running")
144
- throw Error("Status request owner is unconfirmed");
145
- if (this.record.statusRequested)
146
- return false;
147
- this.record.statusRequested = true;
148
- this.save();
149
- return true;
150
- });
151
- }
152
- runtimeTranscriptReference(cursor) {
153
- const pane = this.record.snapshot;
154
- if (!pane?.sessionId || pane.sessionId !== cursor.sessionId)
155
- throw Error("Pane transcript conversation is not pinned");
156
- return validateRuntimeTranscriptReference({ version: 1, machineId: this.endpoint.machineId, hostBootId: pane.hostBootId,
157
- paneId: pane.paneId, launchId: pane.launchId, agentId: pane.agentId, provider: this.record.launch.cli, cursor });
158
- }
159
- async readTranscript(cursor, current = () => true) {
160
- const ref = this.runtimeTranscriptReference(cursor);
161
- if (!this.isTranscriptObservationCurrent(ref) || !current())
162
- throw Error("Pane transcript observation is disconnected");
163
- const result = await this.endpoint.call({ action: "transcript", paneId: ref.paneId, launchId: ref.launchId, cursor: ref.cursor });
164
- if (!this.isTranscriptObservationCurrent(ref) || !current())
165
- throw Error("Pane transcript observation became stale");
166
- return validatePaneTranscriptWireBatch(result, ref.cursor.sessionId);
167
- }
168
- async readTranscriptBaseline(cursor, current = () => true) {
169
- const ref = this.runtimeTranscriptReference(cursor);
170
- if (!this.isTranscriptObservationCurrent(ref) || !current())
171
- throw Error("Pane baseline observation is disconnected");
172
- const result = await this.endpoint.call({ action: "transcript-baseline", paneId: ref.paneId, launchId: ref.launchId, cursor: ref.cursor });
173
- if (!this.isTranscriptObservationCurrent(ref) || !current())
174
- throw Error("Pane baseline observation became stale");
175
- return validatePaneTranscriptBaseline(result, ref.cursor.sessionId);
176
- }
177
- isTranscriptObservationCurrent(ref) {
178
- try {
179
- const pane = this.record.snapshot;
180
- return this.endpoint.online() && !this.closing && !this.record.pendingClose && !!pane && (pane.state === "running" || pane.state === "exited")
181
- && sameRuntimeTranscriptScope(ref, this.runtimeTranscriptReference(ref.cursor));
182
- }
183
- catch {
184
- return false;
185
- }
186
- }
187
- async mutate(make, proof, input = true) {
188
- return this.serialize(async () => {
189
- this.inputNotSent = false;
190
- try {
191
- if (!this.endpoint.online() || this.closing || this.record.snapshot?.state !== "running" || this.record.pending || this.record.pendingClose)
192
- throw Error("Pane input needs reconciliation");
193
- let expectedSeq = this.record.snapshot.seq;
194
- if (input) {
195
- // Internal delivery proof comes from the daemon's recognised runtime-dialog veto (#2990 policy).
196
- // Human dialog proof remains identity/cursor-bound. Composer-only and unproved callers keep the reader check.
197
- // Every policy still needs the exact last capture and carries its output seq to the host.
198
- let capture = proof ? this.inputCapture : undefined;
199
- if (!proof) {
200
- // A read refused during repaint precedes every mutation identity/write. Retry READS only, never input.
201
- const deadline = performance.now() + 2000;
202
- for (let attempt = 0; attempt < 5; attempt++) {
203
- if (!this.endpoint.online() || this.closing || this.record.pendingClose || this.record.snapshot?.state !== "running")
204
- break;
205
- try {
206
- capture = await this.captureCurrent();
207
- }
208
- catch { /* No input request has been built or sent. */ }
209
- if (performance.now() >= deadline) {
210
- capture = undefined;
211
- break;
212
- }
213
- if (capture)
214
- break;
215
- if (attempt < 4)
216
- await new Promise(done => setTimeout(done, 100));
217
- }
218
- if (!capture) {
219
- this.inputNotSent = true;
220
- this.error = "Pane observation unavailable; no input was sent";
221
- return false;
222
- }
223
- }
224
- if (!capture || (!capture.text.trim() && proof?.kind !== "delivery") || proof && capture.text !== proof.screen
225
- || (proof?.kind !== "dialog" && proof?.kind !== "delivery" && !this.inputIsComposer(capture.text))) {
226
- this.inputNotSent = true;
227
- this.error = "Pane input withheld: the intended composer or dialog is not verified";
228
- return false;
229
- }
230
- expectedSeq = capture.snapshot.seq;
231
- if (!this.endpoint.online() || this.closing || this.record.pendingClose || this.record.snapshot?.state !== "running")
232
- return false;
233
- }
234
- const request = validateRuntimePaneRequest(make(this.record.snapshot, expectedSeq));
235
- if (proof?.kind === "delivery" && (request.action !== "key" || request.key !== "Enter"))
236
- throw Error("Delivery proof is only valid for Enter");
237
- if (!("operationId" in request) || !("sequence" in request) || !("paneId" in request))
238
- throw Error("Expected pane mutation");
239
- this.record.pending = { action: "reconcile", paneId: request.paneId, launchId: request.launchId,
240
- operationId: request.operationId, sequence: request.sequence, digest: runtimeJobDigest(request) };
241
- this.save();
242
- if (request.action === "input" || request.action === "key" || request.action === "edit") {
243
- this.inputDiagnostic = { expectedSeq: request.expectedSeq, observedSeq: null, operationId: request.operationId,
244
- commandSequence: request.sequence, action: request.action, retryCount: proof?.retryCount ?? this.consecutiveRefusals };
245
- }
246
- const snapshot = this.accept(await this.endpoint.call(request));
247
- this.record.snapshot = snapshot;
248
- delete this.record.pending;
249
- this.save();
250
- this.error = null;
251
- if (this.inputDiagnostic?.operationId === request.operationId)
252
- this.inputDiagnostic.observedSeq = snapshot.seq;
253
- if (snapshot.inputRefused) {
254
- this.inputNotSent = true;
255
- this.error = "Pane changed after observation; input was not sent";
256
- if (request.action === "input" || request.action === "key" || request.action === "edit") {
257
- this.inputDiagnostic = { expectedSeq: request.expectedSeq, observedSeq: snapshot.seq, operationId: request.operationId,
258
- commandSequence: request.sequence, action: request.action, retryCount: proof?.retryCount ?? this.consecutiveRefusals };
259
- this.consecutiveRefusals++;
260
- try {
261
- this.refusalLogger?.({ ...this.inputDiagnostic });
262
- }
263
- catch { /* Diagnostics never change a positive zero-input ACK. */ }
264
- }
265
- return false;
266
- }
267
- this.consecutiveRefusals = 0;
268
- return true;
269
- }
270
- catch {
271
- this.error = "Pane input outcome is unconfirmed; reconnect and inspect before retrying";
272
- return false;
273
- }
274
- });
275
- }
276
- target(snapshot) {
277
- return { paneId: snapshot.paneId, launchId: snapshot.launchId, operationId: randomUUID(), sequence: snapshot.commandSequence + 1 };
278
- }
279
- async createWindow() { throw Error("Native panes require a typed configured launch, never a shell command"); }
280
- async respawnWindow() { throw Error("Native pane replacement requires confirmed owned exit and a new launch receipt"); }
281
- async killWindow() { if (!await this.killWindowConfirmed())
282
- throw Error("Native pane exit is unconfirmed"); }
283
- async killWindowConfirmed() {
284
- if (this.closing)
285
- return this.closing;
286
- this.closing = this.closeOwned().finally(() => { this.closing = undefined; });
287
- return this.closing;
288
- }
289
- async closeOwned() {
290
- try {
291
- const before = this.record.snapshot;
292
- if (!before)
293
- return false;
294
- // A prior exact host exit receipt remains positive proof after disconnect. It is never inferred from a lost link.
295
- if (this.lastObservation?.state === "exited") {
296
- const exited = this.accept(this.lastObservation);
297
- this.record.snapshot = exited;
298
- delete this.record.pending;
299
- delete this.record.pendingClose;
300
- this.save();
301
- return true;
302
- }
303
- if (!this.endpoint.online())
304
- return false;
305
- const snapshot = this.accept(await this.endpoint.call({ action: "snapshot", paneId: before.paneId, launchId: before.launchId }));
306
- if (snapshot.state === "exited") {
307
- this.record.snapshot = snapshot;
308
- delete this.record.pending;
309
- delete this.record.pendingClose;
310
- this.save();
311
- return true;
312
- }
313
- if (!this.record.pendingClose) {
314
- // Independent of an uncertain input RPC. Capture runs behind any accepted write on the host's pane queue.
315
- this.record.pendingClose = { action: "close", ...this.target(snapshot) };
316
- this.save();
317
- }
318
- const result = this.accept(await this.endpoint.call(this.record.pendingClose));
319
- if (result.state !== "exited")
320
- return false;
321
- this.record.snapshot = result;
322
- delete this.record.pending;
323
- delete this.record.pendingClose;
324
- this.save();
325
- return true;
326
- }
327
- catch {
328
- this.error = "Pane close outcome is unconfirmed; its reservation is retained";
329
- return false;
330
- }
331
- }
332
- async isWindowAlive() { const status = await this.getPaneStatus(); if (!status)
333
- throw Error("Native pane observation is unconfirmed"); return status.alive; }
334
- async setRemainOnExit() { }
335
- async getPaneStatus() {
336
- try {
337
- const before = this.record.snapshot;
338
- if (!before || !this.endpoint.online())
339
- return null;
340
- const snapshot = this.accept(await this.endpoint.call({ action: "snapshot", paneId: before.paneId, launchId: before.launchId }));
341
- if (!this.endpoint.online())
342
- return null;
343
- this.lastObservation = snapshot;
344
- return snapshot.state === "running" || snapshot.state === "exited" ? { alive: snapshot.state === "running", ...(snapshot.exitCode !== undefined ? { exitCode: snapshot.exitCode } : {}) } : null;
345
- }
346
- catch {
347
- return null;
348
- }
349
- }
350
- async getWindowGeometry() {
351
- await this.capture({});
352
- const snapshot = this.record.snapshot;
353
- return { columns: snapshot.columns, rows: snapshot.rows, mode: "native-pane" };
354
- }
355
- async getPaneInputMode() { return "unknown"; }
356
- sendKeys(text, proof) { return this.mutate((snapshot, expectedSeq) => ({ action: "input", ...this.target(snapshot), expectedSeq, kind: "literal", text }), proof); }
357
- async sendKeySequence(keys) {
358
- if (!keys.length || keys.length > 64 || keys.some(key => !Object.hasOwn(PANE_EDIT_KEYS, key)))
359
- return false;
360
- return this.mutate((snapshot, expectedSeq) => ({ action: "edit", ...this.target(snapshot), expectedSeq, keys: [...keys] }));
361
- }
362
- sendSpecialKey(key, _timeoutMs, proof) { return this.mutate((snapshot, expectedSeq) => ({ action: "key", ...this.target(snapshot), expectedSeq, key }), proof); }
363
- async deleteBackward(count) {
364
- if (!Number.isInteger(count) || count <= 0)
365
- return true;
366
- if (count > 8192)
367
- return false;
368
- return this.mutate((snapshot, expectedSeq) => ({ action: "edit", ...this.target(snapshot), expectedSeq, keys: ["BSpace"], repeat: count }));
369
- }
370
- lastInputWasNotSent() { return this.inputNotSent && !this.record.pending; }
371
- getLastSendSpecialKeyError() { return this.error; }
372
- getLastPasteError() { return this.error; }
373
- isLastPasteFailureRecoverable() { return false; }
374
- async pasteText(text) {
375
- if (!await this.pasteBuffer(text))
376
- return false;
377
- // Same settle margin as TmuxManager: Codex otherwise keeps the Enter inside its input/paste burst.
378
- // Exactly one Enter; an uncertain submission must never be "fixed" with a second bare Enter.
379
- await new Promise(resolve => setTimeout(resolve, 500));
380
- return this.sendSpecialKey("Enter");
381
- }
382
- async pasteBuffer(text, opts = {}) {
383
- if (opts.guard && !opts.guard())
384
- return false;
385
- return this.mutate((snapshot, expectedSeq) => {
386
- if (opts.guard && !opts.guard())
387
- throw Error("Delivery admission expired");
388
- return { action: "input", ...this.target(snapshot), expectedSeq, kind: "paste", text };
389
- }, opts.proof);
390
- }
391
- async pipeOutput(logPath) {
392
- this.closeOutput();
393
- const snapshot = this.record.snapshot;
394
- if (!snapshot)
395
- throw Error("Native output owner is missing");
396
- const owner = runtimeJobDigest({ machine: this.endpoint.machineId, host: snapshot.hostBootId, pane: snapshot.paneId, launch: snapshot.launchId });
397
- const feed = new NativePaneOutputLog(logPath, owner, () => this.outputLog === feed && this.endpoint.online() && this.record.snapshot?.hostBootId === snapshot.hostBootId && this.record.snapshot?.launchId === snapshot.launchId, async (offset) => validatePaneOutputBatch(await this.endpoint.call({ action: "output", paneId: snapshot.paneId, launchId: snapshot.launchId, offset }), offset));
398
- this.outputLog = feed;
399
- try {
400
- await feed.start();
401
- }
402
- catch (error) {
403
- this.closeOutput();
404
- throw error;
405
- }
406
- }
407
- closeOutput() { this.outputLog?.stop(); this.outputLog = undefined; }
408
- async captureCurrent(options = {}) {
409
- if (!this.endpoint.online() || !this.record.snapshot)
410
- throw Error("Pane observation is disconnected");
411
- const result = await this.endpoint.call({ action: "capture", paneId: this.record.launch.paneId, launchId: this.record.snapshot.launchId, ...options });
412
- const snapshot = this.accept(result?.snapshot);
413
- if (!this.endpoint.online() || typeof result.text !== "string")
414
- throw Error("Invalid or disconnected pane capture");
415
- // Capturing while an input awaits its response must never erase that input's durable identity.
416
- if (!this.record.pending)
417
- this.record.snapshot = snapshot;
418
- const capture = { snapshot, text: result.text };
419
- if (!options.history && !options.joined && !options.ansi)
420
- this.inputCapture = capture;
421
- return capture;
422
- }
423
- async capture(options) {
424
- return (await this.captureCurrent(options)).text;
425
- }
426
- // Match TmuxManager's ordinary capture-pane -p. VT replay serialization is not detector-ready text.
427
- capturePane() { return this.capture({}); }
428
- capturePaneWithHistory(lines = 50) { return this.capture({ history: lines }); }
429
- capturePaneJoined(lines = 0) { return this.capture({ history: lines, joined: true }); }
430
- getWindowId() { return this.record.snapshot?.paneId ?? ""; }
431
- /** A fresh authenticated endpoint proved the exact retained exit; retire an obsolete local relay without IO. */
432
- async recordConfirmedExit(raw, current) {
433
- await this.serialize(async () => {
434
- current();
435
- const snapshot = this.accept(raw);
436
- if (snapshot.state !== "exited")
437
- throw Error("Native exit evidence is not positive");
438
- this.record.snapshot = snapshot;
439
- this.lastObservation = snapshot;
440
- this.save();
441
- });
442
- }
443
- observedSnapshot() { return this.lastObservation ? structuredClone(this.lastObservation) : this.ownedSnapshot(); }
444
- ownedSnapshot() { return this.record.snapshot ? structuredClone(this.record.snapshot) : null; }
445
- }
446
- /** Passive output source. A disconnected link never proves idle; a reconnect resets all observation fences. */
447
- export class RuntimePaneObservation extends EventEmitter {
448
- endpoint;
449
- owned;
450
- idleMs;
451
- remove;
452
- resetAt = Date.now();
453
- last = new Map();
454
- windows = new Set();
455
- wasOnline = false;
456
- sweep;
457
- constructor(endpoint, owned, idleMs = 300) {
458
- super();
459
- this.endpoint = endpoint;
460
- this.owned = owned;
461
- this.idleMs = idleMs;
462
- }
463
- start() {
464
- if (this.remove)
465
- return;
466
- this.wasOnline = this.endpoint.online();
467
- this.remove = this.endpoint.subscribe(event => {
468
- if (event.machineId !== this.endpoint.machineId)
469
- return;
470
- if (event.type === "machine") {
471
- const online = this.endpoint.online();
472
- if (online !== this.wasOnline) {
473
- this.wasOnline = online;
474
- this.resetAt = Date.now();
475
- this.last.clear();
476
- }
477
- return;
478
- }
479
- if (event.type !== "pane" || !event.pane || !this.windows.has(event.pane.paneId))
480
- return;
481
- const expected = this.owned(event.pane.paneId);
482
- if (!expected || expected.launchId !== event.pane.launchId || expected.hostBootId !== event.pane.hostBootId || expected.agentId !== event.pane.agentId)
483
- return;
484
- const at = Date.now();
485
- this.last.set(event.pane.paneId, at);
486
- this.emit(`output:${event.pane.paneId}`, { paneId: event.pane.paneId, windowId: event.pane.paneId, at });
487
- });
488
- // The ordinary daemon needs a second quiet capture (and recovery after a transient failed capture), even if
489
- // the CLI emits no further output. Like the tmux control client's sweep, this requests reads only: it is not
490
- // output or positive idle evidence, and a disconnected endpoint must remain blind.
491
- this.sweep = setInterval(() => { if (!this.isObservationBlind())
492
- this.emit("safety_sweep"); }, 5_000);
493
- this.sweep.unref?.();
494
- }
495
- stop() { if (this.sweep)
496
- clearInterval(this.sweep); this.sweep = undefined; this.remove?.(); this.remove = undefined; this.last.clear(); this.windows.clear(); }
497
- async registerWindow(id) { this.windows.add(id); this.resetAt = Date.now(); }
498
- unregisterWindow(id) { this.windows.delete(id); this.last.delete(id); }
499
- getObservationResetAt() { return this.resetAt; }
500
- isObservationBlind() { return !this.remove || !this.endpoint.online(); }
501
- isIdle(id) { const last = this.last.get(id); return !this.isObservationBlind() && last !== undefined && Date.now() - last >= this.idleMs; }
502
- getLastOutputAt(id) { return this.isObservationBlind() ? undefined : this.last.get(id); }
503
- hasOutputSince(id, ts) { return !this.isObservationBlind() && (this.last.get(id) ?? 0) > ts; }
504
- async wait(predicate, timeout = 10_000, abandoned) {
505
- const end = performance.now() + timeout;
506
- while (performance.now() < end) {
507
- if (abandoned?.() || this.isObservationBlind())
508
- return false;
509
- if (predicate())
510
- return true;
511
- await new Promise(done => setTimeout(done, 25));
512
- }
513
- return false;
514
- }
515
- waitForIdle(id, timeout) { return this.wait(() => this.isIdle(id), timeout); }
516
- waitUntilIdle(id, timeout, abandoned) { return this.wait(() => this.isIdle(id), timeout, abandoned); }
517
- waitForOutput(id, timeout) { const start = Date.now(); return this.wait(() => this.hasOutputSince(id, start), timeout); }
518
- }
519
- /** One configured agent's host facade. Session/PID APIs never cross the machine boundary as local process evidence. */
520
- export class RuntimePaneHostPort {
521
- pane;
522
- endpoint;
523
- executionHost = "remote";
524
- constructor(pane, endpoint) {
525
- this.pane = pane;
526
- this.endpoint = endpoint;
527
- }
528
- bind(_session, id) {
529
- if (id && id !== this.pane.getWindowId())
530
- throw Error("Pane selector is outside this agent's launch");
531
- return this.pane;
532
- }
533
- async ensureSession() { if (!this.endpoint.online())
534
- throw Error("Native pane machine is offline"); }
535
- async sessionExists() { return this.endpoint.online(); }
536
- async sessionExistsStrict() { if (!this.endpoint.online())
537
- throw Error("Native pane machine observation is unknown"); return true; }
538
- async killSession() { await this.pane.killWindow(); }
539
- async getServerPid() { return null; }
540
- async listWindows() {
541
- const owned = this.pane.ownedSnapshot();
542
- if (!owned)
543
- return [];
544
- const result = await this.endpoint.call({ action: "list" });
545
- if (!Array.isArray(result?.panes))
546
- throw Error("Invalid pane list");
547
- const matched = result.panes.map(validateRuntimePaneSnapshot).find(row => row.paneId === owned.paneId);
548
- if (!matched)
549
- throw Error("Owned pane is missing; replacement requires reconciliation");
550
- if (matched.agentId !== owned.agentId || matched.launchId !== owned.launchId || matched.hostBootId !== owned.hostBootId || matched.state === "unknown")
551
- throw Error("Owned pane identity is unconfirmed");
552
- return matched.state === "exited" ? [] : [{ id: matched.paneId, name: matched.instance }];
553
- }
554
- listWindowsStrict() { return this.listWindows(); }
555
- async getPanePid() { return null; }
556
- async listPanePids() { return []; }
557
- }
558
- //# sourceMappingURL=runtime-pane-port.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-pane-port.js","sourceRoot":"","sources":["../src/runtime-pane-port.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- export interface PaneHostDescriptor {
2
- version: 1;
3
- scope: string;
4
- hostBootId: string;
5
- pid: number;
6
- port: number;
7
- token: string;
8
- systemBootId?: string;
9
- }
10
- export declare function protectPaneDirectory(directory: string): Promise<void>;
11
- export declare function readPaneHostDescriptor(directory: string, scope: string): PaneHostDescriptor | null;
12
- export declare function savePaneHostDescriptor(directory: string, value: PaneHostDescriptor): void;
13
- /** Called under the host's profile lock, after its listener has closed. Never remove another boot's discovery. */
14
- export declare function removePaneHostDescriptor(directory: string, value: PaneHostDescriptor): void;