@timurproko/a1 0.1.8-dev.0b6d8cc → 0.1.8-dev.121

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 (387) hide show
  1. package/README.md +29 -23
  2. package/bin/cli.js +7 -7
  3. package/bin/guardian.js +1 -1
  4. package/bin/supervisor.js +1 -1
  5. package/bin/ui.js +3 -3
  6. package/dist/{src/cli → cli}/dispatch.js +14 -12
  7. package/dist/{src/cli → cli}/packages.d.ts +10 -2
  8. package/dist/{src/cli → cli}/packages.js +24 -20
  9. package/dist/{src/cli → cli}/version-stats.js +4 -4
  10. package/dist/composition/agent-engine-bridge.d.ts +3 -0
  11. package/dist/composition/agent-engine-bridge.js +108 -0
  12. package/dist/composition/index.d.ts +3 -0
  13. package/dist/composition/index.js +3 -0
  14. package/dist/composition/owned-ui.d.ts +25 -0
  15. package/dist/composition/owned-ui.js +40 -0
  16. package/dist/composition/process.d.ts +16 -0
  17. package/dist/composition/process.js +45 -0
  18. package/dist/composition/settings-route-host.d.ts +8 -0
  19. package/dist/composition/settings-route-host.js +73 -0
  20. package/dist/{src/features → features}/owned-ui/customization.d.ts +1 -1
  21. package/dist/{src/features → features}/owned-ui/customization.js +1 -1
  22. package/dist/{src/features → features}/owned-ui/diagnostics.d.ts +1 -1
  23. package/dist/{src/features → features}/owned-ui/run.d.ts +2 -2
  24. package/dist/{src/features → features}/owned-ui/settings-app.d.ts +3 -3
  25. package/dist/{src/features → features}/owned-ui/settings-app.js +1 -1
  26. package/dist/{src/features → features}/workspace/capabilities.d.ts +1 -1
  27. package/dist/{src/features → features}/workspace/reducer.d.ts +1 -1
  28. package/dist/{src/features → features}/workspace/reducer.js +1 -1
  29. package/dist/{src/features → features}/workspace/router.d.ts +1 -1
  30. package/dist/{src/features → features}/workspace/store.d.ts +1 -1
  31. package/dist/{src/foundation → foundation}/launch-guardian/main.js +8 -2
  32. package/dist/foundation/lifecycle/paths.d.ts +28 -0
  33. package/dist/{src/foundation → foundation}/lifecycle/paths.js +21 -0
  34. package/dist/{src/foundation → foundation}/native-host-protocol/messages.d.ts +1 -1
  35. package/dist/{src/foundation → foundation}/native-host-protocol/messages.js +1 -1
  36. package/dist/{src/foundation → foundation}/release/bootstrap.js +42 -10
  37. package/dist/foundation/release/endpoints.d.ts +20 -0
  38. package/dist/foundation/release/endpoints.js +50 -0
  39. package/dist/{src/foundation → foundation}/release/index.d.ts +1 -0
  40. package/dist/{src/foundation → foundation}/release/index.js +1 -0
  41. package/dist/{src/foundation → foundation}/release/release-gc.d.ts +4 -1
  42. package/dist/{src/foundation → foundation}/release/release-gc.js +9 -1
  43. package/dist/{src/foundation → foundation}/release/update.d.ts +9 -1
  44. package/dist/{src/foundation → foundation}/release/update.js +69 -35
  45. package/dist/{src/foundation → foundation}/storage/control-store.d.ts +1 -1
  46. package/dist/{src/foundation → foundation}/storage/control-store.js +1 -1
  47. package/dist/{src/foundation → foundation}/structured-agent-runtime/backpressure.d.ts +1 -1
  48. package/dist/{src/foundation → foundation}/structured-agent-runtime/backpressure.js +1 -1
  49. package/dist/{src/foundation → foundation}/structured-agent-runtime/commands.d.ts +1 -1
  50. package/dist/{src/foundation → foundation}/structured-agent-runtime/commands.js +1 -1
  51. package/dist/{src/foundation → foundation}/structured-agent-runtime/handshake.d.ts +1 -1
  52. package/dist/{src/foundation → foundation}/structured-agent-runtime/handshake.js +1 -1
  53. package/dist/{src/foundation → foundation}/structured-agent-runtime/reconnection.d.ts +1 -1
  54. package/dist/{src/foundation → foundation}/structured-agent-runtime/reconnection.js +1 -1
  55. package/dist/{src/foundation → foundation}/structured-agent-runtime/state.d.ts +1 -1
  56. package/dist/{src/foundation → foundation}/structured-agent-runtime/state.js +1 -1
  57. package/dist/foundation/supervision/index.d.ts +3 -0
  58. package/dist/foundation/supervision/index.js +3 -0
  59. package/dist/{src/foundation → foundation}/supervision/main.js +11 -5
  60. package/dist/foundation/supervision/paths.d.ts +1 -0
  61. package/dist/foundation/supervision/paths.js +1 -0
  62. package/dist/{src/foundation → foundation}/supervision/server.d.ts +18 -1
  63. package/dist/{src/foundation → foundation}/supervision/server.js +52 -1
  64. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/components.d.ts +1 -1
  65. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/conformance.js +2 -2
  66. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-extension-ui.d.ts +1 -1
  67. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-footer-status.d.ts +1 -1
  68. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-presenters-transcript.d.ts +1 -1
  69. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-presenters-transcript.js +1 -1
  70. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-selectors-dialogs.d.ts +1 -1
  71. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-shared-facade.d.ts +1 -1
  72. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-footer.d.ts +1 -1
  73. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/adapter.d.ts +2 -2
  74. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/adapter.js +113 -16
  75. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/conformance.js +2 -2
  76. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/model-auth-integration.d.ts +1 -1
  77. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/package-integration.d.ts +1 -1
  78. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/package-integration.js +1 -1
  79. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/resource-extension-integration.d.ts +1 -1
  80. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/session-integration.d.ts +1 -1
  81. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/session-integration.js +1 -1
  82. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/settings-integration.d.ts +1 -1
  83. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflow-controllers.d.ts +1 -1
  84. package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/owned-ui}/route-host.d.ts +1 -1
  85. package/dist/{src/foundation/pi-owned-ui-integration/session-shell.d.ts → integrations/pi/owned-ui/session-shell-root.d.ts} +13 -46
  86. package/dist/integrations/pi/owned-ui/session-shell-root.js +722 -0
  87. package/dist/integrations/pi/owned-ui/session-shell.d.ts +46 -0
  88. package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/owned-ui}/session-shell.js +24 -704
  89. package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/presentation-adapter.d.ts +1 -1
  90. package/dist/native/darwin-arm64/manifest.json +1 -1
  91. package/dist/native/linux-x64/manifest.json +1 -1
  92. package/dist/native/win32-x64/manifest.json +2 -2
  93. package/dist/native/win32-x64/process-guardian.exe +0 -0
  94. package/dist/{src/foundation/ui-apps → ui/apps}/contracts.d.ts +1 -1
  95. package/dist/{src/foundation/ui-apps → ui/apps}/host.d.ts +1 -1
  96. package/dist/{src/foundation/ui-apps → ui/apps}/host.js +1 -1
  97. package/dist/{src/foundation/owned-ui-settings → ui/settings}/session.d.ts +1 -1
  98. package/docs/architecture/boundaries.md +8 -8
  99. package/docs/architecture/project-structure.md +52 -29
  100. package/docs/architecture/toolchain.md +5 -5
  101. package/docs/ci-release-runbook.md +76 -79
  102. package/docs/features/launch-profiles.md +7 -9
  103. package/docs/manual-owned-ui-checkpoint.md +52 -0
  104. package/docs/manual-terminal-colour-check.md +1 -1
  105. package/package.json +24 -22
  106. package/dist/src/composition/index.d.ts +0 -48
  107. package/dist/src/composition/index.js +0 -258
  108. package/dist/src/foundation/lifecycle/paths.d.ts +0 -10
  109. package/dist/src/foundation/supervision/index.d.ts +0 -3
  110. package/dist/src/foundation/supervision/index.js +0 -3
  111. package/dist/src/foundation/supervision/paths.d.ts +0 -1
  112. package/dist/src/foundation/supervision/paths.js +0 -1
  113. package/docs/manual-transparent-checkpoint.md +0 -53
  114. /package/dist/{src/cli → cli}/capabilities.d.ts +0 -0
  115. /package/dist/{src/cli → cli}/capabilities.js +0 -0
  116. /package/dist/{src/cli → cli}/dispatch.d.ts +0 -0
  117. /package/dist/{src/cli → cli}/index.d.ts +0 -0
  118. /package/dist/{src/cli → cli}/index.js +0 -0
  119. /package/dist/{src/cli → cli}/version-stats.d.ts +0 -0
  120. /package/dist/{src/cli → cli}/version.d.ts +0 -0
  121. /package/dist/{src/cli → cli}/version.js +0 -0
  122. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/capability-ports.d.ts +0 -0
  123. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/capability-ports.js +0 -0
  124. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain-validation.d.ts +0 -0
  125. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain-validation.js +0 -0
  126. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain.d.ts +0 -0
  127. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain.js +0 -0
  128. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/index.d.ts +0 -0
  129. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/index.js +0 -0
  130. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.d.ts +0 -0
  131. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.js +0 -0
  132. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/package-ports.d.ts +0 -0
  133. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/package-ports.js +0 -0
  134. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/ports.d.ts +0 -0
  135. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/ports.js +0 -0
  136. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.d.ts +0 -0
  137. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.js +0 -0
  138. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.d.ts +0 -0
  139. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.js +0 -0
  140. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/extension-ui.d.ts +0 -0
  141. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/extension-ui.js +0 -0
  142. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/index.d.ts +0 -0
  143. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/index.js +0 -0
  144. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/model.d.ts +0 -0
  145. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/model.js +0 -0
  146. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/validation.d.ts +0 -0
  147. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/validation.js +0 -0
  148. /package/dist/{src/foundation/presentation-contracts → contracts/presentation}/index.d.ts +0 -0
  149. /package/dist/{src/foundation/presentation-contracts → contracts/presentation}/index.js +0 -0
  150. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/index.d.ts +0 -0
  151. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/index.js +0 -0
  152. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/model.d.ts +0 -0
  153. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/model.js +0 -0
  154. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/validation.d.ts +0 -0
  155. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/validation.js +0 -0
  156. /package/dist/{src/features → features}/launch/development-launch.d.ts +0 -0
  157. /package/dist/{src/features → features}/launch/development-launch.js +0 -0
  158. /package/dist/{src/features → features}/launch/index.d.ts +0 -0
  159. /package/dist/{src/features → features}/launch/index.js +0 -0
  160. /package/dist/{src/features → features}/launch/initialize-profile.d.ts +0 -0
  161. /package/dist/{src/features → features}/launch/initialize-profile.js +0 -0
  162. /package/dist/{src/features → features}/launch/intent.d.ts +0 -0
  163. /package/dist/{src/features → features}/launch/intent.js +0 -0
  164. /package/dist/{src/features → features}/launch/prepare-launch.d.ts +0 -0
  165. /package/dist/{src/features → features}/launch/prepare-launch.js +0 -0
  166. /package/dist/{src/features → features}/launch/profile-paths.d.ts +0 -0
  167. /package/dist/{src/features → features}/launch/profile-paths.js +0 -0
  168. /package/dist/{src/features → features}/launch/profiles.d.ts +0 -0
  169. /package/dist/{src/features → features}/launch/profiles.js +0 -0
  170. /package/dist/{src/features → features}/launch/runtime-selection.d.ts +0 -0
  171. /package/dist/{src/features → features}/launch/runtime-selection.js +0 -0
  172. /package/dist/{src/features → features}/owned-ui/diagnostics.js +0 -0
  173. /package/dist/{src/features → features}/owned-ui/index.d.ts +0 -0
  174. /package/dist/{src/features → features}/owned-ui/index.js +0 -0
  175. /package/dist/{src/features → features}/owned-ui/run.js +0 -0
  176. /package/dist/{src/features → features}/workspace/capabilities.js +0 -0
  177. /package/dist/{src/features → features}/workspace/index.d.ts +0 -0
  178. /package/dist/{src/features → features}/workspace/index.js +0 -0
  179. /package/dist/{src/features → features}/workspace/presentation.d.ts +0 -0
  180. /package/dist/{src/features → features}/workspace/presentation.js +0 -0
  181. /package/dist/{src/features → features}/workspace/reconciliation.d.ts +0 -0
  182. /package/dist/{src/features → features}/workspace/reconciliation.js +0 -0
  183. /package/dist/{src/features → features}/workspace/router.js +0 -0
  184. /package/dist/{src/features → features}/workspace/store.js +0 -0
  185. /package/dist/{src/foundation → foundation}/launch-guardian/index.d.ts +0 -0
  186. /package/dist/{src/foundation → foundation}/launch-guardian/index.js +0 -0
  187. /package/dist/{src/foundation → foundation}/launch-guardian/main.d.ts +0 -0
  188. /package/dist/{src/foundation → foundation}/lifecycle/commands.d.ts +0 -0
  189. /package/dist/{src/foundation → foundation}/lifecycle/commands.js +0 -0
  190. /package/dist/{src/foundation → foundation}/lifecycle/index.d.ts +0 -0
  191. /package/dist/{src/foundation → foundation}/lifecycle/index.js +0 -0
  192. /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.d.ts +0 -0
  193. /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.js +0 -0
  194. /package/dist/{src/foundation → foundation}/lifecycle/model.d.ts +0 -0
  195. /package/dist/{src/foundation → foundation}/lifecycle/model.js +0 -0
  196. /package/dist/{src/foundation → foundation}/native-host-protocol/codec.d.ts +0 -0
  197. /package/dist/{src/foundation → foundation}/native-host-protocol/codec.js +0 -0
  198. /package/dist/{src/foundation → foundation}/native-host-protocol/evidence.d.ts +0 -0
  199. /package/dist/{src/foundation → foundation}/native-host-protocol/evidence.js +0 -0
  200. /package/dist/{src/foundation → foundation}/native-host-protocol/index.d.ts +0 -0
  201. /package/dist/{src/foundation → foundation}/native-host-protocol/index.js +0 -0
  202. /package/dist/{src/foundation → foundation}/native-host-protocol/proof-gate.d.ts +0 -0
  203. /package/dist/{src/foundation → foundation}/native-host-protocol/proof-gate.js +0 -0
  204. /package/dist/{src/foundation → foundation}/process-containment/artifact.d.ts +0 -0
  205. /package/dist/{src/foundation → foundation}/process-containment/artifact.js +0 -0
  206. /package/dist/{src/foundation → foundation}/process-containment/contracts.d.ts +0 -0
  207. /package/dist/{src/foundation → foundation}/process-containment/contracts.js +0 -0
  208. /package/dist/{src/foundation → foundation}/process-containment/index.d.ts +0 -0
  209. /package/dist/{src/foundation → foundation}/process-containment/index.js +0 -0
  210. /package/dist/{src/foundation → foundation}/process-containment/linux-process-inspector.d.ts +0 -0
  211. /package/dist/{src/foundation → foundation}/process-containment/linux-process-inspector.js +0 -0
  212. /package/dist/{src/foundation → foundation}/process-containment/native-guardian-containment.d.ts +0 -0
  213. /package/dist/{src/foundation → foundation}/process-containment/native-guardian-containment.js +0 -0
  214. /package/dist/{src/foundation → foundation}/process-containment/windows-process-inspector.d.ts +0 -0
  215. /package/dist/{src/foundation → foundation}/process-containment/windows-process-inspector.js +0 -0
  216. /package/dist/{src/foundation → foundation}/protocol/client.d.ts +0 -0
  217. /package/dist/{src/foundation → foundation}/protocol/client.js +0 -0
  218. /package/dist/{src/foundation → foundation}/protocol/index.d.ts +0 -0
  219. /package/dist/{src/foundation → foundation}/protocol/index.js +0 -0
  220. /package/dist/{src/foundation → foundation}/protocol/messages.d.ts +0 -0
  221. /package/dist/{src/foundation → foundation}/protocol/messages.js +0 -0
  222. /package/dist/{src/foundation → foundation}/release/bootstrap.d.ts +0 -0
  223. /package/dist/{src/foundation → foundation}/release/cohort-selection.d.ts +0 -0
  224. /package/dist/{src/foundation → foundation}/release/cohort-selection.js +0 -0
  225. /package/dist/{src/foundation → foundation}/release/cohort-state.d.ts +0 -0
  226. /package/dist/{src/foundation → foundation}/release/cohort-state.js +0 -0
  227. /package/dist/{src/foundation → foundation}/release/concurrency.d.ts +0 -0
  228. /package/dist/{src/foundation → foundation}/release/concurrency.js +0 -0
  229. /package/dist/{src/foundation → foundation}/release/process-cleanup.d.ts +0 -0
  230. /package/dist/{src/foundation → foundation}/release/process-cleanup.js +0 -0
  231. /package/dist/{src/foundation → foundation}/release/release-store.d.ts +0 -0
  232. /package/dist/{src/foundation → foundation}/release/release-store.js +0 -0
  233. /package/dist/{src/foundation → foundation}/release/release.d.ts +0 -0
  234. /package/dist/{src/foundation → foundation}/release/release.js +0 -0
  235. /package/dist/{src/foundation → foundation}/release/stable-release.d.ts +0 -0
  236. /package/dist/{src/foundation → foundation}/release/stable-release.js +0 -0
  237. /package/dist/{src/foundation → foundation}/release/update-transaction.d.ts +0 -0
  238. /package/dist/{src/foundation → foundation}/release/update-transaction.js +0 -0
  239. /package/dist/{src/foundation → foundation}/storage/index.d.ts +0 -0
  240. /package/dist/{src/foundation → foundation}/storage/index.js +0 -0
  241. /package/dist/{src/foundation → foundation}/structured-agent-runtime/index.d.ts +0 -0
  242. /package/dist/{src/foundation → foundation}/structured-agent-runtime/index.js +0 -0
  243. /package/dist/{src/foundation → foundation}/supervision/main.d.ts +0 -0
  244. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/components.js +0 -0
  245. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/conformance.d.ts +0 -0
  246. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/index.d.ts +0 -0
  247. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/index.js +0 -0
  248. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/resources/builtin-themes.d.ts +0 -0
  249. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/resources/builtin-themes.js +0 -0
  250. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-components.d.ts +0 -0
  251. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-components.js +0 -0
  252. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-editor-autocomplete.d.ts +0 -0
  253. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-editor-autocomplete.js +0 -0
  254. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-extension-ui.js +0 -0
  255. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-footer-status.js +0 -0
  256. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-selectors-dialogs.js +0 -0
  257. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-shared-facade.js +0 -0
  258. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/theme.d.ts +0 -0
  259. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/theme.js +0 -0
  260. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/adjacent/core/keybindings.d.ts +0 -0
  261. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/adjacent/core/keybindings.js +0 -0
  262. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/countdown-timer.d.ts +0 -0
  263. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/countdown-timer.js +0 -0
  264. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/custom-entry.d.ts +0 -0
  265. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/custom-entry.js +0 -0
  266. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/daxnuts.d.ts +0 -0
  267. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/daxnuts.js +0 -0
  268. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/earendil-announcement.d.ts +0 -0
  269. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/earendil-announcement.js +0 -0
  270. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/extension-editor.d.ts +0 -0
  271. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/extension-editor.js +0 -0
  272. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/first-time-setup.d.ts +0 -0
  273. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/first-time-setup.js +0 -0
  274. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/markdown-transform.d.ts +0 -0
  275. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/markdown-transform.js +0 -0
  276. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/mermaid.d.ts +0 -0
  277. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/mermaid.js +0 -0
  278. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/owned-editor.d.ts +0 -0
  279. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/owned-editor.js +0 -0
  280. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/scoped-models-selector.d.ts +0 -0
  281. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/scoped-models-selector.js +0 -0
  282. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-footer.js +0 -0
  283. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector-search.d.ts +0 -0
  284. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector-search.js +0 -0
  285. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector.d.ts +0 -0
  286. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector.js +0 -0
  287. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/skill-invocation-message.d.ts +0 -0
  288. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/skill-invocation-message.js +0 -0
  289. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/status-indicator.d.ts +0 -0
  290. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/status-indicator.js +0 -0
  291. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/tree-selector.d.ts +0 -0
  292. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/tree-selector.js +0 -0
  293. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/trust-selector.d.ts +0 -0
  294. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/trust-selector.js +0 -0
  295. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/external-editor.d.ts +0 -0
  296. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/external-editor.js +0 -0
  297. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/model-search.d.ts +0 -0
  298. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/model-search.js +0 -0
  299. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme-controller.d.ts +0 -0
  300. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme-controller.js +0 -0
  301. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme.d.ts +0 -0
  302. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme.js +0 -0
  303. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/conformance.d.ts +0 -0
  304. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/index.d.ts +0 -0
  305. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/index.js +0 -0
  306. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/model-auth-integration.js +0 -0
  307. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/pi-settings-metadata.json +0 -0
  308. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.d.ts +0 -0
  309. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.js +0 -0
  310. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/resource-extension-integration.js +0 -0
  311. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/runtime-integration.d.ts +0 -0
  312. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/runtime-integration.js +0 -0
  313. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/settings-integration.js +0 -0
  314. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflow-controllers.js +0 -0
  315. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflows.d.ts +0 -0
  316. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflows.js +0 -0
  317. /package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/owned-ui}/index.d.ts +0 -0
  318. /package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/owned-ui}/index.js +0 -0
  319. /package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/owned-ui}/route-host.js +0 -0
  320. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/adapter.d.ts +0 -0
  321. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/adapter.js +0 -0
  322. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/conformance.d.ts +0 -0
  323. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/conformance.js +0 -0
  324. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/contracts.d.ts +0 -0
  325. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/contracts.js +0 -0
  326. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/index.d.ts +0 -0
  327. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/index.js +0 -0
  328. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/presentation-adapter.js +0 -0
  329. /package/dist/{src/product-identity.d.ts → product-identity.d.ts} +0 -0
  330. /package/dist/{src/product-identity.js → product-identity.js} +0 -0
  331. /package/dist/{src/product-identity.json → product-identity.json} +0 -0
  332. /package/dist/{src/foundation/ui-apps → ui/apps}/contracts.js +0 -0
  333. /package/dist/{src/foundation/ui-apps → ui/apps}/index.d.ts +0 -0
  334. /package/dist/{src/foundation/ui-apps → ui/apps}/index.js +0 -0
  335. /package/dist/{src/foundation/ui-apps → ui/apps}/registry.d.ts +0 -0
  336. /package/dist/{src/foundation/ui-apps → ui/apps}/registry.js +0 -0
  337. /package/dist/{src/foundation/ui-components → ui/components}/dialog-panel.d.ts +0 -0
  338. /package/dist/{src/foundation/ui-components → ui/components}/dialog-panel.js +0 -0
  339. /package/dist/{src/foundation/ui-components → ui/components}/frame.d.ts +0 -0
  340. /package/dist/{src/foundation/ui-components → ui/components}/frame.js +0 -0
  341. /package/dist/{src/foundation/ui-components → ui/components}/index.d.ts +0 -0
  342. /package/dist/{src/foundation/ui-components → ui/components}/index.js +0 -0
  343. /package/dist/{src/foundation/ui-components → ui/components}/label.d.ts +0 -0
  344. /package/dist/{src/foundation/ui-components → ui/components}/label.js +0 -0
  345. /package/dist/{src/foundation/ui-components → ui/components}/line-input.d.ts +0 -0
  346. /package/dist/{src/foundation/ui-components → ui/components}/line-input.js +0 -0
  347. /package/dist/{src/foundation/ui-components → ui/components}/list-block.d.ts +0 -0
  348. /package/dist/{src/foundation/ui-components → ui/components}/list-block.js +0 -0
  349. /package/dist/{src/foundation/ui-components → ui/components}/list-view.d.ts +0 -0
  350. /package/dist/{src/foundation/ui-components → ui/components}/list-view.js +0 -0
  351. /package/dist/{src/foundation/ui-components → ui/components}/mouse.d.ts +0 -0
  352. /package/dist/{src/foundation/ui-components → ui/components}/mouse.js +0 -0
  353. /package/dist/{src/foundation/ui-components → ui/components}/pane.d.ts +0 -0
  354. /package/dist/{src/foundation/ui-components → ui/components}/pane.js +0 -0
  355. /package/dist/{src/foundation/ui-components → ui/components}/revision.d.ts +0 -0
  356. /package/dist/{src/foundation/ui-components → ui/components}/revision.js +0 -0
  357. /package/dist/{src/foundation/ui-components → ui/components}/scrollbar.d.ts +0 -0
  358. /package/dist/{src/foundation/ui-components → ui/components}/scrollbar.js +0 -0
  359. /package/dist/{src/foundation/ui-components → ui/components}/shortcuts.d.ts +0 -0
  360. /package/dist/{src/foundation/ui-components → ui/components}/shortcuts.js +0 -0
  361. /package/dist/{src/foundation/ui-components → ui/components}/spans.d.ts +0 -0
  362. /package/dist/{src/foundation/ui-components → ui/components}/spans.js +0 -0
  363. /package/dist/{src/foundation/ui-components → ui/components}/status-line.d.ts +0 -0
  364. /package/dist/{src/foundation/ui-components → ui/components}/status-line.js +0 -0
  365. /package/dist/{src/foundation/ui-components → ui/components}/stepper.d.ts +0 -0
  366. /package/dist/{src/foundation/ui-components → ui/components}/stepper.js +0 -0
  367. /package/dist/{src/foundation/ui-components → ui/components}/surface.d.ts +0 -0
  368. /package/dist/{src/foundation/ui-components → ui/components}/surface.js +0 -0
  369. /package/dist/{src/foundation/ui-components → ui/components}/text.d.ts +0 -0
  370. /package/dist/{src/foundation/ui-components → ui/components}/text.js +0 -0
  371. /package/dist/{src/foundation/ui-components → ui/components}/theme.d.ts +0 -0
  372. /package/dist/{src/foundation/ui-components → ui/components}/theme.js +0 -0
  373. /package/dist/{src/foundation/ui-components → ui/components}/value-menu.d.ts +0 -0
  374. /package/dist/{src/foundation/ui-components → ui/components}/value-menu.js +0 -0
  375. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/declarations.d.ts +0 -0
  376. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/declarations.js +0 -0
  377. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/index.d.ts +0 -0
  378. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/index.js +0 -0
  379. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/migrations.d.ts +0 -0
  380. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/migrations.js +0 -0
  381. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.d.ts +0 -0
  382. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.js +0 -0
  383. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/sections.d.ts +0 -0
  384. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/sections.js +0 -0
  385. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/session.js +0 -0
  386. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/store.d.ts +0 -0
  387. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/store.js +0 -0
