@timurproko/a1 0.1.8-dev.21b95d6 → 0.1.8-dev.226

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 (461) hide show
  1. package/README.md +107 -67
  2. package/bin/cli.js +28 -10
  3. package/bin/guardian.js +4 -1
  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 +1 -1
  9. package/bin/sync-pi-tui-proxy.js +97 -0
  10. package/bin/ui.js +25 -6
  11. package/bin/warmup.js +18 -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 +6 -0
  15. package/dist/cli/dispatch.js +202 -0
  16. package/dist/{src/cli → cli}/packages.d.ts +10 -2
  17. package/dist/{src/cli → cli}/packages.js +24 -20
  18. package/dist/{src/cli → cli}/version-stats.d.ts +6 -0
  19. package/dist/cli/version-stats.js +112 -0
  20. package/dist/composition/agent-engine-bridge.d.ts +3 -0
  21. package/dist/composition/agent-engine-bridge.js +108 -0
  22. package/dist/composition/index.d.ts +3 -0
  23. package/dist/composition/index.js +3 -0
  24. package/dist/composition/owned-ui.d.ts +28 -0
  25. package/dist/composition/owned-ui.js +64 -0
  26. package/dist/composition/process.d.ts +16 -0
  27. package/dist/composition/process.js +45 -0
  28. package/dist/composition/settings-route-host.d.ts +8 -0
  29. package/dist/composition/settings-route-host.js +75 -0
  30. package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/capability-ports.d.ts +2 -2
  31. package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain-validation.js +22 -4
  32. package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain.d.ts +17 -0
  33. package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/model.d.ts +36 -0
  34. package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/validation.js +25 -0
  35. package/dist/{src/features → features}/launch/development-launch.js +11 -3
  36. package/dist/{src/features → features}/launch/index.d.ts +0 -1
  37. package/dist/{src/features → features}/launch/index.js +0 -1
  38. package/dist/{src/features → features}/launch/intent.d.ts +3 -2
  39. package/dist/features/launch/intent.js +3 -0
  40. package/dist/{src/features → features}/launch/prepare-launch.d.ts +0 -2
  41. package/dist/{src/features → features}/launch/prepare-launch.js +2 -9
  42. package/dist/{src/features → features}/launch/profile-paths.d.ts +1 -2
  43. package/dist/{src/features → features}/launch/profile-paths.js +2 -8
  44. package/dist/{src/features → features}/launch/runtime-selection.d.ts +2 -5
  45. package/dist/{src/features → features}/owned-ui/customization.d.ts +3 -1
  46. package/dist/{src/features → features}/owned-ui/customization.js +3 -1
  47. package/dist/{src/features → features}/owned-ui/diagnostics.d.ts +2 -1
  48. package/dist/{src/features → features}/owned-ui/diagnostics.js +1 -0
  49. package/dist/{src/features → features}/owned-ui/index.d.ts +1 -0
  50. package/dist/{src/features → features}/owned-ui/index.js +1 -0
  51. package/dist/features/owned-ui/project-trust-prompt.d.ts +25 -0
  52. package/dist/features/owned-ui/project-trust-prompt.js +149 -0
  53. package/dist/{src/features → features}/owned-ui/run.d.ts +2 -2
  54. package/dist/{src/features → features}/owned-ui/run.js +2 -0
  55. package/dist/{src/features → features}/owned-ui/settings-app.d.ts +3 -3
  56. package/dist/{src/features → features}/owned-ui/settings-app.js +103 -54
  57. package/dist/{src/features → features}/workspace/capabilities.d.ts +1 -1
  58. package/dist/{src/features → features}/workspace/reducer.d.ts +2 -1
  59. package/dist/{src/features → features}/workspace/reducer.js +2 -1
  60. package/dist/{src/features → features}/workspace/router.d.ts +2 -1
  61. package/dist/{src/features → features}/workspace/router.js +1 -0
  62. package/dist/{src/features → features}/workspace/store.d.ts +2 -1
  63. package/dist/{src/features → features}/workspace/store.js +1 -0
  64. package/dist/{src/foundation → foundation}/launch-guardian/main.js +10 -2
  65. package/dist/{src/foundation → foundation}/lifecycle/model.d.ts +1 -1
  66. package/dist/{src/foundation → foundation}/lifecycle/model.js +1 -1
  67. package/dist/foundation/lifecycle/paths.d.ts +28 -0
  68. package/dist/{src/foundation → foundation}/lifecycle/paths.js +21 -0
  69. package/dist/{src/foundation → foundation}/native-host-protocol/codec.d.ts +2 -0
  70. package/dist/{src/foundation → foundation}/native-host-protocol/codec.js +2 -0
  71. package/dist/{src/foundation → foundation}/native-host-protocol/messages.d.ts +1 -1
  72. package/dist/{src/foundation → foundation}/native-host-protocol/messages.js +1 -1
  73. package/dist/{src/foundation → foundation}/process-containment/linux-process-inspector.d.ts +1 -0
  74. package/dist/{src/foundation → foundation}/process-containment/linux-process-inspector.js +1 -0
  75. package/dist/{src/foundation → foundation}/process-containment/native-guardian-containment.d.ts +1 -0
  76. package/dist/{src/foundation → foundation}/process-containment/native-guardian-containment.js +1 -0
  77. package/dist/{src/foundation → foundation}/process-containment/windows-process-inspector.d.ts +1 -0
  78. package/dist/{src/foundation → foundation}/process-containment/windows-process-inspector.js +1 -0
  79. package/dist/{src/foundation → foundation}/protocol/client.d.ts +1 -0
  80. package/dist/{src/foundation → foundation}/protocol/client.js +1 -0
  81. package/dist/{src/foundation → foundation}/protocol/messages.d.ts +1 -0
  82. package/dist/{src/foundation → foundation}/protocol/messages.js +1 -0
  83. package/dist/{src/foundation → foundation}/release/bootstrap.d.ts +14 -4
  84. package/dist/{src/foundation → foundation}/release/bootstrap.js +66 -13
  85. package/dist/foundation/release/cohort-state.d.ts +156 -0
  86. package/dist/foundation/release/cohort-state.js +471 -0
  87. package/dist/foundation/release/dependency-layer.d.ts +78 -0
  88. package/dist/foundation/release/dependency-layer.js +487 -0
  89. package/dist/foundation/release/endpoints.d.ts +20 -0
  90. package/dist/foundation/release/endpoints.js +50 -0
  91. package/dist/{src/foundation → foundation}/release/index.d.ts +3 -0
  92. package/dist/{src/foundation → foundation}/release/index.js +3 -0
  93. package/dist/foundation/release/release-gc.d.ts +71 -0
  94. package/dist/foundation/release/release-gc.js +734 -0
  95. package/dist/{src/foundation → foundation}/release/release-store.d.ts +3 -1
  96. package/dist/{src/foundation → foundation}/release/release-store.js +60 -10
  97. package/dist/{src/foundation → foundation}/release/release.d.ts +4 -1
  98. package/dist/{src/foundation → foundation}/release/release.js +10 -3
  99. package/dist/{src/foundation → foundation}/release/update-transaction.d.ts +1 -0
  100. package/dist/{src/foundation → foundation}/release/update-transaction.js +1 -0
  101. package/dist/{src/foundation → foundation}/release/update.d.ts +19 -3
  102. package/dist/{src/foundation → foundation}/release/update.js +114 -54
  103. package/dist/foundation/release/warmup.d.ts +3 -0
  104. package/dist/foundation/release/warmup.js +35 -0
  105. package/dist/foundation/startup/index.d.ts +1 -0
  106. package/dist/foundation/startup/index.js +1 -0
  107. package/dist/foundation/startup/startup-runtime.d.ts +36 -0
  108. package/dist/foundation/startup/startup-runtime.js +140 -0
  109. package/dist/{src/foundation → foundation}/storage/control-store.d.ts +2 -1
  110. package/dist/{src/foundation → foundation}/storage/control-store.js +39 -4
  111. package/dist/{src/foundation → foundation}/structured-agent-runtime/backpressure.d.ts +2 -1
  112. package/dist/{src/foundation → foundation}/structured-agent-runtime/backpressure.js +2 -1
  113. package/dist/{src/foundation → foundation}/structured-agent-runtime/commands.d.ts +2 -1
  114. package/dist/{src/foundation → foundation}/structured-agent-runtime/commands.js +2 -1
  115. package/dist/{src/foundation → foundation}/structured-agent-runtime/handshake.d.ts +1 -1
  116. package/dist/{src/foundation → foundation}/structured-agent-runtime/handshake.js +1 -1
  117. package/dist/{src/foundation → foundation}/structured-agent-runtime/reconnection.d.ts +2 -1
  118. package/dist/{src/foundation → foundation}/structured-agent-runtime/reconnection.js +2 -1
  119. package/dist/{src/foundation → foundation}/structured-agent-runtime/state.d.ts +2 -1
  120. package/dist/{src/foundation → foundation}/structured-agent-runtime/state.js +2 -1
  121. package/dist/foundation/supervision/index.d.ts +3 -0
  122. package/dist/foundation/supervision/index.js +3 -0
  123. package/dist/{src/foundation → foundation}/supervision/main.js +11 -5
  124. package/dist/foundation/supervision/paths.d.ts +1 -0
  125. package/dist/foundation/supervision/paths.js +1 -0
  126. package/dist/{src/foundation → foundation}/supervision/server.d.ts +19 -1
  127. package/dist/{src/foundation → foundation}/supervision/server.js +51 -2
  128. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/components.d.ts +1 -1
  129. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/conformance.d.ts +1 -0
  130. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/conformance.js +3 -2
  131. package/dist/integrations/pi/components/owned-editor-ux.d.ts +55 -0
  132. package/dist/integrations/pi/components/owned-editor-ux.js +778 -0
  133. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-components.d.ts +1 -0
  134. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-components.js +1 -0
  135. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-editor-autocomplete.js +54 -6
  136. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-extension-ui.d.ts +1 -1
  137. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-footer-status.d.ts +3 -3
  138. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-footer-status.js +32 -17
  139. package/dist/integrations/pi/components/shell-presenters-info.d.ts +36 -0
  140. package/dist/integrations/pi/components/shell-presenters-info.js +78 -0
  141. package/dist/integrations/pi/components/shell-presenters-transcript.d.ts +25 -0
  142. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-presenters-transcript.js +92 -131
  143. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-selectors-dialogs.d.ts +1 -1
  144. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-shared-facade.d.ts +52 -8
  145. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-shared-facade.js +4 -2
  146. package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +13 -0
  147. package/dist/integrations/pi/components/submitted-prompt-adapter.js +27 -0
  148. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/adjacent/core/keybindings.d.ts +10 -2
  149. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/adjacent/core/keybindings.js +36 -3
  150. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-footer.d.ts +1 -1
  151. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/adapter.d.ts +22 -4
  152. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/adapter.js +289 -68
  153. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/conformance.d.ts +2 -0
  154. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/conformance.js +4 -2
  155. package/dist/integrations/pi/engine/http-dispatcher.d.ts +4 -0
  156. package/dist/integrations/pi/engine/http-dispatcher.js +25 -0
  157. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/index.d.ts +3 -0
  158. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/index.js +3 -0
  159. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/model-auth-integration.d.ts +2 -1
  160. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/model-auth-integration.js +1 -0
  161. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/package-integration.d.ts +1 -1
  162. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/package-integration.js +2 -2
  163. package/dist/integrations/pi/engine/project-trust-preflight.d.ts +22 -0
  164. package/dist/integrations/pi/engine/project-trust-preflight.js +50 -0
  165. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/resource-extension-integration.d.ts +2 -1
  166. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/resource-extension-integration.js +1 -0
  167. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/runtime-integration.d.ts +16 -1
  168. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/runtime-integration.js +39 -4
  169. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/session-integration.d.ts +4 -2
  170. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/session-integration.js +19 -4
  171. package/dist/integrations/pi/engine/settings-effects.d.ts +66 -0
  172. package/dist/integrations/pi/engine/settings-effects.js +249 -0
  173. package/dist/integrations/pi/engine/settings-integration.d.ts +43 -0
  174. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/settings-integration.js +102 -108
  175. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflow-controllers.d.ts +3 -2
  176. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflow-controllers.js +1 -0
  177. package/dist/integrations/pi/session-ui/clipboard-image.d.ts +11 -0
  178. package/dist/integrations/pi/session-ui/clipboard-image.js +29 -0
  179. package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/session-ui}/index.d.ts +1 -0
  180. package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/session-ui}/index.js +1 -0
  181. package/dist/integrations/pi/session-ui/prompt-chips.d.ts +23 -0
  182. package/dist/integrations/pi/session-ui/prompt-chips.js +246 -0
  183. package/dist/integrations/pi/session-ui/route-host.d.ts +5 -0
  184. package/dist/integrations/pi/session-ui/session-shell-root.d.ts +137 -0
  185. package/dist/integrations/pi/session-ui/session-shell-root.js +1106 -0
  186. package/dist/integrations/pi/session-ui/session-shell.d.ts +55 -0
  187. package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/session-ui}/session-shell.js +415 -775
  188. package/dist/integrations/pi/session-ui/session-viewport-controller.d.ts +44 -0
  189. package/dist/integrations/pi/session-ui/session-viewport-controller.js +434 -0
  190. package/dist/integrations/pi/session-ui/stream-presentation-coalescer.d.ts +29 -0
  191. package/dist/integrations/pi/session-ui/stream-presentation-coalescer.js +79 -0
  192. package/dist/integrations/pi/session-ui/system-clipboard.d.ts +20 -0
  193. package/dist/integrations/pi/session-ui/system-clipboard.js +130 -0
  194. package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/adapter.d.ts +8 -1
  195. package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/adapter.js +216 -9
  196. package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/contracts.d.ts +29 -6
  197. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +63 -0
  198. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +240 -0
  199. package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/index.d.ts +2 -0
  200. package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/index.js +2 -0
  201. package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.d.ts +39 -0
  202. package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.js +139 -0
  203. package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/presentation-adapter.d.ts +1 -1
  204. package/dist/native/darwin-arm64/manifest.json +1 -1
  205. package/dist/native/linux-x64/manifest.json +3 -3
  206. package/dist/native/linux-x64/process-guardian +0 -0
  207. package/dist/native/win32-x64/manifest.json +3 -3
  208. package/dist/native/win32-x64/process-guardian.exe +0 -0
  209. package/dist/{src/product-identity.d.ts → product-identity.d.ts} +3 -3
  210. package/dist/{src/product-identity.js → product-identity.js} +7 -5
  211. package/dist/{src/product-identity.json → product-identity.json} +11 -6
  212. package/dist/runtime-payload-inventory.json +122328 -0
  213. package/dist/{src/foundation/ui-apps → ui/apps}/contracts.d.ts +23 -1
  214. package/dist/{src/foundation/ui-apps → ui/apps}/host.d.ts +1 -1
  215. package/dist/{src/foundation/ui-apps → ui/apps}/host.js +14 -10
  216. package/dist/{src/foundation/ui-apps → ui/apps}/registry.d.ts +1 -0
  217. package/dist/{src/foundation/ui-apps → ui/apps}/registry.js +1 -0
  218. package/dist/{src/foundation/ui-components → ui/components}/dialog-panel.js +5 -3
  219. package/dist/{src/foundation/ui-components → ui/components}/frame.d.ts +1 -0
  220. package/dist/{src/foundation/ui-components → ui/components}/frame.js +1 -0
  221. package/dist/{src/foundation/ui-components → ui/components}/index.d.ts +4 -0
  222. package/dist/{src/foundation/ui-components → ui/components}/index.js +4 -0
  223. package/dist/{src/foundation/ui-components → ui/components}/line-input.d.ts +1 -6
  224. package/dist/{src/foundation/ui-components → ui/components}/line-input.js +4 -9
  225. package/dist/{src/foundation/ui-components → ui/components}/list-view.d.ts +0 -6
  226. package/dist/{src/foundation/ui-components → ui/components}/list-view.js +14 -7
  227. package/dist/{src/foundation/ui-components → ui/components}/mouse.d.ts +10 -0
  228. package/dist/{src/foundation/ui-components → ui/components}/mouse.js +23 -0
  229. package/dist/ui/components/progress-status.d.ts +2 -0
  230. package/dist/ui/components/progress-status.js +4 -0
  231. package/dist/ui/components/prompt-row.d.ts +14 -0
  232. package/dist/ui/components/prompt-row.js +20 -0
  233. package/dist/{src/foundation/ui-components → ui/components}/scrollbar.d.ts +26 -0
  234. package/dist/{src/foundation/ui-components → ui/components}/scrollbar.js +35 -0
  235. package/dist/{src/foundation/ui-components → ui/components}/shortcuts.d.ts +1 -0
  236. package/dist/{src/foundation/ui-components → ui/components}/shortcuts.js +1 -0
  237. package/dist/ui/components/spans.d.ts +25 -0
  238. package/dist/ui/components/spans.js +257 -0
  239. package/dist/ui/components/submitted-prompt.d.ts +23 -0
  240. package/dist/ui/components/submitted-prompt.js +50 -0
  241. package/dist/{src/foundation/ui-components → ui/components}/surface.d.ts +0 -5
  242. package/dist/{src/foundation/ui-components → ui/components}/surface.js +1 -5
  243. package/dist/ui/components/text-selection.d.ts +62 -0
  244. package/dist/ui/components/text-selection.js +235 -0
  245. package/dist/{src/foundation/ui-components → ui/components}/text.d.ts +14 -0
  246. package/dist/{src/foundation/ui-components → ui/components}/text.js +66 -4
  247. package/dist/ui/components/transcript-viewport.d.ts +146 -0
  248. package/dist/ui/components/transcript-viewport.js +629 -0
  249. package/dist/{src/foundation/owned-ui-settings → ui/settings}/declarations.d.ts +8 -1
  250. package/dist/{src/foundation/owned-ui-settings → ui/settings}/declarations.js +33 -5
  251. package/dist/{src/foundation/owned-ui-settings → ui/settings}/migrations.d.ts +1 -1
  252. package/dist/{src/foundation/owned-ui-settings → ui/settings}/migrations.js +21 -2
  253. package/dist/{src/foundation/owned-ui-settings → ui/settings}/sections.d.ts +6 -19
  254. package/dist/{src/foundation/owned-ui-settings → ui/settings}/sections.js +32 -23
  255. package/dist/{src/foundation/owned-ui-settings → ui/settings}/session.d.ts +9 -17
  256. package/dist/{src/foundation/owned-ui-settings → ui/settings}/session.js +65 -55
  257. package/dist/{src/foundation/owned-ui-settings → ui/settings}/store.d.ts +1 -0
  258. package/dist/{src/foundation/owned-ui-settings → ui/settings}/store.js +2 -1
  259. package/docs/architecture/boundaries.md +9 -9
  260. package/docs/architecture/code-documentation.md +77 -0
  261. package/docs/architecture/project-structure.md +67 -30
  262. package/docs/architecture/resource-and-data-policy.md +1 -1
  263. package/docs/architecture/toolchain.md +10 -10
  264. package/docs/architecture/ui-reference-provenance.md +34 -5
  265. package/docs/ci-release-runbook.md +186 -79
  266. package/docs/features/launch-profiles.md +10 -19
  267. package/docs/manual-launch-instance-acceptance.md +12 -35
  268. package/docs/manual-owned-ui-checkpoint.md +78 -0
  269. package/docs/manual-pi-boundary-candidate.md +4 -5
  270. package/docs/manual-terminal-colour-check.md +4 -3
  271. package/docs/repository-governance-live-acceptance.md +77 -0
  272. package/package.json +37 -27
  273. package/dist/src/cli/capabilities.d.ts +0 -15
  274. package/dist/src/cli/dispatch.js +0 -177
  275. package/dist/src/cli/version-stats.js +0 -72
  276. package/dist/src/composition/index.d.ts +0 -48
  277. package/dist/src/composition/index.js +0 -258
  278. package/dist/src/features/launch/intent.js +0 -4
  279. package/dist/src/features/launch/profiles.d.ts +0 -12
  280. package/dist/src/features/launch/profiles.js +0 -26
  281. package/dist/src/foundation/lifecycle/paths.d.ts +0 -10
  282. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts +0 -57
  283. package/dist/src/foundation/pi-engine-adapter/settings-integration.d.ts +0 -55
  284. package/dist/src/foundation/pi-owned-ui-integration/route-host.d.ts +0 -29
  285. package/dist/src/foundation/pi-owned-ui-integration/session-shell.d.ts +0 -112
  286. package/dist/src/foundation/release/cohort-state.d.ts +0 -70
  287. package/dist/src/foundation/release/cohort-state.js +0 -202
  288. package/dist/src/foundation/release/release-gc.d.ts +0 -5
  289. package/dist/src/foundation/release/release-gc.js +0 -16
  290. package/dist/src/foundation/supervision/index.d.ts +0 -3
  291. package/dist/src/foundation/supervision/index.js +0 -3
  292. package/dist/src/foundation/supervision/paths.d.ts +0 -1
  293. package/dist/src/foundation/supervision/paths.js +0 -1
  294. package/dist/src/foundation/ui-components/spans.d.ts +0 -7
  295. package/dist/src/foundation/ui-components/spans.js +0 -59
  296. package/docs/manual-transparent-checkpoint.md +0 -53
  297. /package/dist/{src/cli → cli}/index.d.ts +0 -0
  298. /package/dist/{src/cli → cli}/index.js +0 -0
  299. /package/dist/{src/cli → cli}/version.d.ts +0 -0
  300. /package/dist/{src/cli → cli}/version.js +0 -0
  301. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/capability-ports.js +0 -0
  302. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain-validation.d.ts +0 -0
  303. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain.js +0 -0
  304. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/index.d.ts +0 -0
  305. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/index.js +0 -0
  306. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.d.ts +0 -0
  307. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.js +0 -0
  308. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/package-ports.d.ts +0 -0
  309. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/package-ports.js +0 -0
  310. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/ports.d.ts +0 -0
  311. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/ports.js +0 -0
  312. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.d.ts +0 -0
  313. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.js +0 -0
  314. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.d.ts +0 -0
  315. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.js +0 -0
  316. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/extension-ui.d.ts +0 -0
  317. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/extension-ui.js +0 -0
  318. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/index.d.ts +0 -0
  319. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/index.js +0 -0
  320. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/model.js +0 -0
  321. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/validation.d.ts +0 -0
  322. /package/dist/{src/foundation/presentation-contracts → contracts/presentation}/index.d.ts +0 -0
  323. /package/dist/{src/foundation/presentation-contracts → contracts/presentation}/index.js +0 -0
  324. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/index.d.ts +0 -0
  325. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/index.js +0 -0
  326. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/model.d.ts +0 -0
  327. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/model.js +0 -0
  328. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/validation.d.ts +0 -0
  329. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/validation.js +0 -0
  330. /package/dist/{src/features → features}/launch/development-launch.d.ts +0 -0
  331. /package/dist/{src/features → features}/launch/initialize-profile.d.ts +0 -0
  332. /package/dist/{src/features → features}/launch/initialize-profile.js +0 -0
  333. /package/dist/{src/features → features}/launch/runtime-selection.js +0 -0
  334. /package/dist/{src/features → features}/workspace/capabilities.js +0 -0
  335. /package/dist/{src/features → features}/workspace/index.d.ts +0 -0
  336. /package/dist/{src/features → features}/workspace/index.js +0 -0
  337. /package/dist/{src/features → features}/workspace/presentation.d.ts +0 -0
  338. /package/dist/{src/features → features}/workspace/presentation.js +0 -0
  339. /package/dist/{src/features → features}/workspace/reconciliation.d.ts +0 -0
  340. /package/dist/{src/features → features}/workspace/reconciliation.js +0 -0
  341. /package/dist/{src/foundation → foundation}/launch-guardian/index.d.ts +0 -0
  342. /package/dist/{src/foundation → foundation}/launch-guardian/index.js +0 -0
  343. /package/dist/{src/foundation → foundation}/launch-guardian/main.d.ts +0 -0
  344. /package/dist/{src/foundation → foundation}/lifecycle/commands.d.ts +0 -0
  345. /package/dist/{src/foundation → foundation}/lifecycle/commands.js +0 -0
  346. /package/dist/{src/foundation → foundation}/lifecycle/index.d.ts +0 -0
  347. /package/dist/{src/foundation → foundation}/lifecycle/index.js +0 -0
  348. /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.d.ts +0 -0
  349. /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.js +0 -0
  350. /package/dist/{src/foundation → foundation}/native-host-protocol/evidence.d.ts +0 -0
  351. /package/dist/{src/foundation → foundation}/native-host-protocol/evidence.js +0 -0
  352. /package/dist/{src/foundation → foundation}/native-host-protocol/index.d.ts +0 -0
  353. /package/dist/{src/foundation → foundation}/native-host-protocol/index.js +0 -0
  354. /package/dist/{src/foundation → foundation}/native-host-protocol/proof-gate.d.ts +0 -0
  355. /package/dist/{src/foundation → foundation}/native-host-protocol/proof-gate.js +0 -0
  356. /package/dist/{src/foundation → foundation}/process-containment/artifact.d.ts +0 -0
  357. /package/dist/{src/foundation → foundation}/process-containment/artifact.js +0 -0
  358. /package/dist/{src/foundation → foundation}/process-containment/contracts.d.ts +0 -0
  359. /package/dist/{src/foundation → foundation}/process-containment/contracts.js +0 -0
  360. /package/dist/{src/foundation → foundation}/process-containment/index.d.ts +0 -0
  361. /package/dist/{src/foundation → foundation}/process-containment/index.js +0 -0
  362. /package/dist/{src/foundation → foundation}/protocol/index.d.ts +0 -0
  363. /package/dist/{src/foundation → foundation}/protocol/index.js +0 -0
  364. /package/dist/{src/foundation → foundation}/release/cohort-selection.d.ts +0 -0
  365. /package/dist/{src/foundation → foundation}/release/cohort-selection.js +0 -0
  366. /package/dist/{src/foundation → foundation}/release/concurrency.d.ts +0 -0
  367. /package/dist/{src/foundation → foundation}/release/concurrency.js +0 -0
  368. /package/dist/{src/foundation → foundation}/release/process-cleanup.d.ts +0 -0
  369. /package/dist/{src/foundation → foundation}/release/process-cleanup.js +0 -0
  370. /package/dist/{src/foundation → foundation}/release/stable-release.d.ts +0 -0
  371. /package/dist/{src/foundation → foundation}/release/stable-release.js +0 -0
  372. /package/dist/{src/foundation → foundation}/storage/index.d.ts +0 -0
  373. /package/dist/{src/foundation → foundation}/storage/index.js +0 -0
  374. /package/dist/{src/foundation → foundation}/structured-agent-runtime/index.d.ts +0 -0
  375. /package/dist/{src/foundation → foundation}/structured-agent-runtime/index.js +0 -0
  376. /package/dist/{src/foundation → foundation}/supervision/main.d.ts +0 -0
  377. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/components.js +0 -0
  378. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/index.d.ts +0 -0
  379. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/index.js +0 -0
  380. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/resources/builtin-themes.d.ts +0 -0
  381. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/resources/builtin-themes.js +0 -0
  382. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-editor-autocomplete.d.ts +0 -0
  383. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-extension-ui.js +0 -0
  384. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-selectors-dialogs.js +0 -0
  385. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/theme.d.ts +0 -0
  386. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/theme.js +0 -0
  387. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/countdown-timer.d.ts +0 -0
  388. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/countdown-timer.js +0 -0
  389. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/custom-entry.d.ts +0 -0
  390. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/custom-entry.js +0 -0
  391. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/daxnuts.d.ts +0 -0
  392. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/daxnuts.js +0 -0
  393. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/earendil-announcement.d.ts +0 -0
  394. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/earendil-announcement.js +0 -0
  395. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/extension-editor.d.ts +0 -0
  396. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/extension-editor.js +0 -0
  397. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/first-time-setup.d.ts +0 -0
  398. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/first-time-setup.js +0 -0
  399. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/markdown-transform.d.ts +0 -0
  400. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/markdown-transform.js +0 -0
  401. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/mermaid.d.ts +0 -0
  402. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/mermaid.js +0 -0
  403. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/owned-editor.d.ts +0 -0
  404. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/owned-editor.js +0 -0
  405. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/scoped-models-selector.d.ts +0 -0
  406. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/scoped-models-selector.js +0 -0
  407. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-footer.js +0 -0
  408. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector-search.d.ts +0 -0
  409. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector-search.js +0 -0
  410. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector.d.ts +0 -0
  411. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector.js +0 -0
  412. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/skill-invocation-message.d.ts +0 -0
  413. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/skill-invocation-message.js +0 -0
  414. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/status-indicator.d.ts +0 -0
  415. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/status-indicator.js +0 -0
  416. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/tree-selector.d.ts +0 -0
  417. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/tree-selector.js +0 -0
  418. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/trust-selector.d.ts +0 -0
  419. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/trust-selector.js +0 -0
  420. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/external-editor.d.ts +0 -0
  421. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/external-editor.js +0 -0
  422. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/model-search.d.ts +0 -0
  423. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/model-search.js +0 -0
  424. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme-controller.d.ts +0 -0
  425. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme-controller.js +0 -0
  426. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme.d.ts +0 -0
  427. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme.js +0 -0
  428. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/pi-settings-metadata.json +0 -0
  429. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.d.ts +0 -0
  430. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.js +0 -0
  431. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflows.d.ts +0 -0
  432. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflows.js +0 -0
  433. /package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/session-ui}/route-host.js +0 -0
  434. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/conformance.d.ts +0 -0
  435. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/conformance.js +0 -0
  436. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/contracts.js +0 -0
  437. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/presentation-adapter.js +0 -0
  438. /package/dist/{src/foundation/ui-apps → ui/apps}/contracts.js +0 -0
  439. /package/dist/{src/foundation/ui-apps → ui/apps}/index.d.ts +0 -0
  440. /package/dist/{src/foundation/ui-apps → ui/apps}/index.js +0 -0
  441. /package/dist/{src/foundation/ui-components → ui/components}/dialog-panel.d.ts +0 -0
  442. /package/dist/{src/foundation/ui-components → ui/components}/label.d.ts +0 -0
  443. /package/dist/{src/foundation/ui-components → ui/components}/label.js +0 -0
  444. /package/dist/{src/foundation/ui-components → ui/components}/list-block.d.ts +0 -0
  445. /package/dist/{src/foundation/ui-components → ui/components}/list-block.js +0 -0
  446. /package/dist/{src/foundation/ui-components → ui/components}/pane.d.ts +0 -0
  447. /package/dist/{src/foundation/ui-components → ui/components}/pane.js +0 -0
  448. /package/dist/{src/foundation/ui-components → ui/components}/revision.d.ts +0 -0
  449. /package/dist/{src/foundation/ui-components → ui/components}/revision.js +0 -0
  450. /package/dist/{src/foundation/ui-components → ui/components}/status-line.d.ts +0 -0
  451. /package/dist/{src/foundation/ui-components → ui/components}/status-line.js +0 -0
  452. /package/dist/{src/foundation/ui-components → ui/components}/stepper.d.ts +0 -0
  453. /package/dist/{src/foundation/ui-components → ui/components}/stepper.js +0 -0
  454. /package/dist/{src/foundation/ui-components → ui/components}/theme.d.ts +0 -0
  455. /package/dist/{src/foundation/ui-components → ui/components}/theme.js +0 -0
  456. /package/dist/{src/foundation/ui-components → ui/components}/value-menu.d.ts +0 -0
  457. /package/dist/{src/foundation/ui-components → ui/components}/value-menu.js +0 -0
  458. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/index.d.ts +0 -0
  459. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/index.js +0 -0
  460. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.d.ts +0 -0
  461. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.js +0 -0
