@timurproko/a1 0.1.8-dev.235df0e → 0.1.8-dev.259

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 (485) hide show
  1. package/README.md +107 -67
  2. package/bin/cli.js +28 -10
  3. package/bin/guardian.js +8 -3
  4. package/bin/module-identity.js +69 -35
  5. package/bin/pi-tui.d.ts +6 -0
  6. package/bin/pi-tui.js +28 -0
  7. package/bin/release-cleanup.js +8 -0
  8. package/bin/supervisor.js +2 -2
  9. package/bin/sync-pi-tui-proxy.js +97 -0
  10. package/bin/ui.js +47 -20
  11. package/bin/warmup.js +27 -0
  12. package/dist/cli/capabilities.d.ts +6 -0
  13. package/dist/{src/cli → cli}/capabilities.js +1 -1
  14. package/dist/{src/cli → cli}/dispatch.d.ts +15 -1
  15. package/dist/cli/dispatch.js +261 -0
  16. package/dist/cli/package-messages.d.ts +26 -0
  17. package/dist/cli/package-messages.js +71 -0
  18. package/dist/{src/cli → cli}/packages.d.ts +11 -2
  19. package/dist/{src/cli → cli}/packages.js +24 -27
  20. package/dist/{src/cli → cli}/version-stats.d.ts +6 -0
  21. package/dist/cli/version-stats.js +112 -0
  22. package/dist/composition/agent-engine-bridge.d.ts +3 -0
  23. package/dist/composition/agent-engine-bridge.js +108 -0
  24. package/dist/composition/index.d.ts +3 -0
  25. package/dist/composition/index.js +3 -0
  26. package/dist/composition/owned-ui.d.ts +31 -0
  27. package/dist/composition/owned-ui.js +66 -0
  28. package/dist/composition/process.d.ts +16 -0
  29. package/dist/composition/process.js +45 -0
  30. package/dist/composition/settings-route-host.d.ts +8 -0
  31. package/dist/composition/settings-route-host.js +75 -0
  32. package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/capability-ports.d.ts +2 -2
  33. package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain-validation.js +22 -4
  34. package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain.d.ts +17 -0
  35. package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/package-ports.d.ts +6 -0
  36. package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/model.d.ts +36 -0
  37. package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/validation.js +25 -0
  38. package/dist/{src/features → features}/launch/development-launch.js +11 -3
  39. package/dist/{src/features → features}/launch/index.d.ts +0 -1
  40. package/dist/{src/features → features}/launch/index.js +0 -1
  41. package/dist/features/launch/intent.d.ts +10 -0
  42. package/dist/features/launch/intent.js +8 -0
  43. package/dist/{src/features → features}/launch/prepare-launch.d.ts +0 -2
  44. package/dist/{src/features → features}/launch/prepare-launch.js +2 -9
  45. package/dist/{src/features → features}/launch/profile-paths.d.ts +1 -2
  46. package/dist/{src/features → features}/launch/profile-paths.js +2 -8
  47. package/dist/{src/features → features}/launch/runtime-selection.d.ts +2 -5
  48. package/dist/{src/features → features}/owned-ui/customization.d.ts +3 -1
  49. package/dist/{src/features → features}/owned-ui/customization.js +3 -1
  50. package/dist/{src/features → features}/owned-ui/diagnostics.d.ts +2 -1
  51. package/dist/{src/features → features}/owned-ui/diagnostics.js +1 -0
  52. package/dist/{src/features → features}/owned-ui/index.d.ts +2 -0
  53. package/dist/{src/features → features}/owned-ui/index.js +2 -0
  54. package/dist/features/owned-ui/project-trust-prompt.d.ts +25 -0
  55. package/dist/features/owned-ui/project-trust-prompt.js +149 -0
  56. package/dist/{src/features → features}/owned-ui/run.d.ts +2 -2
  57. package/dist/{src/features → features}/owned-ui/run.js +2 -0
  58. package/dist/features/owned-ui/session-fork-prompt.d.ts +8 -0
  59. package/dist/features/owned-ui/session-fork-prompt.js +34 -0
  60. package/dist/{src/features → features}/owned-ui/settings-app.d.ts +3 -3
  61. package/dist/{src/features → features}/owned-ui/settings-app.js +103 -54
  62. package/dist/{src/features → features}/workspace/capabilities.d.ts +1 -1
  63. package/dist/{src/features → features}/workspace/reducer.d.ts +2 -1
  64. package/dist/{src/features → features}/workspace/reducer.js +2 -1
  65. package/dist/{src/features → features}/workspace/router.d.ts +2 -1
  66. package/dist/{src/features → features}/workspace/router.js +1 -0
  67. package/dist/{src/features → features}/workspace/store.d.ts +2 -1
  68. package/dist/{src/features → features}/workspace/store.js +1 -0
  69. package/dist/{src/foundation → foundation}/launch-guardian/main.d.ts +2 -0
  70. package/dist/{src/foundation → foundation}/launch-guardian/main.js +18 -5
  71. package/dist/{src/foundation → foundation}/lifecycle/index.d.ts +2 -0
  72. package/dist/{src/foundation → foundation}/lifecycle/index.js +2 -0
  73. package/dist/{src/foundation → foundation}/lifecycle/model.d.ts +1 -1
  74. package/dist/{src/foundation → foundation}/lifecycle/model.js +1 -1
  75. package/dist/foundation/lifecycle/paths.d.ts +30 -0
  76. package/dist/{src/foundation → foundation}/lifecycle/paths.js +29 -1
  77. package/dist/foundation/lifecycle/session-selection.d.ts +9 -0
  78. package/dist/foundation/lifecycle/session-selection.js +39 -0
  79. package/dist/foundation/lifecycle/supervisor-startup.d.ts +30 -0
  80. package/dist/foundation/lifecycle/supervisor-startup.js +106 -0
  81. package/dist/{src/foundation → foundation}/native-host-protocol/codec.d.ts +2 -0
  82. package/dist/{src/foundation → foundation}/native-host-protocol/codec.js +2 -0
  83. package/dist/{src/foundation → foundation}/native-host-protocol/messages.d.ts +1 -1
  84. package/dist/{src/foundation → foundation}/native-host-protocol/messages.js +1 -1
  85. package/dist/foundation/process-containment/darwin-process-inspector.d.ts +5 -0
  86. package/dist/foundation/process-containment/darwin-process-inspector.js +7 -0
  87. package/dist/{src/foundation → foundation}/process-containment/index.d.ts +1 -0
  88. package/dist/{src/foundation → foundation}/process-containment/index.js +1 -0
  89. package/dist/{src/foundation → foundation}/process-containment/linux-process-inspector.d.ts +1 -0
  90. package/dist/{src/foundation → foundation}/process-containment/linux-process-inspector.js +1 -0
  91. package/dist/{src/foundation → foundation}/process-containment/native-guardian-containment.d.ts +1 -0
  92. package/dist/{src/foundation → foundation}/process-containment/native-guardian-containment.js +1 -0
  93. package/dist/{src/foundation → foundation}/process-containment/windows-process-inspector.d.ts +3 -1
  94. package/dist/{src/foundation → foundation}/process-containment/windows-process-inspector.js +5 -2
  95. package/dist/{src/foundation → foundation}/protocol/client.d.ts +1 -0
  96. package/dist/{src/foundation → foundation}/protocol/client.js +1 -0
  97. package/dist/{src/foundation → foundation}/protocol/messages.d.ts +1 -0
  98. package/dist/{src/foundation → foundation}/protocol/messages.js +1 -0
  99. package/dist/{src/foundation → foundation}/release/bootstrap.d.ts +23 -6
  100. package/dist/{src/foundation → foundation}/release/bootstrap.js +120 -34
  101. package/dist/foundation/release/cohort-state.d.ts +156 -0
  102. package/dist/foundation/release/cohort-state.js +471 -0
  103. package/dist/foundation/release/dependency-layer.d.ts +78 -0
  104. package/dist/foundation/release/dependency-layer.js +488 -0
  105. package/dist/foundation/release/endpoints.d.ts +20 -0
  106. package/dist/foundation/release/endpoints.js +50 -0
  107. package/dist/foundation/release/immutable-platform.d.ts +6 -0
  108. package/dist/foundation/release/immutable-platform.js +13 -0
  109. package/dist/{src/foundation → foundation}/release/index.d.ts +4 -0
  110. package/dist/{src/foundation → foundation}/release/index.js +4 -0
  111. package/dist/foundation/release/release-gc.d.ts +71 -0
  112. package/dist/foundation/release/release-gc.js +734 -0
  113. package/dist/{src/foundation → foundation}/release/release-store.d.ts +4 -2
  114. package/dist/{src/foundation → foundation}/release/release-store.js +64 -12
  115. package/dist/{src/foundation → foundation}/release/release.d.ts +4 -1
  116. package/dist/{src/foundation → foundation}/release/release.js +10 -3
  117. package/dist/foundation/release/restart-certification.d.ts +67 -0
  118. package/dist/foundation/release/restart-certification.js +211 -0
  119. package/dist/{src/foundation → foundation}/release/update-transaction.d.ts +1 -0
  120. package/dist/{src/foundation → foundation}/release/update-transaction.js +1 -0
  121. package/dist/{src/foundation → foundation}/release/update.d.ts +19 -3
  122. package/dist/{src/foundation → foundation}/release/update.js +116 -56
  123. package/dist/foundation/release/warmup.d.ts +3 -0
  124. package/dist/foundation/release/warmup.js +35 -0
  125. package/dist/foundation/startup/index.d.ts +1 -0
  126. package/dist/foundation/startup/index.js +1 -0
  127. package/dist/foundation/startup/startup-runtime.d.ts +36 -0
  128. package/dist/foundation/startup/startup-runtime.js +140 -0
  129. package/dist/{src/foundation → foundation}/storage/control-store.d.ts +2 -1
  130. package/dist/{src/foundation → foundation}/storage/control-store.js +39 -4
  131. package/dist/{src/foundation → foundation}/structured-agent-runtime/backpressure.d.ts +2 -1
  132. package/dist/{src/foundation → foundation}/structured-agent-runtime/backpressure.js +2 -1
  133. package/dist/{src/foundation → foundation}/structured-agent-runtime/commands.d.ts +2 -1
  134. package/dist/{src/foundation → foundation}/structured-agent-runtime/commands.js +2 -1
  135. package/dist/{src/foundation → foundation}/structured-agent-runtime/handshake.d.ts +1 -1
  136. package/dist/{src/foundation → foundation}/structured-agent-runtime/handshake.js +1 -1
  137. package/dist/{src/foundation → foundation}/structured-agent-runtime/reconnection.d.ts +2 -1
  138. package/dist/{src/foundation → foundation}/structured-agent-runtime/reconnection.js +2 -1
  139. package/dist/{src/foundation → foundation}/structured-agent-runtime/state.d.ts +2 -1
  140. package/dist/{src/foundation → foundation}/structured-agent-runtime/state.js +2 -1
  141. package/dist/foundation/supervision/index.d.ts +3 -0
  142. package/dist/foundation/supervision/index.js +3 -0
  143. package/dist/foundation/supervision/main.d.ts +1 -0
  144. package/dist/foundation/supervision/main.js +77 -0
  145. package/dist/foundation/supervision/paths.d.ts +1 -0
  146. package/dist/foundation/supervision/paths.js +1 -0
  147. package/dist/{src/foundation → foundation}/supervision/server.d.ts +19 -1
  148. package/dist/{src/foundation → foundation}/supervision/server.js +65 -3
  149. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/components.d.ts +1 -1
  150. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/conformance.d.ts +1 -0
  151. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/conformance.js +3 -2
  152. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/index.d.ts +1 -1
  153. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/index.js +1 -1
  154. package/dist/integrations/pi/components/owned-editor-ux.d.ts +55 -0
  155. package/dist/integrations/pi/components/owned-editor-ux.js +778 -0
  156. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-components.d.ts +1 -0
  157. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-components.js +1 -0
  158. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-editor-autocomplete.js +54 -6
  159. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-extension-ui.d.ts +1 -1
  160. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-footer-status.d.ts +3 -3
  161. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-footer-status.js +49 -18
  162. package/dist/integrations/pi/components/shell-presenters-info.d.ts +36 -0
  163. package/dist/integrations/pi/components/shell-presenters-info.js +78 -0
  164. package/dist/integrations/pi/components/shell-presenters-transcript.d.ts +25 -0
  165. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-presenters-transcript.js +92 -131
  166. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-selectors-dialogs.d.ts +5 -2
  167. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-selectors-dialogs.js +2 -1
  168. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-shared-facade.d.ts +57 -8
  169. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-shared-facade.js +4 -2
  170. package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +13 -0
  171. package/dist/integrations/pi/components/submitted-prompt-adapter.js +27 -0
  172. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/adjacent/core/keybindings.d.ts +10 -2
  173. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/adjacent/core/keybindings.js +36 -3
  174. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-footer.d.ts +1 -1
  175. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/adapter.d.ts +28 -4
  176. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/adapter.js +714 -127
  177. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/conformance.d.ts +2 -0
  178. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/conformance.js +4 -2
  179. package/dist/integrations/pi/engine/http-dispatcher.d.ts +4 -0
  180. package/dist/integrations/pi/engine/http-dispatcher.js +25 -0
  181. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/index.d.ts +4 -0
  182. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/index.js +4 -0
  183. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/model-auth-integration.d.ts +2 -1
  184. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/model-auth-integration.js +1 -0
  185. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/package-integration.d.ts +1 -1
  186. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/package-integration.js +32 -26
  187. package/dist/integrations/pi/engine/project-trust-preflight.d.ts +22 -0
  188. package/dist/integrations/pi/engine/project-trust-preflight.js +50 -0
  189. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/resource-extension-integration.d.ts +2 -1
  190. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/resource-extension-integration.js +1 -0
  191. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/runtime-integration.d.ts +19 -1
  192. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/runtime-integration.js +47 -5
  193. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/session-integration.d.ts +4 -2
  194. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/session-integration.js +19 -4
  195. package/dist/integrations/pi/engine/session-selection.d.ts +28 -0
  196. package/dist/integrations/pi/engine/session-selection.js +90 -0
  197. package/dist/integrations/pi/engine/settings-effects.d.ts +66 -0
  198. package/dist/integrations/pi/engine/settings-effects.js +249 -0
  199. package/dist/integrations/pi/engine/settings-integration.d.ts +43 -0
  200. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/settings-integration.js +102 -108
  201. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflow-controllers.d.ts +3 -2
  202. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflow-controllers.js +1 -0
  203. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflows.d.ts +18 -1
  204. package/dist/integrations/pi/session-ui/clipboard-image.d.ts +11 -0
  205. package/dist/integrations/pi/session-ui/clipboard-image.js +29 -0
  206. package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/session-ui}/index.d.ts +1 -0
  207. package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/session-ui}/index.js +1 -0
  208. package/dist/integrations/pi/session-ui/prompt-chips.d.ts +23 -0
  209. package/dist/integrations/pi/session-ui/prompt-chips.js +246 -0
  210. package/dist/integrations/pi/session-ui/route-host.d.ts +5 -0
  211. package/dist/integrations/pi/session-ui/session-shell-root.d.ts +141 -0
  212. package/dist/integrations/pi/session-ui/session-shell-root.js +1158 -0
  213. package/dist/integrations/pi/session-ui/session-shell.d.ts +55 -0
  214. package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/session-ui}/session-shell.js +479 -719
  215. package/dist/integrations/pi/session-ui/session-viewport-controller.d.ts +45 -0
  216. package/dist/integrations/pi/session-ui/session-viewport-controller.js +463 -0
  217. package/dist/integrations/pi/session-ui/stream-presentation-coalescer.d.ts +29 -0
  218. package/dist/integrations/pi/session-ui/stream-presentation-coalescer.js +79 -0
  219. package/dist/integrations/pi/session-ui/system-clipboard.d.ts +20 -0
  220. package/dist/integrations/pi/session-ui/system-clipboard.js +130 -0
  221. package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/adapter.d.ts +8 -1
  222. package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/adapter.js +216 -9
  223. package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/contracts.d.ts +29 -6
  224. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +74 -0
  225. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +380 -0
  226. package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/index.d.ts +2 -0
  227. package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/index.js +2 -0
  228. package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.d.ts +39 -0
  229. package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.js +139 -0
  230. package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/presentation-adapter.d.ts +1 -1
  231. package/dist/native/darwin-arm64/manifest.json +4 -4
  232. package/dist/native/darwin-arm64/process-guardian +0 -0
  233. package/dist/native/linux-x64/manifest.json +3 -3
  234. package/dist/native/linux-x64/process-guardian +0 -0
  235. package/dist/native/win32-x64/manifest.json +3 -3
  236. package/dist/native/win32-x64/process-guardian.exe +0 -0
  237. package/dist/{src/product-identity.d.ts → product-identity.d.ts} +3 -3
  238. package/dist/{src/product-identity.js → product-identity.js} +7 -5
  239. package/dist/{src/product-identity.json → product-identity.json} +11 -6
  240. package/dist/runtime-payload-inventory.json +122328 -0
  241. package/dist/{src/foundation/ui-apps → ui/apps}/contracts.d.ts +23 -1
  242. package/dist/{src/foundation/ui-apps → ui/apps}/host.d.ts +1 -1
  243. package/dist/{src/foundation/ui-apps → ui/apps}/host.js +14 -10
  244. package/dist/{src/foundation/ui-apps → ui/apps}/registry.d.ts +1 -0
  245. package/dist/{src/foundation/ui-apps → ui/apps}/registry.js +1 -0
  246. package/dist/{src/foundation/ui-components → ui/components}/dialog-panel.js +5 -3
  247. package/dist/{src/foundation/ui-components → ui/components}/frame.d.ts +1 -0
  248. package/dist/{src/foundation/ui-components → ui/components}/frame.js +1 -0
  249. package/dist/{src/foundation/ui-components → ui/components}/index.d.ts +5 -0
  250. package/dist/{src/foundation/ui-components → ui/components}/index.js +5 -0
  251. package/dist/{src/foundation/ui-components → ui/components}/line-input.d.ts +1 -6
  252. package/dist/{src/foundation/ui-components → ui/components}/line-input.js +4 -9
  253. package/dist/{src/foundation/ui-components → ui/components}/list-view.d.ts +0 -6
  254. package/dist/{src/foundation/ui-components → ui/components}/list-view.js +14 -7
  255. package/dist/{src/foundation/ui-components → ui/components}/mouse.d.ts +10 -0
  256. package/dist/{src/foundation/ui-components → ui/components}/mouse.js +23 -0
  257. package/dist/ui/components/progress-status.d.ts +2 -0
  258. package/dist/ui/components/progress-status.js +4 -0
  259. package/dist/ui/components/prompt-row.d.ts +14 -0
  260. package/dist/ui/components/prompt-row.js +20 -0
  261. package/dist/{src/foundation/ui-components → ui/components}/scrollbar.d.ts +26 -0
  262. package/dist/{src/foundation/ui-components → ui/components}/scrollbar.js +35 -0
  263. package/dist/{src/foundation/ui-components → ui/components}/shortcuts.d.ts +1 -0
  264. package/dist/{src/foundation/ui-components → ui/components}/shortcuts.js +1 -0
  265. package/dist/ui/components/spans.d.ts +25 -0
  266. package/dist/ui/components/spans.js +257 -0
  267. package/dist/ui/components/submitted-prompt.d.ts +23 -0
  268. package/dist/ui/components/submitted-prompt.js +50 -0
  269. package/dist/{src/foundation/ui-components → ui/components}/surface.d.ts +0 -5
  270. package/dist/{src/foundation/ui-components → ui/components}/surface.js +1 -5
  271. package/dist/ui/components/text-selection.d.ts +62 -0
  272. package/dist/ui/components/text-selection.js +208 -0
  273. package/dist/{src/foundation/ui-components → ui/components}/text.d.ts +14 -0
  274. package/dist/{src/foundation/ui-components → ui/components}/text.js +66 -4
  275. package/dist/ui/components/transcript-viewport.d.ts +152 -0
  276. package/dist/ui/components/transcript-viewport.js +631 -0
  277. package/dist/ui/components/visible-hyperlinks.d.ts +19 -0
  278. package/dist/ui/components/visible-hyperlinks.js +64 -0
  279. package/dist/{src/foundation/owned-ui-settings → ui/settings}/declarations.d.ts +8 -1
  280. package/dist/{src/foundation/owned-ui-settings → ui/settings}/declarations.js +33 -5
  281. package/dist/{src/foundation/owned-ui-settings → ui/settings}/migrations.d.ts +1 -1
  282. package/dist/{src/foundation/owned-ui-settings → ui/settings}/migrations.js +21 -2
  283. package/dist/{src/foundation/owned-ui-settings → ui/settings}/sections.d.ts +6 -19
  284. package/dist/{src/foundation/owned-ui-settings → ui/settings}/sections.js +32 -23
  285. package/dist/{src/foundation/owned-ui-settings → ui/settings}/session.d.ts +9 -17
  286. package/dist/{src/foundation/owned-ui-settings → ui/settings}/session.js +65 -55
  287. package/dist/{src/foundation/owned-ui-settings → ui/settings}/store.d.ts +1 -0
  288. package/dist/{src/foundation/owned-ui-settings → ui/settings}/store.js +2 -1
  289. package/docs/architecture/boundaries.md +9 -9
  290. package/docs/architecture/code-documentation.md +77 -0
  291. package/docs/architecture/process-guardian-provenance.md +3 -1
  292. package/docs/architecture/project-structure.md +67 -30
  293. package/docs/architecture/resource-and-data-policy.md +1 -1
  294. package/docs/architecture/toolchain.md +10 -10
  295. package/docs/architecture/ui-reference-provenance.md +36 -5
  296. package/docs/ci-release-runbook.md +186 -79
  297. package/docs/features/launch-profiles.md +24 -17
  298. package/docs/manual-ghost-link-baseline.md +89 -0
  299. package/docs/manual-launch-instance-acceptance.md +12 -35
  300. package/docs/manual-owned-ui-checkpoint.md +78 -0
  301. package/docs/manual-pi-boundary-candidate.md +4 -5
  302. package/docs/manual-terminal-colour-check.md +4 -3
  303. package/docs/repository-governance-live-acceptance.md +77 -0
  304. package/package.json +37 -27
  305. package/dist/src/cli/capabilities.d.ts +0 -15
  306. package/dist/src/cli/dispatch.js +0 -177
  307. package/dist/src/cli/version-stats.js +0 -72
  308. package/dist/src/composition/index.d.ts +0 -48
  309. package/dist/src/composition/index.js +0 -258
  310. package/dist/src/features/launch/intent.d.ts +0 -7
  311. package/dist/src/features/launch/intent.js +0 -4
  312. package/dist/src/features/launch/profiles.d.ts +0 -12
  313. package/dist/src/features/launch/profiles.js +0 -26
  314. package/dist/src/foundation/lifecycle/paths.d.ts +0 -10
  315. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts +0 -57
  316. package/dist/src/foundation/pi-engine-adapter/settings-integration.d.ts +0 -55
  317. package/dist/src/foundation/pi-owned-ui-integration/route-host.d.ts +0 -29
  318. package/dist/src/foundation/pi-owned-ui-integration/session-shell.d.ts +0 -106
  319. package/dist/src/foundation/release/cohort-state.d.ts +0 -70
  320. package/dist/src/foundation/release/cohort-state.js +0 -202
  321. package/dist/src/foundation/release/release-gc.d.ts +0 -5
  322. package/dist/src/foundation/release/release-gc.js +0 -16
  323. package/dist/src/foundation/supervision/index.d.ts +0 -3
  324. package/dist/src/foundation/supervision/index.js +0 -3
  325. package/dist/src/foundation/supervision/main.d.ts +0 -1
  326. package/dist/src/foundation/supervision/main.js +0 -41
  327. package/dist/src/foundation/supervision/paths.d.ts +0 -1
  328. package/dist/src/foundation/supervision/paths.js +0 -1
  329. package/dist/src/foundation/ui-components/spans.d.ts +0 -7
  330. package/dist/src/foundation/ui-components/spans.js +0 -59
  331. package/docs/manual-transparent-checkpoint.md +0 -53
  332. /package/dist/{src/cli → cli}/index.d.ts +0 -0
  333. /package/dist/{src/cli → cli}/index.js +0 -0
  334. /package/dist/{src/cli → cli}/version.d.ts +0 -0
  335. /package/dist/{src/cli → cli}/version.js +0 -0
  336. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/capability-ports.js +0 -0
  337. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain-validation.d.ts +0 -0
  338. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain.js +0 -0
  339. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/index.d.ts +0 -0
  340. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/index.js +0 -0
  341. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.d.ts +0 -0
  342. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.js +0 -0
  343. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/package-ports.js +0 -0
  344. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/ports.d.ts +0 -0
  345. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/ports.js +0 -0
  346. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.d.ts +0 -0
  347. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.js +0 -0
  348. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.d.ts +0 -0
  349. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.js +0 -0
  350. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/extension-ui.d.ts +0 -0
  351. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/extension-ui.js +0 -0
  352. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/index.d.ts +0 -0
  353. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/index.js +0 -0
  354. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/model.js +0 -0
  355. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/validation.d.ts +0 -0
  356. /package/dist/{src/foundation/presentation-contracts → contracts/presentation}/index.d.ts +0 -0
  357. /package/dist/{src/foundation/presentation-contracts → contracts/presentation}/index.js +0 -0
  358. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/index.d.ts +0 -0
  359. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/index.js +0 -0
  360. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/model.d.ts +0 -0
  361. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/model.js +0 -0
  362. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/validation.d.ts +0 -0
  363. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/validation.js +0 -0
  364. /package/dist/{src/features → features}/launch/development-launch.d.ts +0 -0
  365. /package/dist/{src/features → features}/launch/initialize-profile.d.ts +0 -0
  366. /package/dist/{src/features → features}/launch/initialize-profile.js +0 -0
  367. /package/dist/{src/features → features}/launch/runtime-selection.js +0 -0
  368. /package/dist/{src/features → features}/workspace/capabilities.js +0 -0
  369. /package/dist/{src/features → features}/workspace/index.d.ts +0 -0
  370. /package/dist/{src/features → features}/workspace/index.js +0 -0
  371. /package/dist/{src/features → features}/workspace/presentation.d.ts +0 -0
  372. /package/dist/{src/features → features}/workspace/presentation.js +0 -0
  373. /package/dist/{src/features → features}/workspace/reconciliation.d.ts +0 -0
  374. /package/dist/{src/features → features}/workspace/reconciliation.js +0 -0
  375. /package/dist/{src/foundation → foundation}/launch-guardian/index.d.ts +0 -0
  376. /package/dist/{src/foundation → foundation}/launch-guardian/index.js +0 -0
  377. /package/dist/{src/foundation → foundation}/lifecycle/commands.d.ts +0 -0
  378. /package/dist/{src/foundation → foundation}/lifecycle/commands.js +0 -0
  379. /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.d.ts +0 -0
  380. /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.js +0 -0
  381. /package/dist/{src/foundation → foundation}/native-host-protocol/evidence.d.ts +0 -0
  382. /package/dist/{src/foundation → foundation}/native-host-protocol/evidence.js +0 -0
  383. /package/dist/{src/foundation → foundation}/native-host-protocol/index.d.ts +0 -0
  384. /package/dist/{src/foundation → foundation}/native-host-protocol/index.js +0 -0
  385. /package/dist/{src/foundation → foundation}/native-host-protocol/proof-gate.d.ts +0 -0
  386. /package/dist/{src/foundation → foundation}/native-host-protocol/proof-gate.js +0 -0
  387. /package/dist/{src/foundation → foundation}/process-containment/artifact.d.ts +0 -0
  388. /package/dist/{src/foundation → foundation}/process-containment/artifact.js +0 -0
  389. /package/dist/{src/foundation → foundation}/process-containment/contracts.d.ts +0 -0
  390. /package/dist/{src/foundation → foundation}/process-containment/contracts.js +0 -0
  391. /package/dist/{src/foundation → foundation}/protocol/index.d.ts +0 -0
  392. /package/dist/{src/foundation → foundation}/protocol/index.js +0 -0
  393. /package/dist/{src/foundation → foundation}/release/cohort-selection.d.ts +0 -0
  394. /package/dist/{src/foundation → foundation}/release/cohort-selection.js +0 -0
  395. /package/dist/{src/foundation → foundation}/release/concurrency.d.ts +0 -0
  396. /package/dist/{src/foundation → foundation}/release/concurrency.js +0 -0
  397. /package/dist/{src/foundation → foundation}/release/process-cleanup.d.ts +0 -0
  398. /package/dist/{src/foundation → foundation}/release/process-cleanup.js +0 -0
  399. /package/dist/{src/foundation → foundation}/release/stable-release.d.ts +0 -0
  400. /package/dist/{src/foundation → foundation}/release/stable-release.js +0 -0
  401. /package/dist/{src/foundation → foundation}/storage/index.d.ts +0 -0
  402. /package/dist/{src/foundation → foundation}/storage/index.js +0 -0
  403. /package/dist/{src/foundation → foundation}/structured-agent-runtime/index.d.ts +0 -0
  404. /package/dist/{src/foundation → foundation}/structured-agent-runtime/index.js +0 -0
  405. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/components.js +0 -0
  406. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/resources/builtin-themes.d.ts +0 -0
  407. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/resources/builtin-themes.js +0 -0
  408. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-editor-autocomplete.d.ts +0 -0
  409. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-extension-ui.js +0 -0
  410. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/theme.d.ts +0 -0
  411. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/theme.js +0 -0
  412. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/countdown-timer.d.ts +0 -0
  413. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/countdown-timer.js +0 -0
  414. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/custom-entry.d.ts +0 -0
  415. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/custom-entry.js +0 -0
  416. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/daxnuts.d.ts +0 -0
  417. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/daxnuts.js +0 -0
  418. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/earendil-announcement.d.ts +0 -0
  419. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/earendil-announcement.js +0 -0
  420. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/extension-editor.d.ts +0 -0
  421. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/extension-editor.js +0 -0
  422. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/first-time-setup.d.ts +0 -0
  423. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/first-time-setup.js +0 -0
  424. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/markdown-transform.d.ts +0 -0
  425. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/markdown-transform.js +0 -0
  426. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/mermaid.d.ts +0 -0
  427. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/mermaid.js +0 -0
  428. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/owned-editor.d.ts +0 -0
  429. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/owned-editor.js +0 -0
  430. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/scoped-models-selector.d.ts +0 -0
  431. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/scoped-models-selector.js +0 -0
  432. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-footer.js +0 -0
  433. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector-search.d.ts +0 -0
  434. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector-search.js +0 -0
  435. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector.d.ts +0 -0
  436. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector.js +0 -0
  437. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/skill-invocation-message.d.ts +0 -0
  438. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/skill-invocation-message.js +0 -0
  439. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/status-indicator.d.ts +0 -0
  440. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/status-indicator.js +0 -0
  441. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/tree-selector.d.ts +0 -0
  442. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/tree-selector.js +0 -0
  443. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/trust-selector.d.ts +0 -0
  444. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/trust-selector.js +0 -0
  445. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/external-editor.d.ts +0 -0
  446. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/external-editor.js +0 -0
  447. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/model-search.d.ts +0 -0
  448. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/model-search.js +0 -0
  449. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme-controller.d.ts +0 -0
  450. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme-controller.js +0 -0
  451. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme.d.ts +0 -0
  452. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme.js +0 -0
  453. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/pi-settings-metadata.json +0 -0
  454. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.d.ts +0 -0
  455. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.js +0 -0
  456. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflows.js +0 -0
  457. /package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/session-ui}/route-host.js +0 -0
  458. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/conformance.d.ts +0 -0
  459. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/conformance.js +0 -0
  460. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/contracts.js +0 -0
  461. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/presentation-adapter.js +0 -0
  462. /package/dist/{src/foundation/ui-apps → ui/apps}/contracts.js +0 -0
  463. /package/dist/{src/foundation/ui-apps → ui/apps}/index.d.ts +0 -0
  464. /package/dist/{src/foundation/ui-apps → ui/apps}/index.js +0 -0
  465. /package/dist/{src/foundation/ui-components → ui/components}/dialog-panel.d.ts +0 -0
  466. /package/dist/{src/foundation/ui-components → ui/components}/label.d.ts +0 -0
  467. /package/dist/{src/foundation/ui-components → ui/components}/label.js +0 -0
  468. /package/dist/{src/foundation/ui-components → ui/components}/list-block.d.ts +0 -0
  469. /package/dist/{src/foundation/ui-components → ui/components}/list-block.js +0 -0
  470. /package/dist/{src/foundation/ui-components → ui/components}/pane.d.ts +0 -0
  471. /package/dist/{src/foundation/ui-components → ui/components}/pane.js +0 -0
  472. /package/dist/{src/foundation/ui-components → ui/components}/revision.d.ts +0 -0
  473. /package/dist/{src/foundation/ui-components → ui/components}/revision.js +0 -0
  474. /package/dist/{src/foundation/ui-components → ui/components}/status-line.d.ts +0 -0
  475. /package/dist/{src/foundation/ui-components → ui/components}/status-line.js +0 -0
  476. /package/dist/{src/foundation/ui-components → ui/components}/stepper.d.ts +0 -0
  477. /package/dist/{src/foundation/ui-components → ui/components}/stepper.js +0 -0
  478. /package/dist/{src/foundation/ui-components → ui/components}/theme.d.ts +0 -0
  479. /package/dist/{src/foundation/ui-components → ui/components}/theme.js +0 -0
  480. /package/dist/{src/foundation/ui-components → ui/components}/value-menu.d.ts +0 -0
  481. /package/dist/{src/foundation/ui-components → ui/components}/value-menu.js +0 -0
  482. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/index.d.ts +0 -0
  483. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/index.js +0 -0
  484. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.d.ts +0 -0
  485. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.js +0 -0
