@timurproko/a1 0.2.7-dev.1249 → 0.2.7-dev.1255

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 (524) hide show
  1. package/README.md +11 -36
  2. package/bin/cli.js +2 -17
  3. package/bin/ui.js +10 -51
  4. package/dist/app/session-shell/clipboard-diagnostics.d.ts +2 -2
  5. package/dist/app/session-shell/clipboard-image.d.ts +0 -1
  6. package/dist/app/session-shell/clipboard-image.js +1 -1
  7. package/dist/app/session-shell/dialog-coordinator.d.ts +6 -5
  8. package/dist/app/session-shell/dialog-coordinator.js +3 -4
  9. package/dist/app/session-shell/dock-chrome.d.ts +11 -6
  10. package/dist/app/session-shell/dock-chrome.js +5 -8
  11. package/dist/app/session-shell/editor-hyperlink-budget.d.ts +0 -2
  12. package/dist/app/session-shell/editor-hyperlink-budget.js +1 -1
  13. package/dist/app/session-shell/exit-notice.d.ts +3 -3
  14. package/dist/app/session-shell/exit-notice.js +10 -10
  15. package/dist/app/session-shell/extension-surface.d.ts +8 -7
  16. package/dist/app/session-shell/helper-pool.d.ts +3 -4
  17. package/dist/app/session-shell/helper-pool.js +1 -1
  18. package/dist/app/session-shell/image-preparation-client.d.ts +4 -3
  19. package/dist/app/session-shell/image-preparation.d.ts +0 -2
  20. package/dist/app/session-shell/image-preparation.js +2 -2
  21. package/dist/app/session-shell/image-source.d.ts +2 -3
  22. package/dist/app/session-shell/image-source.js +2 -2
  23. package/dist/app/session-shell/input-surface-switch.d.ts +9 -7
  24. package/dist/app/session-shell/input-surface-switch.js +1 -2
  25. package/dist/app/session-shell/login-interaction.d.ts +5 -4
  26. package/dist/app/session-shell/login-interaction.js +2 -3
  27. package/dist/app/session-shell/paste-executor.d.ts +4 -8
  28. package/dist/app/session-shell/paste-executor.js +2 -2
  29. package/dist/app/session-shell/paste-protocol.d.ts +2 -2
  30. package/dist/app/session-shell/path-chip-presentation.d.ts +0 -5
  31. package/dist/app/session-shell/path-chip-presentation.js +3 -3
  32. package/dist/app/session-shell/prompt-chips.d.ts +8 -7
  33. package/dist/app/session-shell/prompt-history-controller.d.ts +3 -3
  34. package/dist/app/session-shell/prompt-submission.d.ts +7 -6
  35. package/dist/app/session-shell/prompt-submission.js +7 -28
  36. package/dist/app/session-shell/quit-outro-effects.d.ts +3 -3
  37. package/dist/app/session-shell/quit-outro-effects.js +1 -4
  38. package/dist/app/session-shell/quit-outro.d.ts +9 -12
  39. package/dist/app/session-shell/quit-outro.js +11 -11
  40. package/dist/app/session-shell/response-copy-protocol.d.ts +3 -2
  41. package/dist/app/session-shell/response-copy-transport.d.ts +2 -14
  42. package/dist/app/session-shell/response-copy-transport.js +2 -3
  43. package/dist/app/session-shell/session-lifecycle.d.ts +3 -3
  44. package/dist/app/session-shell/session-lifecycle.js +2 -4
  45. package/dist/app/session-shell/session-shell-root.d.ts +74 -120
  46. package/dist/app/session-shell/session-shell-root.js +82 -115
  47. package/dist/app/session-shell/session-shell.d.ts +13 -16
  48. package/dist/app/session-shell/session-shell.js +149 -314
  49. package/dist/app/session-shell/session-viewport-controller.d.ts +7 -6
  50. package/dist/app/session-shell/session-viewport-controller.js +5 -8
  51. package/dist/app/session-shell/settings-bindings.d.ts +24 -2
  52. package/dist/app/session-shell/settings-bindings.js +24 -0
  53. package/dist/app/session-shell/share-operation.d.ts +3 -3
  54. package/dist/app/session-shell/share-operation.js +4 -6
  55. package/dist/app/session-shell/shell-clipboard.d.ts +59 -0
  56. package/dist/app/session-shell/shell-clipboard.js +119 -0
  57. package/dist/app/session-shell/shell-editor-factory.d.ts +8 -4
  58. package/dist/app/session-shell/shell-editor-factory.js +13 -15
  59. package/dist/app/session-shell/shell-host.d.ts +16 -17
  60. package/dist/app/session-shell/shell-host.js +20 -37
  61. package/dist/app/session-shell/shell-layout.d.ts +2 -2
  62. package/dist/app/session-shell/shell-prompt-suggestions.d.ts +26 -0
  63. package/dist/app/session-shell/shell-prompt-suggestions.js +48 -0
  64. package/dist/app/session-shell/suggestion-surface.d.ts +1 -6
  65. package/dist/app/session-shell/suggestion-surface.js +1 -1
  66. package/dist/app/session-shell/system-clipboard.d.ts +2 -14
  67. package/dist/app/session-shell/system-clipboard.js +2 -7
  68. package/dist/app/session-shell/transcript-document.d.ts +12 -10
  69. package/dist/app/session-shell/transcript-document.js +15 -41
  70. package/dist/app/session-shell/viewport-layout.d.ts +2 -2
  71. package/dist/app/session-shell/workflow-output.d.ts +5 -3
  72. package/dist/app/session-shell/workflow-output.js +13 -15
  73. package/dist/app/session-shell/workflow-router.d.ts +1 -3
  74. package/dist/app/session-shell/workflow-router.js +1 -4
  75. package/dist/cli/dispatch.d.ts +1 -11
  76. package/dist/cli/dispatch.js +5 -92
  77. package/dist/cli/package-messages.d.ts +0 -1
  78. package/dist/cli/package-messages.js +1 -1
  79. package/dist/cli/session-context.d.ts +1 -1
  80. package/dist/cli/session-context.js +5 -7
  81. package/dist/cli/uninstall.d.ts +4 -7
  82. package/dist/cli/uninstall.js +6 -35
  83. package/dist/cli/version-stats.js +4 -7
  84. package/dist/composition/owned-settings.d.ts +2 -2
  85. package/dist/composition/owned-settings.js +0 -4
  86. package/dist/composition/owned-ui.d.ts +3 -25
  87. package/dist/composition/owned-ui.js +37 -113
  88. package/dist/composition/reference-selection-options.d.ts +1 -1
  89. package/dist/composition/reference-selection-options.js +1 -1
  90. package/dist/composition/release-update-observation.d.ts +4 -4
  91. package/dist/composition/release-update-observation.js +17 -47
  92. package/dist/composition/session-backend.d.ts +0 -1
  93. package/dist/composition/session-runtime-registry.d.ts +5 -4
  94. package/dist/composition/settings-route-host.d.ts +0 -7
  95. package/dist/composition/settings-route-host.js +7 -20
  96. package/dist/composition/settings-search-input.d.ts +2 -1
  97. package/dist/composition/startup-route.d.ts +2 -3
  98. package/dist/composition/startup-route.js +2 -3
  99. package/dist/contracts/owned-ui/extension-ui.d.ts +2 -1
  100. package/dist/contracts/owned-ui/index.d.ts +2 -1
  101. package/dist/contracts/owned-ui/model.d.ts +0 -3
  102. package/dist/contracts/owned-ui/session-presenters.d.ts +3 -0
  103. package/dist/contracts/owned-ui/session-workflows.d.ts +1 -4
  104. package/dist/contracts/owned-ui/shell-components.d.ts +543 -0
  105. package/dist/contracts/presentation/component.d.ts +17 -0
  106. package/dist/contracts/presentation/component.js +8 -0
  107. package/dist/contracts/presentation/index.d.ts +6 -15
  108. package/dist/contracts/presentation/index.js +2 -0
  109. package/dist/contracts/presentation/terminal.d.ts +290 -0
  110. package/dist/contracts/presentation/theme.d.ts +46 -0
  111. package/dist/features/launch/development-launch.js +1 -2
  112. package/dist/features/launch/index.d.ts +1 -1
  113. package/dist/features/launch/intent.d.ts +1 -3
  114. package/dist/features/launch/intent.js +2 -4
  115. package/dist/features/launch/runtime-selection.d.ts +2 -2
  116. package/dist/features/launch/runtime-selection.js +2 -2
  117. package/dist/features/launch/session-context.d.ts +2 -2
  118. package/dist/features/owned-ui/project-trust-prompt.d.ts +2 -2
  119. package/dist/features/owned-ui/project-trust-prompt.js +1 -1
  120. package/dist/features/owned-ui/reference-screen-app.d.ts +0 -2
  121. package/dist/features/owned-ui/reference-screen-app.js +2 -9
  122. package/dist/features/owned-ui/release-note-state.d.ts +2 -1
  123. package/dist/features/owned-ui/settings-app.d.ts +0 -6
  124. package/dist/features/owned-ui/settings-app.js +42 -254
  125. package/dist/features/owned-ui/settings-edits.d.ts +31 -0
  126. package/dist/features/owned-ui/settings-edits.js +139 -0
  127. package/dist/features/owned-ui/settings-scroll-rail.d.ts +29 -0
  128. package/dist/features/owned-ui/settings-scroll-rail.js +79 -0
  129. package/dist/features/owned-ui/settings-search-input.d.ts +2 -1
  130. package/dist/features/prompt-history/service.d.ts +3 -2
  131. package/dist/foundation/launch-context/index.d.ts +0 -12
  132. package/dist/foundation/launch-context/index.js +0 -26
  133. package/dist/foundation/lifecycle/claim-gate.d.ts +9 -0
  134. package/dist/foundation/lifecycle/claim-gate.js +37 -0
  135. package/dist/foundation/lifecycle/index.d.ts +5 -9
  136. package/dist/foundation/lifecycle/index.js +3 -4
  137. package/dist/foundation/lifecycle/model.d.ts +2 -59
  138. package/dist/foundation/lifecycle/model.js +0 -35
  139. package/dist/foundation/lifecycle/paths.d.ts +0 -24
  140. package/dist/foundation/lifecycle/paths.js +0 -40
  141. package/dist/foundation/lifecycle/process-liveness.d.ts +8 -0
  142. package/dist/foundation/lifecycle/process-liveness.js +18 -0
  143. package/dist/foundation/lifecycle/session-claim-lock.d.ts +1 -1
  144. package/dist/foundation/lifecycle/session-claim-lock.js +2 -2
  145. package/dist/foundation/lifecycle/session-repository-context.d.ts +6 -6
  146. package/dist/foundation/lifecycle/session-repository-context.js +2 -3
  147. package/dist/foundation/release/automatic-update.d.ts +6 -17
  148. package/dist/foundation/release/automatic-update.js +23 -44
  149. package/dist/foundation/release/bootstrap.d.ts +2 -25
  150. package/dist/foundation/release/bootstrap.js +37 -348
  151. package/dist/foundation/release/dependency-certification.d.ts +1 -2
  152. package/dist/foundation/release/dependency-certification.js +1 -1
  153. package/dist/foundation/release/early-accent.d.ts +2 -2
  154. package/dist/foundation/release/early-accent.js +1 -1
  155. package/dist/foundation/release/index.d.ts +10 -17
  156. package/dist/foundation/release/index.js +7 -11
  157. package/dist/foundation/release/latest-release.d.ts +3 -19
  158. package/dist/foundation/release/latest-release.js +11 -12
  159. package/dist/foundation/release/ordinary-launch-selection.d.ts +1 -1
  160. package/dist/foundation/release/ordinary-launch-selection.js +1 -1
  161. package/dist/foundation/release/process-liveness.d.ts +2 -0
  162. package/dist/foundation/release/process-liveness.js +12 -0
  163. package/dist/foundation/release/release-gc.d.ts +13 -10
  164. package/dist/foundation/release/release-gc.js +37 -101
  165. package/dist/foundation/release/{cohort-state.d.ts → release-state.d.ts} +44 -69
  166. package/dist/foundation/release/{cohort-state.js → release-state.js} +38 -70
  167. package/dist/foundation/release/release-store.d.ts +2 -2
  168. package/dist/foundation/release/release-store.js +2 -2
  169. package/dist/foundation/release/restart-certification.js +1 -1
  170. package/dist/foundation/release/update-activation.d.ts +2 -9
  171. package/dist/foundation/release/update-activation.js +30 -45
  172. package/dist/foundation/release/update-execution-lease.d.ts +2 -3
  173. package/dist/foundation/release/update-execution-lease.js +2 -2
  174. package/dist/foundation/release/update-launch.d.ts +2 -4
  175. package/dist/foundation/release/update-launch.js +0 -7
  176. package/dist/foundation/release/update-recovery.js +1 -1
  177. package/dist/foundation/release/update-transaction.d.ts +1 -1
  178. package/dist/foundation/release/update-transaction.js +5 -2
  179. package/dist/foundation/release/update.d.ts +2 -12
  180. package/dist/foundation/release/update.js +37 -214
  181. package/dist/foundation/session-writer-lock/index.d.ts +14 -6
  182. package/dist/foundation/session-writer-lock/index.js +48 -103
  183. package/dist/foundation/startup/startup-budget.d.ts +5 -5
  184. package/dist/foundation/startup/startup-budget.js +2 -2
  185. package/dist/foundation/startup/startup-runtime.d.ts +1 -1
  186. package/dist/foundation/terminal-cleanup/exit-notice.d.ts +6 -0
  187. package/dist/foundation/terminal-cleanup/exit-notice.js +36 -0
  188. package/dist/foundation/terminal-cleanup/index.d.ts +2 -1
  189. package/dist/foundation/terminal-cleanup/index.js +2 -1
  190. package/dist/foundation/terminal-cleanup/terminal-reset.d.ts +0 -5
  191. package/dist/foundation/terminal-cleanup/terminal-reset.js +0 -5
  192. package/dist/integrations/pi/components/editor-interaction.d.ts +4 -12
  193. package/dist/integrations/pi/components/index.d.ts +15 -9
  194. package/dist/integrations/pi/components/index.js +9 -5
  195. package/dist/integrations/pi/components/lazy-selectors.d.ts +2 -10
  196. package/dist/integrations/pi/components/lazy-selectors.js +1 -1
  197. package/dist/integrations/pi/components/modal-frame.d.ts +5 -22
  198. package/dist/integrations/pi/components/modal-frame.js +3 -23
  199. package/dist/integrations/pi/components/owned-editor-ux.d.ts +4 -3
  200. package/dist/integrations/pi/components/prompt-input-port.d.ts +2 -19
  201. package/dist/integrations/pi/components/resources/builtin-themes.d.ts +2 -1
  202. package/dist/integrations/pi/components/shell-editor-autocomplete.d.ts +3 -2
  203. package/dist/integrations/pi/components/shell-editor-autocomplete.js +1 -4
  204. package/dist/integrations/pi/components/shell-footer-status.d.ts +3 -3
  205. package/dist/integrations/pi/components/shell-footer-status.js +5 -4
  206. package/dist/integrations/pi/components/shell-hotkey-sections.js +1 -1
  207. package/dist/integrations/pi/components/shell-presenters-info.d.ts +6 -8
  208. package/dist/integrations/pi/components/shell-presenters-info.js +6 -19
  209. package/dist/integrations/pi/components/shell-presenters-transcript.d.ts +1 -1
  210. package/dist/integrations/pi/components/shell-presenters-transcript.js +1 -1
  211. package/dist/integrations/pi/components/shell-session-info-reference.d.ts +2 -1
  212. package/dist/integrations/pi/components/shell-shared-facade.d.ts +33 -229
  213. package/dist/integrations/pi/components/shell-shared-facade.js +8 -1
  214. package/dist/integrations/pi/components/skills-command.d.ts +1 -9
  215. package/dist/integrations/pi/components/skills-command.js +5 -5
  216. package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +2 -5
  217. package/dist/integrations/pi/components/submitted-prompt-adapter.js +2 -16
  218. package/dist/integrations/pi/components/theme.d.ts +9 -2
  219. package/dist/integrations/pi/components/theme.js +17 -2
  220. package/dist/integrations/pi/components/thinking-selector-dialog.d.ts +2 -1
  221. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +2 -2
  222. package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +1 -2
  223. package/dist/integrations/pi/components/upstream/components/session-footer.js +6 -8
  224. package/dist/integrations/pi/engine/adapter.d.ts +3 -6
  225. package/dist/integrations/pi/engine/adapter.js +4 -28
  226. package/dist/integrations/pi/engine/changelog.d.ts +2 -2
  227. package/dist/integrations/pi/engine/changelog.js +3 -3
  228. package/dist/integrations/pi/engine/compaction-progress.d.ts +2 -3
  229. package/dist/integrations/pi/engine/compaction-progress.js +1 -1
  230. package/dist/integrations/pi/engine/conformance.d.ts +2 -1
  231. package/dist/integrations/pi/engine/default-model-setting.d.ts +0 -2
  232. package/dist/integrations/pi/engine/default-model-setting.js +1 -2
  233. package/dist/integrations/pi/engine/diagnostics-state.d.ts +0 -1
  234. package/dist/integrations/pi/engine/diagnostics-state.js +0 -14
  235. package/dist/integrations/pi/engine/event-delivery.d.ts +2 -1
  236. package/dist/integrations/pi/engine/extension-ui-binding.d.ts +2 -1
  237. package/dist/integrations/pi/engine/host.js +2 -2
  238. package/dist/integrations/pi/engine/message-values.d.ts +0 -1
  239. package/dist/integrations/pi/engine/message-values.js +1 -1
  240. package/dist/integrations/pi/engine/pending-delivery.d.ts +0 -4
  241. package/dist/integrations/pi/engine/pending-delivery.js +3 -3
  242. package/dist/integrations/pi/engine/ports.d.ts +7 -1
  243. package/dist/integrations/pi/engine/ports.js +4 -0
  244. package/dist/integrations/pi/engine/project-trust-preflight.d.ts +2 -1
  245. package/dist/integrations/pi/engine/prompt-suggestions.d.ts +3 -3
  246. package/dist/integrations/pi/engine/prompt-suggestions.js +0 -40
  247. package/dist/integrations/pi/engine/provider-authentication.d.ts +1 -1
  248. package/dist/integrations/pi/engine/public-main-entry.d.ts +1 -5
  249. package/dist/integrations/pi/engine/public-main-entry.js +1 -1
  250. package/dist/integrations/pi/engine/repository-pr-rest.d.ts +1 -9
  251. package/dist/integrations/pi/engine/repository-pr-rest.js +2 -2
  252. package/dist/integrations/pi/engine/repository-pr.d.ts +1 -3
  253. package/dist/integrations/pi/engine/repository-pr.js +1 -1
  254. package/dist/integrations/pi/engine/resource-catalog.d.ts +2 -1
  255. package/dist/integrations/pi/engine/session-integration.d.ts +1 -1
  256. package/dist/integrations/pi/engine/session-runtime.d.ts +4 -3
  257. package/dist/integrations/pi/engine/session-runtime.js +0 -2
  258. package/dist/integrations/pi/engine/settings-bridge.d.ts +0 -2
  259. package/dist/integrations/pi/engine/settings-bridge.js +1 -1
  260. package/dist/integrations/pi/engine/settings-port.d.ts +3 -2
  261. package/dist/integrations/pi/engine/transcript-projection.d.ts +2 -1
  262. package/dist/integrations/pi/engine/workflow-contexts.d.ts +1 -1
  263. package/dist/integrations/pi/engine/workflow-runner.d.ts +1 -1
  264. package/dist/integrations/pi/engine/workflow-runner.js +1 -1
  265. package/dist/integrations/pi/engine/workflow-support.d.ts +0 -6
  266. package/dist/integrations/pi/engine/workflow-support.js +4 -18
  267. package/dist/integrations/pi/engine/workflows.d.ts +5 -5
  268. package/dist/integrations/pi/session-presenters/components.d.ts +3 -0
  269. package/dist/integrations/pi/session-presenters/components.js +75 -0
  270. package/dist/integrations/pi/session-presenters/index.d.ts +1 -0
  271. package/dist/integrations/pi/session-presenters/index.js +1 -0
  272. package/dist/integrations/pi/session-presenters/presentation.d.ts +3 -0
  273. package/dist/integrations/pi/session-presenters/presentation.js +10 -0
  274. package/dist/integrations/pi/session-presenters/presenters.d.ts +2 -1
  275. package/dist/integrations/pi/session-presenters/presenters.js +3 -1
  276. package/dist/integrations/pi/tui-runtime/adapter.d.ts +2 -2
  277. package/dist/integrations/pi/tui-runtime/adapter.js +23 -32
  278. package/dist/integrations/pi/tui-runtime/contracts.d.ts +22 -166
  279. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +5 -40
  280. package/dist/integrations/pi/tui-runtime/index.d.ts +1 -0
  281. package/dist/integrations/pi/tui-runtime/index.js +1 -0
  282. package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.d.ts +4 -6
  283. package/dist/integrations/pi/tui-runtime/overlay-geometry.d.ts +2 -8
  284. package/dist/integrations/pi/tui-runtime/overlay-geometry.js +3 -9
  285. package/dist/integrations/pi/tui-runtime/runtime-factory.d.ts +3 -0
  286. package/dist/integrations/pi/tui-runtime/runtime-factory.js +11 -0
  287. package/dist/product-identity.d.ts +4 -6
  288. package/dist/product-identity.js +6 -11
  289. package/dist/product-identity.json +1 -40
  290. package/dist/runtime-payload-inventory.json +0 -3
  291. package/dist/ui/components/index.d.ts +4 -4
  292. package/dist/ui/components/index.js +2 -2
  293. package/dist/ui/components/selection-copy.d.ts +0 -1
  294. package/dist/ui/components/selection-copy.js +0 -12
  295. package/dist/ui/components/submitted-prompt.d.ts +3 -13
  296. package/dist/ui/components/submitted-prompt.js +8 -41
  297. package/dist/ui/components/theme.d.ts +4 -19
  298. package/dist/ui/components/theme.js +6 -0
  299. package/dist/ui/components/transcript-viewport.d.ts +1 -3
  300. package/dist/ui/components/transcript-viewport.js +1 -4
  301. package/dist/ui/settings/declarations.d.ts +2 -97
  302. package/dist/ui/settings/declarations.js +2 -78
  303. package/dist/ui/settings/early-accent.js +1 -1
  304. package/dist/ui/settings/index.d.ts +3 -5
  305. package/dist/ui/settings/index.js +2 -3
  306. package/dist/ui/settings/manager.d.ts +0 -4
  307. package/dist/ui/settings/manager.js +6 -62
  308. package/dist/ui/settings/resolution.d.ts +6 -18
  309. package/dist/ui/settings/resolution.js +4 -103
  310. package/dist/ui/settings/sections.d.ts +0 -4
  311. package/dist/ui/settings/sections.js +1 -1
  312. package/docs/architecture/boundaries.md +23 -40
  313. package/docs/architecture/code-documentation.md +2 -2
  314. package/docs/architecture/internal-naming.md +11 -17
  315. package/docs/architecture/project-structure.md +13 -16
  316. package/docs/architecture/resource-and-data-policy.md +16 -31
  317. package/docs/architecture/toolchain.md +14 -19
  318. package/docs/architecture/ui-reference-provenance.md +2 -2
  319. package/docs/ci-release-runbook.md +5 -5
  320. package/docs/features/launch-profiles.md +11 -17
  321. package/docs/features/prompt-history.md +10 -11
  322. package/docs/local-worktree-cleanup.md +28 -1
  323. package/docs/manual-owned-ui-checkpoint.md +0 -1
  324. package/docs/validation.md +5 -11
  325. package/docs/worktree-link-recovery.md +6 -6
  326. package/package.json +7 -20
  327. package/bin/guardian.js +0 -42
  328. package/bin/supervisor.js +0 -7
  329. package/bin/tab-launch-context.d.ts +0 -27
  330. package/bin/tab-launch-context.js +0 -94
  331. package/dist/app/session-shell/resident-tab-coordinator.d.ts +0 -38
  332. package/dist/app/session-shell/resident-tab-coordinator.js +0 -77
  333. package/dist/cli/tabs-request.d.ts +0 -7
  334. package/dist/cli/tabs.d.ts +0 -14
  335. package/dist/cli/tabs.js +0 -151
  336. package/dist/composition/resident-tab-bridge.d.ts +0 -41
  337. package/dist/composition/resident-tab-bridge.js +0 -209
  338. package/dist/composition/utility-tab.d.ts +0 -28
  339. package/dist/composition/utility-tab.js +0 -244
  340. package/dist/features/owned-ui/plus-menu-dialog.d.ts +0 -28
  341. package/dist/features/owned-ui/plus-menu-dialog.js +0 -89
  342. package/dist/features/resident-tab/auto-name.d.ts +0 -11
  343. package/dist/features/resident-tab/auto-name.js +0 -44
  344. package/dist/features/resident-tab/index.d.ts +0 -5
  345. package/dist/features/resident-tab/index.js +0 -7
  346. package/dist/features/resident-tab/shortcut-bindings-file.d.ts +0 -8
  347. package/dist/features/resident-tab/shortcut-bindings-file.js +0 -40
  348. package/dist/features/resident-tab/shortcut-declarations.d.ts +0 -13
  349. package/dist/features/resident-tab/shortcut-declarations.js +0 -26
  350. package/dist/features/resident-tab/shortcut-projection.d.ts +0 -29
  351. package/dist/features/resident-tab/shortcut-projection.js +0 -64
  352. package/dist/features/resident-tab/status-deriver.d.ts +0 -10
  353. package/dist/features/resident-tab/status-deriver.js +0 -12
  354. package/dist/foundation/launch-guardian/exit-watcher.d.ts +0 -14
  355. package/dist/foundation/launch-guardian/exit-watcher.js +0 -103
  356. package/dist/foundation/launch-guardian/index.d.ts +0 -2
  357. package/dist/foundation/launch-guardian/index.js +0 -1
  358. package/dist/foundation/launch-guardian/main.d.ts +0 -39
  359. package/dist/foundation/launch-guardian/main.js +0 -232
  360. package/dist/foundation/lifecycle/commands.d.ts +0 -40
  361. package/dist/foundation/lifecycle/launch-instance.d.ts +0 -46
  362. package/dist/foundation/lifecycle/launch-instance.js +0 -134
  363. package/dist/foundation/lifecycle/native-claim-gate.d.ts +0 -5
  364. package/dist/foundation/lifecycle/native-claim-gate.js +0 -41
  365. package/dist/foundation/lifecycle/supervisor-startup.d.ts +0 -30
  366. package/dist/foundation/lifecycle/supervisor-startup.js +0 -106
  367. package/dist/foundation/process-containment/addon-containment.d.ts +0 -20
  368. package/dist/foundation/process-containment/addon-containment.js +0 -139
  369. package/dist/foundation/process-containment/addon-process-inspector.d.ts +0 -11
  370. package/dist/foundation/process-containment/addon-process-inspector.js +0 -36
  371. package/dist/foundation/process-containment/addon.d.ts +0 -47
  372. package/dist/foundation/process-containment/addon.js +0 -57
  373. package/dist/foundation/process-containment/artifact.d.ts +0 -1
  374. package/dist/foundation/process-containment/artifact.js +0 -35
  375. package/dist/foundation/process-containment/contracts.d.ts +0 -33
  376. package/dist/foundation/process-containment/contracts.js +0 -35
  377. package/dist/foundation/process-containment/index.d.ts +0 -9
  378. package/dist/foundation/process-containment/index.js +0 -7
  379. package/dist/foundation/process-containment/linux-process-inspector.d.ts +0 -7
  380. package/dist/foundation/process-containment/linux-process-inspector.js +0 -27
  381. package/dist/foundation/process-containment/native-process-inspector.d.ts +0 -4
  382. package/dist/foundation/process-containment/native-process-inspector.js +0 -21
  383. package/dist/foundation/protocol/client.d.ts +0 -18
  384. package/dist/foundation/protocol/client.js +0 -130
  385. package/dist/foundation/protocol/index.d.ts +0 -3
  386. package/dist/foundation/protocol/index.js +0 -2
  387. package/dist/foundation/protocol/messages.d.ts +0 -90
  388. package/dist/foundation/protocol/messages.js +0 -100
  389. package/dist/foundation/release/cohort-selection.d.ts +0 -33
  390. package/dist/foundation/release/cohort-selection.js +0 -67
  391. package/dist/foundation/release/endpoint-lock.d.ts +0 -2
  392. package/dist/foundation/release/endpoint-lock.js +0 -37
  393. package/dist/foundation/release/endpoint-recovery.d.ts +0 -10
  394. package/dist/foundation/release/endpoint-recovery.js +0 -45
  395. package/dist/foundation/release/endpoints.d.ts +0 -32
  396. package/dist/foundation/release/endpoints.js +0 -152
  397. package/dist/foundation/release/prepared-update-activation.d.ts +0 -3
  398. package/dist/foundation/release/prepared-update-activation.js +0 -27
  399. package/dist/foundation/release/process-cleanup.d.ts +0 -14
  400. package/dist/foundation/release/process-cleanup.js +0 -76
  401. package/dist/foundation/release/supervisor-identity.d.ts +0 -15
  402. package/dist/foundation/release/supervisor-identity.js +0 -63
  403. package/dist/foundation/resident-tabs/boot-identity.d.ts +0 -6
  404. package/dist/foundation/resident-tabs/boot-identity.js +0 -16
  405. package/dist/foundation/resident-tabs/bounded-host-command.d.ts +0 -20
  406. package/dist/foundation/resident-tabs/bounded-host-command.js +0 -62
  407. package/dist/foundation/resident-tabs/bridge-client.d.ts +0 -73
  408. package/dist/foundation/resident-tabs/bridge-client.js +0 -327
  409. package/dist/foundation/resident-tabs/continuity.d.ts +0 -12
  410. package/dist/foundation/resident-tabs/continuity.js +0 -63
  411. package/dist/foundation/resident-tabs/doctor.d.ts +0 -28
  412. package/dist/foundation/resident-tabs/doctor.js +0 -166
  413. package/dist/foundation/resident-tabs/draft-checkpoint.d.ts +0 -27
  414. package/dist/foundation/resident-tabs/draft-checkpoint.js +0 -145
  415. package/dist/foundation/resident-tabs/ensure-terminal-host.d.ts +0 -36
  416. package/dist/foundation/resident-tabs/ensure-terminal-host.js +0 -151
  417. package/dist/foundation/resident-tabs/fault-injection.d.ts +0 -8
  418. package/dist/foundation/resident-tabs/fault-injection.js +0 -26
  419. package/dist/foundation/resident-tabs/fixture-control.d.ts +0 -7
  420. package/dist/foundation/resident-tabs/fixture-control.js +0 -35
  421. package/dist/foundation/resident-tabs/host-entry.js +0 -17
  422. package/dist/foundation/resident-tabs/index.d.ts +0 -15
  423. package/dist/foundation/resident-tabs/index.js +0 -10
  424. package/dist/foundation/resident-tabs/maintenance.d.ts +0 -39
  425. package/dist/foundation/resident-tabs/maintenance.js +0 -75
  426. package/dist/foundation/resident-tabs/progress-observation-schema.d.ts +0 -34
  427. package/dist/foundation/resident-tabs/progress-observation-schema.js +0 -1
  428. package/dist/foundation/resident-tabs/progress-observation.d.ts +0 -4
  429. package/dist/foundation/resident-tabs/progress-observation.js +0 -150
  430. package/dist/foundation/resident-tabs/prompt-journal.d.ts +0 -63
  431. package/dist/foundation/resident-tabs/prompt-journal.js +0 -213
  432. package/dist/foundation/resident-tabs/protocol.d.ts +0 -12
  433. package/dist/foundation/resident-tabs/protocol.js +0 -195
  434. package/dist/foundation/resident-tabs/recovery.d.ts +0 -26
  435. package/dist/foundation/resident-tabs/recovery.js +0 -205
  436. package/dist/foundation/resident-tabs/release-holds.d.ts +0 -28
  437. package/dist/foundation/resident-tabs/release-holds.js +0 -78
  438. package/dist/foundation/resident-tabs/routes.d.ts +0 -5
  439. package/dist/foundation/resident-tabs/routes.js +0 -5
  440. package/dist/foundation/resident-tabs/routing.d.ts +0 -11
  441. package/dist/foundation/resident-tabs/routing.js +0 -10
  442. package/dist/foundation/resident-tabs/runtime-control.d.ts +0 -38
  443. package/dist/foundation/resident-tabs/runtime-control.js +0 -74
  444. package/dist/foundation/resident-tabs/session-sync.d.ts +0 -14
  445. package/dist/foundation/resident-tabs/session-sync.js +0 -37
  446. package/dist/foundation/resident-tabs/settings.d.ts +0 -16
  447. package/dist/foundation/resident-tabs/settings.js +0 -60
  448. package/dist/foundation/resident-tabs/terminal-host-artifact.d.ts +0 -14
  449. package/dist/foundation/resident-tabs/terminal-host-artifact.js +0 -78
  450. package/dist/foundation/resident-tabs/zip-archive.d.ts +0 -9
  451. package/dist/foundation/resident-tabs/zip-archive.js +0 -56
  452. package/dist/foundation/storage/control-store.d.ts +0 -20
  453. package/dist/foundation/storage/control-store.js +0 -331
  454. package/dist/foundation/storage/index.d.ts +0 -1
  455. package/dist/foundation/storage/index.js +0 -1
  456. package/dist/foundation/supervision/index.d.ts +0 -3
  457. package/dist/foundation/supervision/index.js +0 -3
  458. package/dist/foundation/supervision/main.d.ts +0 -1
  459. package/dist/foundation/supervision/main.js +0 -86
  460. package/dist/foundation/supervision/paths.d.ts +0 -1
  461. package/dist/foundation/supervision/paths.js +0 -1
  462. package/dist/foundation/supervision/server.d.ts +0 -46
  463. package/dist/foundation/supervision/server.js +0 -611
  464. package/dist/integrations/pi/components/components.d.ts +0 -4
  465. package/dist/integrations/pi/components/components.js +0 -48
  466. package/dist/integrations/pi/components/conformance.d.ts +0 -18
  467. package/dist/integrations/pi/components/conformance.js +0 -70
  468. package/dist/integrations/pi/components/shell-components.d.ts +0 -7
  469. package/dist/integrations/pi/components/shell-components.js +0 -7
  470. package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +0 -33
  471. package/dist/integrations/pi/components/upstream/theme/theme-controller.js +0 -114
  472. package/dist/integrations/pi/engine/offline-settings-port.d.ts +0 -23
  473. package/dist/integrations/pi/engine/offline-settings-port.js +0 -54
  474. package/dist/native/darwin-arm64/manifest.json +0 -23
  475. package/dist/native/darwin-arm64/process-guardian.node +0 -0
  476. package/dist/native/darwin-arm64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10500
  477. package/dist/native/darwin-arm64/terminal-host.manifest.json +0 -46
  478. package/dist/native/darwin-arm64/terminal-host.node +0 -0
  479. package/dist/native/darwin-x64/manifest.json +0 -23
  480. package/dist/native/darwin-x64/process-guardian.node +0 -0
  481. package/dist/native/darwin-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10737
  482. package/dist/native/darwin-x64/terminal-host.manifest.json +0 -46
  483. package/dist/native/darwin-x64/terminal-host.node +0 -0
  484. package/dist/native/linux-x64/manifest.json +0 -23
  485. package/dist/native/linux-x64/process-guardian.node +0 -0
  486. package/dist/native/linux-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -11226
  487. package/dist/native/linux-x64/terminal-host.manifest.json +0 -46
  488. package/dist/native/linux-x64/terminal-host.node +0 -0
  489. package/dist/native/win32-x64/manifest.json +0 -23
  490. package/dist/native/win32-x64/process-guardian.node +0 -0
  491. package/dist/native/win32-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10757
  492. package/dist/native/win32-x64/terminal-host.manifest.json +0 -46
  493. package/dist/native/win32-x64/terminal-host.node +0 -0
  494. package/dist/ui/settings/migrations.d.ts +0 -19
  495. package/dist/ui/settings/migrations.js +0 -209
  496. package/dist/ui/settings/progress-palette.generated.d.ts +0 -139
  497. package/dist/ui/settings/progress-palette.generated.js +0 -139
  498. package/docs/architecture/evidence/resident-tabs/linux-x64.md +0 -37
  499. package/docs/architecture/evidence/resident-tabs/macos-arm64.md +0 -36
  500. package/docs/architecture/evidence/resident-tabs/macos-x64.md +0 -35
  501. package/docs/architecture/evidence/resident-tabs/windows-x64.md +0 -36
  502. package/docs/architecture/evidence/terminal-host-spike/manual-one-pane-terminal-host.md +0 -70
  503. package/docs/architecture/evidence/terminal-host-spike/manual-two-by-two-basic-terminal-host.md +0 -32
  504. package/docs/architecture/evidence/terminal-host-spike/milestone-baseline.json +0 -115
  505. package/docs/architecture/evidence/terminal-host-spike/owned-ui-foundation-prerequisite.json +0 -48
  506. package/docs/architecture/evidence/terminal-host-spike/terminal-host-provenance.json +0 -125
  507. package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-1.json +0 -56
  508. package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-3.json +0 -174
  509. package/docs/architecture/evidence/terminal-host-spike/terminal-spike-acceptance-record.json +0 -18
  510. package/docs/architecture/native-fixture-isolation.md +0 -23
  511. package/docs/architecture/process-guardian-provenance.md +0 -36
  512. package/docs/architecture/resident-tabs-requirements.md +0 -18
  513. package/docs/architecture/resident-tabs.md +0 -668
  514. package/docs/architecture/terminal-host-proof-gate.md +0 -34
  515. package/docs/architecture/terminal-host-provenance.md +0 -81
  516. package/docs/architecture/terminal-host-spike-evidence.md +0 -39
  517. package/docs/launch-recovery.md +0 -23
  518. package/docs/manual-launch-instance-acceptance.md +0 -43
  519. package/docs/manual-resident-tabs-acceptance.md +0 -51
  520. /package/dist/{cli/tabs-request.js → contracts/owned-ui/shell-components.js} +0 -0
  521. /package/dist/{foundation/release → contracts/presentation}/progress-palette.generated.d.ts +0 -0
  522. /package/dist/{foundation/release → contracts/presentation}/progress-palette.generated.js +0 -0
  523. /package/dist/{foundation/lifecycle/commands.js → contracts/presentation/terminal.js} +0 -0
  524. /package/dist/{foundation/resident-tabs/host-entry.d.ts → contracts/presentation/theme.js} +0 -0