@@ -0,0 +1,52 @@
1
+ # Manual owned-UI checkpoint
2
+
3
+ This checkpoint is user-controlled. Tests and coding agents must not launch or focus a terminal, inject desktop input, resize windows, close applications, or clean up workstation processes.
4
+
5
+ ## Prepare an exact candidate
6
+
7
+ From the candidate checkout, pack once and install that tarball into a disposable prefix:
8
+
9
+ ```powershell
10
+ npm ci
11
+ npm run build
12
+ npm pack --ignore-scripts --pack-destination .artifacts/manual-owned-ui
13
+ npm install --prefix .artifacts/manual-owned-ui/install --ignore-scripts .artifacts/manual-owned-ui/<exact-tarball>.tgz
14
+ ```
15
+
16
+ Use isolated A1 control state:
17
+
18
+ ```powershell
19
+ $manualRoot = (Resolve-Path ".artifacts/manual-owned-ui").Path
20
+ $env:A1_CONFIG_DIR = "$manualRoot\state\config"
21
+ $env:A1_DATA_DIR = "$manualRoot\state\data"
22
+ $env:A1_RUNTIME_DIR = "$manualRoot\state\runtime"
23
+ $env:A1_DATABASE_PATH = "$manualRoot\state\data\control.sqlite3"
24
+ ```
25
+
26
+ Run each installed launch form yourself:
27
+
28
+ ```powershell
29
+ & ".artifacts/manual-owned-ui/install/node_modules/.bin/a1.cmd"
30
+ & ".artifacts/manual-owned-ui/install/node_modules/.bin/a1.cmd" pi
31
+ & ".artifacts/manual-owned-ui/install/node_modules/.bin/a1.cmd" sandbox
32
+ ```
33
+
34
+ All three commands use the same A1-owned rendering and input pipeline. Bare `a1` enables A1-owned screens. `a1 pi` withholds those screens and reads the ordinary Pi profile. `a1 sandbox` also withholds them and reads the isolated sandbox profile. Confirm that files created through `/settings`, `/login`, sessions, and resource directories remain under the selected profile root.
35
+
36
+ Physical automation is not part of this repository baseline. Future certification tooling may run only on dedicated disposable workers or VMs with exclusive test desktops, never on this workstation.
37
+
38
+ ## Compare bare A1 with `a1 pi`
39
+
40
+ Use the same terminal, working directory, dimensions, environment, and equivalent profile resources. Bare A1 and the comparison profile intentionally use separate profile roots.
41
+
42
+ - [ ] Startup resources, logo, notices, spacing, editor, and footer match.
43
+ - [ ] Text, Unicode, emoji, styles, cursor, and layout match.
44
+ - [ ] Rapid typing has no visible delay or dropped or duplicated characters.
45
+ - [ ] Ctrl+C, Ctrl+P, arrows, paste, focus, dialogs, mouse, and wheel behave correctly.
46
+ - [ ] Selection, copy, clipboard, scrollback, and resize behave correctly.
47
+ - [ ] Normal and error exits return a usable parent prompt.
48
+ - [ ] Parent typing, cursor movement, Backspace, Delete, and submission work after exit.
49
+
50
+ Report failures with bare-versus-comparison behavior, platform and terminal versions, exact command, reproducibility, and optional manually captured evidence.
51
+
52
+ For recovery, use `a1 pi`; do not use the removed `a1 ui` command. `a1 sandbox` remains profile isolation rather than a security boundary. Manual acceptance can authorize an exact uncertified development preview after non-desktop gates pass. It does not certify stable presentation parity or platform support.
@@ -29,7 +29,7 @@ leave the launch without a terminal on its input; the launcher says so and stops
29
29
  rather than opening a session that closes as it starts. Running `scripts/dev`