@@ -1,258 +0,0 @@
1
- import { AGENT_ENGINE_CONTRACT_VERSION, assertAgentCapabilityContract, assertAgentCommand, } from "../foundation/agent-engine-contracts/index.js";
2
- import { createPiEngineAdapter } from "../foundation/pi-engine-adapter/index.js";
3
- import { createPiPresentationRuntime, createPiTerminalBridge } from "../foundation/pi-tui-runtime-adapter/index.js";
4
- import { assertPresentationComponent, assertPresentationRuntime, } from "../foundation/presentation-contracts/index.js";
5
- import { OwnedUiSessionShell } from "../foundation/pi-owned-ui-integration/index.js";
6
- import { OwnedUiSettingsSession, OwnedUiSettingsStore } from "../foundation/owned-ui-settings/index.js";
7
- import { UiAppHost, UiAppRegistry } from "../foundation/ui-apps/index.js";
8
- import { applyConfiguredPiTheme, getAvailablePiThemes, piTheme } from "../foundation/pi-component-adapter/index.js";
9
- import { faint } from "../foundation/ui-components/index.js";
10
- import { SETTINGS_APP_ID, SETTINGS_ROUTE, SettingsApp } from "../features/owned-ui/index.js";
11
- import { resolveProductPaths } from "../foundation/lifecycle/index.js";
12
- const CAPABILITIES = {
13
- contractVersion: AGENT_ENGINE_CONTRACT_VERSION,
14
- commands: ["prompt", "steer", "follow-up", "abort", "retry", "compact", "bash", "replace-session"],
15
- events: ["lifecycle", "content", "command-outcome", "snapshot-invalidated", "diagnostic"],
16
- snapshots: { supported: true, maxBytes: 1024 * 1024 },
17
- };
18
- export async function composeOwnedUiApplication(options = {}) {
19
- return (await composeOwnedUi(options)).application;
20
- }
21
- export async function composeOwnedUi(options = {}) {
22
- const cwd = options.cwd ?? process.cwd();
23
- const adapter = options.createPiAdapter
24
- ? await options.createPiAdapter()
25
- : await createPiEngineAdapter({ cwd, availableThemes: () => getAvailablePiThemes().map(theme => theme.name) });
26
- const settings = options.profileId === undefined
27
- ? null
28
- : new OwnedUiSettingsSession({
29
- store: new OwnedUiSettingsStore({ configDir: resolveProductPaths().configDir, profileId: options.profileId }),
30
- agentProvider: () => adapter.settingsPort(),
31
- });
32
- // Before anything is drawn, so every surface uses the configured theme rather
33
- // than the one guessed from the terminal's background.
34
- applyConfiguredPiTheme(adapter.configuredTheme());
35
- const routeHost = settings === null || options.ownedSurfaces === "off" ? null : createOwnedRouteHost(settings);
36
- const shell = new OwnedUiSessionShell({
37
- backend: adapter,
38
- cwd,
39
- ...(options.terminal === undefined ? {} : { terminal: createPiTerminalBridge(options.terminal) }),
40
- ...(routeHost === null ? {} : { routeHost }),
41
- });
42
- const application = {
43
- get disposed() { return adapter.disposed; },
44
- start: () => shell.start(),
45
- flush: () => adapter.flushEvents(),
46
- waitUntilStopped: () => shell.waitUntilStopped(),
47
- dispose: () => shell.dispose(),
48
- };
49
- return { application, settings };
50
- }
51
- export async function composeProcess(options = {}) {
52
- let engine = options.engine;
53
- if (!engine) {
54
- const adapter = options.createPiAdapter
55
- ? await options.createPiAdapter()
56
- : await createPiEngineAdapter({
57
- ...(options.cwd === undefined ? {} : { cwd: options.cwd }),
58
- ...(options.sessionId === undefined ? {} : { sessionId: options.sessionId }),
59
- });
60
- engine = new PiAgentEngineBridge(adapter, options.cwd ?? process.cwd());
61
- }
62
- assertAgentCapabilityContract(engine.capabilities);
63
- if (typeof engine.createSession !== "function" || typeof engine.dispose !== "function")
64
- throw new TypeError("composed engine does not satisfy the neutral engine port");
65
- const presentations = new Set();
66
- let disposed = false;
67
- return {
68
- engine,
69
- createPresentation(root, terminal) {
70
- if (disposed)
71
- throw new Error("process composition is disposed");
72
- assertPresentationComponent(root);
73
- const runtime = options.presentationFactory?.(root, terminal) ?? createPiPresentationRuntime(root, terminal);
74
- assertPresentationRuntime(runtime);
75
- presentations.add(runtime);
76
- return runtime;
77
- },
78
- async dispose() {
79
- if (disposed)
80
- return;
81
- disposed = true;
82
- const failures = [];
83
- for (const runtime of [...presentations].reverse())
84
- await runtime.stop().catch(error => failures.push(error));
85
- await engine.dispose().catch(error => failures.push(error));
86
- if (failures.length)
87
- throw new AggregateError(failures, "process composition disposal failed");
88
- },
89
- };
90
- }
91
- class PiAgentEngineBridge {
92
- adapter;
93
- cwd;
94
- capabilities = CAPABILITIES;
95
- #session;
96
- constructor(adapter, cwd) {
97
- this.adapter = adapter;
98
- this.cwd = cwd;
99
- }
100
- async createSession(input) {
101
- if (this.#session)
102
- return this.#session;
103
- if (input.cwd !== this.cwd)
104
- throw new TypeError("composed Pi engine cannot change working directory");
105
- await this.adapter.start();
106
- this.#session = new PiAgentSessionBridge(this.adapter, input.sessionId);
107
- return this.#session;
108
- }
109
- async dispose() { await this.adapter.dispose(); }
110
- }
111
- class PiAgentSessionBridge {
112
- adapter;
113
- sessionId;
114
- capabilities = CAPABILITIES;
115
- lifecycle = "starting";
116
- #listeners = new Set();
117
- #unsubscribe;
118
- constructor(adapter, sessionId) {
119
- this.adapter = adapter;
120
- this.sessionId = sessionId;
121
- this.#unsubscribe = adapter.onEvent(event => {
122
- const converted = convertEvent(event);
123
- if (!converted)
124
- return;
125
- if (converted.type === "lifecycle")
126
- this.lifecycle = converted.lifecycle;
127
- for (const listener of this.#listeners)
128
- listener(converted);
129
- });
130
- this.lifecycle = toLifecycle(adapter.snapshot().view.lifecycle);
131
- }
132
- async execute(command) {
133
- assertAgentCommand(command, this.capabilities);
134
- if (command.sessionId !== this.sessionId)
135
- return "rejected";
136
- if (command.type === "bash") {
137
- const result = await this.adapter.executeBashWorkflow(command.command, false);
138
- return !result.cancelled && result.exitCode === 0 ? "completed" : result.cancelled ? "cancelled" : "failed";
139
- }
140
- const owned = toOwnedCommand(command);
141
- const result = await this.adapter.execute(owned);
142
- return result.outcome === "timed-out" ? "failed" : result.outcome;
143
- }
144
- subscribe(listener) { this.#listeners.add(listener); return () => this.#listeners.delete(listener); }
145
- async snapshot() {
146
- const snapshot = this.adapter.snapshot();
147
- return {
148
- contractVersion: AGENT_ENGINE_CONTRACT_VERSION,
149
- snapshotId: snapshot.snapshotId,
150
- sessionId: this.sessionId,
151
- revision: snapshot.view.revision,
152
- sequence: snapshot.sequence,
153
- lifecycle: toLifecycle(snapshot.view.lifecycle),
154
- content: snapshot.view.transcript.map(toMessage),
155
- activeCommandIds: snapshot.view.activeCommandIds,
156
- capabilities: this.capabilities,
157
- };
158
- }
159
- async dispose() { this.#unsubscribe(); this.#listeners.clear(); await this.adapter.dispose(); this.lifecycle = "stopped"; }
160
- }
161
- function toOwnedCommand(command) {
162
- const base = { correlationId: command.commandId, sessionId: command.sessionId };
163
- if (command.type === "replace-session")
164
- return command.source.kind === "new" ? { ...base, type: "new-session" } : { ...base, type: "resume-session", sessionPath: command.source.sessionPath };
165
- if (command.type === "prompt" || command.type === "steer" || command.type === "follow-up")
166
- return { ...base, type: command.type, text: command.text };
167
- return { ...base, type: command.type };
168
- }
169
- function convertEvent(event) {
170
- const base = { contractVersion: AGENT_ENGINE_CONTRACT_VERSION, sessionId: event.sessionId, sequence: event.sequence };
171
- if (event.type === "session-lifecycle")
172
- return { ...base, type: "lifecycle", lifecycle: toLifecycle(event.lifecycle), reason: event.reason };
173
- if (event.type === "transcript-block")
174
- return { ...base, type: "content", content: toMessage(event.block) };
175
- if (event.type === "command-outcome")
176
- return { ...base, type: "command-outcome", commandId: event.correlationId, outcome: event.outcome === "timed-out" ? "failed" : event.outcome, diagnostic: event.diagnostic };
177
- if (event.type === "diagnostic")
178
- return { ...base, type: "diagnostic", code: event.diagnostic.code, message: event.diagnostic.message, recoverable: event.diagnostic.recoverable };
179
- if (event.type === "session-view")
180
- return { ...base, type: "snapshot-invalidated", expectedRevision: event.view.revision };
181
- return null;
182
- }
183
- function toLifecycle(lifecycle) {
184
- return lifecycle === "suspended" ? "ready" : lifecycle;
185
- }
186
- function toMessage(block) {
187
- const role = block.kind === "user" ? "user" : block.kind === "system" ? "system" : block.kind === "tool-call" || block.kind === "tool-result" ? "tool" : "assistant";
188
- return { id: block.id, role, status: block.status === "live" ? "streaming" : "final", content: [{ kind: "text", text: block.text }] };
189
- }
190
- /**
191
- * Registers the A1-owned screens and adapts the app host to the shell's route
192
- * seam. The shell mounts whatever surface it is handed and forwards keys; it
193
- * never learns what an app is.
194
- */
195
- export function createOwnedRouteHost(settings) {
196
- const registry = new UiAppRegistry();
197
- registry.register({ id: SETTINGS_APP_ID, route: SETTINGS_ROUTE, create: () => new SettingsApp(settings) });
198
- return {
199
- claims: route => registry.forRoute(route) !== null,
200
- open: route => {
201
- const registration = registry.forRoute(route);
202
- if (registration === null)
203
- return null;
204
- let size = { width: 80, height: 24 };
205
- let frame = [];
206
- let closed = false;
207
- let onRender = () => undefined;
208
- let onExit = () => undefined;
209
- const host = new UiAppHost({
210
- registry,
211
- closeOnInterrupt: true,
212
- theme: pinnedTheme(),
213
- surface: {
214
- size: () => size,
215
- requestRender: () => onRender(),
216
- exit: () => onExit(),
217
- present: lines => {
218
- if (lines === null)
219
- closed = true;
220
- else
221
- frame = lines;
222
- },
223
- },
224
- });
225
- host.open(registration.id);
226
- const surface = {
227
- id: registration.id,
228
- render: (width, height) => {
229
- size = { width, height };
230
- host.render();
231
- return frame.length === height ? frame : [...frame.slice(0, height), ...Array(Math.max(0, height - frame.length)).fill("")];
232
- },
233
- handleInput: data => host.handleInput(data).consumed,
234
- handleMouse: event => host.handleMouse(event).consumed,
235
- isClosed: () => closed || !host.isPresenting,
236
- close: () => host.close(),
237
- onRenderRequested: listener => { onRender = listener; },
238
- onExitRequested: listener => { onExit = listener; },
239
- };
240
- return surface;
241
- },
242
- };
243
- }
244
- /** Maps A1 UI tokens onto the pinned Pi theme so owned screens match the shell. */
245
- function pinnedTheme() {
246
- return {
247
- fg: (token, text) => piTheme().fg(token, text),
248
- bold: (text) => piTheme().bold(text),
249
- // Unpainted, so a list reads against the terminal the reader actually has
250
- // rather than against the background the configured theme was built for.
251
- plain: (text) => text,
252
- // Quiet, and quieter again: the terminal's own faint attribute over the
253
- // dimmest colour the theme has.
254
- disabled: (text) => faint(piTheme().fg("dim", text)),
255
- highlight: (text) => `${text}`,
256
- panel: (text) => `${text}`,
257
- };
258
- }
@@ -1,7 +0,0 @@
1
- import { type LaunchProfileContract, type LaunchProfileId } from "./profiles.js";
2
- export interface InteractiveLaunchIntent {
3
- readonly kind: "interactive";
4
- readonly profile: LaunchProfileContract;
5
- }
6
- export type LaunchIntent = InteractiveLaunchIntent;
7
- export declare function interactiveLaunchIntent(profileId: LaunchProfileId): InteractiveLaunchIntent;
@@ -1,4 +0,0 @@
1
- import { launchProfileContract } from "./profiles.js";
2
- export function interactiveLaunchIntent(profileId) {
3
- return Object.freeze({ kind: "interactive", profile: launchProfileContract(profileId) });
4
- }
@@ -1,12 +0,0 @@
1
- import type { LaunchProfileId } from "../../foundation/lifecycle/index.js";
2
- export type { LaunchProfileId } from "../../foundation/lifecycle/index.js";
3
- export type ConfigurationRootPolicy = "agent-profile" | "pi-default" | "sandbox-profile";
4
- export type ProjectTrustPolicy = "pi-default" | "ignore";
5
- export interface LaunchProfileContract {
6
- readonly id: LaunchProfileId;
7
- readonly productSurface: "agent" | "vanilla-baseline" | "isolated-profile";
8
- readonly configurationRootPolicy: ConfigurationRootPolicy;
9
- readonly projectTrust: ProjectTrustPolicy;
10
- readonly terminalCapability: "owned-ui";
11
- }
12
- export declare function launchProfileContract(id: LaunchProfileId): LaunchProfileContract;
@@ -1,26 +0,0 @@
1
- const contracts = Object.freeze({
2
- "a1": Object.freeze({
3
- id: "a1",
4
- productSurface: "agent",
5
- configurationRootPolicy: "agent-profile",
6
- projectTrust: "pi-default",
7
- terminalCapability: "owned-ui",
8
- }),
9
- pi: Object.freeze({
10
- id: "pi",
11
- productSurface: "vanilla-baseline",
12
- configurationRootPolicy: "pi-default",
13
- projectTrust: "pi-default",
14
- terminalCapability: "owned-ui",
15
- }),
16
- sandbox: Object.freeze({
17
- id: "sandbox",
18
- productSurface: "isolated-profile",
19
- configurationRootPolicy: "sandbox-profile",
20
- projectTrust: "ignore",
21
- terminalCapability: "owned-ui",
22
- }),
23
- });
24
- export function launchProfileContract(id) {
25
- return contracts[id];
26
- }
@@ -1,10 +0,0 @@
1
- export interface ProductPaths {
2
- readonly configDir: string;
3
- readonly dataDir: string;
4
- readonly runtimeDir: string;
5
- readonly databasePath: string;
6
- readonly endpoint: string;
7
- readonly endpointMetadataPath: string;
8
- readonly supervisorLogPath: string;
9
- }
10
- export declare function resolveProductPaths(environment?: NodeJS.ProcessEnv, hostPlatform?: NodeJS.Platform, fallbackHome?: string): ProductPaths;
@@ -1,57 +0,0 @@
1
- import { AssistantMessageComponent } from "@earendil-works/pi-coding-agent";
2
- import type { OwnedUiTranscriptBlock } from "../owned-ui-contracts/index.js";
3
- import { type PiShellComponentPort, type PiShellExtensionRendererResolver, type PiShellTranscriptComponentPort } from "./shell-shared-facade.js";
4
- export interface PiShellSessionInfoPresentation {
5
- readonly sessionName?: string;
6
- readonly stats: {
7
- readonly sessionFile?: string;
8
- readonly sessionId: string;
9
- readonly userMessages: number;
10
- readonly assistantMessages: number;
11
- readonly toolCalls: number;
12
- readonly toolResults: number;
13
- readonly totalMessages: number;
14
- readonly tokens: {
15
- readonly input: number;
16
- readonly output: number;
17
- readonly cacheRead: number;
18
- readonly cacheWrite: number;
19
- readonly total: number;
20
- };
21
- readonly cost: number;
22
- };
23
- readonly cacheWaste: {
24
- readonly missedTokens: number;
25
- readonly missedCost: number;
26
- readonly missCount: number;
27
- };
28
- readonly usageBreakdown: readonly {
29
- readonly key: string;
30
- readonly cost: number;
31
- readonly tokens: number;
32
- }[];
33
- }
34
- export declare function renderPiShellStatusText(message: string, width: number): readonly string[];
35
- export declare function createPiShellSessionInfo(presentation: PiShellSessionInfoPresentation): PiShellComponentPort;
36
- export declare function createPiShellChangelog(markdown: string): PiShellComponentPort;
37
- export declare function createPiShellHotkeys(): PiShellComponentPort;
38
- export declare function createPiShellTranscriptComponent(initial: OwnedUiTranscriptBlock, cwd: string, extensions?: PiShellExtensionRendererResolver): PiShellTranscriptComponentPort;
39
- export declare function renderPiShellTranscriptBlock(block: OwnedUiTranscriptBlock, width: number, cwd: string): readonly string[];
40
- /**
41
- * Pinned Pi's CLI prints startup diagnostics with `reportDiagnostics` before
42
- * the banner: the whole line, prefix included, in chalk's basic ANSI severity
43
- * colour — not the theme's tokens — with info lines dim and unprefixed.
44
- */
45
- export declare function renderPiShellStartupDiagnostic(diagnostic: {
46
- readonly severity: "info" | "warning" | "error";
47
- readonly message: string;
48
- }, width: number): readonly string[];
49
- /**
50
- * Pinned Pi's `showPackageUpdateNotification` banner: warning-coloured dynamic
51
- * borders around a bold warning title, the muted update instruction with the
52
- * accent command, and the package list.
53
- */
54
- export declare function renderPiShellPackageUpdateNotice(packages: readonly string[], width: number): readonly string[];
55
- type PiAssistantMessage = NonNullable<ConstructorParameters<typeof AssistantMessageComponent>[0]>;
56
- export declare function validatedAssistantMessage(block: OwnedUiTranscriptBlock): PiAssistantMessage;
57
- export {};
@@ -1,55 +0,0 @@
1
- import type { SettingsManager } from "@earendil-works/pi-coding-agent";
2
- import type { AgentJsonValue, AgentSettingDescriptor, AgentSettingsPort } from "../agent-engine-contracts/index.js";
3
- /**
4
- * Values only the running engine knows: the themes installed on this machine and
5
- * the thinking levels this session supports. The boundary asks for them as it is
6
- * read, so no layer above has to know they are not fixed.
7
- */
8
- export interface PiSettingsProviders {
9
- readonly themes?: () => readonly string[];
10
- readonly thinkingLevels?: () => readonly string[];
11
- }
12
- /**
13
- * The engine stores a theme as one string with two forms: a theme's name, or a
14
- * `light/dark` pair meaning "follow the terminal". That grammar is the engine's,
15
- * so it is parsed and composed here and reaches the surfaces above as ordinary
16
- * settings — a theme entry that offers `automatic`, and, while automatic, one
17
- * entry per terminal appearance.
18
- */
19
- export declare const AUTOMATIC_THEME = "automatic";
20
- interface AutomaticTheme {
21
- readonly light: string;
22
- readonly dark: string;
23
- }
24
- /** A stored theme is automatic when it names one theme per terminal appearance. */
25
- export declare function parseAutomaticTheme(stored: string): AutomaticTheme | null;
26
- /**
27
- * The settings A1 exposes: the ones the engine presents. Kept as the engine's
28
- * own inventory rather than a list beside it, so a setting it adds or renames
29
- * shows up as a named test failure instead of quietly going missing.
30
- */
31
- export declare const EXPOSED_SETTING_KEYS: readonly string[];
32
- /**
33
- * What has drifted between the settings the engine presents and the settings A1
34
- * maps to its API: the ones A1 has not caught up with, and the ones it kept
35
- * after the engine dropped them. Either is a build failure with a name in it.
36
- */
37
- export declare function settingsInventoryDrift(presented: readonly string[], mapped: readonly string[]): {
38
- readonly unmapped: readonly string[];
39
- readonly stale: readonly string[];
40
- };
41
- export declare class PiSettingsIntegration implements AgentSettingsPort {
42
- #private;
43
- private readonly settings;
44
- readonly capabilities: {
45
- write: boolean;
46
- flush: boolean;
47
- };
48
- constructor(settings: SettingsManager, providers?: PiSettingsProviders);
49
- listSettings(): Promise<readonly AgentSettingDescriptor[]>;
50
- readSetting(key: string): Promise<AgentJsonValue | undefined>;
51
- writeSetting(key: string, value: AgentJsonValue): Promise<void>;
52
- writeSettingNow(key: string, value: AgentJsonValue): void;
53
- flush(): Promise<void>;
54
- }
55
- export {};
@@ -1,29 +0,0 @@
1
- import type { PaneMouseEvent } from "../ui-components/index.js";
2
- /**
3
- * The seam between the pinned shell and A1-owned screens. The shell asks whether
4
- * a route is claimed, mounts whatever surface it is handed, and forwards keys to
5
- * it — it never learns what an app is, and the app layer never reaches into the
6
- * shell.
7
- */
8
- export interface UiRouteSurface {
9
- readonly id: string;
10
- /** Renders exactly `height` rows of at most `width` columns. */
11
- render(width: number, height: number): readonly string[];
12
- /** True when the key was consumed; false leaves it to the shell. */
13
- handleInput(data: string): boolean;
14
- /** Mouse report in surface-local coordinates. True when consumed. */
15
- handleMouse(event: PaneMouseEvent): boolean;
16
- /** True once the surface has asked to be dismissed. */
17
- isClosed(): boolean;
18
- close(): void;
19
- /** Called by the shell when the surface should repaint. */
20
- onRenderRequested(listener: () => void): void;
21
- /** The surface asks to leave A1 entirely, not merely to close itself. */
22
- onExitRequested(listener: () => void): void;
23
- }
24
- export interface UiRouteHost {
25
- /** True when a declared A1-owned surface claims this route. */
26
- claims(route: string): boolean;
27
- /** Opens the route's surface, or null when it could not be presented. */
28
- open(route: string): UiRouteSurface | null;
29
- }
@@ -1,106 +0,0 @@
1
- import type { OwnedUiSessionViewModel, OwnedUiThinkingLevel } from "../owned-ui-contracts/index.js";
2
- import type { UiRouteHost } from "./route-host.js";
3
- import { type AdapterCommandResult, type PiEngineAdapter, type PiWorkflowRequest, type PiWorkflowResult } from "../pi-engine-adapter/index.js";
4
- import { type PiShellComponentPort, type PiShellEditorPort, type PiShellExtensionRendererResolver, type PiShellHeaderOptions, type PiShellHeaderPort, type PiShellLoadedResourcesPort, type PiShellSelectorOption, type PiShellTranscriptComponentPort } from "../pi-component-adapter/index.js";
5
- import { PiTuiRuntimeAdapter, type PiTuiComponentPort, type PiTuiLayoutNode, type PiTuiOverlayHandle, type PiTuiTerminalPort } from "../pi-tui-runtime-adapter/index.js";
6
- type OwnedUiBackendPort = PiEngineAdapter;
7
- type OwnedUiTerminalPort = PiTuiTerminalPort;
8
- type OwnedUiStartupOptions = PiShellHeaderOptions;
9
- export interface OwnedUiSessionShellOptions {
10
- readonly backend: OwnedUiBackendPort;
11
- readonly cwd: string;
12
- readonly terminal?: OwnedUiTerminalPort;
13
- readonly startup?: OwnedUiStartupOptions;
14
- /**
15
- * Declared A1-owned routes. A route this host claims resolves to its app;
16
- * every other route continues to the pinned workflow table unchanged.
17
- */
18
- readonly routeHost?: UiRouteHost;
19
- }
20
- export declare class OwnedUiSessionShellRoot implements PiTuiComponentPort {
21
- #private;
22
- readonly editor: PiShellEditorPort;
23
- readonly header: PiShellHeaderPort;
24
- readonly resources: PiShellLoadedResourcesPort;
25
- constructor(view: OwnedUiSessionViewModel, cwd: string, handlers: {
26
- readonly getColumns: () => number;
27
- readonly getRows: () => number;
28
- readonly requestRender: () => void;
29
- readonly onSubmit: (text: string) => void;
30
- readonly onInterrupt: () => void;
31
- readonly onClear?: () => void;
32
- readonly onExit: () => void;
33
- readonly onModelSelect: () => void;
34
- readonly onModelCycle?: (direction: "forward" | "backward") => void;
35
- readonly onThinkingCycle: () => void;
36
- readonly onThinkingToggle?: () => void;
37
- readonly onMessageCopy?: () => void;
38
- readonly onFollowUp?: () => void;
39
- readonly onDequeue?: () => void;
40
- }, startup?: PiShellHeaderOptions, agentDir?: string, extensionRenderers?: PiShellExtensionRendererResolver);
41
- update(view: OwnedUiSessionViewModel): void;
42
- render(width: number): readonly string[];
43
- layoutRoot(): PiTuiLayoutNode;
44
- transcriptComponent(id: string): PiShellTranscriptComponentPort | undefined;
45
- appendWorkflowStatus(message: string): void;
46
- appendWorkflowResult(result: PiWorkflowResult): void;
47
- appendDaxnuts(): void;
48
- toggleThinkingVisibility(): void;
49
- get toolsExpanded(): boolean;
50
- setToolsExpanded(expanded: boolean): void;
51
- setExtensionWidget(key: string, component: PiShellComponentPort | null, placement: "aboveEditor" | "belowEditor"): void;
52
- setExtensionHeader(component: PiShellComponentPort | null): void;
53
- setExtensionFooter(component: PiShellComponentPort | null): void;
54
- setExtensionStatus(key: string, text: string | undefined): void;
55
- setExtensionWorking(message: string | undefined, visible?: boolean): void;
56
- resetWorkflowPresentation(): void;
57
- resetExtensionUi(): void;
58
- addExtensionNotification(message: string, type: "info" | "warning" | "error"): void;
59
- extensionFooterData(): unknown;
60
- setInputSurface(component: PiShellComponentPort | null, disposePrevious?: boolean): void;
61
- handleInput(data: string): void;
62
- invalidate(): void;
63
- setFocused(focused: boolean): void;
64
- dispose(): void;
65
- }
66
- export declare class OwnedUiSessionShell {
67
- #private;
68
- readonly backend: OwnedUiBackendPort;
69
- readonly root: OwnedUiSessionShellRoot;
70
- readonly runtime: PiTuiRuntimeAdapter;
71
- constructor(options: OwnedUiSessionShellOptions);
72
- view(): OwnedUiSessionViewModel;
73
- start(): void;
74
- onView(listener: (view: OwnedUiSessionViewModel) => void): () => void;
75
- waitUntilStopped(): Promise<void>;
76
- submit(text: string): Promise<AdapterCommandResult>;
77
- clearOrExit(now?: number): Promise<AdapterCommandResult>;
78
- interrupt(): Promise<AdapterCommandResult>;
79
- abort(): Promise<AdapterCommandResult>;
80
- retry(): Promise<AdapterCommandResult>;
81
- compact(): Promise<AdapterCommandResult>;
82
- newSession(): Promise<AdapterCommandResult>;
83
- resumeSession(sessionPath: string): Promise<AdapterCommandResult>;
84
- setModel(providerId: string, modelId: string): Promise<AdapterCommandResult>;
85
- setThinkingLevel(thinkingLevel: OwnedUiThinkingLevel): Promise<AdapterCommandResult>;
86
- cycleThinkingLevel(): Promise<AdapterCommandResult>;
87
- cycleModel(direction: "forward" | "backward"): Promise<AdapterCommandResult>;
88
- queueFollowUp(): Promise<AdapterCommandResult>;
89
- restoreQueuedInput(): void;
90
- showSelector(title: string, options: readonly PiShellSelectorOption[], onSelect: (id: string) => void, onCancel?: () => void): PiTuiOverlayHandle;
91
- showModelSelector(): void;
92
- showForkSelector(): void;
93
- showLogoutSelector(): Promise<void>;
94
- showLoginMethodSelector(providerReference: string): void;
95
- showTreeSelector(initialSelectedId?: string): void;
96
- showLoginAuthTypeSelector(): void;
97
- showLoginProviderSelector(authType: "oauth" | "api_key"): void;
98
- showSessionSelector(): void;
99
- showSettingsSelector(): void;
100
- shutdown(): Promise<AdapterCommandResult>;
101
- runWorkflow(request: PiWorkflowRequest): Promise<AdapterCommandResult>;
102
- showTrustSelector(): void;
103
- showScopedModelsSelector(): void;
104
- dispose(): Promise<void>;
105
- }
106
- export {};
@@ -1,70 +0,0 @@
1
- import type { MaterializedRelease } from "./release-store.js";
2
- export declare const RELEASE_COHORT_SCHEMA: string;
3
- export type ReleaseApproval = "candidate" | "approved" | "rejected";
4
- export interface ReleaseRecord {
5
- readonly releaseId: string;
6
- readonly releaseRoot: string;
7
- readonly packageVersion: string;
8
- readonly contentDigest: string;
9
- readonly approval: ReleaseApproval;
10
- readonly materializedAt: string;
11
- readonly certifiedAt: string | null;
12
- readonly diagnosticsPath: string | null;
13
- }
14
- export interface ReleaseReferences {
15
- readonly active: string | null;
16
- readonly pending: string | null;
17
- readonly approved: string | null;
18
- readonly rollback: string | null;
19
- readonly retention: readonly string[];
20
- }
21
- export interface CohortState {
22
- readonly schema: typeof RELEASE_COHORT_SCHEMA;
23
- readonly revision: number;
24
- readonly releases: Readonly<Record<string, ReleaseRecord>>;
25
- readonly references: ReleaseReferences;
26
- readonly activation: {
27
- readonly state: "idle" | "pending" | "draining" | "blocked" | "failed";
28
- readonly reason: string | null;
29
- readonly blockerGenerationIds: readonly string[];
30
- readonly updatedAt: string;
31
- };
32
- }
33
- export interface EndpointOwnership {
34
- readonly state: "idle" | "busy" | "draining" | "released" | "blocked";
35
- readonly liveInstanceIds: readonly string[];
36
- readonly nonResumableInstanceIds: readonly string[];
37
- readonly uncertainInstanceIds: readonly string[];
38
- }
39
- export interface SupervisorEndpointMetadata {
40
- readonly schema: string;
41
- readonly supervisorId: string;
42
- readonly endpoint: string;
43
- readonly pid: number;
44
- readonly pidStartIdentity: string;
45
- readonly bootNonce: string;
46
- readonly startedAt: string;
47
- readonly releaseId: string;
48
- readonly releaseRoot: string;
49
- readonly contentDigest: string;
50
- readonly ownership: EndpointOwnership;
51
- readonly envelope: string;
52
- readonly envelopeRevision: number;
53
- readonly requiredFeatures: readonly string[];
54
- readonly optionalFeatures: readonly string[];
55
- readonly contractDigest: string;
56
- }
57
- export declare class CohortStateStore {
58
- readonly path: string;
59
- constructor(dataDir: string);
60
- read(): Promise<CohortState>;
61
- update(operation: (current: CohortState) => CohortState): Promise<CohortState>;
62
- recordCandidate(release: MaterializedRelease): Promise<CohortState>;
63
- approve(releaseId: string, diagnosticsPath: string): Promise<CohortState>;
64
- activate(releaseId: string): Promise<CohortState>;
65
- blockPending(reason: string, blockerGenerationIds: readonly string[]): Promise<CohortState>;
66
- rollback(ownershipReleased: boolean): Promise<CohortState>;
67
- setRetention(releaseIds: readonly string[]): Promise<CohortState>;
68
- removeUnreferencedRelease(releaseId: string, externalReferences: readonly string[]): Promise<CohortState>;
69
- }
70
- export declare function emptyState(): CohortState;