@@ -12,8 +12,8 @@ const LEGACY_KEY_BYTES = {
12
12
  space: " ", "ctrl+c": "\u0003", "ctrl+z": "\u001a",
13
13
  };
14
14
  /**
15
- * Re-encodes one key report decoded by pi-tui in the legacy form, so a kitty-keyboard child
16
- * (resident tabs) and a legacy terminal produce the same owned-screen action. Releases decode
15
+ * Re-encodes one key report decoded by pi-tui in the legacy form, so a kitty-keyboard terminal
16
+ * and a legacy terminal produce the same owned-screen action. Releases decode
17
17
  * to nothing; mouse reports, paste, and unknown sequences pass through unchanged.
18
18
  */
19
19
  export function legacyKeyInput(data) {
@@ -136,8 +136,6 @@ export class PiTuiRuntimeAdapter {
136
136
  #preInputListeners = new Set();
137
137
  #consumeUnhandledMouse;
138
138
  #inputCoordinator;
139
- #inputDiagnostics;
140
- #diagnosticNow;
141
139
  #inputSink;
142
140
  #state = "idle";
143
141
  #stopPromise;
@@ -149,15 +147,14 @@ export class PiTuiRuntimeAdapter {
149
147
  this.#overlayGeometry = options.onOverlayGeometry === undefined ? undefined : new OverlayGeometryTracker(options.onOverlayGeometry);
150
148
  this.#terminal = options.terminal ?? new ProcessTerminal();
151
149
  this.#consumeUnhandledMouse = options.consumeUnhandledMouse ?? false;
152
- this.#inputDiagnostics = options.inputDiagnostics;
153
- this.#diagnosticNow = options.inputDiagnostics?.now ?? (() => performance.now());
150
+ const diagnostics = options.inputDiagnostics;
151
+ const diagnosticNow = diagnostics?.now ?? (() => performance.now());
152
+ const tracePhase = diagnostics === undefined ? undefined : runtimePhaseTracer(diagnostics, diagnosticNow, () => this.#inputCoordinator);
154
153
  // Invariant: the pinned renderer's frames pass through this gate, while writeControl and
155
154
  // the stop sequence reach the terminal directly. Freezing drops frames without touching
156
155
  // the renderer, so a scheduled repaint cannot land on top of the quit outro.
157
156
  const gatedTerminal = frozenGateTerminal(this.#terminal, () => this.#presentationFrozen || this.#presentationHolds.size > 0);
158
- const tracedTerminal = options.inputDiagnostics === undefined
159
- ? gatedTerminal
160
- : diagnosticTerminal(gatedTerminal, phase => this.#traceRuntimePhase(phase));
157
+ const tracedTerminal = tracePhase === undefined ? gatedTerminal : diagnosticTerminal(gatedTerminal, tracePhase);
161
158
  const decoratedTerminal = options.decorateTerminal?.(tracedTerminal) ?? tracedTerminal;
162
159
  const coordination = options.inputCoordination ?? (options.inputDiagnostics === undefined
163
160
  ? undefined
@@ -173,10 +170,8 @@ export class PiTuiRuntimeAdapter {
173
170
  },
174
171
  ...(coordination.onReceipt === undefined ? {} : { onReceipt: coordination.onReceipt }),
175
172
  ...(coordination.scheduler === undefined ? {} : { scheduler: coordination.scheduler }),
176
- now: this.#diagnosticNow,
177
- ...(options.inputDiagnostics === undefined ? {} : {
178
- onTrace: event => this.#traceInputCoordination(event),
179
- }),
173
+ now: diagnosticNow,
174
+ ...(diagnostics === undefined ? {} : { onTrace: event => diagnostics.onEvent(event) }),
180
175
  });
181
176
  this.#tuiTerminal = this.#inputCoordinator === undefined
182
177
  ? preInputTerminal(decoratedTerminal, data => this.#routePreInput(data), this.#overlayGeometry !== undefined)
@@ -187,9 +182,7 @@ export class PiTuiRuntimeAdapter {
187
182
  this.#tuiTerminal.restoreOnExit = (before, after) => exitTerminal.restoreOnExit?.(before, after);
188
183
  this.#layoutRoot = options.layoutRoot;
189
184
  this.#logDirectory = options.logDirectory;
190
- this.#rootBridge = new ComponentBridge(options.root, options.inputDiagnostics === undefined
191
- ? undefined
192
- : phase => this.#traceRuntimePhase(phase));
185
+ this.#rootBridge = new ComponentBridge(options.root, tracePhase);
193
186
  this.#bridges.set(options.root, this.#rootBridge);
194
187
  this.#mountedComponents.add(options.root);
195
188
  try {
@@ -560,22 +553,6 @@ export class PiTuiRuntimeAdapter {
560
553
  }
561
554
  return undefined;
562
555
  }
563
- #traceInputCoordination(event) {
564
- this.#inputDiagnostics?.onEvent(event);
565
- }
566
- #traceRuntimePhase(phase) {
567
- if (this.#inputDiagnostics === undefined)
568
- return;
569
- const coordinator = this.#inputCoordinator;
570
- this.#inputDiagnostics.onEvent({
571
- phase,
572
- revision: coordinator?.appliedRevision ?? 0,
573
- atMs: this.#diagnosticNow(),
574
- pendingDepth: coordinator?.pendingDepth ?? 0,
575
- pendingPresentationDepth: coordinator?.pendingPresentation === true ? 1 : 0,
576
- appliedRevision: coordinator?.appliedRevision ?? 0,
577
- });
578
- }
579
556
  #mountTui(tui) {
580
557
  tui.addChild(this.#rootBridge);
581
558
  if (tui instanceof TuiAltScreen && this.#layoutRoot !== undefined) {
@@ -854,3 +831,17 @@ function toOverlayOptions(options) {
854
831
  mapped.nonCapturing = options.nonCapturing;
855
832
  return mapped;
856
833
  }
834
+ /** Reports one runtime phase with the input coordinator's depth and revision at that moment. */
835
+ function runtimePhaseTracer(diagnostics, now, coordinator) {
836
+ return phase => {
837
+ const current = coordinator();
838
+ diagnostics.onEvent({
839
+ phase,
840
+ revision: current?.appliedRevision ?? 0,
841
+ atMs: now(),
842
+ pendingDepth: current?.pendingDepth ?? 0,
843
+ pendingPresentationDepth: current?.pendingPresentation === true ? 1 : 0,
844
+ appliedRevision: current?.appliedRevision ?? 0,
845
+ });
846
+ };
847
+ }
@@ -1,166 +1,22 @@
1
- import type { PresentationComponentPort, PresentationPointerSurface } from "../../../contracts/presentation/index.js";
2
- import type { ProgramStatus, WheelScrollLines } from "@earendil-works/pi-tui";
3
- import type { PiTuiInputCoordinationDecision, PiTuiInputCoordinationScheduler, PiTuiInputSurfaceKind } from "./input-presentation-coordinator.js";
4
- export type PiTuiRuntimeState = "idle" | "running" | "stopping" | "stopped" | "failed";
5
- export interface PiTuiViewport {
6
- readonly columns: number;
7
- readonly rows: number;
8
- }
9
- export interface PiTuiScrollState {
10
- readonly scrollTop: number;
11
- readonly viewportHeight: number;
12
- readonly followingEnd: boolean;
13
- readonly scrollbarVisible: boolean;
14
- }
15
- export type PiTuiPointerSurface = PresentationPointerSurface;
16
- export interface PiTuiComponentPort extends PresentationComponentPort {
17
- readonly wantsKeyRelease?: boolean;
18
- }
19
- export interface PiTuiTerminalPort {
20
- start(onInput: (data: string) => void, onResize: () => void): void;
21
- stop(): void;
22
- drainInput(maxMs?: number, idleMs?: number): Promise<void>;
23
- write(data: string): void;
24
- readonly columns: number;
25
- readonly rows: number;
26
- readonly kittyProtocolActive: boolean;
27
- moveBy(lines: number): void;
28
- hideCursor(): void;
29
- showCursor(): void;
30
- clearLine(): void;
31
- clearFromCursor(): void;
32
- clearScreen(): void;
33
- setTitle(title: string): void;
34
- setProgress(active: boolean): void;
35
- /** Optional for neutral test/decorator ports; the Pi-facing adapter always supplies it. */
36
- setProgramStatus?(status: ProgramStatus): void;
37
- /**
38
- * Optional synchronous last-resort mode restore that Pi TUI invokes from a process `exit` handler when
39
- * `stop()` did not run; the runtime adapter binds it to the undecorated terminal, so decorators need not forward it.
40
- */
41
- restoreOnExit?(before: string, after: string): void;
42
- }
43
- export type PiTuiSizeValue = number | `${number}%`;
44
- export type PiTuiOverlayAnchor = "center" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "top-center" | "bottom-center" | "left-center" | "right-center";
45
- export interface PiTuiOverlayMargin {
46
- readonly top?: number;
47
- readonly right?: number;
48
- readonly bottom?: number;
49
- readonly left?: number;
50
- }
51
- export interface PiTuiOverlayOptions {
52
- readonly width?: PiTuiSizeValue;
53
- readonly minWidth?: number;
54
- readonly maxHeight?: PiTuiSizeValue;
55
- readonly anchor?: PiTuiOverlayAnchor;
56
- readonly offsetX?: number;
57
- readonly offsetY?: number;
58
- readonly row?: PiTuiSizeValue;
59
- readonly col?: PiTuiSizeValue;
60
- readonly margin?: PiTuiOverlayMargin | number;
61
- readonly visible?: (columns: number, rows: number) => boolean;
62
- readonly nonCapturing?: boolean;
63
- /** A1-owned input scheduling declaration; omitted extension overlays fail closed. */
64
- readonly inputCoordination?: Exclude<PiTuiInputSurfaceKind, "editor">;
65
- }
66
- export interface PiTuiOverlayUnfocusOptions {
67
- readonly target: PiTuiComponentPort | null;
68
- }
69
- export interface PiTuiOverlayHandle {
70
- hide(): void;
71
- setHidden(hidden: boolean): void;
72
- isHidden(): boolean;
73
- focus(): void;
74
- unfocus(options?: PiTuiOverlayUnfocusOptions): void;
75
- isFocused(): boolean;
76
- /** The most recently rendered terminal-relative rectangle of a visible overlay. */
77
- getBounds(): {
78
- readonly row: number;
79
- readonly col: number;
80
- readonly width: number;
81
- readonly height: number;
82
- } | undefined;
83
- }
84
- export interface PiTuiInputListenerResult {
85
- readonly consume?: boolean;
86
- readonly data?: string;
87
- }
88
- export type PiTuiInputListener = (data: string) => PiTuiInputListenerResult | undefined;
89
- /** Runs at the terminal bridge before Pi TUI receives physical input. */
90
- export type PiTuiPreInputListener = PiTuiInputListener;
91
- export interface PiTuiLayoutEntry {
92
- readonly node: PiTuiLayoutNode;
93
- readonly basis?: number | "auto";
94
- readonly grow?: number;
95
- readonly shrink?: number;
96
- readonly minSize?: number;
97
- readonly maxSize?: number;
98
- readonly visible?: (viewport: PiTuiViewport) => boolean;
99
- }
100
- export type PiTuiLayoutNode = {
101
- readonly type: "component";
102
- readonly component: PiTuiComponentPort;
103
- } | {
104
- readonly type: "stack";
105
- readonly direction: "vertical" | "horizontal";
106
- readonly children: readonly PiTuiLayoutEntry[];
107
- readonly gap?: number;
108
- readonly align?: "stretch" | "start" | "center" | "end";
109
- } | {
110
- readonly type: "scroll";
111
- readonly id: string;
112
- readonly child: PiTuiLayoutNode;
113
- readonly follow?: "none" | "end";
114
- readonly primary?: boolean;
115
- readonly overscroll?: "chain" | "contain";
116
- readonly scrollbar?: "hidden" | "auto" | "always";
117
- /** Styles the scrollbar track; the pinned runtime draws it as foreground text. */
118
- readonly scrollbarTrackStyle?: (text: string) => string;
119
- /** Styles the scrollbar thumb; the pinned runtime draws it as foreground text. */
120
- readonly scrollbarThumbStyle?: (text: string) => string;
121
- readonly scrollbarHideDelayMs?: number;
122
- };
123
- export type PiTuiInputDiagnosticsPhase = "receipt" | "semantic-start" | "semantic-end" | "composition-start" | "composition-end" | "write-start" | "write-end";
124
- export interface PiTuiInputDiagnosticsEvent {
125
- readonly phase: PiTuiInputDiagnosticsPhase;
126
- readonly revision: number;
127
- readonly atMs: number;
128
- readonly pendingDepth: number;
129
- readonly pendingPresentationDepth: 0 | 1;
130
- readonly appliedRevision: number;
131
- }
132
- export interface PiTuiRuntimeAdapterOptions {
133
- readonly root: PiTuiComponentPort;
134
- /** Bare viewport only: painted overlays in back-to-front order; null while geometry is stale. */
135
- readonly onOverlayGeometry?: (surfaces: readonly PiTuiPointerSurface[] | null) => void;
136
- readonly mode?: "regular" | "fullscreen";
137
- readonly layoutRoot?: PiTuiLayoutNode;
138
- readonly terminal?: PiTuiTerminalPort;
139
- /** A1-owned public-boundary decorator; comparison paths omit it. */
140
- readonly decorateTerminal?: (terminal: PiTuiTerminalPort) => PiTuiTerminalPort;
141
- /** Bare-custom-viewport scheduling policy; comparison paths omit it. */
142
- readonly inputCoordination?: {
143
- readonly classify: (data: string, focusedOverlay?: Exclude<PiTuiInputSurfaceKind, "editor">) => PiTuiInputCoordinationDecision;
144
- readonly onReceipt?: () => void;
145
- readonly scheduler?: PiTuiInputCoordinationScheduler;
146
- };
147
- /** Optional bounded evidence hook. Production composition omits it. */
148
- readonly inputDiagnostics?: {
149
- readonly onEvent: (event: PiTuiInputDiagnosticsEvent) => void;
150
- readonly now?: () => number;
151
- };
152
- readonly hardwareCursor?: boolean;
153
- readonly mouse?: boolean;
154
- /** Consume residual SGR mouse reports after every pre-input listener has run. */
155
- readonly consumeUnhandledMouse?: boolean;
156
- readonly wheelScrollLines?: WheelScrollLines;
157
- readonly openUrl?: (url: string) => void;
158
- readonly onRightClickPaste?: () => void;
159
- readonly logDirectory?: string;
160
- }
161
- export interface PiTuiStopOptions {
162
- readonly preserveScreen?: boolean;
163
- readonly drainInput?: boolean;
164
- readonly drainMaxMs?: number;
165
- readonly drainIdleMs?: number;
166
- }
1
+ import type { TerminalRuntimeState, TerminalViewport, TerminalScrollState, TerminalPointerSurface, TerminalComponentPort, TerminalPort, TerminalSizeValue, TerminalOverlayAnchor, TerminalOverlayMargin, TerminalOverlayOptions, TerminalOverlayUnfocusOptions, TerminalOverlayHandle, TerminalInputListenerResult, TerminalInputListener, TerminalPreInputListener, TerminalLayoutEntry, TerminalLayoutNode, TerminalInputDiagnosticsPhase, TerminalInputDiagnosticsEvent, TerminalRuntimeOptions, TerminalStopOptions } from "../../../contracts/presentation/index.js";
2
+ export type PiTuiRuntimeState = TerminalRuntimeState;
3
+ export type PiTuiViewport = TerminalViewport;
4
+ export type PiTuiScrollState = TerminalScrollState;
5
+ export type PiTuiPointerSurface = TerminalPointerSurface;
6
+ export type PiTuiComponentPort = TerminalComponentPort;
7
+ export type PiTuiTerminalPort = TerminalPort;
8
+ export type PiTuiSizeValue = TerminalSizeValue;
9
+ export type PiTuiOverlayAnchor = TerminalOverlayAnchor;
10
+ export type PiTuiOverlayMargin = TerminalOverlayMargin;
11
+ export type PiTuiOverlayOptions = TerminalOverlayOptions;
12
+ export type PiTuiOverlayUnfocusOptions = TerminalOverlayUnfocusOptions;
13
+ export type PiTuiOverlayHandle = TerminalOverlayHandle;
14
+ export type PiTuiInputListenerResult = TerminalInputListenerResult;
15
+ export type PiTuiInputListener = TerminalInputListener;
16
+ export type PiTuiPreInputListener = TerminalPreInputListener;
17
+ export type PiTuiLayoutEntry = TerminalLayoutEntry;
18
+ export type PiTuiLayoutNode = TerminalLayoutNode;
19
+ export type PiTuiInputDiagnosticsPhase = TerminalInputDiagnosticsPhase;
20
+ export type PiTuiInputDiagnosticsEvent = TerminalInputDiagnosticsEvent;
21
+ export type PiTuiRuntimeAdapterOptions = TerminalRuntimeOptions;
22
+ export type PiTuiStopOptions = TerminalStopOptions;
@@ -1,45 +1,10 @@
1
1
  import type { PiTuiTerminalPort } from "./contracts.js";
2
2
  export declare const PINNED_PI_TUI_DAMAGE_GRAMMAR = "@earendil-works/pi-tui@1.5.0:tui-alt-screen-one-write-v1";
3
- export interface PiTuiDamageFrameDescriptor {
4
- /**
5
- * Frame ids are compared only within one presentation epoch; absent means the current epoch. A
6
- * presenter switch starts a new epoch, because each presenter numbers its own frames.
7
- */
8
- readonly epoch?: number;
9
- readonly frameId: number;
10
- readonly width: number;
11
- readonly height: number;
12
- readonly transcript: {
13
- readonly rowStart: number;
14
- readonly rowEnd: number;
15
- } | null;
16
- readonly dock: {
17
- readonly rowStart: number;
18
- readonly rowEnd: number;
19
- } | null;
20
- /**
21
- * Visible rows owned by the block that is currently streaming. A live block repaints
22
- * every row it owns when it reflows, so the allowed damage follows the declared tail
23
- * instead of assuming a one-row tail.
24
- */
25
- readonly liveTailRows?: number;
26
- readonly verticalShiftRows: number;
27
- readonly safeVerticalShift: boolean;
28
- readonly cause: string;
29
- }
30
- export interface PiTuiDamageFrameSafety {
31
- readonly overlayActive: boolean;
32
- readonly selectionActive: boolean;
33
- readonly replacementSurfaceActive: boolean;
34
- }
35
- export type PiTuiDamageDecisionReason = "transformed" | "suppressed-redundant-clear" | "hyperlink-cleanup" | "pending-hyperlink-cleanup" | "not-armed" | "unsafe-frame" | "stale-frame" | "unsupported-region-scroll" | "geometry-mismatch" | "grammar-mismatch" | "unsafe-terminal-content" | "incomplete-prior-frame" | "excessive-real-damage";
36
- export interface PiTuiDamageDecision {
37
- readonly frameId: number | null;
38
- readonly transformed: boolean;
39
- readonly reason: PiTuiDamageDecisionReason;
40
- readonly shiftRows: number;
41
- readonly paintedRows: readonly number[];
42
- }
3
+ import type { TerminalDamageDecision, TerminalDamageDecisionReason, TerminalDamageFrameDescriptor, TerminalDamageFrameSafety } from "../../../contracts/presentation/index.js";
4
+ export type PiTuiDamageFrameDescriptor = TerminalDamageFrameDescriptor;
5
+ export type PiTuiDamageFrameSafety = TerminalDamageFrameSafety;
6
+ export type PiTuiDamageDecisionReason = TerminalDamageDecisionReason;
7
+ export type PiTuiDamageDecision = TerminalDamageDecision;
43
8
  export interface DamageAwareTerminalOptions {
44
9
  readonly regionalScroll: boolean;
45
10
  /** The shell supplies visible-row analysis; the terminal layer owns no UI parser. */
@@ -1,5 +1,6 @@
1
1
  export type { PiTuiComponentPort, PiTuiInputDiagnosticsEvent, PiTuiInputDiagnosticsPhase, PiTuiInputListener, PiTuiInputListenerResult, PiTuiLayoutEntry, PiTuiLayoutNode, PiTuiOverlayAnchor, PiTuiOverlayHandle, PiTuiOverlayMargin, PiTuiOverlayOptions, PiTuiOverlayUnfocusOptions, PiTuiPointerSurface, PiTuiPreInputListener, PiTuiRuntimeAdapterOptions, PiTuiRuntimeState, PiTuiScrollState, PiTuiSizeValue, PiTuiStopOptions, PiTuiTerminalPort, PiTuiViewport, } from "./contracts.js";
2
2
  export { samePointerSurfaces } from "./overlay-geometry.js";
3
+ export { PI_TERMINAL_RUNTIME } from "./runtime-factory.js";
3
4
  export { DamageAwareTerminalAdapter, PINNED_PI_TUI_DAMAGE_GRAMMAR, paintTerminalCanvasFrame, rebaseTerminalDefaultBackground, } from "./damage-aware-terminal.js";
4
5
  export type { DamageAwareTerminalOptions, PiTuiDamageDecision, PiTuiDamageDecisionReason, PiTuiDamageFrameDescriptor, PiTuiDamageFrameSafety, } from "./damage-aware-terminal.js";
5
6
  export { InputPresentationCoordinator, classifyPiTuiInput } from "./input-presentation-coordinator.js";
@@ -1,4 +1,5 @@
1
1
  export { samePointerSurfaces } from "./overlay-geometry.js";
2
+ export { PI_TERMINAL_RUNTIME } from "./runtime-factory.js";
2
3
  export { DamageAwareTerminalAdapter, PINNED_PI_TUI_DAMAGE_GRAMMAR, paintTerminalCanvasFrame, rebaseTerminalDefaultBackground, } from "./damage-aware-terminal.js";
3
4
  export { InputPresentationCoordinator, classifyPiTuiInput } from "./input-presentation-coordinator.js";
4
5
  export { PiTuiRuntimeAdapter, PiTuiRuntimeError } from "./adapter.js";
@@ -1,9 +1,7 @@
1
- export type PiTuiInputCoordinationDecision = "safe" | "barrier";
2
- export type PiTuiInputSurfaceKind = "editor" | "owned" | "opaque";
3
- export interface PiTuiInputCoordinationScheduler {
4
- scheduleImmediate(callback: () => void): ReturnType<typeof setImmediate>;
5
- cancelImmediate(handle: ReturnType<typeof setImmediate>): void;
6
- }
1
+ import type { TerminalInputCoordinationDecision, TerminalInputCoordinationScheduler, TerminalInputSurfaceKind } from "../../../contracts/presentation/index.js";
2
+ export type PiTuiInputCoordinationDecision = TerminalInputCoordinationDecision;
3
+ export type PiTuiInputSurfaceKind = TerminalInputSurfaceKind;
4
+ export type PiTuiInputCoordinationScheduler = TerminalInputCoordinationScheduler;
7
5
  export interface PiTuiInputCoordinationTrace {
8
6
  readonly phase: "receipt" | "semantic-start" | "semantic-end";
9
7
  readonly revision: number;
@@ -1,5 +1,6 @@
1
1
  import { TuiAltScreen, type Component, type OverlayHandle, type OverlayOptions } from "@earendil-works/pi-tui";
2
2
  import type { PresentationComponentPort, PresentationPointerSurface } from "../../../contracts/presentation/index.js";
3
+ import { samePointerSurfaces } from "../../../contracts/presentation/index.js";
3
4
  import type { PiTuiOverlayOptions } from "./contracts.js";
4
5
  /** Observes public component renders in compositor order, without accessing renderer state. */
5
6
  export declare class OverlayGeometryTracker {
@@ -22,11 +23,4 @@ export declare class GeometryObservedAltScreen extends TuiAltScreen {
22
23
  hideOverlay(): void;
23
24
  protected compositeOverlays(lines: string[], width: number, height: number): string[];
24
25
  }
25
- /** Compare only geometry and ownership, never animation content or transcript position. */
26
- export declare function samePointerSurfaces(a: readonly PresentationPointerSurface[], b: readonly PresentationPointerSurface[]): boolean;
27
- /**
28
- * Resolve the pinned public overlay options against the actual render width/height.
29
- * The runtime still owns layout and painting. Independent terminal-cell tests certify
30
- * this option-to-hit-region projection against its compositor, including clipping.
31
- */
32
- export declare function overlayPointerSurface(component: PresentationComponentPort, options: PiTuiOverlayOptions | undefined, width: number, renderedHeight: number, columns: number, rows: number): PresentationPointerSurface | undefined;
26
+ export { samePointerSurfaces };
@@ -1,4 +1,5 @@
1
1
  import { TuiAltScreen, isFocusable } from "@earendil-works/pi-tui";
2
+ import { samePointerSurfaces } from "../../../contracts/presentation/index.js";
2
3
  /** Observes public component renders in compositor order, without accessing renderer state. */
3
4
  export class OverlayGeometryTracker {
4
5
  #frame = [];
@@ -97,20 +98,13 @@ export class GeometryObservedAltScreen extends TuiAltScreen {
97
98
  return result;
98
99
  }
99
100
  }
100
- /** Compare only geometry and ownership, never animation content or transcript position. */
101
- export function samePointerSurfaces(a, b) {
102
- return a.length === b.length && a.every((surface, index) => {
103
- const other = b[index];
104
- return surface.component === other.component && surface.columnStart === other.columnStart
105
- && surface.columnEnd === other.columnEnd && surface.rowStart === other.rowStart && surface.rowEnd === other.rowEnd;
106
- });
107
- }
101
+ export { samePointerSurfaces };
108
102
  /**
109
103
  * Resolve the pinned public overlay options against the actual render width/height.
110
104
  * The runtime still owns layout and painting. Independent terminal-cell tests certify
111
105
  * this option-to-hit-region projection against its compositor, including clipping.
112
106
  */
113
- export function overlayPointerSurface(component, options, width, renderedHeight, columns, rows) {
107
+ function overlayPointerSurface(component, options, width, renderedHeight, columns, rows) {
114
108
  const opt = options ?? {};
115
109
  const margin = typeof opt.margin === "number"
116
110
  ? { top: opt.margin, right: opt.margin, bottom: opt.margin, left: opt.margin }
@@ -0,0 +1,3 @@
1
+ import type { TerminalRuntimeFactory } from "../../../contracts/presentation/index.js";
2
+ /** The Pi TUI runtime behind the neutral terminal runtime factory the shell uses. */
3
+ export declare const PI_TERMINAL_RUNTIME: TerminalRuntimeFactory;
@@ -0,0 +1,11 @@
1
+ import { legacyKeyInput, PiTuiRuntimeAdapter } from "./adapter.js";
2
+ import { DamageAwareTerminalAdapter, rebaseTerminalDefaultBackground } from "./damage-aware-terminal.js";
3
+ import { classifyPiTuiInput } from "./input-presentation-coordinator.js";
4
+ /** The Pi TUI runtime behind the neutral terminal runtime factory the shell uses. */
5
+ export const PI_TERMINAL_RUNTIME = Object.freeze({
6
+ createRuntime: options => new PiTuiRuntimeAdapter(options),
7
+ createDamageTerminal: (terminal, options) => new DamageAwareTerminalAdapter(terminal, options),
8
+ classifyInput: (data, surface) => classifyPiTuiInput(data, surface),
9
+ legacyKeyInput: data => legacyKeyInput(data),
10
+ rebaseDefaultBackground: (content, backgroundAnsi) => rebaseTerminalDefaultBackground(content, backgroundAnsi),
11
+ });
@@ -1,11 +1,10 @@
1
- declare const ENVIRONMENT_KEYS: readonly ["clipboardDiagnostics", "configDir", "dataDir", "databasePath", "developmentHistoryDataDir", "developmentInstanceId", "developmentRoot", "endpoint", "exitNoticePath", "paneId", "probeTrace", "processGuardianPath", "prFooterPreview", "profileHome", "residentFixtureControlDir", "residentProgressObservationDir", "residentProgressRunId", "residentProgressTabId", "residentProgressTabIncarnation", "runtimeDir", "sessionRuntimeId", "skipVersionCheck", "startupTrace", "suggestionDiagnostics", "tabEndpoint", "tabId", "tabReleaseId", "tabToken", "tabsEndpoint", "terminalHostPath", "terminalSessionId"];
1
+ declare const ENVIRONMENT_KEYS: readonly ["clipboardDiagnostics", "configDir", "dataDir", "developmentHistoryDataDir", "developmentInstanceId", "developmentRoot", "exitNoticePath", "prFooterPreview", "profileHome", "runtimeDir", "sessionRuntimeId", "skipVersionCheck", "startupTrace", "suggestionDiagnostics"];
2
2
  declare const FILESYSTEM_KEYS: readonly ["slug", "windowsDirectory", "unixDirectory", "temporaryPrefix"];
3
3
  declare const STATE_KEYS: readonly ["windowsControlDirectory", "unixControlDirectory", "developmentDirectory", "piAgentProfile", "piVanillaProfile", "sessionRepositoryDirectory", "sessionWorktreeClaimDirectory"];
4
- declare const ENDPOINT_KEYS: readonly ["windowsPipeStem", "unixSocketFilename", "metadataFilename", "supervisorLogFilename", "databaseFilename"];
5
4
  declare const MANIFEST_KEYS: readonly ["releaseFilename", "packageFilename"];
6
- declare const PROTOCOL_KEYS: readonly ["namespace", "controlEnvelope", "supervisorSchema", "nativeHostSchema", "structuredAgentSchema", "controlStoreSchema", "promptHistorySchema", "releaseCohortSchema", "updateJournalSchema"];
7
- declare const EVIDENCE_KEYS: readonly ["nativeSpikeSchema", "terminalProvenanceSchema", "terminalProofSchema", "terminalTemporalSnapshotSchema", "stableReleaseSchema", "previewReleaseSchema", "releaseCertificationSchema", "previewPlatformVerdictSchema", "piSourceLedgerSchema", "piComponentParitySchema", "piEventFrameParitySchema", "startupTraceSchema", "dependencyLayerSchema", "dependencyLayerCertificationSchema", "runtimePayloadSchema"];
8
- declare const ARTIFACT_KEYS: readonly ["cliEntry", "supervisorEntry", "guardianEntry", "uiEntry", "terminalHostAddon", "terminalHostEntry", "nativeCrate", "processGuardianAddon", "releaseTarballStem", "diagnosticStem"];
5
+ declare const PROTOCOL_KEYS: readonly ["namespace", "promptHistorySchema", "releaseCohortSchema", "updateJournalSchema"];
6
+ declare const EVIDENCE_KEYS: readonly ["stableReleaseSchema", "previewReleaseSchema", "releaseCertificationSchema", "previewPlatformVerdictSchema", "piSourceLedgerSchema", "piComponentParitySchema", "piEventFrameParitySchema", "startupTraceSchema", "dependencyLayerSchema", "dependencyLayerCertificationSchema", "runtimePayloadSchema"];
7
+ declare const ARTIFACT_KEYS: readonly ["cliEntry", "uiEntry", "releaseTarballStem", "diagnosticStem"];
9
8
  type StringRecord<Keys extends readonly string[]> = {
10
9
  readonly [Key in Keys[number]]: string;
11
10
  };
@@ -17,7 +16,6 @@ export interface ProductIdentity {
17
16
  readonly filesystem: StringRecord<typeof FILESYSTEM_KEYS>;
18
17
  readonly environment: StringRecord<typeof ENVIRONMENT_KEYS>;
19
18
  readonly state: StringRecord<typeof STATE_KEYS>;
20
- readonly endpoint: StringRecord<typeof ENDPOINT_KEYS>;
21
19
  readonly manifest: StringRecord<typeof MANIFEST_KEYS>;
22
20
  readonly protocol: StringRecord<typeof PROTOCOL_KEYS>;
23
21
  readonly evidence: StringRecord<typeof EVIDENCE_KEYS>;
@@ -1,16 +1,15 @@
1
1
  import rawIdentity from "./product-identity.json" with { type: "json" };
2
2
  const ENVIRONMENT_KEYS = [
3
- "clipboardDiagnostics", "configDir", "dataDir", "databasePath", "developmentHistoryDataDir", "developmentInstanceId", "developmentRoot", "endpoint", "exitNoticePath",
4
- "paneId", "probeTrace", "processGuardianPath", "prFooterPreview", "profileHome", "residentFixtureControlDir", "residentProgressObservationDir", "residentProgressRunId", "residentProgressTabId", "residentProgressTabIncarnation", "runtimeDir", "sessionRuntimeId", "skipVersionCheck", "startupTrace", "suggestionDiagnostics", "tabEndpoint", "tabId", "tabReleaseId", "tabToken", "tabsEndpoint", "terminalHostPath", "terminalSessionId",
3
+ "clipboardDiagnostics", "configDir", "dataDir", "developmentHistoryDataDir", "developmentInstanceId", "developmentRoot", "exitNoticePath",
4
+ "prFooterPreview", "profileHome", "runtimeDir", "sessionRuntimeId", "skipVersionCheck", "startupTrace", "suggestionDiagnostics",
5
5
  ];
6
6
  const FILESYSTEM_KEYS = ["slug", "windowsDirectory", "unixDirectory", "temporaryPrefix"];
7
7
  const STATE_KEYS = ["windowsControlDirectory", "unixControlDirectory", "developmentDirectory", "piAgentProfile", "piVanillaProfile", "sessionRepositoryDirectory", "sessionWorktreeClaimDirectory"];
8
- const ENDPOINT_KEYS = ["windowsPipeStem", "unixSocketFilename", "metadataFilename", "supervisorLogFilename", "databaseFilename"];
9
8
  const MANIFEST_KEYS = ["releaseFilename", "packageFilename"];
10
- const PROTOCOL_KEYS = ["namespace", "controlEnvelope", "supervisorSchema", "nativeHostSchema", "structuredAgentSchema", "controlStoreSchema", "promptHistorySchema", "releaseCohortSchema", "updateJournalSchema"];
11
- const EVIDENCE_KEYS = ["nativeSpikeSchema", "terminalProvenanceSchema", "terminalProofSchema", "terminalTemporalSnapshotSchema", "stableReleaseSchema", "previewReleaseSchema", "releaseCertificationSchema", "previewPlatformVerdictSchema", "piSourceLedgerSchema", "piComponentParitySchema", "piEventFrameParitySchema", "startupTraceSchema", "dependencyLayerSchema", "dependencyLayerCertificationSchema", "runtimePayloadSchema"];
12
- const ARTIFACT_KEYS = ["cliEntry", "supervisorEntry", "guardianEntry", "uiEntry", "terminalHostAddon", "terminalHostEntry", "nativeCrate", "processGuardianAddon", "releaseTarballStem", "diagnosticStem"];
13
- const ROOT_KEYS = ["schema", "displayName", "commandName", "packageName", "filesystem", "environment", "state", "endpoint", "manifest", "protocol", "evidence", "artifacts"];
9
+ const PROTOCOL_KEYS = ["namespace", "promptHistorySchema", "releaseCohortSchema", "updateJournalSchema"];
10
+ const EVIDENCE_KEYS = ["stableReleaseSchema", "previewReleaseSchema", "releaseCertificationSchema", "previewPlatformVerdictSchema", "piSourceLedgerSchema", "piComponentParitySchema", "piEventFrameParitySchema", "startupTraceSchema", "dependencyLayerSchema", "dependencyLayerCertificationSchema", "runtimePayloadSchema"];
11
+ const ARTIFACT_KEYS = ["cliEntry", "uiEntry", "releaseTarballStem", "diagnosticStem"];
12
+ const ROOT_KEYS = ["schema", "displayName", "commandName", "packageName", "filesystem", "environment", "state", "manifest", "protocol", "evidence", "artifacts"];
14
13
  export function validateProductIdentity(value) {
15
14
  const root = exactObject(value, ROOT_KEYS, "product identity");
16
15
  const schema = stringValue(root.schema, "product identity schema");
@@ -20,7 +19,6 @@ export function validateProductIdentity(value) {
20
19
  const filesystem = stringObject(root.filesystem, FILESYSTEM_KEYS, "filesystem identity");
21
20
  const environment = stringObject(root.environment, ENVIRONMENT_KEYS, "environment identity");
22
21
  const state = stringObject(root.state, STATE_KEYS, "state identity");
23
- const endpoint = stringObject(root.endpoint, ENDPOINT_KEYS, "endpoint identity");
24
22
  const manifest = stringObject(root.manifest, MANIFEST_KEYS, "manifest identity");
25
23
  const protocol = stringObject(root.protocol, PROTOCOL_KEYS, "protocol identity");
26
24
  const evidence = stringObject(root.evidence, EVIDENCE_KEYS, "evidence identity");
@@ -41,8 +39,6 @@ export function validateProductIdentity(value) {
41
39
  if (state.windowsControlDirectory !== filesystem.windowsDirectory || state.unixControlDirectory !== filesystem.unixDirectory) {
42
40
  throw new TypeError("product state directories must match the filesystem identity");
43
41
  }
44
- if (endpoint.windowsPipeStem !== filesystem.slug)
45
- throw new TypeError("product endpoint stem must match the filesystem slug");
46
42
  if (protocol.namespace !== commandName)
47
43
  throw new TypeError("product protocol namespace must match the command name");
48
44
  if (artifacts.diagnosticStem !== filesystem.slug)
@@ -73,7 +69,6 @@ export function validateProductIdentity(value) {
73
69
  filesystem,
74
70
  environment,
75
71
  state,
76
- endpoint,
77
72
  manifest,
78
73
  protocol,
79
74
  evidence,
@@ -13,34 +13,17 @@
13
13
  "clipboardDiagnostics": "A1_CLIPBOARD_DIAGNOSTICS",
14
14
  "configDir": "A1_CONFIG_DIR",
15
15
  "dataDir": "A1_DATA_DIR",
16
- "databasePath": "A1_DATABASE_PATH",
17
16
  "developmentHistoryDataDir": "A1_DEV_HISTORY_DATA_DIR",
18
17
  "developmentInstanceId": "A1_DEV_INSTANCE_ID",
19
18
  "developmentRoot": "A1_DEV_ROOT",
20
- "endpoint": "A1_ENDPOINT",
21
19
  "exitNoticePath": "A1_EXIT_NOTICE_PATH",
22
- "paneId": "A1_PANE_ID",
23
- "probeTrace": "A1_PROBE_TRACE",
24
- "processGuardianPath": "A1_PROCESS_GUARDIAN_PATH",
25
20
  "prFooterPreview": "A1_PR_FOOTER_PREVIEW",
26
21
  "profileHome": "A1_PROFILE_HOME",
27
- "residentFixtureControlDir": "A1_RESIDENT_FIXTURE_CONTROL_DIR",
28
- "residentProgressObservationDir": "A1_RESIDENT_PROGRESS_OBSERVATION_DIR",
29
- "residentProgressRunId": "A1_RESIDENT_PROGRESS_RUN_ID",
30
- "residentProgressTabId": "A1_RESIDENT_PROGRESS_TAB_ID",
31
- "residentProgressTabIncarnation": "A1_RESIDENT_PROGRESS_TAB_INCARNATION",
32
22
  "runtimeDir": "A1_RUNTIME_DIR",
33
23
  "sessionRuntimeId": "A1_SESSION_RUNTIME_ID",
34
24
  "skipVersionCheck": "A1_SKIP_VERSION_CHECK",
35
25
  "startupTrace": "A1_STARTUP_TRACE",
36
- "suggestionDiagnostics": "A1_SUGGESTION_DIAGNOSTICS",
37
- "tabEndpoint": "A1_TAB_ENDPOINT",
38
- "tabId": "A1_TAB_ID",
39
- "tabReleaseId": "A1_TAB_RELEASE_ID",
40
- "tabToken": "A1_TAB_TOKEN",
41
- "tabsEndpoint": "A1_TABS_ENDPOINT",
42
- "terminalHostPath": "A1_TERMINAL_HOST_PATH",
43
- "terminalSessionId": "A1_TERMINAL_SESSION_ID"
26
+ "suggestionDiagnostics": "A1_SUGGESTION_DIAGNOSTICS"
44
27
  },
45
28
  "state": {
46
29
  "windowsControlDirectory": "a1",
@@ -51,33 +34,17 @@
51
34
  "sessionRepositoryDirectory": "session-repositories",
52
35
  "sessionWorktreeClaimDirectory": "session-worktree-claims"
53
36
  },
54
- "endpoint": {
55
- "windowsPipeStem": "a1",
56
- "unixSocketFilename": "supervisor.sock",
57
- "metadataFilename": "supervisor.json",
58
- "supervisorLogFilename": "supervisor.log",
59
- "databaseFilename": "control.sqlite3"
60
- },
61
37
  "manifest": {
62
38
  "releaseFilename": ".a1-release.json",
63
39
  "packageFilename": "package.json"
64
40
  },
65
41
  "protocol": {
66
42
  "namespace": "a1",
67
- "controlEnvelope": "a1-control-envelope",
68
- "supervisorSchema": "a1-supervisor-v1",
69
- "nativeHostSchema": "a1-native-host-v1",
70
- "structuredAgentSchema": "a1-structured-agent-v1",
71
- "controlStoreSchema": "a1-control-store-v1",
72
43
  "promptHistorySchema": "a1-prompt-history-v1",
73
44
  "releaseCohortSchema": "a1-release-cohort-v1",
74
45
  "updateJournalSchema": "a1-update-journal-v1"
75
46
  },
76
47
  "evidence": {
77
- "nativeSpikeSchema": "a1-native-host-spike-evidence-v1",
78
- "terminalProvenanceSchema": "a1-terminal-host-provenance-v1",
79
- "terminalProofSchema": "a1-terminal-host-proof-v1",
80
- "terminalTemporalSnapshotSchema": "a1-terminal-temporal-snapshot-v1",
81
48
  "stableReleaseSchema": "a1-stable-release-v1",
82
49
  "previewReleaseSchema": "a1-preview-release-v1",
83
50
  "releaseCertificationSchema": "a1-release-certification-v1",
@@ -92,13 +59,7 @@
92
59
  },
93
60
  "artifacts": {
94
61
  "cliEntry": "bin/cli.js",
95
- "supervisorEntry": "bin/supervisor.js",
96
- "guardianEntry": "bin/guardian.js",
97
62
  "uiEntry": "bin/ui.js",
98
- "terminalHostAddon": "terminal-host",
99
- "terminalHostEntry": "host-entry",
100
- "nativeCrate": "terminal-host",
101
- "processGuardianAddon": "process-guardian",
102
63
  "releaseTarballStem": "timurproko-a1",
103
64
  "diagnosticStem": "a1"
104
65
  }
@@ -3,12 +3,9 @@
3
3
  "entryPoints": [
4
4
  "bin/activate.js",
5
5
  "bin/cli.js",
6
- "bin/guardian.js",
7
- "bin/supervisor.js",
8
6
  "bin/ui.js",
9
7
  "bin/update-recovery.js",
10
8
  "bin/warmup.js",
11
- "dist/foundation/launch-guardian/exit-watcher.js",
12
9
  "dist/foundation/startup/startup-descriptor.js",
13
10
  "dist/integrations/pi/startup-public.js"
14
11
  ],