@timurproko/a1 0.1.8-dev.de7821a → 0.2.0

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 (916) hide show
  1. package/README.md +104 -65
  2. package/bin/activate.js +8 -0
  3. package/bin/cli.js +37 -11
  4. package/bin/guardian.js +21 -6
  5. package/bin/module-identity.js +76 -69
  6. package/bin/module-resolver.js +138 -0
  7. package/bin/pinned-pi-public.d.ts +3 -0
  8. package/bin/pinned-pi-public.js +93 -0
  9. package/bin/release-cleanup.js +8 -0
  10. package/bin/supervisor.js +2 -2
  11. package/bin/sync-pi-tui-proxy.js +7 -0
  12. package/bin/ui.js +67 -22
  13. package/bin/update-recovery.js +365 -0
  14. package/bin/warmup.js +28 -0
  15. package/dist/app/session-shell/clipboard-diagnostics.d.ts +16 -0
  16. package/dist/app/session-shell/clipboard-diagnostics.js +65 -0
  17. package/dist/app/session-shell/clipboard-image.d.ts +11 -0
  18. package/dist/app/session-shell/clipboard-image.js +38 -0
  19. package/dist/app/session-shell/editor-hyperlink-budget.d.ts +9 -0
  20. package/dist/app/session-shell/editor-hyperlink-budget.js +23 -0
  21. package/dist/app/session-shell/helper-pool.d.ts +33 -0
  22. package/dist/app/session-shell/helper-pool.js +98 -0
  23. package/dist/app/session-shell/image-preparation-client.d.ts +20 -0
  24. package/dist/app/session-shell/image-preparation-client.js +145 -0
  25. package/dist/app/session-shell/image-preparation.d.ts +18 -0
  26. package/dist/app/session-shell/image-preparation.js +126 -0
  27. package/dist/app/session-shell/image-source.d.ts +13 -0
  28. package/dist/app/session-shell/image-source.js +171 -0
  29. package/dist/app/session-shell/image-worker.d.ts +17 -0
  30. package/dist/app/session-shell/image-worker.js +23 -0
  31. package/dist/app/session-shell/index.d.ts +7 -0
  32. package/dist/app/session-shell/index.js +4 -0
  33. package/dist/app/session-shell/paste-executor.d.ts +18 -0
  34. package/dist/app/session-shell/paste-executor.js +253 -0
  35. package/dist/app/session-shell/paste-helper.js +173 -0
  36. package/dist/app/session-shell/paste-preparation-client.d.ts +31 -0
  37. package/dist/app/session-shell/paste-preparation-client.js +170 -0
  38. package/dist/app/session-shell/paste-protocol.d.ts +78 -0
  39. package/dist/app/session-shell/paste-protocol.js +18 -0
  40. package/dist/app/session-shell/paste-text-preparation.d.ts +6 -0
  41. package/dist/app/session-shell/paste-text-preparation.js +134 -0
  42. package/dist/app/session-shell/paste-text-worker.js +12 -0
  43. package/dist/app/session-shell/paste-types.d.ts +17 -0
  44. package/dist/app/session-shell/path-chip-presentation.d.ts +7 -0
  45. package/dist/app/session-shell/path-chip-presentation.js +24 -0
  46. package/dist/app/session-shell/prompt-chips.d.ts +76 -0
  47. package/dist/app/session-shell/prompt-chips.js +499 -0
  48. package/dist/app/session-shell/prompt-history-controller.d.ts +36 -0
  49. package/dist/app/session-shell/prompt-history-controller.js +170 -0
  50. package/dist/app/session-shell/prompt-suggestion-controller.d.ts +37 -0
  51. package/dist/app/session-shell/prompt-suggestion-controller.js +219 -0
  52. package/dist/app/session-shell/quit-outro-effects.d.ts +29 -0
  53. package/dist/app/session-shell/quit-outro-effects.js +242 -0
  54. package/dist/app/session-shell/quit-outro.d.ts +38 -0
  55. package/dist/app/session-shell/quit-outro.js +98 -0
  56. package/dist/app/session-shell/response-copy-coordinator.d.ts +27 -0
  57. package/dist/app/session-shell/response-copy-coordinator.js +187 -0
  58. package/dist/app/session-shell/response-copy-helper.js +122 -0
  59. package/dist/app/session-shell/response-copy-protocol.d.ts +56 -0
  60. package/dist/app/session-shell/response-copy-protocol.js +5 -0
  61. package/dist/app/session-shell/response-copy-transport.d.ts +39 -0
  62. package/dist/app/session-shell/response-copy-transport.js +217 -0
  63. package/dist/app/session-shell/session-shell-root.d.ts +278 -0
  64. package/dist/app/session-shell/session-shell-root.js +1442 -0
  65. package/dist/app/session-shell/session-shell.d.ts +66 -0
  66. package/dist/app/session-shell/session-shell.js +2151 -0
  67. package/dist/app/session-shell/session-viewport-controller.d.ts +62 -0
  68. package/dist/app/session-shell/session-viewport-controller.js +623 -0
  69. package/dist/app/session-shell/stream-presentation-coalescer.d.ts +29 -0
  70. package/dist/app/session-shell/stream-presentation-coalescer.js +79 -0
  71. package/dist/app/session-shell/system-clipboard.d.ts +20 -0
  72. package/dist/app/session-shell/system-clipboard.js +159 -0
  73. package/dist/app/session-shell/text-paste.d.ts +5 -0
  74. package/dist/app/session-shell/text-paste.js +16 -0
  75. package/dist/cli/capabilities.d.ts +6 -0
  76. package/dist/cli/capabilities.js +7 -0
  77. package/dist/cli/dispatch.d.ts +53 -0
  78. package/dist/cli/dispatch.js +287 -0
  79. package/dist/cli/index.d.ts +8 -0
  80. package/dist/cli/index.js +4 -0
  81. package/dist/cli/package-messages.d.ts +27 -0
  82. package/dist/cli/package-messages.js +83 -0
  83. package/dist/cli/packages.d.ts +32 -0
  84. package/dist/cli/packages.js +81 -0
  85. package/dist/cli/session-context.d.ts +9 -0
  86. package/dist/cli/session-context.js +29 -0
  87. package/dist/cli/version-stats.d.ts +22 -0
  88. package/dist/cli/version-stats.js +112 -0
  89. package/dist/composition/index.d.ts +2 -0
  90. package/dist/composition/index.js +2 -0
  91. package/dist/composition/owned-ui.d.ts +37 -0
  92. package/dist/composition/owned-ui.js +159 -0
  93. package/dist/composition/settings-route-host.d.ts +16 -0
  94. package/dist/composition/settings-route-host.js +141 -0
  95. package/dist/contracts/agent-engine/capability-ports.d.ts +95 -0
  96. package/dist/contracts/agent-engine/domain-validation.js +107 -0
  97. package/dist/contracts/agent-engine/domain.d.ts +138 -0
  98. package/dist/contracts/agent-engine/index.d.ts +11 -0
  99. package/dist/contracts/agent-engine/index.js +6 -0
  100. package/dist/contracts/agent-engine/package-ports.d.ts +60 -0
  101. package/dist/contracts/agent-engine/ports.js +1 -0
  102. package/dist/contracts/owned-ui/extension-ui.d.ts +310 -0
  103. package/dist/contracts/owned-ui/image-attachments.d.ts +36 -0
  104. package/dist/contracts/owned-ui/image-attachments.js +67 -0
  105. package/dist/contracts/owned-ui/index.d.ts +14 -0
  106. package/dist/contracts/owned-ui/index.js +9 -0
  107. package/dist/contracts/owned-ui/model.d.ts +383 -0
  108. package/dist/contracts/owned-ui/prompt-chips.d.ts +15 -0
  109. package/dist/contracts/owned-ui/prompt-chips.js +59 -0
  110. package/dist/contracts/owned-ui/prompt-history.d.ts +55 -0
  111. package/dist/contracts/owned-ui/prompt-history.js +23 -0
  112. package/dist/contracts/owned-ui/prompt-suggestions.d.ts +3 -0
  113. package/dist/contracts/owned-ui/prompt-suggestions.js +44 -0
  114. package/dist/contracts/owned-ui/suggestion-diagnostics.d.ts +22 -0
  115. package/dist/contracts/owned-ui/suggestion-diagnostics.js +9 -0
  116. package/dist/contracts/owned-ui/transcript-lifecycle.d.ts +5 -0
  117. package/dist/contracts/owned-ui/transcript-lifecycle.js +33 -0
  118. package/dist/contracts/owned-ui/validation.d.ts +15 -0
  119. package/dist/contracts/owned-ui/validation.js +554 -0
  120. package/dist/contracts/presentation/index.d.ts +117 -0
  121. package/dist/contracts/presentation/index.js +68 -0
  122. package/dist/features/launch/development-launch.js +36 -0
  123. package/dist/features/launch/index.d.ts +14 -0
  124. package/dist/features/launch/index.js +7 -0
  125. package/dist/features/launch/intent.d.ts +12 -0
  126. package/dist/features/launch/intent.js +8 -0
  127. package/dist/features/launch/prepare-launch.d.ts +11 -0
  128. package/dist/features/launch/prepare-launch.js +14 -0
  129. package/dist/features/launch/profile-paths.d.ts +16 -0
  130. package/dist/features/launch/profile-paths.js +36 -0
  131. package/dist/features/launch/runtime-selection.d.ts +16 -0
  132. package/dist/features/launch/runtime-selection.js +13 -0
  133. package/dist/features/launch/session-context.d.ts +8 -0
  134. package/dist/features/launch/session-context.js +8 -0
  135. package/dist/features/owned-ui/index.d.ts +9 -0
  136. package/dist/features/owned-ui/index.js +6 -0
  137. package/dist/features/owned-ui/project-trust-prompt.d.ts +25 -0
  138. package/dist/features/owned-ui/project-trust-prompt.js +149 -0
  139. package/dist/features/owned-ui/reference-routes.d.ts +6 -0
  140. package/dist/features/owned-ui/reference-routes.js +6 -0
  141. package/dist/features/owned-ui/reference-screen-app.d.ts +43 -0
  142. package/dist/features/owned-ui/reference-screen-app.js +279 -0
  143. package/dist/features/owned-ui/run.d.ts +17 -0
  144. package/dist/features/owned-ui/run.js +64 -0
  145. package/dist/features/owned-ui/session-fork-prompt.d.ts +8 -0
  146. package/dist/features/owned-ui/session-fork-prompt.js +34 -0
  147. package/dist/features/owned-ui/settings-app.d.ts +21 -0
  148. package/dist/features/owned-ui/settings-app.js +851 -0
  149. package/dist/features/owned-ui/settings-route.d.ts +2 -0
  150. package/dist/features/owned-ui/settings-route.js +2 -0
  151. package/dist/features/prompt-history/image-sidecar.d.ts +32 -0
  152. package/dist/features/prompt-history/image-sidecar.js +130 -0
  153. package/dist/features/prompt-history/index.d.ts +4 -0
  154. package/dist/features/prompt-history/index.js +3 -0
  155. package/dist/features/prompt-history/paths.d.ts +5 -0
  156. package/dist/features/prompt-history/paths.js +17 -0
  157. package/dist/features/prompt-history/service.d.ts +54 -0
  158. package/dist/features/prompt-history/service.js +425 -0
  159. package/dist/features/prompt-history/store.d.ts +16 -0
  160. package/dist/features/prompt-history/store.js +219 -0
  161. package/dist/features/prompt-history/worker.d.ts +9 -0
  162. package/dist/features/prompt-history/worker.js +45 -0
  163. package/dist/features/prompt-suggestions/diagnostics.d.ts +18 -0
  164. package/dist/features/prompt-suggestions/diagnostics.js +82 -0
  165. package/dist/features/prompt-suggestions/index.d.ts +2 -0
  166. package/dist/features/prompt-suggestions/index.js +1 -0
  167. package/dist/foundation/launch-context/index.d.ts +59 -0
  168. package/dist/foundation/launch-context/index.js +136 -0
  169. package/dist/foundation/launch-guardian/index.d.ts +2 -0
  170. package/dist/foundation/launch-guardian/index.js +1 -0
  171. package/dist/foundation/launch-guardian/main.d.ts +33 -0
  172. package/dist/foundation/launch-guardian/main.js +179 -0
  173. package/dist/foundation/lifecycle/commands.js +1 -0
  174. package/dist/foundation/lifecycle/index.d.ts +13 -0
  175. package/dist/foundation/lifecycle/index.js +6 -0
  176. package/dist/foundation/lifecycle/model.d.ts +64 -0
  177. package/dist/foundation/lifecycle/model.js +40 -0
  178. package/dist/foundation/lifecycle/paths.d.ts +30 -0
  179. package/dist/foundation/lifecycle/paths.js +70 -0
  180. package/dist/foundation/lifecycle/session-repository-context.d.ts +18 -0
  181. package/dist/foundation/lifecycle/session-repository-context.js +173 -0
  182. package/dist/foundation/lifecycle/session-selection.d.ts +9 -0
  183. package/dist/foundation/lifecycle/session-selection.js +39 -0
  184. package/dist/foundation/lifecycle/supervisor-startup.d.ts +30 -0
  185. package/dist/foundation/lifecycle/supervisor-startup.js +106 -0
  186. package/dist/foundation/process-containment/darwin-process-inspector.d.ts +5 -0
  187. package/dist/foundation/process-containment/darwin-process-inspector.js +7 -0
  188. package/dist/foundation/process-containment/index.d.ts +8 -0
  189. package/dist/foundation/process-containment/index.js +6 -0
  190. package/dist/foundation/process-containment/linux-process-inspector.d.ts +7 -0
  191. package/dist/foundation/process-containment/linux-process-inspector.js +27 -0
  192. package/dist/foundation/process-containment/native-guardian-containment.d.ts +17 -0
  193. package/dist/foundation/process-containment/native-guardian-containment.js +140 -0
  194. package/dist/foundation/process-containment/windows-process-inspector.d.ts +19 -0
  195. package/dist/foundation/process-containment/windows-process-inspector.js +56 -0
  196. package/dist/foundation/protocol/client.d.ts +18 -0
  197. package/dist/foundation/protocol/client.js +130 -0
  198. package/dist/foundation/protocol/index.d.ts +3 -0
  199. package/dist/foundation/protocol/index.js +2 -0
  200. package/dist/foundation/protocol/messages.d.ts +90 -0
  201. package/dist/foundation/protocol/messages.js +100 -0
  202. package/dist/foundation/release/bootstrap.d.ts +51 -0
  203. package/dist/foundation/release/bootstrap.js +470 -0
  204. package/dist/foundation/release/cohort-state.d.ts +159 -0
  205. package/dist/foundation/release/cohort-state.js +507 -0
  206. package/dist/foundation/release/dependency-certification-retention.d.ts +7 -0
  207. package/dist/foundation/release/dependency-certification-retention.js +88 -0
  208. package/dist/foundation/release/dependency-certification.d.ts +24 -0
  209. package/dist/foundation/release/dependency-certification.js +266 -0
  210. package/dist/foundation/release/dependency-layer.d.ts +78 -0
  211. package/dist/foundation/release/dependency-layer.js +466 -0
  212. package/dist/foundation/release/endpoints.d.ts +24 -0
  213. package/dist/foundation/release/endpoints.js +134 -0
  214. package/dist/foundation/release/immutable-platform.d.ts +6 -0
  215. package/dist/foundation/release/immutable-platform.js +13 -0
  216. package/dist/foundation/release/index.d.ts +33 -0
  217. package/dist/foundation/release/index.js +18 -0
  218. package/dist/foundation/release/ordinary-launch-selection.d.ts +14 -0
  219. package/dist/foundation/release/ordinary-launch-selection.js +15 -0
  220. package/dist/foundation/release/release-gc.d.ts +71 -0
  221. package/dist/foundation/release/release-gc.js +764 -0
  222. package/dist/foundation/release/release-store.d.ts +49 -0
  223. package/dist/foundation/release/release-store.js +235 -0
  224. package/dist/foundation/release/release.d.ts +43 -0
  225. package/dist/foundation/release/release.js +215 -0
  226. package/dist/foundation/release/restart-certification.d.ts +68 -0
  227. package/dist/foundation/release/restart-certification.js +227 -0
  228. package/dist/foundation/release/types.d.ts +11 -0
  229. package/dist/foundation/release/types.js +1 -0
  230. package/dist/foundation/release/update-activation.d.ts +72 -0
  231. package/dist/foundation/release/update-activation.js +204 -0
  232. package/dist/foundation/release/update-launch.d.ts +6 -0
  233. package/dist/foundation/release/update-launch.js +17 -0
  234. package/dist/foundation/release/update-recovery.d.ts +82 -0
  235. package/dist/foundation/release/update-recovery.js +386 -0
  236. package/dist/foundation/release/update-transaction.d.ts +42 -0
  237. package/dist/foundation/release/update-transaction.js +101 -0
  238. package/dist/foundation/release/update.d.ts +142 -0
  239. package/dist/foundation/release/update.js +773 -0
  240. package/dist/foundation/release/warmup.d.ts +3 -0
  241. package/dist/foundation/release/warmup.js +47 -0
  242. package/dist/foundation/startup/index.d.ts +4 -0
  243. package/dist/foundation/startup/index.js +2 -0
  244. package/dist/foundation/startup/startup-budget.d.ts +46 -0
  245. package/dist/foundation/startup/startup-budget.js +42 -0
  246. package/dist/foundation/startup/startup-descriptor.js +34 -0
  247. package/dist/foundation/startup/startup-runtime.d.ts +27 -0
  248. package/dist/foundation/startup/startup-runtime.js +128 -0
  249. package/dist/foundation/storage/control-store.d.ts +18 -0
  250. package/dist/foundation/storage/control-store.js +342 -0
  251. package/dist/foundation/storage/index.d.ts +1 -0
  252. package/dist/foundation/storage/index.js +1 -0
  253. package/dist/foundation/supervision/index.d.ts +3 -0
  254. package/dist/foundation/supervision/index.js +3 -0
  255. package/dist/foundation/supervision/main.d.ts +1 -0
  256. package/dist/foundation/supervision/main.js +84 -0
  257. package/dist/foundation/supervision/paths.d.ts +1 -0
  258. package/dist/foundation/supervision/paths.js +1 -0
  259. package/dist/foundation/supervision/server.d.ts +46 -0
  260. package/dist/foundation/supervision/server.js +584 -0
  261. package/dist/foundation/terminal-cleanup/fatal-exit.d.ts +12 -0
  262. package/dist/foundation/terminal-cleanup/fatal-exit.js +87 -0
  263. package/dist/foundation/terminal-cleanup/index.d.ts +3 -0
  264. package/dist/foundation/terminal-cleanup/index.js +2 -0
  265. package/dist/foundation/terminal-cleanup/terminal-reset.d.ts +4 -0
  266. package/dist/foundation/terminal-cleanup/terminal-reset.js +40 -0
  267. package/dist/integrations/pi/components/components.d.ts +4 -0
  268. package/dist/integrations/pi/components/components.js +64 -0
  269. package/dist/integrations/pi/components/conformance.d.ts +18 -0
  270. package/dist/integrations/pi/components/conformance.js +70 -0
  271. package/dist/integrations/pi/components/editor-interaction.d.ts +38 -0
  272. package/dist/integrations/pi/components/editor-interaction.js +1 -0
  273. package/dist/integrations/pi/components/history-editor-loader.d.ts +5 -0
  274. package/dist/integrations/pi/components/history-editor-loader.js +5 -0
  275. package/dist/integrations/pi/components/index.d.ts +26 -0
  276. package/dist/integrations/pi/components/index.js +16 -0
  277. package/dist/integrations/pi/components/modal-frame.d.ts +41 -0
  278. package/dist/integrations/pi/components/modal-frame.js +110 -0
  279. package/dist/integrations/pi/components/models-dialog.d.ts +55 -0
  280. package/dist/integrations/pi/components/models-dialog.js +403 -0
  281. package/dist/integrations/pi/components/owned-editor-ux.d.ts +74 -0
  282. package/dist/integrations/pi/components/owned-editor-ux.js +1094 -0
  283. package/dist/integrations/pi/components/path-word-ranges.d.ts +2 -0
  284. package/dist/integrations/pi/components/path-word-ranges.js +37 -0
  285. package/dist/integrations/pi/components/prompt-input-port.d.ts +18 -0
  286. package/dist/integrations/pi/components/prompt-input-port.js +1 -0
  287. package/dist/integrations/pi/components/resources/builtin-themes.d.ts +167 -0
  288. package/dist/integrations/pi/components/resources/builtin-themes.js +168 -0
  289. package/dist/integrations/pi/components/shell-components.d.ts +7 -0
  290. package/dist/integrations/pi/components/shell-components.js +7 -0
  291. package/dist/integrations/pi/components/shell-editor-autocomplete.d.ts +23 -0
  292. package/dist/integrations/pi/components/shell-editor-autocomplete.js +357 -0
  293. package/dist/integrations/pi/components/shell-extension-ui.d.ts +35 -0
  294. package/dist/integrations/pi/components/shell-extension-ui.js +282 -0
  295. package/dist/integrations/pi/components/shell-footer-status.d.ts +8 -0
  296. package/dist/integrations/pi/components/shell-footer-status.js +287 -0
  297. package/dist/integrations/pi/components/shell-hotkey-sections.d.ts +7 -0
  298. package/dist/integrations/pi/components/shell-hotkey-sections.js +29 -0
  299. package/dist/integrations/pi/components/shell-presenters-info.d.ts +73 -0
  300. package/dist/integrations/pi/components/shell-presenters-info.js +188 -0
  301. package/dist/integrations/pi/components/shell-presenters-transcript.d.ts +29 -0
  302. package/dist/integrations/pi/components/shell-presenters-transcript.js +435 -0
  303. package/dist/integrations/pi/components/shell-selectors-dialogs.d.ts +134 -0
  304. package/dist/integrations/pi/components/shell-selectors-dialogs.js +286 -0
  305. package/dist/integrations/pi/components/shell-shared-facade.d.ts +233 -0
  306. package/dist/integrations/pi/components/shell-shared-facade.js +92 -0
  307. package/dist/integrations/pi/components/skills-command.d.ts +49 -0
  308. package/dist/integrations/pi/components/skills-command.js +119 -0
  309. package/dist/integrations/pi/components/skills-dialog.d.ts +9 -0
  310. package/dist/integrations/pi/components/skills-dialog.js +128 -0
  311. package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +17 -0
  312. package/dist/integrations/pi/components/submitted-prompt-adapter.js +52 -0
  313. package/dist/integrations/pi/components/theme.d.ts +5 -0
  314. package/dist/integrations/pi/components/theme.js +11 -0
  315. package/dist/integrations/pi/components/thinking-selector-dialog.d.ts +8 -0
  316. package/dist/integrations/pi/components/thinking-selector-dialog.js +22 -0
  317. package/dist/integrations/pi/components/tool-image-presentation.d.ts +21 -0
  318. package/dist/integrations/pi/components/tool-image-presentation.js +83 -0
  319. package/dist/integrations/pi/components/tool-result-adapter.d.ts +6 -0
  320. package/dist/integrations/pi/components/tool-result-adapter.js +27 -0
  321. package/dist/integrations/pi/components/transcript-image-resolver.d.ts +7 -0
  322. package/dist/integrations/pi/components/transcript-image-resolver.js +19 -0
  323. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +445 -0
  324. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +371 -0
  325. package/dist/integrations/pi/components/upstream/assets/earendil-image.json +12 -0
  326. package/dist/integrations/pi/components/upstream/components/countdown-timer.d.ts +13 -0
  327. package/dist/integrations/pi/components/upstream/components/daxnuts.d.ts +29 -0
  328. package/dist/integrations/pi/components/upstream/components/daxnuts.js +146 -0
  329. package/dist/integrations/pi/components/upstream/components/earendil-announcement.d.ts +4 -0
  330. package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +48 -0
  331. package/dist/integrations/pi/components/upstream/components/extension-editor.d.ts +22 -0
  332. package/dist/integrations/pi/components/upstream/components/extension-editor.js +89 -0
  333. package/dist/integrations/pi/components/upstream/components/extension-input.d.ts +17 -0
  334. package/dist/integrations/pi/components/upstream/components/extension-input.js +73 -0
  335. package/dist/integrations/pi/components/upstream/components/extension-selector.d.ts +15 -0
  336. package/dist/integrations/pi/components/upstream/components/extension-selector.js +93 -0
  337. package/dist/integrations/pi/components/upstream/components/mermaid.js +81 -0
  338. package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +52 -0
  339. package/dist/integrations/pi/components/upstream/components/owned-editor.js +222 -0
  340. package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +60 -0
  341. package/dist/integrations/pi/components/upstream/components/scoped-models-selector.js +347 -0
  342. package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +12 -0
  343. package/dist/integrations/pi/components/upstream/components/session-footer.js +150 -0
  344. package/dist/integrations/pi/components/upstream/components/session-selector-search.js +161 -0
  345. package/dist/integrations/pi/components/upstream/components/session-selector.d.ts +97 -0
  346. package/dist/integrations/pi/components/upstream/components/session-selector.js +935 -0
  347. package/dist/integrations/pi/components/upstream/components/skill-invocation-message.d.ts +21 -0
  348. package/dist/integrations/pi/components/upstream/components/skill-invocation-message.js +54 -0
  349. package/dist/integrations/pi/components/upstream/components/status-indicator.d.ts +35 -0
  350. package/dist/integrations/pi/components/upstream/components/status-indicator.js +69 -0
  351. package/dist/integrations/pi/components/upstream/components/thinking-selector.d.ts +36 -0
  352. package/dist/integrations/pi/components/upstream/components/thinking-selector.js +153 -0
  353. package/dist/integrations/pi/components/upstream/components/tool-execution.d.ts +67 -0
  354. package/dist/integrations/pi/components/upstream/components/tool-execution.js +365 -0
  355. package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +102 -0
  356. package/dist/integrations/pi/components/upstream/components/tree-selector.js +1294 -0
  357. package/dist/integrations/pi/components/upstream/components/trust-selector.d.ts +33 -0
  358. package/dist/integrations/pi/components/upstream/components/trust-selector.js +87 -0
  359. package/dist/integrations/pi/components/upstream/external-editor.js +43 -0
  360. package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +289 -0
  361. package/dist/integrations/pi/components/upstream/history/editor-core.js +2145 -0
  362. package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +35 -0
  363. package/dist/integrations/pi/components/upstream/history/kill-ring.js +51 -0
  364. package/dist/integrations/pi/components/upstream/history/printable-key.d.ts +1 -0
  365. package/dist/integrations/pi/components/upstream/history/printable-key.js +43 -0
  366. package/dist/integrations/pi/components/upstream/history/text-helpers.d.ts +17 -0
  367. package/dist/integrations/pi/components/upstream/history/text-helpers.js +34 -0
  368. package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +25 -0
  369. package/dist/integrations/pi/components/upstream/history/undo-stack.js +39 -0
  370. package/dist/integrations/pi/components/upstream/history/word-navigation.d.ts +24 -0
  371. package/dist/integrations/pi/components/upstream/history/word-navigation.js +103 -0
  372. package/dist/integrations/pi/components/upstream/model-search.d.ts +18 -0
  373. package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +33 -0
  374. package/dist/integrations/pi/components/upstream/theme/theme-controller.js +114 -0
  375. package/dist/integrations/pi/components/upstream/theme/theme.d.ts +61 -0
  376. package/dist/integrations/pi/components/upstream/theme/theme.js +337 -0
  377. package/dist/integrations/pi/engine/adapter.d.ts +140 -0
  378. package/dist/integrations/pi/engine/adapter.js +663 -0
  379. package/dist/integrations/pi/engine/changelog.d.ts +2 -0
  380. package/dist/integrations/pi/engine/changelog.js +63 -0
  381. package/dist/integrations/pi/engine/command-dispatch.d.ts +41 -0
  382. package/dist/integrations/pi/engine/command-dispatch.js +125 -0
  383. package/dist/integrations/pi/engine/compaction-progress.d.ts +24 -0
  384. package/dist/integrations/pi/engine/compaction-progress.js +97 -0
  385. package/dist/integrations/pi/engine/conformance.d.ts +39 -0
  386. package/dist/integrations/pi/engine/conformance.js +140 -0
  387. package/dist/integrations/pi/engine/event-delivery.d.ts +100 -0
  388. package/dist/integrations/pi/engine/event-delivery.js +184 -0
  389. package/dist/integrations/pi/engine/extension-ui-binding.d.ts +35 -0
  390. package/dist/integrations/pi/engine/extension-ui-binding.js +81 -0
  391. package/dist/integrations/pi/engine/http-dispatcher.d.ts +4 -0
  392. package/dist/integrations/pi/engine/http-dispatcher.js +25 -0
  393. package/dist/integrations/pi/engine/index.d.ts +18 -0
  394. package/dist/integrations/pi/engine/index.js +10 -0
  395. package/dist/integrations/pi/engine/message-values.d.ts +29 -0
  396. package/dist/integrations/pi/engine/message-values.js +169 -0
  397. package/dist/integrations/pi/engine/package-integration.d.ts +13 -0
  398. package/dist/integrations/pi/engine/package-integration.js +118 -0
  399. package/dist/integrations/pi/engine/pending-delivery.d.ts +30 -0
  400. package/dist/integrations/pi/engine/pending-delivery.js +156 -0
  401. package/dist/integrations/pi/engine/pi-settings-metadata.json +397 -0
  402. package/dist/integrations/pi/engine/project-trust-preflight.d.ts +22 -0
  403. package/dist/integrations/pi/engine/project-trust-preflight.js +50 -0
  404. package/dist/integrations/pi/engine/prompt-suggestions.d.ts +30 -0
  405. package/dist/integrations/pi/engine/prompt-suggestions.js +102 -0
  406. package/dist/integrations/pi/engine/provider-authentication.d.ts +34 -0
  407. package/dist/integrations/pi/engine/provider-authentication.js +209 -0
  408. package/dist/integrations/pi/engine/repository-pr.d.ts +8 -0
  409. package/dist/integrations/pi/engine/repository-pr.js +62 -0
  410. package/dist/integrations/pi/engine/resource-catalog.d.ts +50 -0
  411. package/dist/integrations/pi/engine/resource-catalog.js +299 -0
  412. package/dist/integrations/pi/engine/resources/changelog.json +12 -0
  413. package/dist/integrations/pi/engine/runtime-integration.d.ts +53 -0
  414. package/dist/integrations/pi/engine/runtime-integration.js +118 -0
  415. package/dist/integrations/pi/engine/session-events.d.ts +48 -0
  416. package/dist/integrations/pi/engine/session-events.js +223 -0
  417. package/dist/integrations/pi/engine/session-integration.d.ts +67 -0
  418. package/dist/integrations/pi/engine/session-integration.js +195 -0
  419. package/dist/integrations/pi/engine/session-runtime.d.ts +98 -0
  420. package/dist/integrations/pi/engine/session-runtime.js +412 -0
  421. package/dist/integrations/pi/engine/session-selection.d.ts +28 -0
  422. package/dist/integrations/pi/engine/session-selection.js +90 -0
  423. package/dist/integrations/pi/engine/settings-bridge.d.ts +121 -0
  424. package/dist/integrations/pi/engine/settings-bridge.js +516 -0
  425. package/dist/integrations/pi/engine/settings-metadata.d.ts +31 -0
  426. package/dist/integrations/pi/engine/settings-metadata.js +67 -0
  427. package/dist/integrations/pi/engine/settings-port.d.ts +42 -0
  428. package/dist/integrations/pi/engine/settings-port.js +363 -0
  429. package/dist/integrations/pi/engine/tool-rendering.d.ts +13 -0
  430. package/dist/integrations/pi/engine/tool-rendering.js +145 -0
  431. package/dist/integrations/pi/engine/transcript-image-assets.d.ts +11 -0
  432. package/dist/integrations/pi/engine/transcript-image-assets.js +86 -0
  433. package/dist/integrations/pi/engine/transcript-projection.d.ts +39 -0
  434. package/dist/integrations/pi/engine/transcript-projection.js +440 -0
  435. package/dist/integrations/pi/engine/usage-view.d.ts +4 -0
  436. package/dist/integrations/pi/engine/usage-view.js +56 -0
  437. package/dist/integrations/pi/engine/windows-filesystem-hygiene.d.ts +21 -0
  438. package/dist/integrations/pi/engine/windows-filesystem-hygiene.js +55 -0
  439. package/dist/integrations/pi/engine/workflow-contexts.d.ts +66 -0
  440. package/dist/integrations/pi/engine/workflow-contexts.js +360 -0
  441. package/dist/integrations/pi/engine/workflow-runner.d.ts +60 -0
  442. package/dist/integrations/pi/engine/workflow-runner.js +536 -0
  443. package/dist/integrations/pi/engine/workflow-support.d.ts +38 -0
  444. package/dist/integrations/pi/engine/workflow-support.js +386 -0
  445. package/dist/integrations/pi/engine/workflows.d.ts +308 -0
  446. package/dist/integrations/pi/engine/workflows.js +81 -0
  447. package/dist/integrations/pi/startup-public.d.ts +2 -0
  448. package/dist/integrations/pi/startup-public.js +2254 -0
  449. package/dist/integrations/pi/startup-public.manifest.json +12679 -0
  450. package/dist/integrations/pi/tui-runtime/adapter.d.ts +58 -0
  451. package/dist/integrations/pi/tui-runtime/adapter.js +792 -0
  452. package/dist/integrations/pi/tui-runtime/contracts.d.ts +158 -0
  453. package/dist/integrations/pi/tui-runtime/contracts.js +1 -0
  454. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +88 -0
  455. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +439 -0
  456. package/dist/integrations/pi/tui-runtime/index.d.ts +9 -0
  457. package/dist/integrations/pi/tui-runtime/index.js +5 -0
  458. package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.d.ts +39 -0
  459. package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.js +139 -0
  460. package/dist/integrations/pi/tui-runtime/mouse-report-input.d.ts +19 -0
  461. package/dist/integrations/pi/tui-runtime/mouse-report-input.js +91 -0
  462. package/dist/integrations/pi/tui-runtime/overlay-geometry.d.ts +32 -0
  463. package/dist/integrations/pi/tui-runtime/overlay-geometry.js +158 -0
  464. package/dist/integrations/pi/tui-runtime/presentation-adapter.d.ts +4 -0
  465. package/dist/integrations/pi/tui-runtime/presentation-adapter.js +48 -0
  466. package/dist/native/darwin-arm64/manifest.json +4 -4
  467. package/dist/native/darwin-arm64/process-guardian +0 -0
  468. package/dist/native/linux-x64/manifest.json +3 -3
  469. package/dist/native/linux-x64/process-guardian +0 -0
  470. package/dist/native/win32-x64/manifest.json +3 -3
  471. package/dist/native/win32-x64/process-guardian.exe +0 -0
  472. package/dist/product-identity.d.ts +37 -0
  473. package/dist/product-identity.js +119 -0
  474. package/dist/product-identity.json +87 -0
  475. package/dist/runtime-payload-inventory.json +134179 -0
  476. package/dist/ui/apps/contracts.d.ts +72 -0
  477. package/dist/ui/apps/host.d.ts +42 -0
  478. package/dist/ui/apps/host.js +156 -0
  479. package/dist/ui/apps/index.d.ts +5 -0
  480. package/dist/ui/apps/index.js +3 -0
  481. package/dist/ui/apps/registry.d.ts +12 -0
  482. package/dist/ui/apps/registry.js +33 -0
  483. package/dist/ui/components/dialog-panel.d.ts +37 -0
  484. package/dist/ui/components/dialog-panel.js +58 -0
  485. package/dist/ui/components/frame.d.ts +22 -0
  486. package/dist/ui/components/frame.js +55 -0
  487. package/dist/ui/components/index.d.ts +50 -0
  488. package/dist/ui/components/index.js +26 -0
  489. package/dist/ui/components/line-input.d.ts +68 -0
  490. package/dist/ui/components/line-input.js +224 -0
  491. package/dist/ui/components/list-block.d.ts +70 -0
  492. package/dist/ui/components/list-block.js +189 -0
  493. package/dist/ui/components/list-view.d.ts +60 -0
  494. package/dist/ui/components/list-view.js +84 -0
  495. package/dist/ui/components/mouse.d.ts +25 -0
  496. package/dist/ui/components/mouse.js +72 -0
  497. package/dist/ui/components/progress-status.d.ts +9 -0
  498. package/dist/ui/components/progress-status.js +25 -0
  499. package/dist/ui/components/prompt-input.d.ts +32 -0
  500. package/dist/ui/components/prompt-input.js +51 -0
  501. package/dist/ui/components/scrollbar.d.ts +88 -0
  502. package/dist/ui/components/scrollbar.js +137 -0
  503. package/dist/ui/components/selection-copy.d.ts +24 -0
  504. package/dist/ui/components/selection-copy.js +39 -0
  505. package/dist/ui/components/shortcut-hints.d.ts +7 -0
  506. package/dist/ui/components/shortcut-hints.js +12 -0
  507. package/dist/ui/components/shortcuts.d.ts +60 -0
  508. package/dist/ui/components/shortcuts.js +85 -0
  509. package/dist/ui/components/spans.d.ts +28 -0
  510. package/dist/ui/components/spans.js +266 -0
  511. package/dist/ui/components/submitted-prompt.d.ts +23 -0
  512. package/dist/ui/components/submitted-prompt.js +50 -0
  513. package/dist/ui/components/surface.d.ts +20 -0
  514. package/dist/ui/components/surface.js +44 -0
  515. package/dist/ui/components/text-selection.d.ts +62 -0
  516. package/dist/ui/components/text-selection.js +210 -0
  517. package/dist/ui/components/text.d.ts +38 -0
  518. package/dist/ui/components/text.js +185 -0
  519. package/dist/ui/components/theme.d.ts +19 -0
  520. package/dist/ui/components/theme.js +9 -0
  521. package/dist/ui/components/transcript-viewport.d.ts +187 -0
  522. package/dist/ui/components/transcript-viewport.js +886 -0
  523. package/dist/ui/components/value-menu.d.ts +43 -0
  524. package/dist/ui/components/value-menu.js +41 -0
  525. package/dist/ui/components/visible-hyperlinks.d.ts +26 -0
  526. package/dist/ui/components/visible-hyperlinks.js +97 -0
  527. package/dist/ui/settings/declarations.d.ts +127 -0
  528. package/dist/ui/settings/declarations.js +124 -0
  529. package/dist/ui/settings/index.d.ts +10 -0
  530. package/dist/ui/settings/index.js +5 -0
  531. package/dist/ui/settings/manager.d.ts +54 -0
  532. package/dist/ui/settings/manager.js +256 -0
  533. package/dist/ui/settings/migrations.d.ts +13 -0
  534. package/dist/ui/settings/migrations.js +92 -0
  535. package/dist/ui/settings/sections.d.ts +52 -0
  536. package/dist/ui/settings/sections.js +112 -0
  537. package/docs/architecture/boundaries.md +17 -13
  538. package/docs/architecture/code-documentation.md +77 -0
  539. package/docs/architecture/history-editor-provenance.md +100 -0
  540. package/docs/architecture/internal-naming.md +94 -0
  541. package/docs/architecture/process-guardian-provenance.md +3 -1
  542. package/docs/architecture/project-structure.md +72 -30
  543. package/docs/architecture/prompt-suggestions.md +68 -0
  544. package/docs/architecture/resource-and-data-policy.md +28 -2
  545. package/docs/architecture/response-copy-delivery.md +85 -0
  546. package/docs/architecture/terminal-host-proof-gate.md +1 -1
  547. package/docs/architecture/terminal-host-spike-evidence.md +1 -1
  548. package/docs/architecture/tool-image-presentation.md +62 -0
  549. package/docs/architecture/toolchain.md +34 -10
  550. package/docs/architecture/ui-reference-provenance.md +73 -6
  551. package/docs/ci-release-runbook.md +266 -79
  552. package/docs/features/launch-profiles.md +24 -17
  553. package/docs/features/modal-content-interaction.md +38 -0
  554. package/docs/features/prompt-history.md +149 -0
  555. package/docs/local-worktree-cleanup.md +214 -0
  556. package/docs/manual-code-streaming-cleanup.md +88 -0
  557. package/docs/manual-ghost-link-baseline.md +89 -0
  558. package/docs/manual-launch-instance-acceptance.md +12 -35
  559. package/docs/manual-owned-ui-checkpoint.md +79 -0
  560. package/docs/manual-pi-boundary-candidate.md +4 -5
  561. package/docs/manual-terminal-colour-check.md +4 -3
  562. package/docs/openspec-archive-automation.md +269 -0
  563. package/docs/repository-governance-live-acceptance.md +77 -0
  564. package/docs/validation.md +105 -0
  565. package/package.json +53 -34
  566. package/dist/src/cli/capabilities.d.ts +0 -15
  567. package/dist/src/cli/capabilities.js +0 -7
  568. package/dist/src/cli/dispatch.d.ts +0 -32
  569. package/dist/src/cli/dispatch.js +0 -142
  570. package/dist/src/cli/index.d.ts +0 -5
  571. package/dist/src/cli/index.js +0 -5
  572. package/dist/src/cli/packages.d.ts +0 -23
  573. package/dist/src/cli/packages.js +0 -84
  574. package/dist/src/cli/version-stats.d.ts +0 -16
  575. package/dist/src/cli/version-stats.js +0 -72
  576. package/dist/src/cli/version.d.ts +0 -2
  577. package/dist/src/cli/version.js +0 -23
  578. package/dist/src/composition/index.d.ts +0 -48
  579. package/dist/src/composition/index.js +0 -258
  580. package/dist/src/features/launch/development-launch.js +0 -28
  581. package/dist/src/features/launch/index.d.ts +0 -7
  582. package/dist/src/features/launch/index.js +0 -7
  583. package/dist/src/features/launch/intent.d.ts +0 -7
  584. package/dist/src/features/launch/intent.js +0 -4
  585. package/dist/src/features/launch/prepare-launch.d.ts +0 -13
  586. package/dist/src/features/launch/prepare-launch.js +0 -21
  587. package/dist/src/features/launch/profile-paths.d.ts +0 -15
  588. package/dist/src/features/launch/profile-paths.js +0 -31
  589. package/dist/src/features/launch/profiles.d.ts +0 -12
  590. package/dist/src/features/launch/profiles.js +0 -26
  591. package/dist/src/features/launch/runtime-selection.d.ts +0 -19
  592. package/dist/src/features/launch/runtime-selection.js +0 -13
  593. package/dist/src/features/owned-ui/customization.d.ts +0 -38
  594. package/dist/src/features/owned-ui/customization.js +0 -108
  595. package/dist/src/features/owned-ui/diagnostics.d.ts +0 -33
  596. package/dist/src/features/owned-ui/diagnostics.js +0 -94
  597. package/dist/src/features/owned-ui/index.d.ts +0 -4
  598. package/dist/src/features/owned-ui/index.js +0 -4
  599. package/dist/src/features/owned-ui/run.d.ts +0 -11
  600. package/dist/src/features/owned-ui/run.js +0 -15
  601. package/dist/src/features/owned-ui/settings-app.d.ts +0 -22
  602. package/dist/src/features/owned-ui/settings-app.js +0 -633
  603. package/dist/src/features/workspace/capabilities.d.ts +0 -31
  604. package/dist/src/features/workspace/capabilities.js +0 -75
  605. package/dist/src/features/workspace/index.d.ts +0 -6
  606. package/dist/src/features/workspace/index.js +0 -6
  607. package/dist/src/features/workspace/presentation.d.ts +0 -30
  608. package/dist/src/features/workspace/presentation.js +0 -70
  609. package/dist/src/features/workspace/reconciliation.d.ts +0 -15
  610. package/dist/src/features/workspace/reconciliation.js +0 -82
  611. package/dist/src/features/workspace/reducer.d.ts +0 -42
  612. package/dist/src/features/workspace/reducer.js +0 -213
  613. package/dist/src/features/workspace/router.d.ts +0 -31
  614. package/dist/src/features/workspace/router.js +0 -124
  615. package/dist/src/features/workspace/store.d.ts +0 -17
  616. package/dist/src/features/workspace/store.js +0 -54
  617. package/dist/src/foundation/agent-engine-contracts/capability-ports.d.ts +0 -95
  618. package/dist/src/foundation/agent-engine-contracts/domain-validation.js +0 -89
  619. package/dist/src/foundation/agent-engine-contracts/domain.d.ts +0 -116
  620. package/dist/src/foundation/agent-engine-contracts/index.d.ts +0 -8
  621. package/dist/src/foundation/agent-engine-contracts/index.js +0 -8
  622. package/dist/src/foundation/agent-engine-contracts/package-ports.d.ts +0 -54
  623. package/dist/src/foundation/launch-guardian/index.d.ts +0 -1
  624. package/dist/src/foundation/launch-guardian/index.js +0 -1
  625. package/dist/src/foundation/launch-guardian/main.d.ts +0 -31
  626. package/dist/src/foundation/launch-guardian/main.js +0 -165
  627. package/dist/src/foundation/lifecycle/index.d.ts +0 -4
  628. package/dist/src/foundation/lifecycle/index.js +0 -4
  629. package/dist/src/foundation/lifecycle/model.d.ts +0 -64
  630. package/dist/src/foundation/lifecycle/model.js +0 -40
  631. package/dist/src/foundation/lifecycle/paths.d.ts +0 -10
  632. package/dist/src/foundation/lifecycle/paths.js +0 -42
  633. package/dist/src/foundation/native-host-protocol/codec.d.ts +0 -11
  634. package/dist/src/foundation/native-host-protocol/codec.js +0 -56
  635. package/dist/src/foundation/native-host-protocol/evidence.d.ts +0 -67
  636. package/dist/src/foundation/native-host-protocol/evidence.js +0 -141
  637. package/dist/src/foundation/native-host-protocol/index.d.ts +0 -4
  638. package/dist/src/foundation/native-host-protocol/index.js +0 -4
  639. package/dist/src/foundation/native-host-protocol/messages.d.ts +0 -56
  640. package/dist/src/foundation/native-host-protocol/messages.js +0 -149
  641. package/dist/src/foundation/native-host-protocol/proof-gate.d.ts +0 -13
  642. package/dist/src/foundation/native-host-protocol/proof-gate.js +0 -33
  643. package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts +0 -302
  644. package/dist/src/foundation/owned-ui-contracts/index.d.ts +0 -3
  645. package/dist/src/foundation/owned-ui-contracts/index.js +0 -3
  646. package/dist/src/foundation/owned-ui-contracts/model.d.ts +0 -241
  647. package/dist/src/foundation/owned-ui-contracts/validation.d.ts +0 -11
  648. package/dist/src/foundation/owned-ui-contracts/validation.js +0 -395
  649. package/dist/src/foundation/owned-ui-settings/declarations.d.ts +0 -13
  650. package/dist/src/foundation/owned-ui-settings/declarations.js +0 -39
  651. package/dist/src/foundation/owned-ui-settings/index.d.ts +0 -6
  652. package/dist/src/foundation/owned-ui-settings/index.js +0 -6
  653. package/dist/src/foundation/owned-ui-settings/migrations.d.ts +0 -13
  654. package/dist/src/foundation/owned-ui-settings/migrations.js +0 -28
  655. package/dist/src/foundation/owned-ui-settings/sections.d.ts +0 -70
  656. package/dist/src/foundation/owned-ui-settings/sections.js +0 -93
  657. package/dist/src/foundation/owned-ui-settings/session.d.ts +0 -44
  658. package/dist/src/foundation/owned-ui-settings/session.js +0 -145
  659. package/dist/src/foundation/owned-ui-settings/store.d.ts +0 -28
  660. package/dist/src/foundation/owned-ui-settings/store.js +0 -90
  661. package/dist/src/foundation/pi-component-adapter/components.d.ts +0 -4
  662. package/dist/src/foundation/pi-component-adapter/components.js +0 -64
  663. package/dist/src/foundation/pi-component-adapter/conformance.d.ts +0 -17
  664. package/dist/src/foundation/pi-component-adapter/conformance.js +0 -69
  665. package/dist/src/foundation/pi-component-adapter/index.d.ts +0 -13
  666. package/dist/src/foundation/pi-component-adapter/index.js +0 -13
  667. package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.d.ts +0 -165
  668. package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.js +0 -166
  669. package/dist/src/foundation/pi-component-adapter/shell-components.d.ts +0 -6
  670. package/dist/src/foundation/pi-component-adapter/shell-components.js +0 -6
  671. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.d.ts +0 -11
  672. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js +0 -162
  673. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts +0 -35
  674. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js +0 -279
  675. package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts +0 -7
  676. package/dist/src/foundation/pi-component-adapter/shell-footer-status.js +0 -189
  677. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts +0 -57
  678. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js +0 -429
  679. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts +0 -113
  680. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js +0 -235
  681. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts +0 -116
  682. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js +0 -87
  683. package/dist/src/foundation/pi-component-adapter/theme.d.ts +0 -1
  684. package/dist/src/foundation/pi-component-adapter/theme.js +0 -1
  685. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts +0 -422
  686. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js +0 -296
  687. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts +0 -10
  688. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts +0 -17
  689. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js +0 -51
  690. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts +0 -22
  691. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js +0 -142
  692. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts +0 -4
  693. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js +0 -19
  694. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts +0 -17
  695. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js +0 -81
  696. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts +0 -24
  697. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js +0 -105
  698. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts +0 -2
  699. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js +0 -18
  700. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js +0 -77
  701. package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.d.ts +0 -18
  702. package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.js +0 -55
  703. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts +0 -55
  704. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js +0 -342
  705. package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.d.ts +0 -10
  706. package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.js +0 -120
  707. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js +0 -159
  708. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts +0 -95
  709. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js +0 -889
  710. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts +0 -19
  711. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js +0 -44
  712. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts +0 -30
  713. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js +0 -59
  714. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts +0 -98
  715. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js +0 -1272
  716. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts +0 -33
  717. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js +0 -76
  718. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js +0 -39
  719. package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts +0 -15
  720. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts +0 -25
  721. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js +0 -117
  722. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts +0 -61
  723. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js +0 -326
  724. package/dist/src/foundation/pi-engine-adapter/adapter.d.ts +0 -164
  725. package/dist/src/foundation/pi-engine-adapter/adapter.js +0 -2367
  726. package/dist/src/foundation/pi-engine-adapter/conformance.d.ts +0 -37
  727. package/dist/src/foundation/pi-engine-adapter/conformance.js +0 -130
  728. package/dist/src/foundation/pi-engine-adapter/index.d.ts +0 -10
  729. package/dist/src/foundation/pi-engine-adapter/index.js +0 -10
  730. package/dist/src/foundation/pi-engine-adapter/model-auth-integration.d.ts +0 -30
  731. package/dist/src/foundation/pi-engine-adapter/model-auth-integration.js +0 -61
  732. package/dist/src/foundation/pi-engine-adapter/package-integration.d.ts +0 -13
  733. package/dist/src/foundation/pi-engine-adapter/package-integration.js +0 -112
  734. package/dist/src/foundation/pi-engine-adapter/pi-settings-metadata.json +0 -374
  735. package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.d.ts +0 -31
  736. package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.js +0 -80
  737. package/dist/src/foundation/pi-engine-adapter/runtime-integration.d.ts +0 -35
  738. package/dist/src/foundation/pi-engine-adapter/runtime-integration.js +0 -67
  739. package/dist/src/foundation/pi-engine-adapter/session-integration.d.ts +0 -43
  740. package/dist/src/foundation/pi-engine-adapter/session-integration.js +0 -97
  741. package/dist/src/foundation/pi-engine-adapter/settings-integration.d.ts +0 -55
  742. package/dist/src/foundation/pi-engine-adapter/settings-integration.js +0 -233
  743. package/dist/src/foundation/pi-engine-adapter/workflow-controllers.d.ts +0 -20
  744. package/dist/src/foundation/pi-engine-adapter/workflow-controllers.js +0 -48
  745. package/dist/src/foundation/pi-engine-adapter/workflows.d.ts +0 -173
  746. package/dist/src/foundation/pi-engine-adapter/workflows.js +0 -60
  747. package/dist/src/foundation/pi-owned-ui-integration/index.d.ts +0 -2
  748. package/dist/src/foundation/pi-owned-ui-integration/index.js +0 -2
  749. package/dist/src/foundation/pi-owned-ui-integration/route-host.d.ts +0 -29
  750. package/dist/src/foundation/pi-owned-ui-integration/session-shell.d.ts +0 -106
  751. package/dist/src/foundation/pi-owned-ui-integration/session-shell.js +0 -1518
  752. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts +0 -39
  753. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js +0 -493
  754. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts +0 -18
  755. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js +0 -145
  756. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts +0 -120
  757. package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts +0 -4
  758. package/dist/src/foundation/pi-tui-runtime-adapter/index.js +0 -4
  759. package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.d.ts +0 -4
  760. package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.js +0 -48
  761. package/dist/src/foundation/presentation-contracts/index.d.ts +0 -96
  762. package/dist/src/foundation/presentation-contracts/index.js +0 -38
  763. package/dist/src/foundation/process-containment/index.d.ts +0 -5
  764. package/dist/src/foundation/process-containment/index.js +0 -5
  765. package/dist/src/foundation/process-containment/linux-process-inspector.d.ts +0 -6
  766. package/dist/src/foundation/process-containment/linux-process-inspector.js +0 -26
  767. package/dist/src/foundation/process-containment/native-guardian-containment.d.ts +0 -16
  768. package/dist/src/foundation/process-containment/native-guardian-containment.js +0 -139
  769. package/dist/src/foundation/process-containment/windows-process-inspector.d.ts +0 -17
  770. package/dist/src/foundation/process-containment/windows-process-inspector.js +0 -53
  771. package/dist/src/foundation/protocol/client.d.ts +0 -17
  772. package/dist/src/foundation/protocol/client.js +0 -129
  773. package/dist/src/foundation/protocol/index.d.ts +0 -2
  774. package/dist/src/foundation/protocol/index.js +0 -2
  775. package/dist/src/foundation/protocol/messages.d.ts +0 -89
  776. package/dist/src/foundation/protocol/messages.js +0 -99
  777. package/dist/src/foundation/release/bootstrap.d.ts +0 -29
  778. package/dist/src/foundation/release/bootstrap.js +0 -335
  779. package/dist/src/foundation/release/cohort-state.d.ts +0 -70
  780. package/dist/src/foundation/release/cohort-state.js +0 -202
  781. package/dist/src/foundation/release/index.d.ts +0 -10
  782. package/dist/src/foundation/release/index.js +0 -10
  783. package/dist/src/foundation/release/release-gc.d.ts +0 -5
  784. package/dist/src/foundation/release/release-gc.js +0 -16
  785. package/dist/src/foundation/release/release-store.d.ts +0 -43
  786. package/dist/src/foundation/release/release-store.js +0 -175
  787. package/dist/src/foundation/release/release.d.ts +0 -38
  788. package/dist/src/foundation/release/release.js +0 -204
  789. package/dist/src/foundation/release/update-transaction.d.ts +0 -31
  790. package/dist/src/foundation/release/update-transaction.js +0 -89
  791. package/dist/src/foundation/release/update.d.ts +0 -82
  792. package/dist/src/foundation/release/update.js +0 -529
  793. package/dist/src/foundation/storage/control-store.d.ts +0 -61
  794. package/dist/src/foundation/storage/control-store.js +0 -530
  795. package/dist/src/foundation/storage/index.d.ts +0 -1
  796. package/dist/src/foundation/storage/index.js +0 -1
  797. package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts +0 -46
  798. package/dist/src/foundation/structured-agent-runtime/backpressure.js +0 -118
  799. package/dist/src/foundation/structured-agent-runtime/commands.d.ts +0 -52
  800. package/dist/src/foundation/structured-agent-runtime/commands.js +0 -164
  801. package/dist/src/foundation/structured-agent-runtime/handshake.d.ts +0 -41
  802. package/dist/src/foundation/structured-agent-runtime/handshake.js +0 -151
  803. package/dist/src/foundation/structured-agent-runtime/index.d.ts +0 -5
  804. package/dist/src/foundation/structured-agent-runtime/index.js +0 -5
  805. package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts +0 -37
  806. package/dist/src/foundation/structured-agent-runtime/reconnection.js +0 -129
  807. package/dist/src/foundation/structured-agent-runtime/state.d.ts +0 -56
  808. package/dist/src/foundation/structured-agent-runtime/state.js +0 -118
  809. package/dist/src/foundation/supervision/index.d.ts +0 -3
  810. package/dist/src/foundation/supervision/index.js +0 -3
  811. package/dist/src/foundation/supervision/main.d.ts +0 -1
  812. package/dist/src/foundation/supervision/main.js +0 -41
  813. package/dist/src/foundation/supervision/paths.d.ts +0 -1
  814. package/dist/src/foundation/supervision/paths.js +0 -1
  815. package/dist/src/foundation/supervision/server.d.ts +0 -22
  816. package/dist/src/foundation/supervision/server.js +0 -451
  817. package/dist/src/foundation/ui-apps/contracts.d.ts +0 -42
  818. package/dist/src/foundation/ui-apps/host.d.ts +0 -42
  819. package/dist/src/foundation/ui-apps/host.js +0 -152
  820. package/dist/src/foundation/ui-apps/index.d.ts +0 -3
  821. package/dist/src/foundation/ui-apps/index.js +0 -3
  822. package/dist/src/foundation/ui-apps/registry.d.ts +0 -11
  823. package/dist/src/foundation/ui-apps/registry.js +0 -32
  824. package/dist/src/foundation/ui-components/dialog-panel.d.ts +0 -36
  825. package/dist/src/foundation/ui-components/dialog-panel.js +0 -47
  826. package/dist/src/foundation/ui-components/frame.d.ts +0 -21
  827. package/dist/src/foundation/ui-components/frame.js +0 -54
  828. package/dist/src/foundation/ui-components/index.d.ts +0 -18
  829. package/dist/src/foundation/ui-components/index.js +0 -18
  830. package/dist/src/foundation/ui-components/line-input.d.ts +0 -74
  831. package/dist/src/foundation/ui-components/line-input.js +0 -245
  832. package/dist/src/foundation/ui-components/list-block.d.ts +0 -66
  833. package/dist/src/foundation/ui-components/list-block.js +0 -176
  834. package/dist/src/foundation/ui-components/list-view.d.ts +0 -66
  835. package/dist/src/foundation/ui-components/list-view.js +0 -76
  836. package/dist/src/foundation/ui-components/mouse.d.ts +0 -15
  837. package/dist/src/foundation/ui-components/mouse.js +0 -46
  838. package/dist/src/foundation/ui-components/scrollbar.d.ts +0 -62
  839. package/dist/src/foundation/ui-components/scrollbar.js +0 -102
  840. package/dist/src/foundation/ui-components/shortcuts.d.ts +0 -57
  841. package/dist/src/foundation/ui-components/shortcuts.js +0 -81
  842. package/dist/src/foundation/ui-components/spans.d.ts +0 -7
  843. package/dist/src/foundation/ui-components/spans.js +0 -59
  844. package/dist/src/foundation/ui-components/surface.d.ts +0 -20
  845. package/dist/src/foundation/ui-components/surface.js +0 -38
  846. package/dist/src/foundation/ui-components/text.d.ts +0 -24
  847. package/dist/src/foundation/ui-components/text.js +0 -123
  848. package/dist/src/foundation/ui-components/theme.d.ts +0 -23
  849. package/dist/src/foundation/ui-components/theme.js +0 -13
  850. package/dist/src/foundation/ui-components/value-menu.d.ts +0 -41
  851. package/dist/src/foundation/ui-components/value-menu.js +0 -33
  852. package/dist/src/foundation/workspace-contracts/index.d.ts +0 -2
  853. package/dist/src/foundation/workspace-contracts/index.js +0 -2
  854. package/dist/src/foundation/workspace-contracts/model.d.ts +0 -248
  855. package/dist/src/foundation/workspace-contracts/model.js +0 -2
  856. package/dist/src/foundation/workspace-contracts/validation.d.ts +0 -13
  857. package/dist/src/foundation/workspace-contracts/validation.js +0 -335
  858. package/dist/src/product-identity.d.ts +0 -37
  859. package/dist/src/product-identity.js +0 -150
  860. package/dist/src/product-identity.json +0 -99
  861. package/docs/manual-transparent-checkpoint.md +0 -53
  862. /package/dist/{src/foundation/agent-engine-contracts/domain.js → app/session-shell/paste-helper.d.ts} +0 -0
  863. /package/dist/{src/foundation/agent-engine-contracts/ports.js → app/session-shell/paste-text-worker.d.ts} +0 -0
  864. /package/dist/{src/foundation/lifecycle/commands.js → app/session-shell/paste-types.js} +0 -0
  865. /package/dist/{src/foundation/pi-owned-ui-integration/route-host.js → app/session-shell/response-copy-helper.d.ts} +0 -0
  866. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/capability-ports.js +0 -0
  867. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain-validation.d.ts +0 -0
  868. /package/dist/{src/foundation/pi-tui-runtime-adapter/contracts.js → contracts/agent-engine/domain.js} +0 -0
  869. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.d.ts +0 -0
  870. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.js +0 -0
  871. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/package-ports.js +0 -0
  872. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/ports.d.ts +0 -0
  873. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.d.ts +0 -0
  874. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.js +0 -0
  875. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.d.ts +0 -0
  876. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.js +0 -0
  877. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/extension-ui.js +0 -0
  878. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/model.js +0 -0
  879. /package/dist/{src/features → features}/launch/development-launch.d.ts +0 -0
  880. /package/dist/{src/features → features}/launch/initialize-profile.d.ts +0 -0
  881. /package/dist/{src/features → features}/launch/initialize-profile.js +0 -0
  882. /package/dist/{src/foundation → foundation}/lifecycle/commands.d.ts +0 -0
  883. /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.d.ts +0 -0
  884. /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.js +0 -0
  885. /package/dist/{src/foundation → foundation}/process-containment/artifact.d.ts +0 -0
  886. /package/dist/{src/foundation → foundation}/process-containment/artifact.js +0 -0
  887. /package/dist/{src/foundation → foundation}/process-containment/contracts.d.ts +0 -0
  888. /package/dist/{src/foundation → foundation}/process-containment/contracts.js +0 -0
  889. /package/dist/{src/foundation → foundation}/release/cohort-selection.d.ts +0 -0
  890. /package/dist/{src/foundation → foundation}/release/cohort-selection.js +0 -0
  891. /package/dist/{src/foundation → foundation}/release/concurrency.d.ts +0 -0
  892. /package/dist/{src/foundation → foundation}/release/concurrency.js +0 -0
  893. /package/dist/{src/foundation → foundation}/release/process-cleanup.d.ts +0 -0
  894. /package/dist/{src/foundation → foundation}/release/process-cleanup.js +0 -0
  895. /package/dist/{src/foundation → foundation}/release/stable-release.d.ts +0 -0
  896. /package/dist/{src/foundation → foundation}/release/stable-release.js +0 -0
  897. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/countdown-timer.js +0 -0
  898. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/mermaid.d.ts +0 -0
  899. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector-search.d.ts +0 -0
  900. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/external-editor.d.ts +0 -0
  901. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/model-search.js +0 -0
  902. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.d.ts +0 -0
  903. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.js +0 -0
  904. /package/dist/{src/foundation/ui-apps → ui/apps}/contracts.js +0 -0
  905. /package/dist/{src/foundation/ui-components → ui/components}/label.d.ts +0 -0
  906. /package/dist/{src/foundation/ui-components → ui/components}/label.js +0 -0
  907. /package/dist/{src/foundation/ui-components → ui/components}/pane.d.ts +0 -0
  908. /package/dist/{src/foundation/ui-components → ui/components}/pane.js +0 -0
  909. /package/dist/{src/foundation/ui-components → ui/components}/revision.d.ts +0 -0
  910. /package/dist/{src/foundation/ui-components → ui/components}/revision.js +0 -0
  911. /package/dist/{src/foundation/ui-components → ui/components}/status-line.d.ts +0 -0
  912. /package/dist/{src/foundation/ui-components → ui/components}/status-line.js +0 -0
  913. /package/dist/{src/foundation/ui-components → ui/components}/stepper.d.ts +0 -0
  914. /package/dist/{src/foundation/ui-components → ui/components}/stepper.js +0 -0
  915. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.d.ts +0 -0
  916. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.js +0 -0