@@ -0,0 +1,77 @@
1
+ # Repository governance live acceptance
2
+
3
+ ## Implementation lifecycle
4
+
5
+ - PR #165 was manually squash-merged by `timurproko` from validated head
6
+ `45aab61c5e4568d3d26dc970f76e9ec86918f323` to `develop` commit
7
+ `e4cdc67555e9f25d03f251be19baa8fc446ac313`.
8
+ - Cleanup run `33185942656` used trusted `develop` policy with `contents: write` only
9
+ and reported `already-absent`; the implementation branch remained absent.
10
+ - The read-only live governance report matched every declared field after merge.
11
+
12
+ ## Acceptance defect and correction
13
+
14
+ - Initial OpenSpec probe PR #166 automatically squash-merged validated head
15
+ `c30c0a091a6a6a727057befcdd775422988be382` to
16
+ `f8d60080cfd9925b33a19a5d40c707637ac00b08`, but GitHub suppressed the recursive
17
+ close-event workflow because integration was authored with `GITHUB_TOKEN`.
18
+ - Its exact unchanged branch remained, proving the first implementation incomplete.
19
+ The branch was manually deleted only after its expected SHA and lack of an open PR
20
+ were reverified.
21
+ - Corrective PR #167 was manually squash-merged from validated head
22
+ `3a09042386df2501accc1eec3b424b94ae84daa4` to
23
+ `e8d639985a811f01cd5daeb027db5069d1724596`. Cleanup run `33188206793`
24
+ succeeded with `already-absent`.
25
+
26
+ ## Automatic OpenSpec acceptance
27
+
28
+ - PR #168 contained only `openspec/**` paths.
29
+ - Development validation run `33188285639` passed for exact head
30
+ `6678d9237ca7c4109beaed0d97d5fb1183fe5f97` without product tests.
31
+ - `github-actions` automatically squash-merged it to
32
+ `c2fa730a4b070f9f6717329c24158def5c766f11`.
33
+ - Trusted documentation reconciliation run `33188329123` reported `deleted` for the
34
+ same expected head SHA, and the remote branch was verified absent.
35
+
36
+ ## Automatic root README acceptance
37
+
38
+ - PR #169 changed only root `README.md`.
39
+ - Development validation run `33188400573` passed for exact head
40
+ `165c5159031d80059c4d93c36c6d10113ec7ba8e` without product tests.
41
+ - `github-actions` automatically squash-merged it to
42
+ `0180088a42b7cdacaf84ec66ff5a87be1a697155`.
43
+ - Trusted documentation reconciliation run `33188434277` reported `deleted` for the
44
+ same expected head SHA, and the remote branch was verified absent.
45
+
46
+ ## Mixed-path manual acceptance
47
+
48
+ PR #170 combined this evidence file outside the exact automatic allowlist with an
49
+ OpenSpec task update. Development validation run `33188542485` passed for exact head
50
+ `b95bdbf08ad6db76c5fab2bfca254026a3c4bcc1` without product tests. Auto-merge
51
+ remained disabled and the pull request remained open and mergeable until `timurproko`
52
+ manually squash-merged it to `6ab1e4d29b9edec8501bac774bc755e66240ea40`.
53
+ Close-event cleanup run `33188616709` reported `already-absent`, and the remote branch
54
+ was verified absent after the explicit merge.
55
+
56
+ ## Automatic maintained-documentation acceptance
57
+
58
+ - Implementation PR #180 was manually squash-merged after required validation from
59
+ head `8f40bfaaa5e8410e77b1c9cc0667c62bc4c62d4b` to
60
+ `45a59a7b696d537a4dc8fe62000a60c20e504ab2`.
61
+ - PR #181 changes only this maintained `docs/**` file and is the live acceptance
62
+ probe for the expanded allowlist.
63
+ - Acceptance requires current-head documentation validation, automatic squash
64
+ integration without maintainer merge action, and exact-head remote branch cleanup.
65
+ Exact run and merge evidence is recorded with the completed OpenSpec change.
66
+
67
+ ## Advanced-ref refusal and final policy state
68
+
69
+ The isolated mocked-GitHub fixture executed the production shared reconciler with
70
+ expected SHA `1111111111111111111111111111111111111111` and advanced live SHA
71
+ `2222222222222222222222222222222222222222`. It returned `refused` with reason
72
+ `live branch advanced after merge` and issued zero DELETE requests. The bounded
73
+ record is archived as `evidence/advanced-ref-refusal.json`.
74
+
75
+ The final read-only live report matched all declared repository settings, Actions
76
+ policy, security capabilities, environments, protected refs, complete rulesets, and
77
+ workflow inventory with zero differences. No policy apply was run.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timurproko/a1",
3
- "version": "0.1.8-dev.21b95d6",
3
+ "version": "0.1.8-dev.226",
4
4
  "description": "Standalone terminal workspace for supervised native and managed agents",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.13.0",
