@songsid/agend 2.3.5-alpha.4 → 2.3.5-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (838) hide show
  1. package/THIRD_PARTY_NOTICES.md +52 -0
  2. package/dist/accounts-view.d.ts +97 -0
  3. package/dist/accounts-view.js +116 -0
  4. package/dist/accounts-view.js.map +1 -0
  5. package/dist/agent-cli-instructions.md +1 -1
  6. package/dist/agent-credentials.d.ts +24 -0
  7. package/dist/agent-credentials.js +66 -0
  8. package/dist/agent-credentials.js.map +1 -0
  9. package/dist/agent-endpoint.d.ts +3 -1
  10. package/dist/agent-endpoint.js +13 -0
  11. package/dist/agent-endpoint.js.map +1 -1
  12. package/dist/agent-file-read.js +1 -1
  13. package/dist/agent-file-read.js.map +1 -1
  14. package/dist/agent-runtime-change.d.ts +3 -1
  15. package/dist/agent-runtime-change.js +15 -3
  16. package/dist/agent-runtime-change.js.map +1 -1
  17. package/dist/agent-workspace.d.ts +93 -0
  18. package/dist/agent-workspace.js +353 -0
  19. package/dist/agent-workspace.js.map +1 -0
  20. package/dist/auth-api.d.ts +27 -0
  21. package/dist/auth-api.js +164 -3
  22. package/dist/auth-api.js.map +1 -1
  23. package/dist/authority/session-authorizations.d.ts +28 -4
  24. package/dist/authority/session-authorizations.js +63 -17
  25. package/dist/authority/session-authorizations.js.map +1 -1
  26. package/dist/backend/antigravity.js +3 -1
  27. package/dist/backend/antigravity.js.map +1 -1
  28. package/dist/backend/codex-footer-hints.d.ts +3 -0
  29. package/dist/backend/codex-footer-hints.js +14 -0
  30. package/dist/backend/codex-footer-hints.js.map +1 -1
  31. package/dist/backend/codex-metadata.d.ts +14 -0
  32. package/dist/backend/codex-metadata.js +45 -0
  33. package/dist/backend/codex-metadata.js.map +1 -1
  34. package/dist/backend/codex-quota-history.d.ts +7 -0
  35. package/dist/backend/codex-quota-history.js +57 -0
  36. package/dist/backend/codex-quota-history.js.map +1 -0
  37. package/dist/backend/codex-session-lookup.d.ts +6 -0
  38. package/dist/backend/codex-session-lookup.js +1 -1
  39. package/dist/backend/codex-session-lookup.js.map +1 -1
  40. package/dist/backend/codex-speed.d.ts +14 -0
  41. package/dist/backend/codex-speed.js +35 -0
  42. package/dist/backend/codex-speed.js.map +1 -0
  43. package/dist/backend/codex.d.ts +7 -0
  44. package/dist/backend/codex.js +78 -15
  45. package/dist/backend/codex.js.map +1 -1
  46. package/dist/backend/grok-weekly-reset.d.ts +24 -0
  47. package/dist/backend/grok-weekly-reset.js +95 -0
  48. package/dist/backend/grok-weekly-reset.js.map +1 -0
  49. package/dist/backend/grok.d.ts +30 -1
  50. package/dist/backend/grok.js +301 -54
  51. package/dist/backend/grok.js.map +1 -1
  52. package/dist/backend/kiro.d.ts +3 -0
  53. package/dist/backend/kiro.js +50 -2
  54. package/dist/backend/kiro.js.map +1 -1
  55. package/dist/backend/muse.js +5 -3
  56. package/dist/backend/muse.js.map +1 -1
  57. package/dist/backend/native-pane.d.ts +3 -1
  58. package/dist/backend/native-pane.js +2 -2
  59. package/dist/backend/native-pane.js.map +1 -1
  60. package/dist/backend/types.d.ts +13 -1
  61. package/dist/backend/types.js +3 -0
  62. package/dist/backend/types.js.map +1 -1
  63. package/dist/build-provenance-cli.d.ts +3 -0
  64. package/dist/build-provenance-cli.js +11 -0
  65. package/dist/build-provenance-cli.js.map +1 -0
  66. package/dist/build-provenance.d.ts +20 -0
  67. package/dist/build-provenance.js +67 -0
  68. package/dist/build-provenance.js.map +1 -0
  69. package/dist/build-provenance.json +1 -0
  70. package/dist/cache-ledger.d.ts +95 -0
  71. package/dist/cache-ledger.js +276 -4
  72. package/dist/cache-ledger.js.map +1 -1
  73. package/dist/cache-service.d.ts +5 -0
  74. package/dist/cache-service.js +16 -4
  75. package/dist/cache-service.js.map +1 -1
  76. package/dist/channel/adapters/discord.js +11 -3
  77. package/dist/channel/adapters/discord.js.map +1 -1
  78. package/dist/channel/adapters/telegram.d.ts +51 -0
  79. package/dist/channel/adapters/telegram.js +235 -17
  80. package/dist/channel/adapters/telegram.js.map +1 -1
  81. package/dist/channel/mcp-tools.js +3 -3
  82. package/dist/channel/mcp-tools.js.map +1 -1
  83. package/dist/channel/types.d.ts +2 -0
  84. package/dist/claude-auth-status.d.ts +48 -0
  85. package/dist/claude-auth-status.js +149 -0
  86. package/dist/claude-auth-status.js.map +1 -0
  87. package/dist/cli.js +138 -37
  88. package/dist/cli.js.map +1 -1
  89. package/dist/config-validator.js +21 -1
  90. package/dist/config-validator.js.map +1 -1
  91. package/dist/cross-instance-notice.d.ts +10 -0
  92. package/dist/cross-instance-notice.js +67 -5
  93. package/dist/cross-instance-notice.js.map +1 -1
  94. package/dist/daemon.d.ts +70 -1
  95. package/dist/daemon.js +547 -25
  96. package/dist/daemon.js.map +1 -1
  97. package/dist/dashboard-permissions.d.ts +8 -0
  98. package/dist/dashboard-permissions.js +16 -0
  99. package/dist/dashboard-permissions.js.map +1 -1
  100. package/dist/delivery-consumed-watch.d.ts +23 -1
  101. package/dist/delivery-consumed-watch.js +30 -3
  102. package/dist/delivery-consumed-watch.js.map +1 -1
  103. package/dist/delivery-reconciliation.d.ts +1 -1
  104. package/dist/delivery-reconciliation.js +1 -1
  105. package/dist/delivery-reconciliation.js.map +1 -1
  106. package/dist/doctor.js +20 -9
  107. package/dist/doctor.js.map +1 -1
  108. package/dist/export-import.d.ts +7 -0
  109. package/dist/export-import.js +44 -10
  110. package/dist/export-import.js.map +1 -1
  111. package/dist/fleet-context.d.ts +2 -0
  112. package/dist/fleet-manager.d.ts +359 -7
  113. package/dist/fleet-manager.js +1365 -90
  114. package/dist/fleet-manager.js.map +1 -1
  115. package/dist/fleet-windows-runtime.d.ts +2 -1
  116. package/dist/fleet-windows-runtime.js +25 -7
  117. package/dist/fleet-windows-runtime.js.map +1 -1
  118. package/dist/general-knowledge/skills/concepts/SKILL.md +425 -0
  119. package/dist/general-knowledge/skills/credential-profiles/SKILL.md +5 -2
  120. package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +1 -0
  121. package/dist/general-knowledge/skills/fleet-health/SKILL.md +2 -2
  122. package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +3 -1
  123. package/dist/general-knowledge/skills/kiro-engine-migration/SKILL.md +41 -4
  124. package/dist/general-knowledge/skills/session-management/SKILL.md +1 -1
  125. package/dist/general-knowledge/skills/tui-effort/SKILL.md +10 -10
  126. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +31 -15
  127. package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +1 -1
  128. package/dist/general-role.d.ts +1 -1
  129. package/dist/general-role.js +1 -0
  130. package/dist/general-role.js.map +1 -1
  131. package/dist/hub/admission.d.ts +28 -0
  132. package/dist/hub/admission.js +62 -0
  133. package/dist/hub/admission.js.map +1 -0
  134. package/dist/hub/attachments/limits.d.ts +20 -0
  135. package/dist/hub/attachments/limits.js +48 -0
  136. package/dist/hub/attachments/limits.js.map +1 -0
  137. package/dist/hub/attachments/store.d.ts +116 -0
  138. package/dist/hub/attachments/store.js +246 -0
  139. package/dist/hub/attachments/store.js.map +1 -0
  140. package/dist/hub/audit/index.d.ts +62 -0
  141. package/dist/hub/audit/index.js +344 -0
  142. package/dist/hub/audit/index.js.map +1 -0
  143. package/dist/hub/browser-certificate.d.ts +38 -0
  144. package/dist/hub/browser-certificate.js +247 -0
  145. package/dist/hub/browser-certificate.js.map +1 -0
  146. package/dist/hub/buttons-model.d.ts +9 -0
  147. package/dist/hub/buttons-model.js +42 -0
  148. package/dist/hub/buttons-model.js.map +1 -0
  149. package/dist/hub/buttons.d.ts +54 -0
  150. package/dist/hub/buttons.js +346 -0
  151. package/dist/hub/buttons.js.map +1 -0
  152. package/dist/hub/catalog.d.ts +74 -0
  153. package/dist/hub/catalog.js +195 -0
  154. package/dist/hub/catalog.js.map +1 -0
  155. package/dist/hub/client.d.ts +69 -0
  156. package/dist/hub/client.js +300 -0
  157. package/dist/hub/client.js.map +1 -0
  158. package/dist/hub/compose/member.d.ts +139 -0
  159. package/dist/hub/compose/member.js +450 -0
  160. package/dist/hub/compose/member.js.map +1 -0
  161. package/dist/hub/compose/server.d.ts +77 -0
  162. package/dist/hub/compose/server.js +349 -0
  163. package/dist/hub/compose/server.js.map +1 -0
  164. package/dist/hub/compose/views.d.ts +12 -0
  165. package/dist/hub/compose/views.js +4 -0
  166. package/dist/hub/compose/views.js.map +1 -0
  167. package/dist/hub/db.d.ts +56 -0
  168. package/dist/hub/db.js +188 -0
  169. package/dist/hub/db.js.map +1 -0
  170. package/dist/hub/directory/config.d.ts +39 -0
  171. package/dist/hub/directory/config.js +108 -0
  172. package/dist/hub/directory/config.js.map +1 -0
  173. package/dist/hub/directory/directory.d.ts +18 -0
  174. package/dist/hub/directory/directory.js +320 -0
  175. package/dist/hub/directory/directory.js.map +1 -0
  176. package/dist/hub/directory/index.d.ts +7 -0
  177. package/dist/hub/directory/index.js +4 -0
  178. package/dist/hub/directory/index.js.map +1 -0
  179. package/dist/hub/directory/profiles.d.ts +41 -0
  180. package/dist/hub/directory/profiles.js +90 -0
  181. package/dist/hub/directory/profiles.js.map +1 -0
  182. package/dist/hub/directory/types.d.ts +71 -0
  183. package/dist/hub/directory/types.js +14 -0
  184. package/dist/hub/directory/types.js.map +1 -0
  185. package/dist/hub/execution/cli-provider.d.ts +23 -0
  186. package/dist/hub/execution/cli-provider.js +341 -0
  187. package/dist/hub/execution/cli-provider.js.map +1 -0
  188. package/dist/hub/execution/index.d.ts +13 -0
  189. package/dist/hub/execution/index.js +8 -0
  190. package/dist/hub/execution/index.js.map +1 -0
  191. package/dist/hub/execution/model-broker.d.ts +24 -0
  192. package/dist/hub/execution/model-broker.js +208 -0
  193. package/dist/hub/execution/model-broker.js.map +1 -0
  194. package/dist/hub/execution/provider-setup.d.ts +11 -0
  195. package/dist/hub/execution/provider-setup.js +21 -0
  196. package/dist/hub/execution/provider-setup.js.map +1 -0
  197. package/dist/hub/execution/sandbox-runner.d.ts +1 -0
  198. package/dist/hub/execution/sandbox-runner.js +221 -0
  199. package/dist/hub/execution/sandbox-runner.js.map +1 -0
  200. package/dist/hub/execution/service.d.ts +136 -0
  201. package/dist/hub/execution/service.js +459 -0
  202. package/dist/hub/execution/service.js.map +1 -0
  203. package/dist/hub/execution/store.d.ts +61 -0
  204. package/dist/hub/execution/store.js +182 -0
  205. package/dist/hub/execution/store.js.map +1 -0
  206. package/dist/hub/execution/views.d.ts +20 -0
  207. package/dist/hub/execution/views.js +48 -0
  208. package/dist/hub/execution/views.js.map +1 -0
  209. package/dist/hub/http/compose.d.ts +20 -0
  210. package/dist/hub/http/compose.js +518 -0
  211. package/dist/hub/http/compose.js.map +1 -0
  212. package/dist/hub/http/core.d.ts +49 -0
  213. package/dist/hub/http/core.js +124 -0
  214. package/dist/hub/http/core.js.map +1 -0
  215. package/dist/hub/http/deps.d.ts +61 -0
  216. package/dist/hub/http/deps.js +2 -0
  217. package/dist/hub/http/deps.js.map +1 -0
  218. package/dist/hub/http/schema.d.ts +14 -0
  219. package/dist/hub/http/schema.js +80 -0
  220. package/dist/hub/http/schema.js.map +1 -0
  221. package/dist/hub/identity.d.ts +32 -0
  222. package/dist/hub/identity.js +80 -0
  223. package/dist/hub/identity.js.map +1 -0
  224. package/dist/hub/init/browser-certificate.d.ts +9 -0
  225. package/dist/hub/init/browser-certificate.js +78 -0
  226. package/dist/hub/init/browser-certificate.js.map +1 -0
  227. package/dist/hub/init/browser-tls.d.ts +18 -0
  228. package/dist/hub/init/browser-tls.js +62 -0
  229. package/dist/hub/init/browser-tls.js.map +1 -0
  230. package/dist/hub/init/cli.d.ts +3 -0
  231. package/dist/hub/init/cli.js +83 -0
  232. package/dist/hub/init/cli.js.map +1 -0
  233. package/dist/hub/init/directory-certificate.d.ts +24 -0
  234. package/dist/hub/init/directory-certificate.js +222 -0
  235. package/dist/hub/init/directory-certificate.js.map +1 -0
  236. package/dist/hub/init/existing-fleet.d.ts +6 -0
  237. package/dist/hub/init/existing-fleet.js +58 -0
  238. package/dist/hub/init/existing-fleet.js.map +1 -0
  239. package/dist/hub/init/handoff.d.ts +8 -0
  240. package/dist/hub/init/handoff.js +36 -0
  241. package/dist/hub/init/handoff.js.map +1 -0
  242. package/dist/hub/init/identity.d.ts +5 -0
  243. package/dist/hub/init/identity.js +24 -0
  244. package/dist/hub/init/identity.js.map +1 -0
  245. package/dist/hub/init/initializer.d.ts +24 -0
  246. package/dist/hub/init/initializer.js +385 -0
  247. package/dist/hub/init/initializer.js.map +1 -0
  248. package/dist/hub/init/inventory.d.ts +17 -0
  249. package/dist/hub/init/inventory.js +33 -0
  250. package/dist/hub/init/inventory.js.map +1 -0
  251. package/dist/hub/init/layout.d.ts +32 -0
  252. package/dist/hub/init/layout.js +53 -0
  253. package/dist/hub/init/layout.js.map +1 -0
  254. package/dist/hub/init/network.d.ts +18 -0
  255. package/dist/hub/init/network.js +104 -0
  256. package/dist/hub/init/network.js.map +1 -0
  257. package/dist/hub/init/plan-digest.d.ts +5 -0
  258. package/dist/hub/init/plan-digest.js +47 -0
  259. package/dist/hub/init/plan-digest.js.map +1 -0
  260. package/dist/hub/init/prompt.d.ts +26 -0
  261. package/dist/hub/init/prompt.js +110 -0
  262. package/dist/hub/init/prompt.js.map +1 -0
  263. package/dist/hub/init/secret-file.d.ts +1 -0
  264. package/dist/hub/init/secret-file.js +59 -0
  265. package/dist/hub/init/secret-file.js.map +1 -0
  266. package/dist/hub/init/text.d.ts +127 -0
  267. package/dist/hub/init/text.js +247 -0
  268. package/dist/hub/init/text.js.map +1 -0
  269. package/dist/hub/init/types.d.ts +114 -0
  270. package/dist/hub/init/types.js +9 -0
  271. package/dist/hub/init/types.js.map +1 -0
  272. package/dist/hub/init/wizard.d.ts +34 -0
  273. package/dist/hub/init/wizard.js +554 -0
  274. package/dist/hub/init/wizard.js.map +1 -0
  275. package/dist/hub/initialization.d.ts +23 -0
  276. package/dist/hub/initialization.js +28 -0
  277. package/dist/hub/initialization.js.map +1 -0
  278. package/dist/hub/member/agent-mode.d.ts +6 -0
  279. package/dist/hub/member/agent-mode.js +23 -0
  280. package/dist/hub/member/agent-mode.js.map +1 -0
  281. package/dist/hub/member/attachments.d.ts +29 -0
  282. package/dist/hub/member/attachments.js +107 -0
  283. package/dist/hub/member/attachments.js.map +1 -0
  284. package/dist/hub/member/exposure-api.d.ts +87 -0
  285. package/dist/hub/member/exposure-api.js +64 -0
  286. package/dist/hub/member/exposure-api.js.map +1 -0
  287. package/dist/hub/member/exposures.d.ts +123 -0
  288. package/dist/hub/member/exposures.js +282 -0
  289. package/dist/hub/member/exposures.js.map +1 -0
  290. package/dist/hub/member/pairing-api.d.ts +85 -0
  291. package/dist/hub/member/pairing-api.js +385 -0
  292. package/dist/hub/member/pairing-api.js.map +1 -0
  293. package/dist/hub/member/quota.d.ts +20 -0
  294. package/dist/hub/member/quota.js +98 -0
  295. package/dist/hub/member/quota.js.map +1 -0
  296. package/dist/hub/member-journal.d.ts +104 -0
  297. package/dist/hub/member-journal.js +336 -0
  298. package/dist/hub/member-journal.js.map +1 -0
  299. package/dist/hub/member-reconciliation.d.ts +14 -0
  300. package/dist/hub/member-reconciliation.js +97 -0
  301. package/dist/hub/member-reconciliation.js.map +1 -0
  302. package/dist/hub/mount.d.ts +39 -0
  303. package/dist/hub/mount.js +123 -0
  304. package/dist/hub/mount.js.map +1 -0
  305. package/dist/hub/pairing-client.d.ts +17 -0
  306. package/dist/hub/pairing-client.js +108 -0
  307. package/dist/hub/pairing-client.js.map +1 -0
  308. package/dist/hub/pairing.d.ts +65 -0
  309. package/dist/hub/pairing.js +211 -0
  310. package/dist/hub/pairing.js.map +1 -0
  311. package/dist/hub/policy.d.ts +63 -0
  312. package/dist/hub/policy.js +147 -0
  313. package/dist/hub/policy.js.map +1 -0
  314. package/dist/hub/preview.d.ts +32 -0
  315. package/dist/hub/preview.js +64 -0
  316. package/dist/hub/preview.js.map +1 -0
  317. package/dist/hub/private-files.d.ts +5 -0
  318. package/dist/hub/private-files.js +44 -0
  319. package/dist/hub/private-files.js.map +1 -0
  320. package/dist/hub/profile.d.ts +59 -0
  321. package/dist/hub/profile.js +73 -0
  322. package/dist/hub/profile.js.map +1 -0
  323. package/dist/hub/protocol.d.ts +779 -0
  324. package/dist/hub/protocol.js +93 -0
  325. package/dist/hub/protocol.js.map +1 -0
  326. package/dist/hub/quota.d.ts +24 -0
  327. package/dist/hub/quota.js +112 -0
  328. package/dist/hub/quota.js.map +1 -0
  329. package/dist/hub/representative.d.ts +141 -0
  330. package/dist/hub/representative.js +528 -0
  331. package/dist/hub/representative.js.map +1 -0
  332. package/dist/hub/retention.d.ts +17 -0
  333. package/dist/hub/retention.js +45 -0
  334. package/dist/hub/retention.js.map +1 -0
  335. package/dist/hub/rooms.d.ts +120 -0
  336. package/dist/hub/rooms.js +535 -0
  337. package/dist/hub/rooms.js.map +1 -0
  338. package/dist/hub/runtime.d.ts +106 -0
  339. package/dist/hub/runtime.js +298 -0
  340. package/dist/hub/runtime.js.map +1 -0
  341. package/dist/hub/server.d.ts +56 -0
  342. package/dist/hub/server.js +202 -0
  343. package/dist/hub/server.js.map +1 -0
  344. package/dist/hub/service-start.d.ts +17 -0
  345. package/dist/hub/service-start.js +109 -0
  346. package/dist/hub/service-start.js.map +1 -0
  347. package/dist/hub/sessions.d.ts +53 -0
  348. package/dist/hub/sessions.js +196 -0
  349. package/dist/hub/sessions.js.map +1 -0
  350. package/dist/hub/socket.d.ts +24 -0
  351. package/dist/hub/socket.js +79 -0
  352. package/dist/hub/socket.js.map +1 -0
  353. package/dist/hub/store.d.ts +77 -0
  354. package/dist/hub/store.js +88 -0
  355. package/dist/hub/store.js.map +1 -0
  356. package/dist/hub/tls.d.ts +31 -0
  357. package/dist/hub/tls.js +135 -0
  358. package/dist/hub/tls.js.map +1 -0
  359. package/dist/hub/types.d.ts +401 -0
  360. package/dist/hub/types.js +2 -0
  361. package/dist/hub/types.js.map +1 -0
  362. package/dist/hub/validation.d.ts +33 -0
  363. package/dist/hub/validation.js +136 -0
  364. package/dist/hub/validation.js.map +1 -0
  365. package/dist/hub/version-floor.d.ts +10 -0
  366. package/dist/hub/version-floor.js +45 -0
  367. package/dist/hub/version-floor.js.map +1 -0
  368. package/dist/hub-browser-certificate-policy.d.ts +31 -0
  369. package/dist/hub-browser-certificate-policy.js +25 -0
  370. package/dist/hub-browser-certificate-policy.js.map +1 -0
  371. package/dist/hub-membership-settings.d.ts +6 -0
  372. package/dist/hub-membership-settings.js +21 -0
  373. package/dist/hub-membership-settings.js.map +1 -0
  374. package/dist/hub-mode.d.ts +15 -0
  375. package/dist/hub-mode.js +17 -0
  376. package/dist/hub-mode.js.map +1 -0
  377. package/dist/hub-pairing-summary.d.ts +48 -0
  378. package/dist/hub-pairing-summary.js +36 -0
  379. package/dist/hub-pairing-summary.js.map +1 -0
  380. package/dist/hub-report-target.d.ts +32 -0
  381. package/dist/hub-report-target.js +33 -0
  382. package/dist/hub-report-target.js.map +1 -0
  383. package/dist/hub-retention-policy.d.ts +14 -0
  384. package/dist/hub-retention-policy.js +15 -0
  385. package/dist/hub-retention-policy.js.map +1 -0
  386. package/dist/instance-config-impact.js +3 -0
  387. package/dist/instance-config-impact.js.map +1 -1
  388. package/dist/instance-lifecycle.d.ts +17 -2
  389. package/dist/instance-lifecycle.js +58 -8
  390. package/dist/instance-lifecycle.js.map +1 -1
  391. package/dist/instance-topic-delete.d.ts +77 -0
  392. package/dist/instance-topic-delete.js +123 -0
  393. package/dist/instance-topic-delete.js.map +1 -0
  394. package/dist/instructions.d.ts +1 -1
  395. package/dist/instructions.js +1 -1
  396. package/dist/instructions.js.map +1 -1
  397. package/dist/kiro-engine-status.d.ts +11 -0
  398. package/dist/kiro-engine-status.js +6 -0
  399. package/dist/kiro-engine-status.js.map +1 -1
  400. package/dist/launchd-service-domain.d.ts +5 -0
  401. package/dist/launchd-service-domain.js +21 -0
  402. package/dist/launchd-service-domain.js.map +1 -0
  403. package/dist/locale.js +125 -3
  404. package/dist/locale.js.map +1 -1
  405. package/dist/log-service.d.ts +28 -0
  406. package/dist/log-service.js +29 -0
  407. package/dist/log-service.js.map +1 -1
  408. package/dist/log-steps.d.ts +4 -3
  409. package/dist/log-steps.js +32 -7
  410. package/dist/log-steps.js.map +1 -1
  411. package/dist/logger.d.ts +16 -2
  412. package/dist/logger.js +346 -66
  413. package/dist/logger.js.map +1 -1
  414. package/dist/login-flows.d.ts +15 -7
  415. package/dist/login-flows.js +29 -3
  416. package/dist/login-flows.js.map +1 -1
  417. package/dist/login-manager.js +25 -4
  418. package/dist/login-manager.js.map +1 -1
  419. package/dist/ls-rows.js +3 -4
  420. package/dist/ls-rows.js.map +1 -1
  421. package/dist/missed-offline.d.ts +25 -0
  422. package/dist/missed-offline.js +79 -0
  423. package/dist/missed-offline.js.map +1 -0
  424. package/dist/native-instance-api.d.ts +0 -1
  425. package/dist/native-instance-api.js +15 -3
  426. package/dist/native-instance-api.js.map +1 -1
  427. package/dist/native-instance-input.d.ts +3 -0
  428. package/dist/native-instance-input.js +6 -1
  429. package/dist/native-instance-input.js.map +1 -1
  430. package/dist/native-instance-registry.d.ts +6 -0
  431. package/dist/native-instance-registry.js +24 -0
  432. package/dist/native-instance-registry.js.map +1 -1
  433. package/dist/native-mcp.d.ts +3 -0
  434. package/dist/native-mcp.js +15 -2
  435. package/dist/native-mcp.js.map +1 -1
  436. package/dist/native-pane-lifecycle.d.ts +8 -0
  437. package/dist/native-pane-lifecycle.js +13 -4
  438. package/dist/native-pane-lifecycle.js.map +1 -1
  439. package/dist/native-pane-manager.js +17 -9
  440. package/dist/native-pane-manager.js.map +1 -1
  441. package/dist/needs-you-hub.d.ts +9 -1
  442. package/dist/needs-you-hub.js +46 -8
  443. package/dist/needs-you-hub.js.map +1 -1
  444. package/dist/needs-you.d.ts +47 -2
  445. package/dist/needs-you.js +31 -3
  446. package/dist/needs-you.js.map +1 -1
  447. package/dist/office-share-page.js +2 -2
  448. package/dist/office-share-page.js.map +1 -1
  449. package/dist/office-share.d.ts +11 -0
  450. package/dist/office-share.js +14 -0
  451. package/dist/office-share.js.map +1 -1
  452. package/dist/office-talk.d.ts +26 -0
  453. package/dist/office-talk.js +50 -0
  454. package/dist/office-talk.js.map +1 -0
  455. package/dist/outbound-handlers.d.ts +14 -0
  456. package/dist/outbound-handlers.js +49 -6
  457. package/dist/outbound-handlers.js.map +1 -1
  458. package/dist/outbound-schemas.d.ts +33 -1
  459. package/dist/outbound-schemas.js +29 -16
  460. package/dist/outbound-schemas.js.map +1 -1
  461. package/dist/pane-quota-history.d.ts +9 -0
  462. package/dist/pane-quota-history.js +67 -0
  463. package/dist/pane-quota-history.js.map +1 -0
  464. package/dist/pause-marker.d.ts +1 -1
  465. package/dist/pause-marker.js +1 -1
  466. package/dist/pause-marker.js.map +1 -1
  467. package/dist/platform-general.d.ts +46 -0
  468. package/dist/platform-general.js +91 -0
  469. package/dist/platform-general.js.map +1 -0
  470. package/dist/public-web-gateway.js +7 -0
  471. package/dist/public-web-gateway.js.map +1 -1
  472. package/dist/queued-handoffs.d.ts +33 -0
  473. package/dist/queued-handoffs.js +75 -0
  474. package/dist/queued-handoffs.js.map +1 -0
  475. package/dist/quickstart.d.ts +13 -0
  476. package/dist/quickstart.js +81 -5
  477. package/dist/quickstart.js.map +1 -1
  478. package/dist/quota-notice.d.ts +7 -0
  479. package/dist/quota-notice.js +40 -0
  480. package/dist/quota-notice.js.map +1 -1
  481. package/dist/reply-buttons-controller.js +10 -6
  482. package/dist/reply-buttons-controller.js.map +1 -1
  483. package/dist/reply-polls.d.ts +2 -2
  484. package/dist/reply-polls.js +3 -3
  485. package/dist/reply-polls.js.map +1 -1
  486. package/dist/runtime-api.d.ts +2 -0
  487. package/dist/runtime-api.js +25 -7
  488. package/dist/runtime-api.js.map +1 -1
  489. package/dist/runtime-build-info.js +5 -3
  490. package/dist/runtime-build-info.js.map +1 -1
  491. package/dist/runtime-bundle.d.ts +3 -0
  492. package/dist/runtime-bundle.js +3 -1
  493. package/dist/runtime-bundle.js.map +1 -1
  494. package/dist/runtime-cli.d.ts +8 -1
  495. package/dist/runtime-cli.js +127 -8
  496. package/dist/runtime-cli.js.map +1 -1
  497. package/dist/runtime-client-store.d.ts +7 -0
  498. package/dist/runtime-client-store.js +30 -2
  499. package/dist/runtime-client-store.js.map +1 -1
  500. package/dist/runtime-client.d.ts +63 -1
  501. package/dist/runtime-client.js +295 -21
  502. package/dist/runtime-client.js.map +1 -1
  503. package/dist/runtime-coordinator.d.ts +7 -0
  504. package/dist/runtime-coordinator.js +213 -35
  505. package/dist/runtime-coordinator.js.map +1 -1
  506. package/dist/runtime-credential-profiles.d.ts +78 -0
  507. package/dist/runtime-credential-profiles.js +280 -0
  508. package/dist/runtime-credential-profiles.js.map +1 -0
  509. package/dist/runtime-install.d.ts +50 -0
  510. package/dist/runtime-install.js +186 -0
  511. package/dist/runtime-install.js.map +1 -0
  512. package/dist/runtime-pane-assets.d.ts +1 -1
  513. package/dist/runtime-pane-assets.js +1 -1
  514. package/dist/runtime-pane-assets.js.map +1 -1
  515. package/dist/runtime-pane-codex-index.d.ts +10 -1
  516. package/dist/runtime-pane-codex-index.js +131 -27
  517. package/dist/runtime-pane-codex-index.js.map +1 -1
  518. package/dist/runtime-pane-host.d.ts +19 -0
  519. package/dist/runtime-pane-host.js +50 -7
  520. package/dist/runtime-pane-host.js.map +1 -1
  521. package/dist/runtime-pane-link.d.ts +7 -0
  522. package/dist/runtime-pane-link.js +93 -2
  523. package/dist/runtime-pane-link.js.map +1 -1
  524. package/dist/runtime-pane-mcp-relay.d.ts +1 -0
  525. package/dist/runtime-pane-mcp-relay.js +10 -0
  526. package/dist/runtime-pane-mcp-relay.js.map +1 -1
  527. package/dist/runtime-pane-mcp.d.ts +4 -0
  528. package/dist/runtime-pane-mcp.js +6 -3
  529. package/dist/runtime-pane-mcp.js.map +1 -1
  530. package/dist/runtime-pane-native.d.ts +32 -2
  531. package/dist/runtime-pane-native.js +55 -6
  532. package/dist/runtime-pane-native.js.map +1 -1
  533. package/dist/runtime-pane-port.d.ts +5 -0
  534. package/dist/runtime-pane-port.js +17 -1
  535. package/dist/runtime-pane-port.js.map +1 -1
  536. package/dist/runtime-pane-process.d.ts +1 -1
  537. package/dist/runtime-pane-process.js +11 -2
  538. package/dist/runtime-pane-process.js.map +1 -1
  539. package/dist/runtime-pane-protocol.d.ts +11 -1
  540. package/dist/runtime-pane-protocol.js +27 -5
  541. package/dist/runtime-pane-protocol.js.map +1 -1
  542. package/dist/runtime-pane-quota-history.d.ts +6 -0
  543. package/dist/runtime-pane-quota-history.js +44 -0
  544. package/dist/runtime-pane-quota-history.js.map +1 -0
  545. package/dist/runtime-pane-service.d.ts +5 -0
  546. package/dist/runtime-pane-service.js +47 -12
  547. package/dist/runtime-pane-service.js.map +1 -1
  548. package/dist/runtime-pane-transcript.d.ts +5 -0
  549. package/dist/runtime-pane-transcript.js +66 -5
  550. package/dist/runtime-pane-transcript.js.map +1 -1
  551. package/dist/runtime-pane-worker.js +19 -6
  552. package/dist/runtime-pane-worker.js.map +1 -1
  553. package/dist/runtime-protocol.d.ts +17 -2
  554. package/dist/runtime-protocol.js +12 -0
  555. package/dist/runtime-protocol.js.map +1 -1
  556. package/dist/runtime-update-activity.d.ts +21 -0
  557. package/dist/runtime-update-activity.js +51 -0
  558. package/dist/runtime-update-activity.js.map +1 -0
  559. package/dist/runtime-update-artifact.d.ts +31 -0
  560. package/dist/runtime-update-artifact.js +252 -0
  561. package/dist/runtime-update-artifact.js.map +1 -0
  562. package/dist/runtime-update-install.d.ts +31 -0
  563. package/dist/runtime-update-install.js +205 -0
  564. package/dist/runtime-update-install.js.map +1 -0
  565. package/dist/runtime-update-journal.d.ts +44 -0
  566. package/dist/runtime-update-journal.js +121 -0
  567. package/dist/runtime-update-journal.js.map +1 -0
  568. package/dist/runtime-update-lock.d.ts +48 -0
  569. package/dist/runtime-update-lock.js +217 -0
  570. package/dist/runtime-update-lock.js.map +1 -0
  571. package/dist/runtime-update-owners.d.ts +29 -0
  572. package/dist/runtime-update-owners.js +240 -0
  573. package/dist/runtime-update-owners.js.map +1 -0
  574. package/dist/runtime-update-protocol.d.ts +15 -0
  575. package/dist/runtime-update-protocol.js +13 -0
  576. package/dist/runtime-update-protocol.js.map +1 -0
  577. package/dist/runtime-windows-bridge.d.ts +2 -1
  578. package/dist/runtime-windows-bridge.js +11 -1
  579. package/dist/runtime-windows-bridge.js.map +1 -1
  580. package/dist/scheduler/db.d.ts +2 -1
  581. package/dist/scheduler/db.js +23 -9
  582. package/dist/scheduler/db.js.map +1 -1
  583. package/dist/scheduler/task-board-text.js +1 -1
  584. package/dist/scheduler/task-board-text.js.map +1 -1
  585. package/dist/scheduler/task-board.d.ts +13 -0
  586. package/dist/scheduler/task-board.js +28 -3
  587. package/dist/scheduler/task-board.js.map +1 -1
  588. package/dist/service-drain.d.ts +19 -0
  589. package/dist/service-drain.js +64 -0
  590. package/dist/service-drain.js.map +1 -0
  591. package/dist/service-installer.d.ts +7 -2
  592. package/dist/service-installer.js +13 -10
  593. package/dist/service-installer.js.map +1 -1
  594. package/dist/settings-api.d.ts +20 -0
  595. package/dist/settings-api.js +414 -4
  596. package/dist/settings-api.js.map +1 -1
  597. package/dist/settings-baseline.d.ts +6 -0
  598. package/dist/settings-baseline.js +3 -1
  599. package/dist/settings-baseline.js.map +1 -1
  600. package/dist/settings-change.js +29 -6
  601. package/dist/settings-change.js.map +1 -1
  602. package/dist/settings-effect.d.ts +13 -0
  603. package/dist/settings-effect.js +97 -0
  604. package/dist/settings-effect.js.map +1 -1
  605. package/dist/settings-http-confirmation.js +13 -1
  606. package/dist/settings-http-confirmation.js.map +1 -1
  607. package/dist/settings-instance-patch.js +27 -0
  608. package/dist/settings-instance-patch.js.map +1 -1
  609. package/dist/setup-wizard.js +6 -2
  610. package/dist/setup-wizard.js.map +1 -1
  611. package/dist/task-board-tool.d.ts +13 -1
  612. package/dist/task-board-tool.js +104 -4
  613. package/dist/task-board-tool.js.map +1 -1
  614. package/dist/task-board-waker.d.ts +6 -0
  615. package/dist/task-board-waker.js +4 -0
  616. package/dist/task-board-waker.js.map +1 -1
  617. package/dist/tmux-binary.d.ts +59 -0
  618. package/dist/tmux-binary.js +200 -0
  619. package/dist/tmux-binary.js.map +1 -0
  620. package/dist/tmux-control.js +4 -4
  621. package/dist/tmux-control.js.map +1 -1
  622. package/dist/tmux-exec-helper.js +32 -1
  623. package/dist/tmux-exec-helper.js.map +1 -1
  624. package/dist/tmux-manager.d.ts +1 -1
  625. package/dist/tmux-manager.js +45 -36
  626. package/dist/tmux-manager.js.map +1 -1
  627. package/dist/tmux-read.js +4 -3
  628. package/dist/tmux-read.js.map +1 -1
  629. package/dist/tool-permissions.d.ts +5 -2
  630. package/dist/tool-permissions.js +6 -5
  631. package/dist/tool-permissions.js.map +1 -1
  632. package/dist/tool-progress.d.ts +2 -0
  633. package/dist/tool-progress.js +19 -3
  634. package/dist/tool-progress.js.map +1 -1
  635. package/dist/topic-commands.js +10 -5
  636. package/dist/topic-commands.js.map +1 -1
  637. package/dist/transcript-monitor.d.ts +20 -0
  638. package/dist/transcript-monitor.js +47 -3
  639. package/dist/transcript-monitor.js.map +1 -1
  640. package/dist/transcript-needles.d.ts +7 -0
  641. package/dist/transcript-needles.js +9 -1
  642. package/dist/transcript-needles.js.map +1 -1
  643. package/dist/transcript-records.d.ts +1 -1
  644. package/dist/transcript-records.js +2 -1
  645. package/dist/transcript-records.js.map +1 -1
  646. package/dist/types.d.ts +6 -0
  647. package/dist/ui/account-identity.js +27 -0
  648. package/dist/ui/accounts-view.js +214 -0
  649. package/dist/ui/agent-runtime-settings.js +9 -8
  650. package/dist/ui/backend-signin.js +4 -1
  651. package/dist/ui/chat-ambient.js +1 -1
  652. package/dist/ui/chat-md-strings.js +3 -0
  653. package/dist/ui/chat-render.js +3 -670
  654. package/dist/ui/chat-store.js +1 -1
  655. package/dist/ui/chat-strings.js +3 -333
  656. package/dist/ui/chat-thread.js +3 -919
  657. package/dist/ui/chat-time.js +3 -80
  658. package/dist/ui/chat-tour.js +1 -1
  659. package/dist/ui/credential-profile-select.js +54 -0
  660. package/dist/ui/fleet-office-dialogue.d.ts +30 -0
  661. package/dist/ui/fleet-office-dialogue.js +382 -0
  662. package/dist/ui/fleet-office-pack.d.ts +9 -0
  663. package/dist/ui/fleet-office-pack.js +76 -4
  664. package/dist/ui/fleet-office-skin.js +23 -5
  665. package/dist/ui/fleet-office-store.js +5 -0
  666. package/dist/ui/fleet-office.js +173 -6
  667. package/dist/ui/fleet-task-card.js +10 -6
  668. package/dist/ui/fleet-task-common.js +12 -2
  669. package/dist/ui/fleet-task-menu.js +188 -0
  670. package/dist/ui/fleet-task-stats.js +124 -0
  671. package/dist/ui/fleet-task-view.js +340 -0
  672. package/dist/ui/fleet-tasks.js +131 -43
  673. package/dist/ui/fleet-usage.js +90 -27
  674. package/dist/ui/html-attachment.js +3 -40
  675. package/dist/ui/hub-agent-copy.js +23 -0
  676. package/dist/ui/hub-button-actions.js +65 -0
  677. package/dist/ui/hub-chat-store.js +158 -0
  678. package/dist/ui/hub-chat-strings.js +77 -0
  679. package/dist/ui/hub-client.js +329 -0
  680. package/dist/ui/hub-owner-strings.js +51 -0
  681. package/dist/ui/hub-provider-guidance.js +31 -0
  682. package/dist/ui/hub-quota.js +85 -0
  683. package/dist/ui/hub-strings.js +162 -0
  684. package/dist/ui/hub-switcher.js +27 -0
  685. package/dist/ui/native-pane-recovery.js +1 -1
  686. package/dist/ui/office-share-page.js +4 -2
  687. package/dist/ui/panel-chat.js +34 -48
  688. package/dist/ui/panel-details.js +1 -1
  689. package/dist/ui/panel-fleet.js +78 -10
  690. package/dist/ui/panel-hub.js +619 -0
  691. package/dist/ui/panel-log.js +2 -2
  692. package/dist/ui/panel-needs.js +24 -8
  693. package/dist/ui/panel-runtimes.js +114 -23
  694. package/dist/ui/panel-settings.js +69 -80
  695. package/dist/ui/panel-windows-cli.js +12 -2
  696. package/dist/ui/preview-pages.js +1 -1
  697. package/dist/ui/preview-panel.js +92 -6
  698. package/dist/ui/preview-versions.js +1 -1
  699. package/dist/ui/preview.js +3 -476
  700. package/dist/ui/runtime-commands.d.ts +4 -0
  701. package/dist/ui/runtime-commands.js +59 -0
  702. package/dist/ui/search-dialog.js +2 -0
  703. package/dist/ui/settings-access-strings.js +42 -0
  704. package/dist/ui/settings-build-version.js +35 -0
  705. package/dist/ui/settings-codex-copy.js +19 -0
  706. package/dist/ui/settings-devices.js +253 -0
  707. package/dist/ui/settings-dialogs.js +28 -7
  708. package/dist/ui/settings-hub-browser-certificate.js +74 -0
  709. package/dist/ui/settings-hub-membership.js +72 -0
  710. package/dist/ui/settings-hub-retention.js +52 -0
  711. package/dist/ui/settings-hub.js +196 -0
  712. package/dist/ui/settings-layout.js +8 -11
  713. package/dist/ui/settings-model.js +16 -2
  714. package/dist/ui/settings-outside.js +104 -38
  715. package/dist/ui/settings-registry.js +4 -1
  716. package/dist/ui/settings-shared-strings.js +143 -0
  717. package/dist/ui/settings-shared.js +345 -0
  718. package/dist/ui/settings-strings.js +10 -46
  719. package/dist/ui/settings-web-authority.js +5 -2
  720. package/dist/ui/shared/accounts.css +15 -0
  721. package/dist/ui/shared/app-i18n.js +2 -2
  722. package/dist/ui/shared/app-needs.js +1 -1
  723. package/dist/ui/shared/app-route.js +6 -1
  724. package/dist/ui/shared/app-session.js +6 -2
  725. package/dist/ui/shared/app-shell.js +64 -8
  726. package/dist/ui/shared/app.css +121 -30
  727. package/dist/ui/shared/app.js +12 -3
  728. package/dist/ui/shared/chat-composer.js +68 -0
  729. package/dist/ui/shared/chat-md-strings.js +9 -0
  730. package/dist/ui/shared/chat-render.js +682 -0
  731. package/dist/ui/shared/chat-strings.js +333 -0
  732. package/dist/ui/shared/chat-thread.js +969 -0
  733. package/dist/ui/shared/chat-time.js +80 -0
  734. package/dist/ui/shared/header-tools.js +3 -5
  735. package/dist/ui/shared/html-attachment.js +42 -0
  736. package/dist/ui/shared/hub-chat.css +85 -0
  737. package/dist/ui/shared/hub-owner.css +33 -0
  738. package/dist/ui/shared/hub-quota.css +8 -0
  739. package/dist/ui/shared/hub.css +71 -0
  740. package/dist/ui/shared/page-head.js +8 -0
  741. package/dist/ui/shared/panel-view.js +77 -4
  742. package/dist/ui/shared/preview.js +476 -0
  743. package/dist/ui/shared/runtime-install.css +26 -0
  744. package/dist/ui/shared/side-rail.js +15 -0
  745. package/dist/ui/shared/signin.js +172 -0
  746. package/dist/ui/shared/task-board.css +95 -0
  747. package/dist/ui/shared/usage-dialog.js +18 -1
  748. package/dist/ui/shared/view-history.css +17 -0
  749. package/dist/ui/shared/view-history.js +438 -0
  750. package/dist/ui/shared/view-strings.js +16 -0
  751. package/dist/ui/shared/workspace.css +20 -0
  752. package/dist/ui/signin.html +21 -0
  753. package/dist/ui/workspace-panel.js +189 -0
  754. package/dist/ui/workspace-strings.js +35 -0
  755. package/dist/unattended-install.d.ts +11 -2
  756. package/dist/unattended-install.js +41 -6
  757. package/dist/unattended-install.js.map +1 -1
  758. package/dist/usage/capacity.d.ts +69 -0
  759. package/dist/usage/capacity.js +119 -0
  760. package/dist/usage/capacity.js.map +1 -0
  761. package/dist/usage/i18n-keys.d.ts +1 -1
  762. package/dist/usage/i18n-keys.js +3 -0
  763. package/dist/usage/i18n-keys.js.map +1 -1
  764. package/dist/usage/profile-timeline.d.ts +16 -0
  765. package/dist/usage/profile-timeline.js +58 -0
  766. package/dist/usage/profile-timeline.js.map +1 -0
  767. package/dist/usage/providers.js +2 -1
  768. package/dist/usage/providers.js.map +1 -1
  769. package/dist/usage/quota-history.d.ts +43 -0
  770. package/dist/usage/quota-history.js +168 -0
  771. package/dist/usage/quota-history.js.map +1 -0
  772. package/dist/usage/usage-api.d.ts +31 -0
  773. package/dist/usage/usage-api.js +80 -1
  774. package/dist/usage/usage-api.js.map +1 -1
  775. package/dist/usage-report.d.ts +25 -1
  776. package/dist/usage-report.js +55 -4
  777. package/dist/usage-report.js.map +1 -1
  778. package/dist/usage-rollup.d.ts +6 -1
  779. package/dist/usage-rollup.js +16 -4
  780. package/dist/usage-rollup.js.map +1 -1
  781. package/dist/view-api.d.ts +16 -0
  782. package/dist/view-api.js +105 -23
  783. package/dist/view-api.js.map +1 -1
  784. package/dist/view-history.d.ts +84 -0
  785. package/dist/view-history.js +116 -0
  786. package/dist/view-history.js.map +1 -0
  787. package/dist/web-api.d.ts +48 -2
  788. package/dist/web-api.js +276 -8
  789. package/dist/web-api.js.map +1 -1
  790. package/dist/web-backend-login.d.ts +23 -1
  791. package/dist/web-backend-login.js +11 -17
  792. package/dist/web-backend-login.js.map +1 -1
  793. package/dist/web-device-login.d.ts +153 -0
  794. package/dist/web-device-login.js +278 -0
  795. package/dist/web-device-login.js.map +1 -0
  796. package/dist/web-office-skins.d.ts +9 -0
  797. package/dist/web-office-skins.js +16 -1
  798. package/dist/web-office-skins.js.map +1 -1
  799. package/dist/web-session-authorization.d.ts +13 -2
  800. package/dist/web-session-authorization.js +10 -3
  801. package/dist/web-session-authorization.js.map +1 -1
  802. package/dist/web-session.d.ts +35 -0
  803. package/dist/web-session.js +7 -0
  804. package/dist/web-session.js.map +1 -1
  805. package/dist/web-settings-patch.d.ts +3 -1
  806. package/dist/web-settings-patch.js +4 -1
  807. package/dist/web-settings-patch.js.map +1 -1
  808. package/dist/web-shell-routes.d.ts +6 -0
  809. package/dist/web-shell-routes.js +7 -0
  810. package/dist/web-shell-routes.js.map +1 -1
  811. package/dist/web-terminal.d.ts +4 -30
  812. package/dist/web-terminal.js +9 -6
  813. package/dist/web-terminal.js.map +1 -1
  814. package/dist/windows-agents.d.ts +1 -0
  815. package/dist/windows-agents.js +1 -0
  816. package/dist/windows-agents.js.map +1 -1
  817. package/dist/windows-cli-api.d.ts +12 -1
  818. package/dist/windows-cli-api.js +27 -1
  819. package/dist/windows-cli-api.js.map +1 -1
  820. package/dist/windows-cli-providers.d.ts +0 -9
  821. package/dist/windows-cli-providers.js +4 -9
  822. package/dist/windows-cli-providers.js.map +1 -1
  823. package/dist/windows-cli-worker.d.ts +24 -0
  824. package/dist/windows-cli-worker.js +96 -5
  825. package/dist/windows-cli-worker.js.map +1 -1
  826. package/dist/windows-cli.d.ts +10 -0
  827. package/dist/windows-cli.js +10 -1
  828. package/dist/windows-cli.js.map +1 -1
  829. package/dist/yaml-shared-nodes.js +8 -3
  830. package/dist/yaml-shared-nodes.js.map +1 -1
  831. package/launcher/agend-install.cjs +8 -1
  832. package/launcher/launchd-session-type.cjs +14 -0
  833. package/launcher/postinstall.cjs +27 -2
  834. package/launcher/private-home.cjs +1 -1
  835. package/launcher/tmux-bundle.cjs +247 -0
  836. package/package.json +3 -2
  837. package/templates/launchd.plist.ejs +3 -1
  838. package/templates/runtime-install/install.ps1 +270 -0