30
30
  from the shell is the direct path.
31
31
 
32
- A directly launched `node scripts/start-local.mjs` under Git Bash does not, and
32
+ A directly launched `node scripts/development/start-local.mjs` under Git Bash does not, and
33
33
  neither does a directly launched `node …/pi/dist/cli.js`: the collapse belongs to
34
34
  the launch, not to either application.
35
35
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timurproko/a1",
3
- "version": "0.1.8-dev.0b6d8cc",
3
+ "version": "0.1.8-dev.121",
4
4
  "description": "Standalone terminal workspace for supervised native and managed agents",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.13.0",
@@ -25,38 +25,40 @@
25
25
  },
26
26
  "scripts": {
27
27
  "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",
28
+ "build": "npm run clean && tsc -p tsconfig.build.json && node scripts/development/build-process-guardian.mjs",
29
+ "build:process-guardian": "node scripts/development/build-process-guardian.mjs",
30
30
  "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",
31
+ "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",
32
+ "check:customization-ready": "node scripts/governance/check-owned-ui-customization-prerequisites.mjs",
33
+ "check:deprecated": "node scripts/governance/check-deprecated-dependencies.mjs",
34
34
  "branches:prune": "node scripts/prune-merged-branches.mjs",
35
35
  "check": "npm run test:fast",
36
- "release": "node scripts/release.mjs",
36
+ "develop": "node scripts/development/develop.mjs",
37
+ "release": "node scripts/release/release.mjs",
37
38
  "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",
39
+ "test:fast": "node scripts/release/run-validation-tier.mjs typecheck fast",
40
+ "test:scope": "node scripts/release/run-validation-tier.mjs",
41
+ "test:full": "node scripts/release/run-validation-tier.mjs full-release",
42
+ "test:release": "node scripts/release/run-release-gates.mjs",
43
+ "test:terminal-host": "node scripts/development/run-terminal-host-probe.mjs",
44
+ "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",
45
+ "report:pi-engine-conformance": "npm run build --silent && node scripts/pi/run-pi-engine-conformance.mjs",
45
46
  "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",
47
+ "update:pi-component-parity": "tsx scripts/pi/update-pi-component-parity.ts",
48
+ "update:pi-event-frame-parity": "tsx scripts/pi/update-pi-event-frame-parity.ts",
49
+ "proof:terminal-host": "node scripts/development/run-terminal-host.mjs",
50
+ "start": "npm run build && node scripts/development/dev-launch.mjs",
51
+ "start:pi": "npm run build && node scripts/development/dev-launch.mjs pi",
52
+ "start:sandbox": "npm run build && node scripts/development/dev-launch.mjs sandbox",
53
+ "prepack": "node scripts/release/prepack-gate.mjs",
53
54
  "prepublishOnly": "npm run test:release",
54
55
  "prepare": "npm run build",
55
- "update:pi-settings-metadata": "node scripts/update-pi-settings-metadata.mjs"
56
+ "update:pi-settings-metadata": "node scripts/pi/update-pi-settings-metadata.mjs"
56
57
  },