@@ -8,10 +8,7 @@
8
8
  "a1": "bin/cli.js"
9
9
  },
10
10
  "imports": {
11
- "#pi-tui": [
12
- "./node_modules/@earendil-works/pi-coding-agent/node_modules/@earendil-works/pi-tui/dist/index.js",
13
- "@earendil-works/pi-tui"
14
- ]
11
+ "#pi-tui": "./bin/pi-tui.js"
15
12
  },
16
13
  "files": [
17
14
  "bin",
@@ -24,42 +21,52 @@
24
21
  "node": ">=22.19.0 <25"
25
22
  },
26
23
  "scripts": {
24
+ "postinstall": "node bin/sync-pi-tui-proxy.js",
27
25
  "clean": "node scripts/clean.mjs",
28
- "build": "npm run clean && tsc -p tsconfig.build.json && node scripts/build-process-guardian.mjs",
29
- "build:process-guardian": "node scripts/build-process-guardian.mjs",
26
+ "build": "npm run clean && tsc -p tsconfig.build.json && node scripts/development/build-process-guardian.mjs && node scripts/release/generate-runtime-payload-inventory.mjs",
27
+ "build:process-guardian": "node scripts/development/build-process-guardian.mjs",
30
28
  "typecheck": "tsgo -p tsconfig.json --noEmit",
31
- "check:architecture": "node scripts/check-architecture.mjs && node scripts/product-identifier-policy.mjs --check && node scripts/check-product-identity-boundaries.mjs && node scripts/check-package-identity.mjs && node scripts/check-pinned-pi-source-ledger.mjs && node scripts/check-terminal-host-provenance.mjs",
32
- "check:customization-ready": "node scripts/check-owned-ui-customization-prerequisites.mjs",
33
- "check:deprecated": "node scripts/check-deprecated-dependencies.mjs",
29
+ "check:architecture": "node scripts/governance/check-architecture.mjs && node scripts/governance/product-identifier-policy.mjs --check && node scripts/governance/check-product-identity-boundaries.mjs && node scripts/governance/check-package-identity.mjs && node scripts/governance/check-pinned-pi-source-ledger.mjs && node scripts/governance/check-terminal-host-provenance.mjs",
30
+ "check:code-documentation": "node scripts/governance/check-code-documentation.mjs --mode full",
31
+ "check:code-documentation:changed": "node scripts/release/run-changed-documentation.mjs",
32
+ "select:validation-impact": "node scripts/release/select-validation-impact.mjs",
33
+ "check:customization-ready": "node scripts/governance/check-owned-ui-customization-prerequisites.mjs",
34
+ "check:deprecated": "node scripts/governance/check-deprecated-dependencies.mjs",
35
+ "check:docs-governance": "node scripts/governance/check-docs-governance.mjs",
36
+ "check:repository-governance": "node scripts/governance/check-github-repository-governance.mjs --check",
34
37
  "branches:prune": "node scripts/prune-merged-branches.mjs",
35
38
  "check": "npm run test:fast",
36
- "release": "node scripts/release.mjs",
39
+ "develop": "node scripts/development/develop.mjs",
40
+ "release": "node scripts/release/release.mjs",
37
41
  "test": "npm run test:fast",
38
- "test:fast": "node scripts/run-validation-tier.mjs typecheck fast",
39
- "test:scope": "node scripts/run-validation-tier.mjs",
40
- "test:full": "node scripts/run-validation-tier.mjs full-release",
41
- "test:release": "node scripts/run-release-gates.mjs",
42
- "test:terminal-host": "node scripts/run-terminal-host-probe.mjs",
43
- "test:pi-engine-conformance": "vitest run test/foundation/pi-engine-adapter/conformance.test.ts test/foundation/pi-engine-adapter/runtime-integration.test.ts test/foundation/pi-engine-adapter/session-integration.test.ts",
44
- "report:pi-engine-conformance": "npm run build --silent && node scripts/run-pi-engine-conformance.mjs",
42
+ "test:fast": "node scripts/release/run-validation-tier.mjs typecheck documentation-changed fast",
43
+ "test:scope": "node scripts/release/run-validation-tier.mjs",
44
+ "test:full": "node scripts/release/run-validation-tier.mjs full-release",
45
+ "test:release": "node scripts/release/run-release-gates.mjs",
46
+ "test:terminal-host": "node scripts/development/run-terminal-host-probe.mjs",
47
+ "test:pi-engine-conformance": "vitest run test/integrations/pi/engine/conformance.test.ts test/integrations/pi/engine/runtime-integration.test.ts test/integrations/pi/engine/session-integration.test.ts",
48
+ "report:pi-engine-conformance": "npm run build --silent && node scripts/pi/run-pi-engine-conformance.mjs",
49
+ "report:rendering-stability": "tsx scripts/pi/report-rendering-stability.ts",
50
+ "report:input-responsiveness": "tsx scripts/pi/report-input-responsiveness.ts",
45
51
  "sync:pi-ui": "npm run update:pi-component-parity && npm run update:pi-event-frame-parity && npm run update:pi-settings-metadata",
46
- "update:pi-component-parity": "tsx scripts/update-pi-component-parity.ts",
47
- "update:pi-event-frame-parity": "tsx scripts/update-pi-event-frame-parity.ts",
48
- "proof:terminal-host": "node scripts/run-terminal-host.mjs",
49
- "start": "npm run build && node scripts/dev-launch.mjs",
50
- "start:pi": "npm run build && node scripts/dev-launch.mjs pi",
51
- "start:sandbox": "npm run build && node scripts/dev-launch.mjs sandbox",
52
- "prepack": "node scripts/prepack-gate.mjs",
52
+ "update:pi-component-parity": "tsx scripts/pi/update-pi-component-parity.ts",
53
+ "update:pi-event-frame-parity": "tsx scripts/pi/update-pi-event-frame-parity.ts",
54
+ "proof:terminal-host": "node scripts/development/run-terminal-host.mjs",
55
+ "start": "npm run build && node scripts/development/dev-launch.mjs",
56
+ "start:pi": "npm run build && node scripts/development/dev-launch.mjs pi",
57
+ "prepack": "node scripts/release/prepack-gate.mjs",
53
58
  "prepublishOnly": "npm run test:release",
54
59
  "prepare": "npm run build",
55
- "update:pi-settings-metadata": "node scripts/update-pi-settings-metadata.mjs"
60
+ "update:pi-settings-metadata": "node scripts/pi/update-pi-settings-metadata.mjs"
56
61
  },