@@ -0,0 +1,136 @@
1
+ import { z } from "zod";
2
+ import { type HubIdentityBinding } from "../identity.js";
3
+ import { type HubMemberJournal, type HubRestrictedOutbox } from "../member-journal.js";
4
+ import type { HubAnswer, HubAuthorizationLease, HubExecutionPolicy, HubLocalProposal, HubQuestion, HubRestrictedContext, HubRestrictedExecution, HubMemberTransport } from "../types.js";
5
+ import { HubDocumentView } from "./views.js";
6
+ import { HubExecutionStore } from "./store.js";
7
+ import type { HubExecutionAttentionInput } from "../../needs-you.js";
8
+ import { type HubProviderSetupReason } from "./provider-setup.js";
9
+ declare const localSchema: z.ZodObject<{
10
+ agent: z.ZodString;
11
+ providerId: z.ZodString;
12
+ consentId: z.ZodString;
13
+ generation: z.ZodNumber;
14
+ exposure: z.ZodObject<{
15
+ id: z.ZodString;
16
+ fleetId: z.ZodString;
17
+ owner: z.ZodObject<{
18
+ realm: z.ZodString;
19
+ objectId: z.ZodString;
20
+ }, z.core.$strict>;
21
+ displayName: z.ZodString;
22
+ revision: z.ZodNumber;
23
+ state: z.ZodEnum<{
24
+ frozen: "frozen";
25
+ published: "published";
26
+ withdrawn: "withdrawn";
27
+ }>;
28
+ dataViewId: z.ZodString;
29
+ allowedTools: z.ZodArray<z.ZodString>;
30
+ policyDigest: z.ZodString;
31
+ }, z.core.$strict>;
32
+ }, z.core.$strict>;
33
+ export type HubLocalExposure = z.infer<typeof localSchema>;
34
+ export interface HubExecutionBinding extends Omit<HubIdentityBinding, "now"> {
35
+ generation: number;
36
+ linkEpoch: number;
37
+ /** Captured ownership token, permanently false after stop/replacement, including an off/on cycle. */
38
+ current(): boolean;
39
+ }
40
+ export type HubExecutionReadiness = {
41
+ ok: true;
42
+ policyDigest: string;
43
+ exposureRevision: number;
44
+ } | {
45
+ ok: false;
46
+ reasonCode: HubProviderSetupReason | "provider-unavailable" | "policy-unavailable" | "stale";
47
+ };
48
+ export interface HubExecutionGateway {
49
+ invoke(name: string, args: unknown): Promise<unknown>;
50
+ propose(action: string, args: unknown, consequences: string): Promise<void>;
51
+ }
52
+ /** Trusted, reviewed code only, never a wire/config-supplied claim. No adapter ships in the production registry.
53
+ * A future adapter must prove separate history/workspace/credentials and deny native/child tools and free network.
54
+ * This declaration alone is not isolation evidence and cannot authorize installing a provider. */
55
+ export interface HubIsolatedProvider {
56
+ readonly isolation: "hub-restricted-v1";
57
+ /** Resolve only after positive consumption proof for this exact context/question; unknown outcomes reject. */
58
+ open(input: {
59
+ contextId: string;
60
+ question: string;
61
+ label: string;
62
+ signal: AbortSignal;
63
+ /** One synchronous current/exact-lease check immediately before delivering question input. Not sent to the CLI. */
64
+ beforeInput(): void;
65
+ }): Promise<{
66
+ answer(gateway: HubExecutionGateway): Promise<string>;
67
+ close(): Promise<void>;
68
+ }>;
69
+ }
70
+ export interface HubExecutionOptions {
71
+ store: HubExecutionStore;
72
+ journal: HubMemberJournal;
73
+ transport: Pick<HubMemberTransport, "authorize">;
74
+ binding(): HubExecutionBinding;
75
+ /** Current, durably owner-approved mapping. No Hub mirror or remote path is accepted here. */
76
+ localExposure(exposureId: string): HubLocalExposure | null;
77
+ views: ReadonlyMap<string, HubDocumentView>;
78
+ /** Default is empty. Native/full-tool provider drivers must never be placed here. */
79
+ providers?: ReadonlyMap<string, HubIsolatedProvider>;
80
+ /** Bounded member-local startup diagnostic only. It cannot install a provider or grant readiness. */
81
+ providerSetupReason?: () => unknown;
82
+ now?: () => number;
83
+ /** Pokes the local Needs-you renderer; durable items are read with attentionItems(). No approval callback. */
84
+ attentionChanged(): void;
85
+ }
86
+ export declare class HubRestrictedExecutionService implements HubRestrictedExecution {
87
+ private readonly options;
88
+ private readonly bootId;
89
+ private readonly handles;
90
+ private readonly live;
91
+ private recovered;
92
+ private lastNow;
93
+ private closed;
94
+ private closing;
95
+ constructor(options: HubExecutionOptions);
96
+ private now;
97
+ /** Explicit startup, not an import side effect. Every old context remains unavailable; no input/action retry. */
98
+ recover(): void;
99
+ private binding;
100
+ private approved;
101
+ private checkedPolicy;
102
+ private readinessCheck;
103
+ private setupReason;
104
+ /** Presentation for unpublished agents too. A null result grants no consent, policy approval or execution authority. */
105
+ providerReason(providerId?: string | null): HubProviderSetupReason | "provider-unavailable" | null;
106
+ readiness(exposureId: string, expectedRevision: number): HubExecutionReadiness;
107
+ /** Capability check only. Never reads/installs a staged mapping or supplies admission/owner consent. */
108
+ readinessCandidate(candidate: HubLocalExposure): HubExecutionReadiness;
109
+ restrictedOutbox(): HubRestrictedOutbox;
110
+ prepare(input: HubQuestion, policy: HubExecutionPolicy): Promise<HubRestrictedContext>;
111
+ private entry;
112
+ private current;
113
+ private fenceEntry;
114
+ private closeSession;
115
+ /** Retain the physical-work reservation until open/answer/close have actually exited. */
116
+ private retire;
117
+ /** Call synchronously on off/withdraw/revoke/link replacement, before async cleanup. */
118
+ fence(messageId: string, reasonCode?: string): void;
119
+ /** Synchronous invalidation precedes persistence/cleanup, including when a required writer fails. */
120
+ close(): Promise<void>;
121
+ private authorize;
122
+ authorizeBegin(context: HubRestrictedContext): Promise<HubAuthorizationLease>;
123
+ private consume;
124
+ /** Register ownership BEFORE any provider code can synchronously stop/reenter this service. */
125
+ private physical;
126
+ begin(context: HubRestrictedContext, lease: HubAuthorizationLease): Promise<void>;
127
+ private toolArguments;
128
+ authorizeTool(context: HubRestrictedContext, name: string, input: unknown): Promise<HubAuthorizationLease>;
129
+ invokeTool(context: HubRestrictedContext, name: string, input: unknown, lease: HubAuthorizationLease): Promise<unknown>;
130
+ finish(context: HubRestrictedContext): Promise<HubAnswer>;
131
+ hold(context: HubRestrictedContext, reasonCode: string): Promise<void>;
132
+ /** Additional args are required because a digest alone cannot show the owner the exact proposed arguments. */
133
+ proposeLocalAction(context: HubRestrictedContext, input: HubLocalProposal, args?: unknown): Promise<void>;
134
+ attentionItems(): HubExecutionAttentionInput[];
135
+ }
136
+ export {};
@@ -0,0 +1,459 @@
1
+ /** Member-local restricted gateway. No production providers, CLI, fleet-input or host-tool imports. */
2
+ import { randomUUID } from "node:crypto";
3
+ import { z } from "zod";
4
+ import { canonicalArguments, personKeyString, sha256, verifyAsker, verifyLease } from "../identity.js";
5
+ import { questionContextDigest } from "../member-journal.js";
6
+ import { answerSchema, exposureSchema, questionSchema } from "../protocol.js";
7
+ import { epoch, identifier, plain, uuid, hash, validated, parseStrictJson, HubProtocolError } from "../validation.js";
8
+ import { HubDocumentView, executionPolicyDigest } from "./views.js";
9
+ import { HubProviderSetupError, isHubProviderSetupReason, hubProviderSetupReason } from "./provider-setup.js";
10
+ const localSchema = z.strictObject({ agent: identifier, providerId: identifier, consentId: uuid, generation: epoch, exposure: exposureSchema });
11
+ const freeze = (value) => {
12
+ if (value && typeof value === "object") {
13
+ Object.values(value).forEach(freeze);
14
+ Object.freeze(value);
15
+ }
16
+ return value;
17
+ };
18
+ const snapshot = (value) => parseStrictJson(canonicalArguments(value), 64 * 1024);
19
+ export class HubRestrictedExecutionService {
20
+ options;
21
+ bootId = randomUUID();
22
+ handles = new WeakMap();
23
+ live = new Map();
24
+ recovered = false;
25
+ lastNow = 0;
26
+ closed = false;
27
+ closing = null;
28
+ constructor(options) {
29
+ this.options = options;
30
+ }
31
+ now() {
32
+ const now = this.options.now?.() ?? Date.now();
33
+ if (!Number.isSafeInteger(now) || now < this.lastNow)
34
+ throw new HubProtocolError("stale");
35
+ this.lastNow = now;
36
+ return now;
37
+ }
38
+ /** Explicit startup, not an import side effect. Every old context remains unavailable; no input/action retry. */
39
+ recover() {
40
+ if (this.recovered)
41
+ throw new HubProtocolError("conflict");
42
+ for (const row of this.options.store.contexts()) {
43
+ if (row.state !== "held" && row.state !== "finished") {
44
+ this.options.store.state(row.id, "held");
45
+ this.options.store.attention(row.id, `hold:${row.id}`, { id: `hold:${row.id}`, kind: "hold", agent: row.agent,
46
+ messageId: row.messageId, exposureId: row.exposureId, reasonCode: "uncertain", since: this.now() });
47
+ }
48
+ }
49
+ this.recovered = true;
50
+ this.options.attentionChanged();
51
+ }
52
+ binding() {
53
+ if (!this.recovered || this.closed)
54
+ throw new HubProtocolError("unavailable");
55
+ this.options.store.check();
56
+ const b = this.options.binding();
57
+ if (!b.current() || !Number.isSafeInteger(b.generation) || b.generation < 0)
58
+ throw new HubProtocolError("unavailable");
59
+ validated(epoch.min(1), b.linkEpoch);
60
+ validated(epoch, b.revocationVersion);
61
+ this.now();
62
+ return b;
63
+ }
64
+ approved(exposureId, expectedRevision, published = false) {
65
+ const b = this.binding(), local = validated(localSchema, this.options.localExposure(exposureId));
66
+ return this.checkedPolicy(local, b, exposureId, expectedRevision, published);
67
+ }
68
+ checkedPolicy(local, b, exposureId, expectedRevision, published) {
69
+ const e = local.exposure;
70
+ if (e.id !== exposureId || e.revision !== expectedRevision || e.fleetId !== b.fleetId || personKeyString(e.owner) !== personKeyString(b.owner)
71
+ || e.state === "frozen" || published && e.state !== "published")
72
+ throw new HubProtocolError("stale");
73
+ const view = this.options.views.get(e.dataViewId), provider = this.options.providers?.get(local.providerId);
74
+ if (!HubDocumentView.installed(view) || e.policyDigest !== executionPolicyDigest(view, e.allowedTools))
75
+ throw new HubProtocolError("denied");
76
+ if (!provider || provider.isolation !== "hub-restricted-v1") {
77
+ const reason = this.setupReason();
78
+ if (reason)
79
+ throw new HubProviderSetupError(reason);
80
+ throw new HubProtocolError("incompatible");
81
+ }
82
+ const policy = { dataViewId: e.dataViewId, policyDigest: e.policyDigest, allowedTools: [...e.allowedTools], readOnly: true };
83
+ const bindingDigest = sha256(canonicalArguments([local, view.digest, policy]));
84
+ return { b, local, view, provider, policy, bindingDigest };
85
+ }
86
+ readinessCheck(check) {
87
+ try {
88
+ const { policy, revision } = check();
89
+ return { ok: true, policyDigest: policy.policyDigest, exposureRevision: revision };
90
+ }
91
+ catch (error) {
92
+ return { ok: false, reasonCode: hubProviderSetupReason(error) ?? (error instanceof HubProtocolError
93
+ ? error.code === "incompatible" ? "provider-unavailable" : error.code === "stale" ? "stale" : error.code === "denied" || error.code === "invalid" ? "policy-unavailable" : "unavailable"
94
+ : "unavailable") };
95
+ }
96
+ }
97
+ setupReason() {
98
+ try {
99
+ const reason = this.options.providerSetupReason?.();
100
+ return isHubProviderSetupReason(reason) ? reason : undefined;
101
+ }
102
+ catch {
103
+ return undefined;
104
+ }
105
+ }
106
+ /** Presentation for unpublished agents too. A null result grants no consent, policy approval or execution authority. */
107
+ providerReason(providerId) {
108
+ try {
109
+ if (providerId && this.options.providers?.get(providerId)?.isolation === "hub-restricted-v1")
110
+ return null;
111
+ }
112
+ catch { /* A stopped/poisoned provider remains unavailable. */ }
113
+ return this.setupReason() ?? "provider-unavailable";
114
+ }
115
+ readiness(exposureId, expectedRevision) {
116
+ return this.readinessCheck(() => {
117
+ validated(uuid, exposureId);
118
+ validated(epoch, expectedRevision);
119
+ return { policy: this.approved(exposureId, expectedRevision).policy, revision: expectedRevision };
120
+ });
121
+ }
122
+ /** Capability check only. Never reads/installs a staged mapping or supplies admission/owner consent. */
123
+ readinessCandidate(candidate) {
124
+ return this.readinessCheck(() => {
125
+ const local = validated(localSchema, candidate), e = local.exposure;
126
+ if (e.state !== "withdrawn")
127
+ throw new HubProtocolError("denied");
128
+ return { policy: this.checkedPolicy(local, this.binding(), e.id, e.revision, false).policy, revision: e.revision };
129
+ });
130
+ }
131
+ restrictedOutbox() {
132
+ return this.options.store.outbox(q => {
133
+ const { b, bindingDigest } = this.approved(q.identity.exposureId, q.identity.exposureRevision, true);
134
+ verifyAsker(q.identity, q.text, { ...b, now: this.now() });
135
+ return bindingDigest;
136
+ });
137
+ }
138
+ async prepare(input, policy) {
139
+ const question = freeze(validated(questionSchema, input)), e = question.identity;
140
+ const { b, local, view, provider, policy: approved, bindingDigest } = this.approved(e.exposureId, e.exposureRevision, true);
141
+ verifyAsker(e, question.text, { ...b, now: this.now() });
142
+ if (canonicalArguments(policy) !== canonicalArguments(approved))
143
+ throw new HubProtocolError("denied");
144
+ const source = `hub:${e.issuer}:${e.messageId}`, queued = this.options.store.queued(source);
145
+ if (!queued || queued.digest !== questionContextDigest(question) || queued.binding_digest !== bindingDigest)
146
+ throw new HubProtocolError("denied");
147
+ if (this.live.size >= 64)
148
+ throw new HubProtocolError("backpressure");
149
+ const handle = freeze({ id: randomUUID(), messageId: e.messageId, exposureId: e.exposureId, owner: { ...e.owner }, exposureRevision: e.exposureRevision, policy: approved });
150
+ this.options.store.claim({ id: handle.id, source, messageId: e.messageId, exposureId: e.exposureId, bindingDigest, bootId: this.bootId, state: "prepared", agent: local.agent });
151
+ const capturedBinding = Object.freeze({ ...b, owner: Object.freeze({ ...b.owner }), current: b.current.bind(b) });
152
+ const entry = { handle, question, binding: capturedBinding, bindingDigest, local, view, provider, abort: new AbortController(),
153
+ state: "prepared", beginRequested: false, toolPending: false, finishing: false, operations: new Map() };
154
+ this.handles.set(handle, entry);
155
+ this.live.set(handle.id, entry);
156
+ return handle;
157
+ }
158
+ entry(context) {
159
+ const entry = context && this.handles.get(context);
160
+ if (!entry || entry.handle !== context)
161
+ throw new HubProtocolError("denied");
162
+ if (entry.state === "held" || entry.state === "finished")
163
+ throw new HubProtocolError("stale");
164
+ this.current(entry);
165
+ return entry;
166
+ }
167
+ current(entry) {
168
+ try {
169
+ const b = this.binding(), original = entry.binding;
170
+ if (entry.state === "held" || entry.state === "finished" || !original.current() || original.generation !== b.generation
171
+ || original.linkEpoch !== b.linkEpoch || original.revocationVersion !== b.revocationVersion || original.hubId !== b.hubId
172
+ || original.fleetId !== b.fleetId || personKeyString(original.owner) !== personKeyString(b.owner))
173
+ throw new HubProtocolError("stale");
174
+ if (this.now() >= entry.question.identity.issuedAt + 24 * 60 * 60_000)
175
+ throw new HubProtocolError("expired");
176
+ const local = this.approved(entry.handle.exposureId, entry.handle.exposureRevision, true);
177
+ const stored = this.options.store.context(entry.handle.id);
178
+ if (local.bindingDigest !== entry.bindingDigest || local.view !== entry.view || local.provider !== entry.provider || stored.bootId !== this.bootId
179
+ || stored.bindingDigest !== entry.bindingDigest || stored.state !== entry.state)
180
+ throw new HubProtocolError("stale");
181
+ }
182
+ catch (error) {
183
+ this.fenceEntry(entry, "stale");
184
+ throw error;
185
+ }
186
+ }
187
+ fenceEntry(entry, reasonCode) {
188
+ if (entry.state === "held" || entry.state === "finished") {
189
+ this.closeSession(entry);
190
+ void this.retire(entry);
191
+ return;
192
+ }
193
+ entry.state = "held";
194
+ entry.abort.abort();
195
+ try {
196
+ this.options.store.state(entry.handle.id, "held");
197
+ const id = `hold:${entry.handle.id}`;
198
+ this.options.store.attention(entry.handle.id, id, { id, kind: "hold", agent: entry.local.agent, messageId: entry.handle.messageId,
199
+ exposureId: entry.handle.exposureId, reasonCode, since: this.lastNow });
200
+ }
201
+ finally {
202
+ try {
203
+ this.options.attentionChanged();
204
+ }
205
+ finally {
206
+ this.closeSession(entry);
207
+ void this.retire(entry);
208
+ }
209
+ }
210
+ }
211
+ closeSession(entry) {
212
+ if (!entry.session)
213
+ return;
214
+ if (!entry.sessionClosed) {
215
+ entry.sessionClosed = true;
216
+ entry.closing = Promise.resolve().then(() => entry.session.close());
217
+ void entry.closing.catch(() => { });
218
+ }
219
+ return entry.closing;
220
+ }
221
+ /** Retain the physical-work reservation until open/answer/close have actually exited. */
222
+ retire(entry) {
223
+ if (!entry.retiring) {
224
+ entry.retiring = (async () => {
225
+ if (entry.opening) {
226
+ try {
227
+ entry.session ??= await entry.opening;
228
+ }
229
+ catch { /* Physical work exited without a session. */ }
230
+ }
231
+ this.closeSession(entry);
232
+ if (entry.answering) {
233
+ try {
234
+ await entry.answering;
235
+ }
236
+ catch { /* Cancelled physical work has exited. */ }
237
+ }
238
+ await entry.closing;
239
+ this.live.delete(entry.handle.id);
240
+ })();
241
+ void entry.retiring.catch(() => { });
242
+ }
243
+ return entry.retiring;
244
+ }
245
+ /** Call synchronously on off/withdraw/revoke/link replacement, before async cleanup. */
246
+ fence(messageId, reasonCode = "revoked") {
247
+ for (const entry of [...this.live.values()])
248
+ if (entry.handle.messageId === messageId)
249
+ this.fenceEntry(entry, reasonCode);
250
+ }
251
+ /** Synchronous invalidation precedes persistence/cleanup, including when a required writer fails. */
252
+ close() {
253
+ if (this.closing)
254
+ return this.closing;
255
+ this.closed = true;
256
+ const entries = [...this.live.values()];
257
+ for (const entry of entries)
258
+ entry.abort.abort();
259
+ let failed = false;
260
+ for (const entry of entries) {
261
+ try {
262
+ this.fenceEntry(entry, "unavailable");
263
+ }
264
+ catch {
265
+ failed = true;
266
+ }
267
+ }
268
+ this.closing = Promise.allSettled(entries.map(entry => this.retire(entry))).then(results => {
269
+ if (failed || results.some(result => result.status === "rejected"))
270
+ throw new HubProtocolError("uncertain");
271
+ });
272
+ return this.closing;
273
+ }
274
+ async authorize(entry, request) {
275
+ this.current(entry);
276
+ this.options.store.reserve(entry.handle.id, request);
277
+ try {
278
+ const received = await this.options.transport.authorize(freeze(snapshot(request)));
279
+ this.current(entry);
280
+ const lease = freeze({ ...verifyLease(received, request, { ...entry.binding, now: this.now() }) });
281
+ entry.operations.set(request.operationId, { request: freeze(snapshot(request)), lease });
282
+ return lease;
283
+ }
284
+ catch (error) {
285
+ this.fenceEntry(entry, "unavailable");
286
+ throw error;
287
+ }
288
+ }
289
+ async authorizeBegin(context) {
290
+ const entry = this.entry(context);
291
+ if (entry.state !== "prepared" || entry.beginRequested)
292
+ throw new HubProtocolError("uncertain");
293
+ entry.beginRequested = true;
294
+ return this.authorize(entry, { messageId: context.messageId, operationId: randomUUID(), exposureRevision: context.exposureRevision, phase: "begin" });
295
+ }
296
+ consume(entry, lease, request) {
297
+ this.current(entry);
298
+ const issued = entry.operations.get(request.operationId);
299
+ // A structurally valid DTO alone is never authority: require our own online authorization result object.
300
+ if (!issued || issued.lease !== lease || canonicalArguments(issued.request) !== canonicalArguments(request))
301
+ throw new HubProtocolError("denied");
302
+ verifyLease(lease, request, { ...entry.binding, now: this.now() });
303
+ this.options.store.consume(entry.handle.id, request);
304
+ entry.operations.delete(request.operationId);
305
+ this.current(entry);
306
+ }
307
+ /** Register ownership BEFORE any provider code can synchronously stop/reenter this service. */
308
+ physical(entry, register, work) {
309
+ let resolve, reject;
310
+ const pending = new Promise((yes, no) => { resolve = yes; reject = no; });
311
+ register(pending);
312
+ try {
313
+ this.current(entry);
314
+ resolve(work());
315
+ }
316
+ catch (error) {
317
+ reject(error);
318
+ }
319
+ return pending;
320
+ }
321
+ async begin(context, lease) {
322
+ const entry = this.entry(context);
323
+ if (entry.state !== "prepared")
324
+ throw new HubProtocolError("uncertain");
325
+ const request = { messageId: context.messageId, operationId: lease.operationId, exposureRevision: context.exposureRevision, phase: "begin" };
326
+ this.consume(entry, lease, request);
327
+ try {
328
+ this.options.journal.markInputIntent(context.messageId, request, lease, { ...entry.binding, current: () => { this.current(entry); return true; } });
329
+ this.options.store.state(context.id, "running");
330
+ entry.state = "running";
331
+ this.current(entry);
332
+ const e = entry.question.identity;
333
+ const label = `Hub identity; external data; no local human authority. ${personKeyString(e.asker)}; exposure=${e.exposureId}; room=${e.roomId}; grant=${e.grantId}`;
334
+ let checkedInput = false;
335
+ const session = await this.physical(entry, pending => { entry.opening = pending; }, () => entry.provider.open({ contextId: context.id, question: entry.question.text, label, signal: entry.abort.signal, beforeInput: () => {
336
+ if (checkedInput)
337
+ throw new HubProtocolError("uncertain");
338
+ this.current(entry);
339
+ verifyLease(lease, request, { ...entry.binding, now: this.now() });
340
+ checkedInput = true;
341
+ } }));
342
+ entry.session = session;
343
+ this.current(entry);
344
+ if (!checkedInput)
345
+ throw new HubProtocolError("uncertain");
346
+ this.options.journal.recordEvidence(context.messageId, "delivered");
347
+ this.options.journal.recordEvidence(context.messageId, "consumed");
348
+ }
349
+ catch (error) {
350
+ this.fenceEntry(entry, "uncertain");
351
+ throw error;
352
+ }
353
+ }
354
+ toolArguments(entry, name, input) {
355
+ if (!entry.handle.policy.allowedTools.includes(name)) {
356
+ this.options.store.note({ kind: "tool.denied", contextId: entry.handle.id, messageId: entry.handle.messageId });
357
+ throw new HubProtocolError("denied");
358
+ }
359
+ return freeze(snapshot(entry.view.arguments(name, snapshot(input))));
360
+ }
361
+ async authorizeTool(context, name, input) {
362
+ const entry = this.entry(context);
363
+ if (entry.state !== "running" || entry.toolPending)
364
+ throw new HubProtocolError("uncertain");
365
+ const args = this.toolArguments(entry, name, input);
366
+ entry.toolPending = true;
367
+ return this.authorize(entry, { messageId: context.messageId, operationId: randomUUID(), exposureRevision: context.exposureRevision, phase: "tool",
368
+ tool: { name, argumentsDigest: sha256(canonicalArguments(args)) } });
369
+ }
370
+ async invokeTool(context, name, input, lease) {
371
+ const entry = this.entry(context);
372
+ if (entry.state !== "running" || !entry.toolPending)
373
+ throw new HubProtocolError("denied");
374
+ const args = this.toolArguments(entry, name, input);
375
+ this.consume(entry, lease, { messageId: context.messageId, operationId: lease.operationId, exposureRevision: context.exposureRevision, phase: "tool",
376
+ tool: { name, argumentsDigest: sha256(canonicalArguments(args)) } });
377
+ try {
378
+ this.current(entry);
379
+ const result = entry.view.read(name, args);
380
+ this.current(entry);
381
+ this.options.store.note({ kind: "tool.completed", contextId: context.id, operationId: lease.operationId });
382
+ return result;
383
+ }
384
+ finally {
385
+ entry.toolPending = false;
386
+ }
387
+ }
388
+ async finish(context) {
389
+ const entry = this.entry(context);
390
+ if (entry.state !== "running" || !entry.session || entry.finishing || entry.toolPending)
391
+ throw new HubProtocolError("uncertain");
392
+ entry.finishing = true;
393
+ try {
394
+ entry.answering = this.physical(entry, pending => { entry.answering = pending; }, () => entry.session.answer({
395
+ invoke: async (name, args) => {
396
+ const fixed = snapshot(args), lease = await this.authorizeTool(context, name, fixed);
397
+ return this.invokeTool(context, name, fixed, lease);
398
+ },
399
+ propose: async (action, args, consequences) => {
400
+ const fixed = snapshot(args);
401
+ await this.proposeLocalAction(context, { id: randomUUID(), action, argumentsDigest: sha256(canonicalArguments(fixed)), consequences }, fixed);
402
+ },
403
+ }));
404
+ const text = validated(plain(128 * 1024), await entry.answering);
405
+ this.current(entry);
406
+ const answerId = randomUUID(), contentDigest = sha256(text);
407
+ const request = { messageId: context.messageId, operationId: randomUUID(), exposureRevision: context.exposureRevision,
408
+ phase: "release-answer", answer: { answerId, contentDigest } };
409
+ const releaseLease = await this.authorize(entry, request);
410
+ this.consume(entry, releaseLease, request);
411
+ const answer = freeze(validated(answerSchema, { messageId: context.messageId, answerId, text, contentDigest, releaseLease }));
412
+ this.current(entry);
413
+ this.options.journal.saveAnswer(answer, request, { ...entry.binding, current: () => { this.current(entry); return true; } });
414
+ this.options.store.state(context.id, "finished");
415
+ entry.state = "finished";
416
+ this.closeSession(entry);
417
+ void this.retire(entry);
418
+ return answer;
419
+ }
420
+ catch (error) {
421
+ this.fenceEntry(entry, "uncertain");
422
+ throw error;
423
+ }
424
+ }
425
+ async hold(context, reasonCode) {
426
+ const entry = this.handles.get(context);
427
+ if (!entry)
428
+ throw new HubProtocolError("denied");
429
+ validated(z.enum(["unavailable", "denied", "stale", "uncertain", "revoked"]), reasonCode);
430
+ this.fenceEntry(entry, reasonCode);
431
+ }
432
+ /** Additional args are required because a digest alone cannot show the owner the exact proposed arguments. */
433
+ async proposeLocalAction(context, input, args) {
434
+ const entry = this.entry(context);
435
+ if (entry.state !== "running")
436
+ throw new HubProtocolError("denied");
437
+ const proposal = validated(z.strictObject({ id: uuid, action: plain(256).min(1), argumentsDigest: hash, consequences: plain(4096).min(1) }), input);
438
+ const fixed = snapshot(args);
439
+ if (sha256(canonicalArguments(fixed)) !== proposal.argumentsDigest)
440
+ throw new HubProtocolError("denied");
441
+ this.current(entry);
442
+ this.options.store.attention(context.id, proposal.id, { id: proposal.id, kind: "proposal", agent: entry.local.agent,
443
+ messageId: context.messageId, exposureId: context.exposureId, action: proposal.action, arguments: fixed,
444
+ argumentsDigest: proposal.argumentsDigest, consequences: proposal.consequences, localAuthority: "none", since: this.now() });
445
+ this.options.attentionChanged();
446
+ }
447
+ attentionItems() {
448
+ return this.options.store.attentionItems().map(input => {
449
+ const common = { id: z.string().max(128), agent: identifier, messageId: uuid, exposureId: uuid, since: epoch };
450
+ const item = validated(z.discriminatedUnion("kind", [
451
+ z.strictObject({ ...common, kind: z.literal("hold"), reasonCode: z.string().max(64) }),
452
+ z.strictObject({ ...common, kind: z.literal("proposal"), action: plain(256), arguments: z.unknown(), argumentsDigest: hash, consequences: plain(4096), localAuthority: z.literal("none") }),
453
+ ]), input);
454
+ return { id: item.id, kind: item.kind, agent: item.agent, messageId: item.messageId, exposureId: item.exposureId, since: item.since,
455
+ ...(item.kind === "proposal" ? { proposal: { action: item.action, arguments: canonicalArguments(item.arguments), argumentsDigest: item.argumentsDigest, consequences: item.consequences } } : {}) };
456
+ });
457
+ }
458
+ }
459
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/hub/execution/service.ts"],"names":[],"mappings":"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"}