@@ -1,530 +0,0 @@
1
- import { DatabaseSync } from "node:sqlite";
2
- import { mkdirSync } from "node:fs";
3
- import { dirname } from "node:path";
4
- import { PRODUCT_IDENTITY } from "../../product-identity.js";
5
- import { assertManagedAgentDescriptor, assertRecoveryAuthority, assertTerminalSessionLaunch, assertTerminalTopologySnapshot, } from "../workspace-contracts/index.js";
6
- import { assertLaunchInstance, assertLaunchInstanceOutcome, assertNativeProcessIdentity, assertProcessContainmentIdentity, } from "../lifecycle/index.js";
7
- export const DEFAULT_WORKSPACE_ID = "workspace-default";
8
- const INITIAL_WORKSPACE_ID = DEFAULT_WORKSPACE_ID;
9
- export class ControlStore {
10
- bootNonce;
11
- database;
12
- constructor(path, bootNonce = null) {
13
- this.bootNonce = bootNonce;
14
- mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
15
- this.database = new DatabaseSync(path);
16
- try {
17
- this.database.exec("PRAGMA journal_mode = WAL");
18
- this.database.exec("PRAGMA foreign_keys = ON");
19
- this.migrate();
20
- if (bootNonce !== null) {
21
- this.reconcilePriorBootGenerations(bootNonce);
22
- this.reconcilePriorBootLaunchInstances(bootNonce);
23
- }
24
- }
25
- catch (error) {
26
- this.database.close();
27
- throw error;
28
- }
29
- }
30
- migrate() {
31
- const versionRow = this.database.prepare("PRAGMA user_version").get();
32
- const version = versionRow.user_version;
33
- if (version > 5)
34
- throw new Error(`control database version ${version} is newer than supported version 5`);
35
- if (version !== 0)
36
- this.#assertCurrentControlSchema();
37
- if (version === 0) {
38
- this.database.exec(`
39
- BEGIN IMMEDIATE;
40
- CREATE TABLE workspaces (
41
- id TEXT PRIMARY KEY,
42
- name TEXT NOT NULL,
43
- selected_agent_id TEXT,
44
- created_at TEXT NOT NULL
45
- );
46
- CREATE TABLE driver_profiles (
47
- id TEXT PRIMARY KEY,
48
- kind TEXT NOT NULL,
49
- profile_json TEXT NOT NULL,
50
- created_at TEXT NOT NULL
51
- );
52
- CREATE TABLE terminal_agents (
53
- id TEXT PRIMARY KEY,
54
- workspace_id TEXT NOT NULL REFERENCES workspaces(id) ON DELETE CASCADE,
55
- name TEXT NOT NULL,
56
- profile_id TEXT NOT NULL REFERENCES driver_profiles(id),
57
- profile_json TEXT NOT NULL,
58
- surface_json TEXT,
59
- created_at TEXT NOT NULL
60
- );
61
- CREATE TABLE process_generations (
62
- id TEXT PRIMARY KEY,
63
- agent_id TEXT NOT NULL REFERENCES terminal_agents(id) ON DELETE CASCADE,
64
- sequence INTEGER NOT NULL,
65
- profile_id TEXT NOT NULL REFERENCES driver_profiles(id),
66
- state TEXT NOT NULL,
67
- capabilities_json TEXT NOT NULL,
68
- started_at TEXT NOT NULL,
69
- exited_at TEXT,
70
- exit_code INTEGER,
71
- signal INTEGER,
72
- error TEXT,
73
- owner_boot_nonce TEXT,
74
- UNIQUE(agent_id, sequence)
75
- );
76
- CREATE INDEX idx_agents_workspace ON terminal_agents(workspace_id, created_at);
77
- CREATE INDEX idx_generations_agent ON process_generations(agent_id, sequence DESC);
78
- CREATE INDEX idx_generations_owner_boot ON process_generations(owner_boot_nonce, state);
79
- PRAGMA user_version = 1;
80
- COMMIT;
81
- `);
82
- const now = new Date().toISOString();
83
- this.database.prepare("INSERT INTO workspaces (id, name, selected_agent_id, created_at) VALUES (?, ?, NULL, ?)")
84
- .run(INITIAL_WORKSPACE_ID, "Workspace", now);
85
- }
86
- if (version <= 1) {
87
- const columns = this.database.prepare("PRAGMA table_info(process_generations)").all();
88
- if (!columns.some(column => column.name === "owner_boot_nonce")) {
89
- this.database.exec("ALTER TABLE process_generations ADD COLUMN owner_boot_nonce TEXT");
90
- }
91
- this.database.exec(`
92
- BEGIN IMMEDIATE;
93
- CREATE INDEX IF NOT EXISTS idx_generations_owner_boot ON process_generations(owner_boot_nonce, state);
94
- CREATE TABLE foreground_terminal_leases (
95
- id TEXT PRIMARY KEY,
96
- owner_id TEXT NOT NULL,
97
- profile_json TEXT NOT NULL,
98
- state TEXT NOT NULL,
99
- generation_id TEXT,
100
- process_identity_json TEXT,
101
- acquired_at TEXT NOT NULL,
102
- heartbeat_at TEXT,
103
- released_at TEXT,
104
- outcome_json TEXT,
105
- owner_boot_nonce TEXT NOT NULL
106
- );
107
- CREATE UNIQUE INDEX idx_one_live_foreground_lease ON foreground_terminal_leases((1)) WHERE state IN ('requested', 'active');
108
- CREATE INDEX idx_foreground_lease_boot ON foreground_terminal_leases(owner_boot_nonce, state);
109
- PRAGMA user_version = 2;
110
- COMMIT;
111
- `);
112
- }
113
- if (version <= 2) {
114
- this.database.exec(`
115
- BEGIN IMMEDIATE;
116
- CREATE TABLE workspace_agents (
117
- id TEXT PRIMARY KEY,
118
- workspace_id TEXT NOT NULL REFERENCES workspaces(id) ON DELETE CASCADE,
119
- display_name TEXT NOT NULL,
120
- adapter_id TEXT NOT NULL,
121
- runtime_kind TEXT NOT NULL CHECK (runtime_kind IN ('structured', 'composed-terminal')),
122
- lifecycle TEXT NOT NULL,
123
- capability_json TEXT NOT NULL,
124
- recovery_reference_id TEXT,
125
- created_at TEXT NOT NULL,
126
- updated_at TEXT NOT NULL,
127
- CHECK (json_valid(capability_json))
128
- );
129
- CREATE INDEX idx_workspace_agents_workspace ON workspace_agents(workspace_id, created_at);
130
- CREATE INDEX idx_workspace_agents_recovery ON workspace_agents(recovery_reference_id);
131
-
132
- CREATE TABLE native_host_topology (
133
- host_instance_id TEXT PRIMARY KEY,
134
- protocol_version INTEGER NOT NULL CHECK (protocol_version = 1),
135
- revision INTEGER NOT NULL CHECK (revision >= 0),
136
- topology_json TEXT NOT NULL CHECK (json_valid(topology_json)),
137
- rollback_json TEXT NOT NULL CHECK (json_valid(rollback_json)),
138
- updated_at TEXT NOT NULL
139
- );
140
-
141
- CREATE TABLE terminal_sessions (
142
- id TEXT PRIMARY KEY,
143
- host_instance_id TEXT NOT NULL REFERENCES native_host_topology(host_instance_id) ON DELETE CASCADE,
144
- pane_id TEXT NOT NULL,
145
- lifecycle TEXT NOT NULL,
146
- launch_json TEXT NOT NULL CHECK (json_valid(launch_json)),
147
- recovery_reference_id TEXT,
148
- updated_at TEXT NOT NULL
149
- );
150
- CREATE UNIQUE INDEX idx_terminal_sessions_pane ON terminal_sessions(host_instance_id, pane_id);
151
- CREATE INDEX idx_terminal_sessions_recovery ON terminal_sessions(recovery_reference_id);
152
-
153
- CREATE TABLE recovery_references (
154
- id TEXT PRIMARY KEY,
155
- agent_id TEXT NOT NULL REFERENCES workspace_agents(id) ON DELETE CASCADE,
156
- authority_json TEXT NOT NULL CHECK (json_valid(authority_json)),
157
- status TEXT NOT NULL CHECK (status IN ('pending', 'accepted', 'rejected', 'discontinuous')),
158
- rollback_json TEXT NOT NULL CHECK (json_valid(rollback_json)),
159
- created_at TEXT NOT NULL,
160
- updated_at TEXT NOT NULL
161
- );
162
- CREATE INDEX idx_recovery_references_agent ON recovery_references(agent_id, status);
163
- PRAGMA user_version = 3;
164
- COMMIT;
165
- `);
166
- }
167
- if (version <= 3) {
168
- this.database.exec(`
169
- BEGIN IMMEDIATE;
170
- ALTER TABLE workspace_agents ADD COLUMN unread_count INTEGER NOT NULL DEFAULT 0 CHECK (unread_count >= 0);
171
- ALTER TABLE workspace_agents ADD COLUMN attention INTEGER NOT NULL DEFAULT 0 CHECK (attention IN (0, 1));
172
- ALTER TABLE workspace_agents ADD COLUMN failure_json TEXT CHECK (failure_json IS NULL OR json_valid(failure_json));
173
- ALTER TABLE workspaces ADD COLUMN revision INTEGER NOT NULL DEFAULT 0 CHECK (revision >= 0);
174
- PRAGMA user_version = 4;
175
- COMMIT;
176
- `);
177
- }
178
- if (version <= 4) {
179
- this.database.exec(`
180
- BEGIN IMMEDIATE;
181
- UPDATE foreground_terminal_leases
182
- SET state = 'interrupted',
183
- released_at = COALESCE(released_at, strftime('%Y-%m-%dT%H:%M:%fZ', 'now')),
184
- outcome_json = '{"kind":"interrupted","reason":"legacy-migration","message":"legacy foreground ownership cannot prove current launch-instance liveness"}'
185
- WHERE state IN ('requested', 'active');
186
- DROP INDEX IF EXISTS idx_one_live_foreground_lease;
187
- CREATE TABLE launch_instances (
188
- id TEXT PRIMARY KEY,
189
- owner_client_id TEXT NOT NULL,
190
- profile_id TEXT NOT NULL CHECK (profile_id IN ('a1', 'pi', 'sandbox')),
191
- state TEXT NOT NULL CHECK (state IN ('requested', 'active', 'stopping', 'completed', 'interrupted')),
192
- shutdown_policy TEXT NOT NULL CHECK (shutdown_policy = 'terminate-tree-on-close'),
193
- guardian_identity_json TEXT NOT NULL CHECK (json_valid(guardian_identity_json)),
194
- root_identity_json TEXT CHECK (root_identity_json IS NULL OR json_valid(root_identity_json)),
195
- containment_identity_json TEXT CHECK (containment_identity_json IS NULL OR json_valid(containment_identity_json)),
196
- created_at TEXT NOT NULL,
197
- activated_at TEXT,
198
- stopping_at TEXT,
199
- completed_at TEXT,
200
- outcome_json TEXT CHECK (outcome_json IS NULL OR json_valid(outcome_json)),
201
- owner_boot_nonce TEXT NOT NULL,
202
- CHECK ((state = 'requested' AND root_identity_json IS NULL AND containment_identity_json IS NULL AND activated_at IS NULL AND stopping_at IS NULL AND completed_at IS NULL AND outcome_json IS NULL)
203
- OR (state = 'active' AND root_identity_json IS NOT NULL AND containment_identity_json IS NOT NULL AND activated_at IS NOT NULL AND stopping_at IS NULL AND completed_at IS NULL AND outcome_json IS NULL)
204
- OR (state = 'stopping' AND root_identity_json IS NOT NULL AND containment_identity_json IS NOT NULL AND activated_at IS NOT NULL AND stopping_at IS NOT NULL AND completed_at IS NULL AND outcome_json IS NULL)
205
- OR (state IN ('completed', 'interrupted') AND completed_at IS NOT NULL AND outcome_json IS NOT NULL))
206
- );
207
- CREATE INDEX idx_launch_instances_owner ON launch_instances(owner_client_id, state);
208
- CREATE INDEX idx_launch_instances_boot ON launch_instances(owner_boot_nonce, state);
209
- PRAGMA user_version = 5;
210
- COMMIT;
211
- `);
212
- }
213
- if (version === 0) {
214
- this.database.exec("CREATE TABLE product_identity (schema TEXT PRIMARY KEY NOT NULL)");
215
- this.database.prepare("INSERT INTO product_identity (schema) VALUES (?)").run(PRODUCT_IDENTITY.protocol.controlStoreSchema);
216
- }
217
- }
218
- #assertCurrentControlSchema() {
219
- const table = this.database.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'product_identity'").get();
220
- if (!table)
221
- throw new Error("control database has no A1 product schema; legacy state is unsupported");
222
- const identity = this.database.prepare("SELECT schema FROM product_identity").get();
223
- if (identity?.schema !== PRODUCT_IDENTITY.protocol.controlStoreSchema) {
224
- throw new Error(`control database schema ${String(identity?.schema)} is unsupported; expected ${PRODUCT_IDENTITY.protocol.controlStoreSchema}`);
225
- }
226
- }
227
- reconcilePriorBootGenerations(bootNonce) {
228
- const now = new Date().toISOString();
229
- return this.#transaction(() => {
230
- const result = this.database.prepare(`UPDATE process_generations
231
- SET state = 'interrupted', exited_at = ?, error = COALESCE(error, 'supervisor ownership ended before a terminal outcome')
232
- WHERE state NOT IN ('exited', 'stopped', 'interrupted', 'error')
233
- AND (owner_boot_nonce IS NULL OR owner_boot_nonce <> ?)`)
234
- .run(now, bootNonce);
235
- return Number(result.changes);
236
- });
237
- }
238
- createLaunchInstance(instance) {
239
- if (this.bootNonce === null)
240
- throw new Error("launch instance storage requires a supervisor boot identity");
241
- assertLaunchInstance(instance);
242
- if (instance.state !== "requested")
243
- throw new Error("new launch instance must be requested");
244
- this.database.prepare(`INSERT INTO launch_instances
245
- (id, owner_client_id, profile_id, state, shutdown_policy, guardian_identity_json, root_identity_json, containment_identity_json,
246
- created_at, activated_at, stopping_at, completed_at, outcome_json, owner_boot_nonce)
247
- VALUES (?, ?, ?, 'requested', ?, ?, NULL, NULL, ?, NULL, NULL, NULL, NULL, ?)`)
248
- .run(instance.id, instance.ownerClientId, instance.profileId, instance.shutdownPolicy, JSON.stringify(instance.guardianIdentity), instance.createdAt, this.bootNonce);
249
- }
250
- activateLaunchInstance(instanceId, ownerClientId, rootIdentity, containmentIdentity, activatedAt) {
251
- if (this.bootNonce === null)
252
- throw new Error("launch instance storage requires a supervisor boot identity");
253
- assertNativeProcessIdentity(rootIdentity);
254
- assertProcessContainmentIdentity(containmentIdentity);
255
- const result = this.database.prepare(`UPDATE launch_instances
256
- SET state = 'active', root_identity_json = ?, containment_identity_json = ?, activated_at = ?
257
- WHERE id = ? AND owner_client_id = ? AND owner_boot_nonce = ? AND state = 'requested'`)
258
- .run(JSON.stringify(rootIdentity), JSON.stringify(containmentIdentity), activatedAt, instanceId, ownerClientId, this.bootNonce);
259
- return Number(result.changes) === 1;
260
- }
261
- beginLaunchInstanceStop(instanceId, ownerClientId, stoppingAt) {
262
- if (this.bootNonce === null)
263
- throw new Error("launch instance storage requires a supervisor boot identity");
264
- const result = this.database.prepare(`UPDATE launch_instances SET state = 'stopping', stopping_at = ?
265
- WHERE id = ? AND owner_client_id = ? AND owner_boot_nonce = ? AND state = 'active'`)
266
- .run(stoppingAt, instanceId, ownerClientId, this.bootNonce);
267
- return Number(result.changes) === 1;
268
- }
269
- completeLaunchInstance(instanceId, ownerClientId, terminalState, outcome, completedAt) {
270
- if (this.bootNonce === null)
271
- throw new Error("launch instance storage requires a supervisor boot identity");
272
- assertLaunchInstanceOutcome(outcome);
273
- if (terminalState === "completed" && outcome.kind === "interrupted")
274
- throw new Error("completed launch instance cannot carry an interrupted outcome");
275
- if (terminalState === "interrupted" && outcome.kind !== "interrupted" && outcome.kind !== "cleanup-error") {
276
- throw new Error("interrupted launch instance requires an interrupted or cleanup-error outcome");
277
- }
278
- const result = this.database.prepare(`UPDATE launch_instances
279
- SET state = ?, completed_at = ?, outcome_json = ?
280
- WHERE id = ? AND owner_client_id = ? AND owner_boot_nonce = ? AND state IN ('requested', 'active', 'stopping')`)
281
- .run(terminalState, completedAt, JSON.stringify(outcome), instanceId, ownerClientId, this.bootNonce);
282
- return Number(result.changes) === 1;
283
- }
284
- loadActiveLaunchInstances() {
285
- return this.database.prepare(`SELECT * FROM launch_instances
286
- WHERE state IN ('requested', 'active', 'stopping') ORDER BY created_at, id`).all()
287
- .map(launchInstanceFromRow);
288
- }
289
- loadLaunchInstance(instanceId) {
290
- const row = this.database.prepare("SELECT * FROM launch_instances WHERE id = ?").get(instanceId);
291
- return row ? launchInstanceFromRow(row) : null;
292
- }
293
- reconcilePriorBootLaunchInstances(bootNonce, reconciledAt = new Date().toISOString()) {
294
- const outcome = {
295
- kind: "interrupted",
296
- reason: "supervisor-disconnect",
297
- message: "launch instance ownership ended with a prior supervisor boot",
298
- };
299
- const result = this.database.prepare(`UPDATE launch_instances
300
- SET state = 'interrupted', completed_at = ?, outcome_json = ?
301
- WHERE state IN ('requested', 'active', 'stopping') AND owner_boot_nonce <> ?`)
302
- .run(reconciledAt, JSON.stringify(outcome), bootNonce);
303
- return Number(result.changes);
304
- }
305
- persistWorkspaceAgent(agent, updatedAt = new Date().toISOString()) {
306
- const existing = this.loadWorkspaceAgentRecord(agent.id);
307
- this.persistWorkspaceAgentRecord({
308
- agent,
309
- presentation: existing?.presentation ?? { unreadActivity: 0, attention: false, failure: null },
310
- }, updatedAt);
311
- }
312
- persistWorkspaceAgentRecord(record, updatedAt = new Date().toISOString()) {
313
- assertManagedAgentDescriptor(record.agent);
314
- assertWorkspaceAgentPresentation(record.presentation);
315
- this.#upsertWorkspaceAgentRecord(record, updatedAt);
316
- }
317
- replaceWorkspaceAgentRecords(records, selectedAgentId, revision, updatedAt = new Date().toISOString()) {
318
- if (!Number.isSafeInteger(revision) || revision < 0)
319
- throw new RangeError("workspace revision must be a non-negative safe integer");
320
- const ids = new Set();
321
- for (const record of records) {
322
- assertManagedAgentDescriptor(record.agent);
323
- assertWorkspaceAgentPresentation(record.presentation);
324
- if (ids.has(record.agent.id))
325
- throw new TypeError(`duplicate workspace agent id: ${record.agent.id}`);
326
- ids.add(record.agent.id);
327
- }
328
- if (selectedAgentId !== null && !ids.has(selectedAgentId))
329
- throw new TypeError("selected workspace agent must exist in the replacement set");
330
- this.#transaction(() => {
331
- if (records.length === 0)
332
- this.database.prepare("DELETE FROM workspace_agents").run();
333
- else {
334
- const placeholders = records.map(() => "?").join(", ");
335
- this.database.prepare(`DELETE FROM workspace_agents WHERE id NOT IN (${placeholders})`).run(...records.map(record => record.agent.id));
336
- }
337
- for (const record of records)
338
- this.#upsertWorkspaceAgentRecord(record, updatedAt);
339
- this.database.prepare("UPDATE workspaces SET selected_agent_id = ?, revision = ? WHERE id = ?").run(selectedAgentId, revision, INITIAL_WORKSPACE_ID);
340
- });
341
- }
342
- loadWorkspaceAgents() {
343
- return this.loadWorkspaceAgentRecords().map(record => record.agent);
344
- }
345
- loadWorkspaceAgentRecord(agentId) {
346
- const row = this.database.prepare("SELECT * FROM workspace_agents WHERE id = ?").get(agentId);
347
- return row ? workspaceAgentFromRow(row) : null;
348
- }
349
- loadWorkspaceAgentRecords() {
350
- const rows = this.database.prepare("SELECT * FROM workspace_agents ORDER BY created_at, id").all();
351
- return rows.map(workspaceAgentFromRow);
352
- }
353
- loadSelectedWorkspaceAgentId() {
354
- const row = this.database.prepare("SELECT selected_agent_id FROM workspaces WHERE id = ?").get(INITIAL_WORKSPACE_ID);
355
- return row?.selected_agent_id ?? null;
356
- }
357
- loadWorkspaceRevision() {
358
- const row = this.database.prepare("SELECT revision FROM workspaces WHERE id = ?").get(INITIAL_WORKSPACE_ID);
359
- return row?.revision ?? 0;
360
- }
361
- #upsertWorkspaceAgentRecord(record, updatedAt) {
362
- const agent = record.agent;
363
- this.database.prepare(`INSERT INTO workspace_agents
364
- (id, workspace_id, display_name, adapter_id, runtime_kind, lifecycle, capability_json, recovery_reference_id, unread_count, attention, failure_json, created_at, updated_at)
365
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
366
- ON CONFLICT(id) DO UPDATE SET
367
- workspace_id = excluded.workspace_id,
368
- display_name = excluded.display_name,
369
- adapter_id = excluded.adapter_id,
370
- runtime_kind = excluded.runtime_kind,
371
- lifecycle = excluded.lifecycle,
372
- capability_json = excluded.capability_json,
373
- recovery_reference_id = excluded.recovery_reference_id,
374
- unread_count = excluded.unread_count,
375
- attention = excluded.attention,
376
- failure_json = excluded.failure_json,
377
- updated_at = excluded.updated_at`)
378
- .run(agent.id, INITIAL_WORKSPACE_ID, agent.displayName, agent.adapterId, agent.runtime, agent.lifecycle, JSON.stringify(agent.capability), agent.recoveryReferenceId, record.presentation.unreadActivity, record.presentation.attention ? 1 : 0, record.presentation.failure === null ? null : JSON.stringify(record.presentation.failure), agent.createdAt, updatedAt);
379
- }
380
- saveNativeHostTopology(topology, rollbackTopology, updatedAt = new Date().toISOString()) {
381
- assertTerminalTopologySnapshot(topology);
382
- if (rollbackTopology !== null)
383
- assertTerminalTopologySnapshot(rollbackTopology);
384
- if (rollbackTopology !== null && rollbackTopology.hostInstanceId !== topology.hostInstanceId) {
385
- throw new TypeError("topology rollback metadata must identify the same native host");
386
- }
387
- const prior = this.loadNativeHostTopology(topology.hostInstanceId);
388
- if (prior !== null && topology.revision < prior.topology.revision) {
389
- throw new RangeError(`stale native-host topology revision ${topology.revision}; persisted revision is ${prior.topology.revision}`);
390
- }
391
- if (rollbackTopology !== null && rollbackTopology.revision > topology.revision) {
392
- throw new RangeError("topology rollback revision cannot be newer than the persisted topology");
393
- }
394
- const rollbackJson = rollbackTopology === null
395
- ? JSON.stringify({ contractVersion: 1, reason: "initial native-host topology", topology: null })
396
- : JSON.stringify({ contractVersion: 1, reason: "backward-readable prior authoritative topology", topology: rollbackTopology });
397
- this.database.prepare(`INSERT INTO native_host_topology
398
- (host_instance_id, protocol_version, revision, topology_json, rollback_json, updated_at)
399
- VALUES (?, 1, ?, ?, ?, ?)
400
- ON CONFLICT(host_instance_id) DO UPDATE SET
401
- revision = excluded.revision,
402
- topology_json = excluded.topology_json,
403
- rollback_json = excluded.rollback_json,
404
- updated_at = excluded.updated_at`)
405
- .run(topology.hostInstanceId, topology.revision, JSON.stringify(topology), rollbackJson, updatedAt);
406
- }
407
- loadNativeHostTopology(hostInstanceId) {
408
- const row = this.database.prepare("SELECT * FROM native_host_topology WHERE host_instance_id = ?").get(hostInstanceId);
409
- if (!row)
410
- return null;
411
- const topology = JSON.parse(row.topology_json);
412
- assertTerminalTopologySnapshot(topology);
413
- return { topology, rollback: JSON.parse(row.rollback_json), updatedAt: row.updated_at };
414
- }
415
- persistTerminalSession(session, hostInstanceId, paneId, lifecycle, recoveryReferenceId, updatedAt = new Date().toISOString()) {
416
- assertTerminalSessionLaunch(session);
417
- this.database.prepare(`INSERT INTO terminal_sessions
418
- (id, host_instance_id, pane_id, lifecycle, launch_json, recovery_reference_id, updated_at)
419
- VALUES (?, ?, ?, ?, ?, ?, ?)
420
- ON CONFLICT(id) DO UPDATE SET
421
- host_instance_id = excluded.host_instance_id,
422
- pane_id = excluded.pane_id,
423
- lifecycle = excluded.lifecycle,
424
- launch_json = excluded.launch_json,
425
- recovery_reference_id = excluded.recovery_reference_id,
426
- updated_at = excluded.updated_at`)
427
- .run(session.id, hostInstanceId, paneId, lifecycle, JSON.stringify(session), recoveryReferenceId, updatedAt);
428
- }
429
- loadTerminalSessions() {
430
- const rows = this.database.prepare("SELECT * FROM terminal_sessions ORDER BY id").all();
431
- return rows.map(row => {
432
- const session = JSON.parse(row.launch_json);
433
- assertTerminalSessionLaunch(session);
434
- return { session, hostInstanceId: row.host_instance_id, paneId: row.pane_id, lifecycle: row.lifecycle, recoveryReferenceId: row.recovery_reference_id };
435
- });
436
- }
437
- persistRecoveryReference(authority, status, rollbackMetadata, updatedAt = new Date().toISOString()) {
438
- assertRecoveryAuthority(authority);
439
- const createdAt = typeof rollbackMetadata.createdAt === "string" ? rollbackMetadata.createdAt : updatedAt;
440
- const rollbackJson = JSON.stringify({ contractVersion: 1, ...rollbackMetadata });
441
- this.database.prepare(`INSERT INTO recovery_references
442
- (id, agent_id, authority_json, status, rollback_json, created_at, updated_at)
443
- VALUES (?, ?, ?, ?, ?, ?, ?)
444
- ON CONFLICT(id) DO UPDATE SET
445
- agent_id = excluded.agent_id,
446
- authority_json = excluded.authority_json,
447
- status = excluded.status,
448
- rollback_json = excluded.rollback_json,
449
- updated_at = excluded.updated_at`)
450
- .run(authority.referenceId, authority.agentId, JSON.stringify(authority), status, rollbackJson, createdAt, updatedAt);
451
- }
452
- loadRecoveryReference(id) {
453
- const row = this.database.prepare("SELECT * FROM recovery_references WHERE id = ?").get(id);
454
- if (!row)
455
- return null;
456
- const authority = JSON.parse(row.authority_json);
457
- assertRecoveryAuthority(authority);
458
- return { authority, status: row.status, rollback: JSON.parse(row.rollback_json), updatedAt: row.updated_at };
459
- }
460
- close() {
461
- this.database.close();
462
- }
463
- #transaction(operation) {
464
- this.database.exec("BEGIN IMMEDIATE");
465
- try {
466
- const result = operation();
467
- this.database.exec("COMMIT");
468
- return result;
469
- }
470
- catch (error) {
471
- this.database.exec("ROLLBACK");
472
- throw error;
473
- }
474
- }
475
- }
476
- function workspaceAgentFromRow(row) {
477
- const descriptor = {
478
- id: row.id,
479
- displayName: row.display_name,
480
- adapterId: row.adapter_id,
481
- runtime: row.runtime_kind,
482
- lifecycle: row.lifecycle,
483
- capability: JSON.parse(row.capability_json),
484
- createdAt: row.created_at,
485
- recoveryReferenceId: row.recovery_reference_id,
486
- };
487
- assertManagedAgentDescriptor(descriptor);
488
- const failure = row.failure_json === null ? null : JSON.parse(row.failure_json);
489
- const presentation = {
490
- unreadActivity: row.unread_count,
491
- attention: row.attention === 1,
492
- failure,
493
- };
494
- assertWorkspaceAgentPresentation(presentation);
495
- return { agent: descriptor, presentation };
496
- }
497
- function assertWorkspaceAgentPresentation(presentation) {
498
- if (!Number.isSafeInteger(presentation.unreadActivity) || presentation.unreadActivity < 0) {
499
- throw new RangeError("workspace unread activity must be a non-negative safe integer");
500
- }
501
- if (typeof presentation.attention !== "boolean")
502
- throw new TypeError("workspace attention must be boolean");
503
- if (presentation.failure !== null) {
504
- if (!presentation.failure.code || presentation.failure.code.length > 128 || presentation.failure.code.includes("\0")) {
505
- throw new TypeError("workspace failure code is invalid");
506
- }
507
- if (!presentation.failure.message || presentation.failure.message.length > 4_096 || presentation.failure.message.includes("\0")) {
508
- throw new TypeError("workspace failure message is invalid");
509
- }
510
- }
511
- }
512
- function launchInstanceFromRow(row) {
513
- const instance = {
514
- id: row.id,
515
- ownerClientId: row.owner_client_id,
516
- profileId: row.profile_id,
517
- state: row.state,
518
- shutdownPolicy: row.shutdown_policy,
519
- guardianIdentity: JSON.parse(row.guardian_identity_json),
520
- rootIdentity: row.root_identity_json ? JSON.parse(row.root_identity_json) : null,
521
- containmentIdentity: row.containment_identity_json ? JSON.parse(row.containment_identity_json) : null,
522
- createdAt: row.created_at,
523
- activatedAt: row.activated_at,
524
- stoppingAt: row.stopping_at,
525
- completedAt: row.completed_at,
526
- outcome: row.outcome_json ? JSON.parse(row.outcome_json) : null,
527
- };
528
- assertLaunchInstance(instance);
529
- return instance;
530
- }
@@ -1 +0,0 @@
1
- export * from "./control-store.js";
@@ -1 +0,0 @@
1
- export * from "./control-store.js";
@@ -1,46 +0,0 @@
1
- import { type StructuredCapabilityContract } from "../workspace-contracts/index.js";
2
- export type StructuredBackpressureResource = "events" | "commands" | "snapshots" | "attachments" | "reconnect-replay";
3
- export type StructuredBackpressureAction = "none" | "reject-payload" | "pause-adapter" | "reject-request" | "disconnect-adapter";
4
- export interface StructuredResourceLease {
5
- readonly id: string;
6
- readonly resource: StructuredBackpressureResource;
7
- readonly units: number;
8
- readonly bytes: number;
9
- }
10
- export interface StructuredResourceUsage {
11
- readonly resource: StructuredBackpressureResource;
12
- readonly units: number;
13
- readonly bytes: number;
14
- readonly unitLimit: number;
15
- readonly byteLimit: number;
16
- }
17
- export type StructuredBackpressureAcquireResult = {
18
- readonly kind: "accepted";
19
- readonly lease: StructuredResourceLease;
20
- readonly usage: StructuredResourceUsage;
21
- } | {
22
- readonly kind: "rejected";
23
- readonly code: "invalid-request" | "payload-too-large" | "resource-exhausted" | "replay-exhausted";
24
- readonly action: Exclude<StructuredBackpressureAction, "none">;
25
- readonly usage: StructuredResourceUsage;
26
- readonly diagnostic: string;
27
- };
28
- export type StructuredBackpressureReleaseResult = {
29
- readonly kind: "released";
30
- readonly usage: StructuredResourceUsage;
31
- } | {
32
- readonly kind: "rejected";
33
- readonly code: "unknown-lease" | "invalid-request";
34
- readonly diagnostic: string;
35
- };
36
- export declare class StructuredBackpressureController {
37
- #private;
38
- readonly adapterId: string;
39
- constructor(adapterId: string, capability: StructuredCapabilityContract);
40
- acquire(resource: StructuredBackpressureResource, units?: number, bytes?: number): StructuredBackpressureAcquireResult;
41
- release(lease: StructuredResourceLease): StructuredBackpressureReleaseResult;
42
- resetReconnectReplay(): void;
43
- usage(resource: StructuredBackpressureResource): StructuredResourceUsage;
44
- leaseCount(): number;
45
- replayExhausted(): boolean;
46
- }