57
62
  "dependencies": {
58
63
  "@earendil-works/pi-coding-agent": "0.84.2",
59
64
  "@earendil-works/pi-tui": "0.84.2",
65
+ "chalk": "5.6.2",
60
66
  "cross-spawn": "7.0.6",
61
67
  "grok-mermaid": "0.2.2",
62
- "semver": "7.8.5"
68
+ "semver": "7.8.5",
69
+ "undici": "8.9.0"
63
70
  },
64
71
  "devDependencies": {
65
72
  "@types/cross-spawn": "6.0.6",
@@ -87,5 +94,8 @@
87
94
  },
88
95
  "publishConfig": {
89
96
  "access": "public"
97
+ },
98
+ "optionalDependencies": {
99
+ "@mariozechner/clipboard": "^0.3.9"
90
100
  }
91
101
  }
@@ -1,15 +0,0 @@
1
- /**
2
- * `pi` and `sandbox` exist to compare A1 against pinned Pi and to try resources
3
- * against an isolated profile. Both are development instruments rather than
4
- * product, so a stable release does not carry them: what a released `a1` exposes
5
- * is the product plus its maintenance and package commands.
6
- *
7
- * Which build this is comes from its own version. A prerelease version is a
8
- * `next`-channel build, which is where that work happens; a release version is
9
- * not. Nothing to configure, and no way for a released build to be talked into it.
10
- */
11
- export interface CliCapabilities {
12
- readonly developmentProfiles: boolean;
13
- }
14
- export declare function cliCapabilities(version: string): CliCapabilities;
15
- export declare function isPrereleaseVersion(version: string): boolean;
@@ -1,177 +0,0 @@
1
- import { interactiveLaunchIntent } from "../features/launch/index.js";
2
- import { PRODUCT_TEXT } from "../product-identity.js";
3
- export function cliUsage(capabilities) {
4
- return PRODUCT_TEXT.usage([
5
- "",
6
- ...(capabilities.developmentProfiles ? ["pi", "sandbox"] : []),
7
- "version",
8
- "update [self|--models]",
9
- "update:next",
10
- "update:<commit>",
11
- "pi install <source>",
12
- "pi remove <source>",
13
- "pi list",
14
- "pi update [--extensions|<source>]",
15
- ]);
16
- }
17
- const PROFILE_WORDS = new Set(["pi", "sandbox"]);
18
- export async function dispatchCli(arguments_, handlers, output, capabilities) {
19
- const command = parseCliCommand(arguments_, capabilities);
20
- if (command.kind === "error") {
21
- output.stderr(`${command.message}\n${cliUsage(capabilities)}\n`);
22
- return 2;
23
- }
24
- if (command.kind === "launch")
25
- return await handlers.launch(interactiveLaunchIntent(command.profileId));
26
- if (command.kind === "version")
27
- return await handlers.version();
28
- if (command.kind === "packages")
29
- return await handlers.packages(command.request);
30
- return await handlers.update(command.channel, command.target);
31
- }
32
- export function parseCliCommand(arguments_, capabilities) {
33
- if (arguments_.length === 0)
34
- return { kind: "launch", profileId: "a1" };
35
- const [command, ...rest] = arguments_;
36
- if (command === "pi") {
37
- if (rest.length > 0)
38
- return parsePiPackageCommand(rest);
39
- if (capabilities.developmentProfiles)
40
- return { kind: "launch", profileId: "pi" };
41
- }
42
- if (capabilities.developmentProfiles && command === "sandbox") {
43
- return withoutArguments(rest, { kind: "launch", profileId: command });
44
- }
45
- if (command === "version")
46
- return withoutArguments(rest, { kind: "version" });
47
- if (command !== undefined && command.startsWith("update:"))
48
- return parseColonUpdate(command.slice("update:".length), rest);
49
- if (command === "update")
50
- return parseUpdate(rest);
51
- if (command === "install" || command === "remove" || command === "uninstall" || command === "list") {
52
- return packageNamespaceRejection(command, rest.join(" ") || undefined);
53
- }
54
- if (command === "ui")
55
- return { kind: "error", message: `The ui subcommand was removed; run bare ${PRODUCT_TEXT.commandName} for the owned UI.` };
56
- if (command === "agent")
57
- return { kind: "error", message: `Bare ${PRODUCT_TEXT.commandName} is the ${PRODUCT_TEXT.displayName} agent experience; there is no agent subcommand.` };
58
- return { kind: "error", message: PRODUCT_TEXT.diagnostic(`received an unknown command: ${command ?? ""}`) };
59
- }
60
- /**
61
- * What follows the colon says which build to move to. `next` is the newest
62
- * preview; anything else names one outright, by the commit it was built from or by
63
- * its full version — a preview is published as `<version>-dev.<commit>`, so the
64
- * commit alone is enough to find it.
65
- */
66
- function parseColonUpdate(suffix, rest) {
67
- if (rest.length > 0)
68
- return { kind: "error", message: PRODUCT_TEXT.diagnostic("update takes what to move to after the colon, and nothing else.") };
69
- if (suffix === "next")
70
- return { kind: "update", channel: "next" };
71
- if (suffix.length === 0)
72
- return { kind: "error", message: PRODUCT_TEXT.diagnostic(`update: needs a preview after the colon, as in ${PRODUCT_TEXT.commandName} update:next.`) };
73
- if (!/^[0-9a-z][0-9a-z.+-]*$/i.test(suffix)) {
74
- return { kind: "error", message: PRODUCT_TEXT.diagnostic(`received an unusable preview: ${suffix}`) };
75
- }
76
- return { kind: "update", channel: "next", target: suffix };
77
- }
78
- /**
79
- * Top-level `update` owns A1 itself and A1's model catalogs. Extension package
80
- * maintenance lives under the `pi` compatibility namespace, while updating the
81
- * pinned Pi runtime remains impossible.
82
- */
83
- function parseUpdate(rest) {
84
- if (rest.length === 0)
85
- return { kind: "update", channel: "stable" };
86
- if (rest.length > 1)
87
- return { kind: "error", message: PRODUCT_TEXT.diagnostic("update accepts one target.") };
88
- const [target] = rest;
89
- if (target === "self")
90
- return { kind: "update", channel: "stable" };
91
- if (target === "pi") {
92
- return {
93
- kind: "error",
94
- message: PRODUCT_TEXT.diagnostic(`pins the Pi version it was certified against; run ${PRODUCT_TEXT.commandName} update to move ${PRODUCT_TEXT.displayName} itself.`),
95
- };
96
- }
97
- if (target === "next" || target === "stable") {
98
- const form = target === "next" ? `${PRODUCT_TEXT.commandName} update:next` : `${PRODUCT_TEXT.commandName} update`;
99
- return { kind: "error", message: PRODUCT_TEXT.diagnostic(`selects a release channel with a colon; run ${form}.`) };
100
- }
101
- if (target === "--models")
102
- return { kind: "packages", request: { verb: "refresh-models", source: null } };
103
- if (target === "--extensions" || (target !== undefined && !target.startsWith("-"))) {
104
- return packageNamespaceRejection("update", target === "--extensions" ? "--extensions" : target);
105
- }
106
- return unknownOption(target ?? "", "update");
107
- }
108
- function parsePiPackageCommand(arguments_) {
109
- const [verb, ...rest] = arguments_;
110
- if (verb === "install" || verb === "remove" || verb === "uninstall") {
111
- return parseSourceCommand(verb === "install" ? "install" : "remove", rest);
112
- }
113
- if (verb === "list")
114
- return withoutArguments(rest, { kind: "packages", request: { verb: "list", source: null } });
115
- if (verb === "update")
116
- return parsePiPackageUpdate(rest);
117
- return { kind: "error", message: PRODUCT_TEXT.diagnostic(`received an unknown pi package command: ${verb ?? ""}`) };
118
- }
119
- function parsePiPackageUpdate(rest) {
120
- if (rest.length === 0) {
121
- return { kind: "error", message: PRODUCT_TEXT.diagnostic(`pi update needs --extensions or a package source.`) };
122
- }
123
- if (rest.length > 1)
124
- return { kind: "error", message: PRODUCT_TEXT.diagnostic("pi update accepts one target.") };
125
- const [target] = rest;
126
- if (target === "--extensions")
127
- return { kind: "packages", request: { verb: "update", source: null } };
128
- if (target === "--models") {
129
- return { kind: "error", message: PRODUCT_TEXT.diagnostic(`refreshes its model catalogs at the top level; run ${PRODUCT_TEXT.commandName} update --models.`) };
130
- }
131
- if (target === undefined || target.startsWith("-"))
132
- return unknownOption(target ?? "", "pi update");
133
- if (PROFILE_WORDS.has(target))
134
- return profileRejection("update");
135
- return { kind: "packages", request: { verb: "update", source: target } };
136
- }
137
- function parseSourceCommand(verb, rest) {
138
- const flag = rest.find(argument => argument.startsWith("-"));
139
- if (flag !== undefined)
140
- return unknownOption(flag, verb);
141
- if (rest.length === 0)
142
- return { kind: "error", message: PRODUCT_TEXT.diagnostic(`${verb} requires a package source.`) };
143
- if (rest.length > 1)
144
- return { kind: "error", message: PRODUCT_TEXT.diagnostic(`${verb} accepts one package source.`) };
145
- const [source] = rest;
146
- if (source === undefined)
147
- return { kind: "error", message: PRODUCT_TEXT.diagnostic(`${verb} requires a package source.`) };
148
- if (PROFILE_WORDS.has(source))
149
- return profileRejection(verb);
150
- return { kind: "packages", request: { verb, source } };
151
- }
152
- function withoutArguments(rest, command) {
153
- if (rest.length === 0)
154
- return command;
155
- const [argument] = rest;
156
- if (argument !== undefined && (PROFILE_WORDS.has(argument) || argument.startsWith("--profile")))
157
- return profileRejection("list");
158
- return { kind: "error", message: PRODUCT_TEXT.diagnostic("commands do not accept additional arguments.") };
159
- }
160
- function packageNamespaceRejection(verb, target) {
161
- const suffix = target === undefined ? "" : ` ${target}`;
162
- return {
163
- kind: "error",
164
- message: PRODUCT_TEXT.diagnostic(`manages extension packages under its pi namespace; run ${PRODUCT_TEXT.commandName} pi ${verb}${suffix}.`),
165
- };
166
- }
167
- function profileRejection(verb) {
168
- return {
169
- kind: "error",
170
- message: PRODUCT_TEXT.diagnostic(`manages packages in its own profile, so ${verb} takes no profile; Pi manages Pi's own profile.`),
171
- };
172
- }
173
- function unknownOption(option, verb) {
174
- if (option.startsWith("--profile"))
175
- return profileRejection(verb);
176
- return { kind: "error", message: PRODUCT_TEXT.diagnostic(`received an unknown option for ${verb}: ${option}`) };
177
- }
@@ -1,72 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- import { readFile } from "node:fs/promises";
3
- import { resolve } from "node:path";
4
- import crossSpawn from "cross-spawn";
5
- import { valid as validSemver } from "semver";
6
- import { PRODUCT_TEXT } from "../product-identity.js";
7
- const defaultOutput = {
8
- stdout(message) { process.stdout.write(message); },
9
- stderr(message) { process.stderr.write(message); },
10
- };
11
- export async function runVersionStats(options) {
12
- const output = options.output ?? defaultOutput;
13
- const runner = options.runner ?? createVersionProcessRunner();
14
- let installed;
15
- try {
16
- const manifest = JSON.parse(await readFile(resolve(options.packageRoot, "package.json"), "utf8"));
17
- installed = parseVersion(manifest.version, "installed package");
18
- }
19
- catch (error) {
20
- output.stderr(`${PRODUCT_TEXT.diagnostic(`could not read its installed version: ${message(error)}`)}\n`);
21
- return 1;
22
- }
23
- const remote = await queryDistTags(runner);
24
- output.stdout(`Installed: ${installed}\nRelease: ${remote.release ?? "unavailable"}\nNext: ${remote.next ?? "unavailable"}\n`);
25
- if (remote.error)
26
- output.stderr(`${PRODUCT_TEXT.diagnostic(`could not resolve npm dist-tags: ${remote.error}`)}\n`);
27
- return 0;
28
- }
29
- async function queryDistTags(runner) {
30
- let result;
31
- try {
32
- result = await runner("npm", ["view", PRODUCT_TEXT.packageName, "dist-tags", "--json"]);
33
- }
34
- catch (error) {
35
- return unavailable(message(error));
36
- }
37
- if (result.code !== 0)
38
- return unavailable(`npm exited with status ${result.code ?? "unknown"}`);
39
- try {
40
- const metadata = JSON.parse(result.stdout);
41
- if (typeof metadata !== "object" || metadata === null || Array.isArray(metadata))
42
- throw new TypeError("npm returned a non-object dist-tags value");
43
- const tags = metadata;
44
- const release = parseVersion(tags.latest, "npm latest");
45
- const next = tags.next === undefined ? null : parseVersion(tags.next, "npm next");
46
- return { release, next, error: null };
47
- }
48
- catch (error) {
49
- return unavailable(message(error));
50
- }
51
- }
52
- function unavailable(error) {
53
- return { release: null, next: null, error };
54
- }
55
- function createVersionProcessRunner() {
56
- return async (command, arguments_) => await new Promise((resolvePromise, rejectPromise) => {
57
- const child = process.platform === "win32"
58
- ? crossSpawn(command, [...arguments_], { stdio: ["ignore", "pipe", "ignore"] })
59
- : spawn(command, [...arguments_], { stdio: ["ignore", "pipe", "ignore"] });
60
- const stdout = [];
61
- child.stdout?.on("data", chunk => stdout.push(Buffer.from(chunk)));
62
- child.once("error", rejectPromise);
63
- child.once("close", code => resolvePromise({ code, stdout: Buffer.concat(stdout).toString("utf8") }));
64
- });
65
- }
66
- function parseVersion(value, source) {
67
- const parsed = typeof value === "string" ? validSemver(value) : null;
68
- if (!parsed)
69
- throw new Error(`${source} did not provide a valid semantic version`);
70
- return parsed;
71
- }
72
- function message(error) { return error instanceof Error ? error.message : String(error); }
@@ -1,48 +0,0 @@
1
- import { type AgentEnginePort } from "../foundation/agent-engine-contracts/index.js";
2
- import { type PiEngineAdapter } from "../foundation/pi-engine-adapter/index.js";
3
- import { type OwnedUiApplicationPort, type PresentationComponentPort, type PresentationRuntimePort, type PresentationTerminalPort } from "../foundation/presentation-contracts/index.js";
4
- import { OwnedUiSettingsSession } from "../foundation/owned-ui-settings/index.js";
5
- import type { UiRouteHost } from "../foundation/pi-owned-ui-integration/index.js";
6
- export interface ProcessCompositionOptions {
7
- readonly cwd?: string;
8
- readonly sessionId?: string;
9
- readonly engine?: AgentEnginePort;
10
- readonly presentationFactory?: (root: PresentationComponentPort, terminal: PresentationTerminalPort) => PresentationRuntimePort;
11
- readonly createPiAdapter?: () => Promise<PiEngineAdapter>;
12
- }
13
- export interface OwnedUiCompositionOptions {
14
- readonly cwd?: string;
15
- readonly terminal?: PresentationTerminalPort;
16
- readonly createPiAdapter?: () => Promise<PiEngineAdapter>;
17
- /**
18
- * A1 profile whose settings this session reads and writes. Omitted keeps the
19
- * session settings-free, which is what the pinned comparison paths use.
20
- */
21
- readonly profileId?: string;
22
- /**
23
- * Whether A1's own surfaces are reachable. Withheld for the rendering parity
24
- * comparison, which measures this composition against pinned Pi and so must
25
- * present Pi's interface and nothing of A1's own. It is the same composition
26
- * either way: a parity run built beside the product would measure itself.
27
- */
28
- readonly ownedSurfaces?: "on" | "off";
29
- }
30
- export interface OwnedUiComposition {
31
- readonly application: OwnedUiApplicationPort;
32
- /** Present when a profile was supplied, so the caller can resolve settings before start. */
33
- readonly settings: OwnedUiSettingsSession | null;
34
- }
35
- export declare function composeOwnedUiApplication(options?: OwnedUiCompositionOptions): Promise<OwnedUiApplicationPort>;
36
- export declare function composeOwnedUi(options?: OwnedUiCompositionOptions): Promise<OwnedUiComposition>;
37
- export interface ProcessComposition {
38
- readonly engine: AgentEnginePort;
39
- createPresentation(root: PresentationComponentPort, terminal: PresentationTerminalPort): PresentationRuntimePort;
40
- dispose(): Promise<void>;
41
- }
42
- export declare function composeProcess(options?: ProcessCompositionOptions): Promise<ProcessComposition>;
43
- /**
44
- * Registers the A1-owned screens and adapts the app host to the shell's route
45
- * seam. The shell mounts whatever surface it is handed and forwards keys; it
46
- * never learns what an app is.
47
- */
48
- export declare function createOwnedRouteHost(settings: OwnedUiSettingsSession): UiRouteHost;