57
58
  "dependencies": {
58
59
  "@earendil-works/pi-coding-agent": "0.84.2",
59
60
  "@earendil-works/pi-tui": "0.84.2",
61
+ "chalk": "5.6.2",
60
62
  "cross-spawn": "7.0.6",
61
63
  "grok-mermaid": "0.2.2",
62
64
  "semver": "7.8.5"
@@ -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;
@@ -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,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,3 +0,0 @@
1
- export * from "./main.js";
2
- export * from "./server.js";
3
- export { resolveProductPaths, type ProductPaths } from "../lifecycle/index.js";
@@ -1,3 +0,0 @@
1
- export * from "./main.js";
2
- export * from "./server.js";
3
- export { resolveProductPaths } from "../lifecycle/index.js";
@@ -1 +0,0 @@
1
- export { resolveProductPaths, type ProductPaths } from "../lifecycle/index.js";
@@ -1 +0,0 @@
1
- export { resolveProductPaths } from "../lifecycle/index.js";
@@ -1,53 +0,0 @@
1
- # Manual owned-UI and transparent fallback checkpoint
2
-
3
- This checkpoint is user-controlled. Tests and coding agents must not launch or focus a terminal, inject desktop input, resize windows, close applications, or clean up workstation processes.
4
-
5
- ## Prepare an exact candidate
6
-
7
- From the candidate checkout, pack once and install that tarball into a disposable prefix:
8
-
9
- ```powershell
10
- npm ci
11
- npm run build
12
- npm pack --ignore-scripts --pack-destination artifacts/manual-transparent
13
- npm install --prefix artifacts/manual-transparent/install --ignore-scripts artifacts/manual-transparent/<exact-tarball>.tgz
14
- ```
15
-
16
- Use isolated A1 control state:
17
-
18
- ```powershell
19
- $manualRoot = (Resolve-Path "artifacts/manual-transparent").Path
20
- $env:A1_CONFIG_DIR = "$manualRoot\state\config"
21
- $env:A1_DATA_DIR = "$manualRoot\state\data"
22
- $env:A1_RUNTIME_DIR = "$manualRoot\state\runtime"
23
- $env:A1_DATABASE_PATH = "$manualRoot\state\data\control.sqlite3"
24
- ```
25
-
26
- Run the installed candidate yourself:
27
-
28
- ```powershell
29
- & "artifacts/manual-transparent/install/node_modules/.bin/a1.cmd"
30
- ```
31
-
32
- Test each installed launch form separately: bare `a1` (the owned UI), `a1 pi` (the untouched comparison oracle), and `a1 sandbox` (the unchanged isolated vanilla profile). Confirm that files created through `/settings`, `/login`, sessions, and resource directories remain under the selected profile root. Generic transparent-fallback testing may set `A1_TERMINAL_EXECUTABLE` and a JSON array in `A1_TERMINAL_ARGUMENTS_JSON`.
33
-
34
- Physical automation is not part of this repository baseline. Future certification tooling may run only on dedicated disposable workers or VMs with exclusive test desktops, never on this workstation.
35
-
36
- ## Compare bare A1 with `a1 pi`
37
-
38
- Use the same terminal, working directory, dimensions, environment, and equivalent profile resources. Bare A1 and the untouched oracle intentionally use separate profile roots.
39
-
40
- - [ ] Startup resources, logo, notices, spacing, editor, and footer match.
41
- - [ ] Text, Unicode, emoji, styles, cursor, and layout match.
42
- - [ ] Rapid typing has no visible A1 delay or dropped/duplicated characters.
43
- - [ ] Ctrl+C, Ctrl+P, arrows, paste, focus, dialogs, mouse, and wheel match.
44
- - [ ] Selection, copy, clipboard, scrollback, and resize match.
45
- - [ ] Normal and error exits preserve child output and return a usable parent prompt.
46
- - [ ] Parent typing, cursor movement, Backspace, Delete, and submission work after exit.
47
- - [ ] A missing executable reports a concise spawn failure without affecting other applications.
48
-
49
- Report failures with direct-versus-A1 behavior, platform/terminal versions, exact command, reproducibility, and optional manually captured evidence.
50
-
51
- For recovery, use `a1 pi`; do not use the removed `a1 ui` command. `a1 sandbox` remains profile isolation rather than a security boundary.
52
-
53
- Manual acceptance can authorize an exact uncertified npm `next` preview after non-desktop gates pass. It does not certify stable terminal parity or platform support.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes