@timurproko/a1 0.1.8-dev.472 → 0.1.8-dev.508

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 (370) hide show
  1. package/bin/cli.js +4 -5
  2. package/bin/guardian.js +5 -1
  3. package/bin/module-identity.js +53 -98
  4. package/bin/module-resolver.js +138 -0
  5. package/bin/pinned-pi-public.js +25 -6
  6. package/bin/ui.js +7 -2
  7. package/bin/update-recovery.js +76 -7
  8. package/bin/warmup.js +3 -0
  9. package/dist/{integrations/pi/session-ui → app/session-shell}/clipboard-diagnostics.d.ts +1 -1
  10. package/dist/{integrations/pi/session-ui → app/session-shell}/clipboard-image.js +1 -1
  11. package/dist/app/session-shell/helper-pool.d.ts +33 -0
  12. package/dist/app/session-shell/helper-pool.js +98 -0
  13. package/dist/{integrations/pi/session-ui → app/session-shell}/image-preparation-client.d.ts +1 -1
  14. package/dist/{integrations/pi/session-ui → app/session-shell}/image-preparation-client.js +1 -1
  15. package/dist/{integrations/pi/session-ui → app/session-shell}/image-preparation.js +1 -1
  16. package/dist/{integrations/pi/session-ui → app/session-shell}/image-source.js +1 -1
  17. package/dist/{integrations/pi/session-ui → app/session-shell}/image-worker.js +1 -1
  18. package/dist/app/session-shell/index.d.ts +7 -0
  19. package/dist/app/session-shell/index.js +4 -0
  20. package/dist/app/session-shell/paste-executor.d.ts +18 -0
  21. package/dist/{integrations/pi/session-ui → app/session-shell}/paste-executor.js +50 -29
  22. package/dist/{integrations/pi/session-ui → app/session-shell}/paste-helper.js +1 -1
  23. package/dist/app/session-shell/paste-preparation-client.d.ts +31 -0
  24. package/dist/{integrations/pi/session-ui → app/session-shell}/paste-preparation-client.js +19 -8
  25. package/dist/{integrations/pi/session-ui → app/session-shell}/paste-protocol.d.ts +1 -1
  26. package/dist/{integrations/pi/session-ui → app/session-shell}/paste-protocol.js +1 -1
  27. package/dist/app/session-shell/paste-text-preparation.d.ts +6 -0
  28. package/dist/{integrations/pi/session-ui/paste-text-preparation.d.ts → app/session-shell/paste-types.d.ts} +1 -4
  29. package/dist/{integrations/pi/session-ui → app/session-shell}/path-chip-presentation.d.ts +1 -1
  30. package/dist/{integrations/pi/session-ui → app/session-shell}/prompt-chips.d.ts +5 -1
  31. package/dist/{integrations/pi/session-ui → app/session-shell}/prompt-chips.js +6 -2
  32. package/dist/{integrations/pi/session-ui → app/session-shell}/prompt-history-controller.d.ts +2 -2
  33. package/dist/{integrations/pi/session-ui → app/session-shell}/prompt-history-controller.js +2 -2
  34. package/dist/{integrations/pi/session-ui → app/session-shell}/prompt-suggestion-controller.d.ts +1 -1
  35. package/dist/{integrations/pi/session-ui → app/session-shell}/prompt-suggestion-controller.js +2 -2
  36. package/dist/{integrations/pi/session-ui → app/session-shell}/quit-outro.js +1 -1
  37. package/dist/{integrations/pi/session-ui → app/session-shell}/response-copy-coordinator.d.ts +1 -1
  38. package/dist/{integrations/pi/session-ui → app/session-shell}/response-copy-coordinator.js +3 -5
  39. package/dist/{integrations/pi/session-ui → app/session-shell}/response-copy-helper.js +1 -1
  40. package/dist/{integrations/pi/session-ui → app/session-shell}/response-copy-protocol.d.ts +1 -1
  41. package/dist/{integrations/pi/session-ui → app/session-shell}/response-copy-transport.d.ts +10 -2
  42. package/dist/{integrations/pi/session-ui → app/session-shell}/response-copy-transport.js +45 -19
  43. package/dist/{integrations/pi/session-ui → app/session-shell}/session-shell-root.d.ts +75 -53
  44. package/dist/{integrations/pi/session-ui → app/session-shell}/session-shell-root.js +30 -20
  45. package/dist/{integrations/pi/session-ui → app/session-shell}/session-shell.d.ts +9 -8
  46. package/dist/{integrations/pi/session-ui → app/session-shell}/session-shell.js +108 -67
  47. package/dist/{integrations/pi/session-ui → app/session-shell}/session-viewport-controller.d.ts +5 -5
  48. package/dist/{integrations/pi/session-ui → app/session-shell}/session-viewport-controller.js +5 -5
  49. package/dist/{integrations/pi/session-ui → app/session-shell}/system-clipboard.d.ts +1 -1
  50. package/dist/{integrations/pi/session-ui → app/session-shell}/system-clipboard.js +1 -1
  51. package/dist/cli/index.d.ts +8 -5
  52. package/dist/cli/index.js +4 -5
  53. package/dist/composition/index.d.ts +0 -1
  54. package/dist/composition/index.js +0 -1
  55. package/dist/composition/owned-ui.d.ts +2 -2
  56. package/dist/composition/owned-ui.js +35 -36
  57. package/dist/composition/settings-route-host.d.ts +2 -2
  58. package/dist/contracts/agent-engine/domain.d.ts +6 -1
  59. package/dist/contracts/agent-engine/index.d.ts +11 -8
  60. package/dist/contracts/agent-engine/index.js +6 -8
  61. package/dist/contracts/owned-ui/extension-ui.d.ts +8 -0
  62. package/dist/contracts/owned-ui/index.d.ts +12 -8
  63. package/dist/contracts/owned-ui/index.js +8 -8
  64. package/dist/features/launch/index.d.ts +12 -6
  65. package/dist/features/launch/index.js +6 -6
  66. package/dist/features/launch/intent.d.ts +5 -5
  67. package/dist/features/launch/intent.js +2 -2
  68. package/dist/features/owned-ui/index.d.ts +6 -6
  69. package/dist/features/owned-ui/index.js +4 -6
  70. package/dist/features/owned-ui/run.d.ts +2 -2
  71. package/dist/features/owned-ui/settings-app.d.ts +2 -2
  72. package/dist/features/owned-ui/settings-app.js +18 -5
  73. package/dist/features/prompt-history/service.d.ts +1 -1
  74. package/dist/features/prompt-history/service.js +1 -1
  75. package/dist/features/prompt-history/store.js +3 -7
  76. package/dist/features/prompt-suggestions/diagnostics.js +1 -1
  77. package/dist/features/prompt-suggestions/index.d.ts +2 -1
  78. package/dist/features/prompt-suggestions/index.js +1 -1
  79. package/dist/foundation/launch-guardian/index.d.ts +2 -1
  80. package/dist/foundation/launch-guardian/index.js +1 -1
  81. package/dist/foundation/lifecycle/index.d.ts +11 -6
  82. package/dist/foundation/lifecycle/index.js +5 -6
  83. package/dist/foundation/process-containment/index.d.ts +8 -6
  84. package/dist/foundation/process-containment/index.js +6 -6
  85. package/dist/foundation/process-containment/native-guardian-containment.js +3 -3
  86. package/dist/foundation/protocol/index.d.ts +3 -2
  87. package/dist/foundation/protocol/index.js +2 -2
  88. package/dist/foundation/release/bootstrap.d.ts +0 -4
  89. package/dist/foundation/release/bootstrap.js +1 -82
  90. package/dist/foundation/release/dependency-layer.d.ts +2 -5
  91. package/dist/foundation/release/endpoints.d.ts +4 -0
  92. package/dist/foundation/release/endpoints.js +86 -2
  93. package/dist/foundation/release/index.d.ts +30 -16
  94. package/dist/foundation/release/index.js +16 -16
  95. package/dist/foundation/release/release.d.ts +1 -1
  96. package/dist/foundation/release/types.d.ts +11 -0
  97. package/dist/foundation/release/types.js +1 -0
  98. package/dist/foundation/release/update-transaction.d.ts +1 -1
  99. package/dist/foundation/release/update.d.ts +2 -1
  100. package/dist/foundation/release/update.js +3 -18
  101. package/dist/foundation/startup/index.d.ts +4 -2
  102. package/dist/foundation/startup/index.js +2 -2
  103. package/dist/foundation/startup/startup-descriptor.js +2 -2
  104. package/dist/foundation/storage/control-store.d.ts +1 -45
  105. package/dist/foundation/storage/control-store.js +54 -277
  106. package/dist/foundation/storage/index.d.ts +1 -1
  107. package/dist/foundation/storage/index.js +1 -1
  108. package/dist/foundation/supervision/index.d.ts +2 -2
  109. package/dist/foundation/supervision/index.js +2 -2
  110. package/dist/foundation/supervision/server.d.ts +5 -10
  111. package/dist/foundation/supervision/server.js +7 -7
  112. package/dist/foundation/terminal-cleanup/index.d.ts +3 -2
  113. package/dist/foundation/terminal-cleanup/index.js +2 -2
  114. package/dist/integrations/pi/components/editor-interaction.d.ts +1 -1
  115. package/dist/integrations/pi/components/history-editor-loader.d.ts +1 -1
  116. package/dist/integrations/pi/components/index.d.ts +20 -13
  117. package/dist/integrations/pi/components/index.js +12 -13
  118. package/dist/integrations/pi/components/owned-editor-ux.js +5 -8
  119. package/dist/integrations/pi/components/resources/builtin-themes.d.ts +7 -5
  120. package/dist/integrations/pi/components/resources/builtin-themes.js +7 -5
  121. package/dist/integrations/pi/components/shell-editor-autocomplete.js +1 -1
  122. package/dist/integrations/pi/components/shell-extension-ui.js +2 -1
  123. package/dist/integrations/pi/components/shell-footer-status.js +1 -1
  124. package/dist/integrations/pi/components/shell-presenters-info.d.ts +1 -1
  125. package/dist/integrations/pi/components/shell-presenters-info.js +1 -1
  126. package/dist/integrations/pi/components/shell-presenters-transcript.js +1 -1
  127. package/dist/integrations/pi/components/shell-selectors-dialogs.d.ts +9 -3
  128. package/dist/integrations/pi/components/shell-selectors-dialogs.js +9 -6
  129. package/dist/integrations/pi/components/shell-shared-facade.d.ts +3 -1
  130. package/dist/integrations/pi/components/shell-shared-facade.js +4 -2
  131. package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +1 -1
  132. package/dist/integrations/pi/components/submitted-prompt-adapter.js +1 -1
  133. package/dist/integrations/pi/components/tool-image-presentation.d.ts +1 -1
  134. package/dist/integrations/pi/components/tool-image-presentation.js +4 -7
  135. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +36 -22
  136. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +43 -7
  137. package/dist/integrations/pi/components/upstream/assets/earendil-image.json +2 -2
  138. package/dist/integrations/pi/components/upstream/components/countdown-timer.d.ts +6 -3
  139. package/dist/integrations/pi/components/upstream/components/daxnuts.d.ts +8 -1
  140. package/dist/integrations/pi/components/upstream/components/daxnuts.js +7 -3
  141. package/dist/integrations/pi/components/upstream/components/earendil-announcement.d.ts +1 -1
  142. package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +10 -4
  143. package/dist/integrations/pi/components/upstream/components/extension-editor.d.ts +7 -4
  144. package/dist/integrations/pi/components/upstream/components/extension-editor.js +7 -4
  145. package/dist/integrations/pi/components/upstream/components/mermaid.js +8 -4
  146. package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +9 -5
  147. package/dist/integrations/pi/components/upstream/components/owned-editor.js +10 -6
  148. package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +8 -4
  149. package/dist/integrations/pi/components/upstream/components/scoped-models-selector.js +27 -25
  150. package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +1 -1
  151. package/dist/integrations/pi/components/upstream/components/session-footer.js +8 -10
  152. package/dist/integrations/pi/components/upstream/components/session-selector-search.js +6 -4
  153. package/dist/integrations/pi/components/upstream/components/session-selector.d.ts +1 -1
  154. package/dist/integrations/pi/components/upstream/components/session-selector.js +8 -4
  155. package/dist/integrations/pi/components/upstream/components/skill-invocation-message.d.ts +7 -5
  156. package/dist/integrations/pi/components/upstream/components/skill-invocation-message.js +8 -6
  157. package/dist/integrations/pi/components/upstream/components/status-indicator.d.ts +9 -4
  158. package/dist/integrations/pi/components/upstream/components/status-indicator.js +15 -5
  159. package/dist/integrations/pi/components/upstream/components/tool-execution.d.ts +8 -2
  160. package/dist/integrations/pi/components/upstream/components/tool-execution.js +58 -37
  161. package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +7 -4
  162. package/dist/integrations/pi/components/upstream/components/tree-selector.js +7 -4
  163. package/dist/integrations/pi/components/upstream/components/trust-selector.d.ts +1 -1
  164. package/dist/integrations/pi/components/upstream/components/trust-selector.js +10 -5
  165. package/dist/integrations/pi/components/upstream/external-editor.js +8 -4
  166. package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +13 -4
  167. package/dist/integrations/pi/components/upstream/history/editor-core.js +112 -30
  168. package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +6 -3
  169. package/dist/integrations/pi/components/upstream/history/kill-ring.js +6 -3
  170. package/dist/integrations/pi/components/upstream/history/printable-key.js +7 -4
  171. package/dist/integrations/pi/components/upstream/history/text-helpers.js +6 -3
  172. package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +6 -3
  173. package/dist/integrations/pi/components/upstream/history/undo-stack.js +6 -3
  174. package/dist/integrations/pi/components/upstream/history/word-navigation.js +6 -3
  175. package/dist/integrations/pi/components/upstream/model-search.d.ts +5 -2
  176. package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +8 -0
  177. package/dist/integrations/pi/components/upstream/theme/theme-controller.js +0 -3
  178. package/dist/integrations/pi/components/upstream/theme/theme.d.ts +2 -2
  179. package/dist/integrations/pi/components/upstream/theme/theme.js +17 -6
  180. package/dist/integrations/pi/engine/adapter.d.ts +39 -138
  181. package/dist/integrations/pi/engine/adapter.js +338 -3226
  182. package/dist/integrations/pi/engine/command-dispatch.d.ts +41 -0
  183. package/dist/integrations/pi/engine/command-dispatch.js +125 -0
  184. package/dist/integrations/pi/engine/event-delivery.d.ts +100 -0
  185. package/dist/integrations/pi/engine/event-delivery.js +184 -0
  186. package/dist/integrations/pi/engine/extension-ui-binding.d.ts +35 -0
  187. package/dist/integrations/pi/engine/extension-ui-binding.js +81 -0
  188. package/dist/integrations/pi/engine/index.d.ts +18 -14
  189. package/dist/integrations/pi/engine/index.js +10 -14
  190. package/dist/integrations/pi/engine/message-values.d.ts +29 -0
  191. package/dist/integrations/pi/engine/message-values.js +168 -0
  192. package/dist/integrations/pi/engine/pending-delivery.d.ts +2 -2
  193. package/dist/integrations/pi/engine/pending-delivery.js +2 -4
  194. package/dist/integrations/pi/engine/pi-settings-metadata.json +382 -371
  195. package/dist/integrations/pi/engine/prompt-suggestions.d.ts +30 -0
  196. package/dist/integrations/pi/engine/prompt-suggestions.js +102 -0
  197. package/dist/integrations/pi/engine/provider-authentication.d.ts +34 -0
  198. package/dist/integrations/pi/engine/provider-authentication.js +209 -0
  199. package/dist/integrations/pi/engine/resource-catalog.d.ts +49 -0
  200. package/dist/integrations/pi/engine/resource-catalog.js +289 -0
  201. package/dist/integrations/pi/engine/resources/changelog.json +4 -4
  202. package/dist/integrations/pi/engine/session-events.d.ts +48 -0
  203. package/dist/integrations/pi/engine/session-events.js +223 -0
  204. package/dist/integrations/pi/engine/session-integration.js +2 -4
  205. package/dist/integrations/pi/engine/session-runtime.d.ts +84 -0
  206. package/dist/integrations/pi/engine/session-runtime.js +249 -0
  207. package/dist/integrations/pi/engine/{settings-effects.d.ts → settings-bridge.d.ts} +57 -2
  208. package/dist/integrations/pi/engine/settings-bridge.js +514 -0
  209. package/dist/integrations/pi/engine/settings-metadata.d.ts +31 -0
  210. package/dist/integrations/pi/engine/settings-metadata.js +67 -0
  211. package/dist/integrations/pi/engine/settings-port.d.ts +42 -0
  212. package/dist/integrations/pi/engine/settings-port.js +353 -0
  213. package/dist/integrations/pi/engine/transcript-projection.d.ts +39 -0
  214. package/dist/integrations/pi/engine/transcript-projection.js +405 -0
  215. package/dist/integrations/pi/engine/usage-view.d.ts +4 -0
  216. package/dist/integrations/pi/engine/usage-view.js +56 -0
  217. package/dist/integrations/pi/engine/workflow-contexts.d.ts +59 -0
  218. package/dist/integrations/pi/engine/workflow-contexts.js +316 -0
  219. package/dist/integrations/pi/engine/workflow-runner.d.ts +60 -0
  220. package/dist/integrations/pi/engine/workflow-runner.js +509 -0
  221. package/dist/integrations/pi/engine/workflow-support.d.ts +33 -0
  222. package/dist/integrations/pi/engine/workflow-support.js +352 -0
  223. package/dist/integrations/pi/engine/workflows.d.ts +63 -2
  224. package/dist/integrations/pi/engine/workflows.js +5 -2
  225. package/dist/integrations/pi/startup-public.js +576 -554
  226. package/dist/integrations/pi/startup-public.manifest.json +1730 -984
  227. package/dist/integrations/pi/tui-runtime/adapter.js +10 -13
  228. package/dist/integrations/pi/tui-runtime/contracts.d.ts +11 -1
  229. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +1 -1
  230. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +4 -7
  231. package/dist/integrations/pi/tui-runtime/index.d.ts +8 -6
  232. package/dist/integrations/pi/tui-runtime/index.js +4 -6
  233. package/dist/integrations/pi/tui-runtime/mouse-report-input.js +2 -4
  234. package/dist/integrations/pi/tui-runtime/overlay-geometry.d.ts +2 -2
  235. package/dist/integrations/pi/tui-runtime/overlay-geometry.js +4 -5
  236. package/dist/integrations/pi/tui-runtime/presentation-adapter.js +1 -1
  237. package/dist/native/darwin-arm64/manifest.json +1 -1
  238. package/dist/native/linux-x64/manifest.json +1 -1
  239. package/dist/native/win32-x64/manifest.json +2 -2
  240. package/dist/native/win32-x64/process-guardian.exe +0 -0
  241. package/dist/runtime-payload-inventory.json +51320 -46509
  242. package/dist/ui/apps/index.d.ts +5 -3
  243. package/dist/ui/apps/index.js +3 -3
  244. package/dist/ui/components/index.d.ts +47 -25
  245. package/dist/ui/components/index.js +25 -25
  246. package/dist/ui/components/prompt-input.js +1 -4
  247. package/dist/ui/settings/declarations.d.ts +119 -0
  248. package/dist/ui/settings/declarations.js +20 -11
  249. package/dist/ui/settings/index.d.ts +10 -6
  250. package/dist/ui/settings/index.js +5 -6
  251. package/dist/ui/settings/manager.d.ts +54 -0
  252. package/dist/ui/settings/{session.js → manager.js} +101 -9
  253. package/dist/ui/settings/sections.d.ts +2 -7
  254. package/docs/architecture/boundaries.md +4 -4
  255. package/docs/architecture/history-editor-provenance.md +1 -1
  256. package/docs/architecture/project-structure.md +6 -6
  257. package/docs/architecture/prompt-suggestions.md +1 -1
  258. package/docs/architecture/terminal-host-proof-gate.md +1 -1
  259. package/docs/architecture/terminal-host-spike-evidence.md +1 -1
  260. package/docs/architecture/toolchain.md +8 -0
  261. package/docs/architecture/ui-reference-provenance.md +4 -4
  262. package/docs/ci-release-runbook.md +7 -1
  263. package/docs/features/modal-content-interaction.md +2 -2
  264. package/docs/local-worktree-cleanup.md +4 -2
  265. package/docs/validation.md +6 -4
  266. package/package.json +7 -11
  267. package/bin/pi-tui.d.ts +0 -6
  268. package/bin/pi-tui.js +0 -28
  269. package/bin/sync-pi-tui-proxy.js +0 -97
  270. package/dist/cli/version.d.ts +0 -2
  271. package/dist/cli/version.js +0 -23
  272. package/dist/composition/agent-engine-bridge.d.ts +0 -3
  273. package/dist/composition/agent-engine-bridge.js +0 -108
  274. package/dist/composition/process.d.ts +0 -16
  275. package/dist/composition/process.js +0 -45
  276. package/dist/contracts/workspace/index.d.ts +0 -2
  277. package/dist/contracts/workspace/index.js +0 -2
  278. package/dist/contracts/workspace/model.d.ts +0 -248
  279. package/dist/contracts/workspace/model.js +0 -2
  280. package/dist/contracts/workspace/validation.d.ts +0 -13
  281. package/dist/contracts/workspace/validation.js +0 -335
  282. package/dist/features/owned-ui/customization.d.ts +0 -40
  283. package/dist/features/owned-ui/customization.js +0 -110
  284. package/dist/features/owned-ui/diagnostics.d.ts +0 -34
  285. package/dist/features/owned-ui/diagnostics.js +0 -95
  286. package/dist/features/workspace/capabilities.d.ts +0 -31
  287. package/dist/features/workspace/capabilities.js +0 -75
  288. package/dist/features/workspace/index.d.ts +0 -6
  289. package/dist/features/workspace/index.js +0 -6
  290. package/dist/features/workspace/presentation.d.ts +0 -30
  291. package/dist/features/workspace/presentation.js +0 -70
  292. package/dist/features/workspace/reconciliation.d.ts +0 -15
  293. package/dist/features/workspace/reconciliation.js +0 -82
  294. package/dist/features/workspace/reducer.d.ts +0 -43
  295. package/dist/features/workspace/reducer.js +0 -214
  296. package/dist/features/workspace/router.d.ts +0 -32
  297. package/dist/features/workspace/router.js +0 -125
  298. package/dist/features/workspace/store.d.ts +0 -18
  299. package/dist/features/workspace/store.js +0 -55
  300. package/dist/foundation/native-host-protocol/codec.d.ts +0 -13
  301. package/dist/foundation/native-host-protocol/codec.js +0 -58
  302. package/dist/foundation/native-host-protocol/evidence.d.ts +0 -67
  303. package/dist/foundation/native-host-protocol/evidence.js +0 -141
  304. package/dist/foundation/native-host-protocol/index.d.ts +0 -4
  305. package/dist/foundation/native-host-protocol/index.js +0 -4
  306. package/dist/foundation/native-host-protocol/messages.d.ts +0 -56
  307. package/dist/foundation/native-host-protocol/messages.js +0 -149
  308. package/dist/foundation/native-host-protocol/proof-gate.d.ts +0 -13
  309. package/dist/foundation/native-host-protocol/proof-gate.js +0 -33
  310. package/dist/foundation/structured-agent-runtime/backpressure.d.ts +0 -47
  311. package/dist/foundation/structured-agent-runtime/backpressure.js +0 -119
  312. package/dist/foundation/structured-agent-runtime/commands.d.ts +0 -53
  313. package/dist/foundation/structured-agent-runtime/commands.js +0 -165
  314. package/dist/foundation/structured-agent-runtime/handshake.d.ts +0 -41
  315. package/dist/foundation/structured-agent-runtime/handshake.js +0 -151
  316. package/dist/foundation/structured-agent-runtime/index.d.ts +0 -5
  317. package/dist/foundation/structured-agent-runtime/index.js +0 -5
  318. package/dist/foundation/structured-agent-runtime/reconnection.d.ts +0 -38
  319. package/dist/foundation/structured-agent-runtime/reconnection.js +0 -130
  320. package/dist/foundation/structured-agent-runtime/state.d.ts +0 -57
  321. package/dist/foundation/structured-agent-runtime/state.js +0 -119
  322. package/dist/integrations/pi/components/upstream/components/custom-entry.d.ts +0 -17
  323. package/dist/integrations/pi/components/upstream/components/custom-entry.js +0 -51
  324. package/dist/integrations/pi/components/upstream/components/first-time-setup.d.ts +0 -24
  325. package/dist/integrations/pi/components/upstream/components/first-time-setup.js +0 -105
  326. package/dist/integrations/pi/components/upstream/components/markdown-transform.d.ts +0 -2
  327. package/dist/integrations/pi/components/upstream/components/markdown-transform.js +0 -18
  328. package/dist/integrations/pi/engine/model-auth-integration.d.ts +0 -31
  329. package/dist/integrations/pi/engine/model-auth-integration.js +0 -62
  330. package/dist/integrations/pi/engine/resource-extension-integration.d.ts +0 -32
  331. package/dist/integrations/pi/engine/resource-extension-integration.js +0 -81
  332. package/dist/integrations/pi/engine/settings-effects.js +0 -249
  333. package/dist/integrations/pi/engine/settings-integration.d.ts +0 -43
  334. package/dist/integrations/pi/engine/settings-integration.js +0 -227
  335. package/dist/integrations/pi/engine/workflow-controllers.d.ts +0 -21
  336. package/dist/integrations/pi/engine/workflow-controllers.js +0 -49
  337. package/dist/integrations/pi/session-ui/index.d.ts +0 -5
  338. package/dist/integrations/pi/session-ui/index.js +0 -5
  339. package/dist/integrations/pi/session-ui/paste-executor.d.ts +0 -10
  340. package/dist/integrations/pi/session-ui/paste-preparation-client.d.ts +0 -16
  341. package/dist/integrations/pi/session-ui/route-host.d.ts +0 -5
  342. package/dist/integrations/pi/tui-runtime/conformance.d.ts +0 -18
  343. package/dist/integrations/pi/tui-runtime/conformance.js +0 -145
  344. package/dist/ui/components/prompt-row.d.ts +0 -14
  345. package/dist/ui/components/prompt-row.js +0 -20
  346. package/dist/ui/settings/session.d.ts +0 -36
  347. package/dist/ui/settings/store.d.ts +0 -29
  348. package/dist/ui/settings/store.js +0 -91
  349. package/dist/{integrations/pi/session-ui → app/session-shell}/clipboard-diagnostics.js +2 -2
  350. package/dist/{integrations/pi/session-ui → app/session-shell}/clipboard-image.d.ts +0 -0
  351. package/dist/{integrations/pi/session-ui → app/session-shell}/editor-hyperlink-budget.d.ts +0 -0
  352. package/dist/{integrations/pi/session-ui → app/session-shell}/editor-hyperlink-budget.js +0 -0
  353. package/dist/{integrations/pi/session-ui → app/session-shell}/image-preparation.d.ts +0 -0
  354. package/dist/{integrations/pi/session-ui → app/session-shell}/image-source.d.ts +0 -0
  355. package/dist/{integrations/pi/session-ui → app/session-shell}/image-worker.d.ts +0 -0
  356. package/dist/{integrations/pi/session-ui → app/session-shell}/paste-helper.d.ts +0 -0
  357. package/dist/{integrations/pi/session-ui → app/session-shell}/paste-text-preparation.js +0 -0
  358. package/dist/{integrations/pi/session-ui → app/session-shell}/paste-text-worker.d.ts +0 -0
  359. package/dist/{integrations/pi/session-ui → app/session-shell}/paste-text-worker.js +0 -0
  360. package/dist/{integrations/pi/session-ui/response-copy-helper.d.ts → app/session-shell/paste-types.js} +0 -0
  361. package/dist/{integrations/pi/session-ui → app/session-shell}/path-chip-presentation.js +0 -0
  362. package/dist/{integrations/pi/session-ui → app/session-shell}/quit-outro-effects.d.ts +0 -0
  363. package/dist/{integrations/pi/session-ui → app/session-shell}/quit-outro-effects.js +0 -0
  364. package/dist/{integrations/pi/session-ui → app/session-shell}/quit-outro.d.ts +0 -0
  365. package/dist/{integrations/pi/session-ui/route-host.js → app/session-shell/response-copy-helper.d.ts} +0 -0
  366. package/dist/{integrations/pi/session-ui → app/session-shell}/response-copy-protocol.js +0 -0
  367. package/dist/{integrations/pi/session-ui → app/session-shell}/stream-presentation-coalescer.d.ts +0 -0
  368. package/dist/{integrations/pi/session-ui → app/session-shell}/stream-presentation-coalescer.js +3 -3
  369. /package/dist/{integrations/pi/session-ui → app/session-shell}/text-paste.d.ts +0 -0
  370. /package/dist/{integrations/pi/session-ui → app/session-shell}/text-paste.js +0 -0
@@ -7,10 +7,9 @@ import { resolvePromptHistoryDataDir } from "../features/launch/profile-paths.js
7
7
  import { resolveProductPaths } from "../foundation/lifecycle/paths.js";
8
8
  import { applyConfiguredPiTheme, getAvailablePiThemes } from "../integrations/pi/components/upstream/theme/theme.js";
9
9
  import { createPiEngineAdapter } from "../integrations/pi/engine/adapter.js";
10
- import { ClipboardDiagnosticCapture } from "../integrations/pi/session-ui/clipboard-diagnostics.js";
11
- import { OwnedUiSessionShell } from "../integrations/pi/session-ui/session-shell.js";
12
- import { OwnedUiSettingsSession } from "../ui/settings/session.js";
13
- import { OwnedUiSettingsStore } from "../ui/settings/store.js";
10
+ import { ClipboardDiagnosticCapture } from "../app/session-shell/clipboard-diagnostics.js";
11
+ import { OwnedUiSessionShell } from "../app/session-shell/session-shell.js";
12
+ import { OwnedSettingsManager } from "../ui/settings/manager.js";
14
13
  import { createPiTerminalBridge } from "../integrations/pi/tui-runtime/presentation-adapter.js";
15
14
  import { createOwnedRouteHost } from "./settings-route-host.js";
16
15
  export async function composeOwnedUiApplication(options = {}) {
@@ -32,8 +31,9 @@ export async function composeOwnedUi(options = {}) {
32
31
  const ownedSurfaces = options.ownedSurfaces !== "off";
33
32
  const settings = options.profileId === undefined
34
33
  ? null
35
- : new OwnedUiSettingsSession({
36
- store: new OwnedUiSettingsStore({ configDir: resolveProductPaths().configDir, profileId: options.profileId }),
34
+ : new OwnedSettingsManager({
35
+ configDir: resolveProductPaths().configDir,
36
+ profileId: options.profileId,
37
37
  agentProvider: () => adapter.settingsPort(),
38
38
  });
39
39
  // Compatibility: bare A1 intentionally ships one visual target while its UI is being completed:
@@ -51,11 +51,11 @@ export async function composeOwnedUi(options = {}) {
51
51
  const promptSuggestions = settings === null || !ownedSurfaces ? null : {
52
52
  ...(suggestionDiagnostics === null ? {} : { diagnostics: suggestionDiagnostics }),
53
53
  generator: adapter,
54
- enabled: () => settings.value("promptSuggestions") !== false,
55
- onChange: (listener) => settings.onChange(() => listener(settings.value("promptSuggestions") !== false)),
54
+ enabled: () => settings.value("promptSuggestions"),
55
+ onChange: (listener) => settings.onChange(() => listener(settings.value("promptSuggestions"))),
56
56
  };
57
57
  const historyLimit = settings?.value("promptHistoryMaxItems");
58
- const historyProfileLocation = settings === null || !ownedSurfaces || settings.value("promptHistoryEnabled") === false
58
+ const historyProfileLocation = settings === null || !ownedSurfaces || !settings.value("promptHistoryEnabled")
59
59
  ? null
60
60
  : resolvePromptHistoryPath(resolvePromptHistoryDataDir(), adapter.agentDir);
61
61
  const promptHistory = historyProfileLocation === null ? null : {
@@ -73,22 +73,26 @@ export async function composeOwnedUi(options = {}) {
73
73
  let shell;
74
74
  try {
75
75
  shell = new OwnedUiSessionShell({
76
- backend: adapter,
77
- cwd: adapter.cwd,
78
- ...(options.terminal === undefined ? {} : { terminal: createPiTerminalBridge(options.terminal) }),
79
- ...(routeHost === null ? {} : { routeHost }),
80
- ...(ownedSurfaces ? { sessionLayout: "custom-viewport" } : {}),
81
- ...(clipboardDiagnostics === null ? {} : {
82
- responseCopy: { onEvent: event => clipboardDiagnostics.copy(event) },
83
- pasteDiagnostics: event => clipboardDiagnostics.paste(event),
84
- inputPresentation: { onEvent: event => clipboardDiagnostics.runtime(event) },
85
- }),
86
- ...(viewportSettings === null ? {} : { viewportSettings }),
87
- ...(settings === null || !ownedSurfaces ? {} : {
88
- quitOutro: { snapshot: () => quitOutroSettingsSnapshot(settings), interactive: process.stdout.isTTY === true },
89
- }),
90
- ...(promptSuggestions === null ? {} : { promptSuggestions }),
91
- ...(promptHistory === null ? {} : { promptHistory: {
76
+ engine: {
77
+ backend: adapter,
78
+ cwd: adapter.cwd,
79
+ ...(routeHost === null ? {} : { routeHost }),
80
+ ...(ownedSurfaces ? { sessionLayout: "custom-viewport" } : {}),
81
+ },
82
+ presentation: {
83
+ ...(options.terminal === undefined ? {} : { terminal: createPiTerminalBridge(options.terminal) }),
84
+ ...(clipboardDiagnostics === null ? {} : { input: { onEvent: event => clipboardDiagnostics.runtime(event) } }),
85
+ ...(viewportSettings === null ? {} : { viewportSettings }),
86
+ ...(settings === null || !ownedSurfaces ? {} : {
87
+ quitOutro: { snapshot: () => quitOutroSettingsSnapshot(settings), interactive: process.stdout.isTTY === true },
88
+ }),
89
+ },
90
+ ...(clipboardDiagnostics === null ? {} : { diagnostics: {
91
+ responseCopy: { onEvent: event => clipboardDiagnostics.copy(event) },
92
+ paste: event => clipboardDiagnostics.paste(event),
93
+ } }),
94
+ ...(promptSuggestions === null ? {} : { suggestions: promptSuggestions }),
95
+ ...(promptHistory === null ? {} : { history: {
92
96
  ...promptHistory,
93
97
  editor: await import("../integrations/pi/components/history-editor-loader.js").then(module => module.loadHistoryEditor()),
94
98
  } }),
@@ -117,21 +121,16 @@ export async function composeOwnedUi(options = {}) {
117
121
  return { application, settings };
118
122
  }
119
123
  function quitOutroSettingsSnapshot(settings) {
120
- const effect = settings.value("quitEffect");
121
- const durationMs = settings.value("quitEffectDurationMs");
122
124
  return {
123
- enabled: settings.value("quitAnimation") !== false,
124
- effect: effect === "dissolve" || effect === "starburst" || effect === "waves" ? effect : "fall",
125
- durationMs: typeof durationMs === "number" ? durationMs : 800,
125
+ enabled: settings.value("quitAnimation"),
126
+ effect: settings.value("quitEffect"),
127
+ durationMs: settings.value("quitEffectDurationMs"),
126
128
  };
127
129
  }
128
130
  function viewportSettingsSnapshot(settings) {
129
- const appearance = settings.value("scrollbarAppearance");
130
- const style = settings.value("scrollbarStyle");
131
- const speed = settings.value("scrollbarSpeed");
132
131
  return {
133
- scrollbarAppearance: appearance === "always" || appearance === "hidden" ? appearance : "auto",
134
- scrollbarStyle: style === "thick" ? "thick" : "thin",
135
- scrollbarSpeed: speed === "high" ? "high" : speed === "fast" ? "fast" : "normal",
132
+ scrollbarAppearance: settings.value("scrollbarAppearance"),
133
+ scrollbarStyle: settings.value("scrollbarStyle"),
134
+ scrollbarSpeed: settings.value("scrollbarSpeed"),
136
135
  };
137
136
  }
@@ -1,7 +1,7 @@
1
- import type { OwnedUiSettingsSession } from "../ui/settings/session.js";
1
+ import type { OwnedSettingsManager } from "../ui/settings/manager.js";
2
2
  import type { UiRouteHost } from "../ui/apps/contracts.js";
3
3
  /**
4
4
  * Declares the A1-owned settings route without evaluating its presentation graph
5
5
  * during startup. Opening the route retains input while the optional module loads.
6
6
  */
7
- export declare function createOwnedRouteHost(settings: OwnedUiSettingsSession): UiRouteHost;
7
+ export declare function createOwnedRouteHost(settings: OwnedSettingsManager): UiRouteHost;
@@ -95,7 +95,12 @@ export interface AgentSettingFlag {
95
95
  readonly label: string;
96
96
  readonly description: string;
97
97
  /** Value to show when the stored object says nothing about this flag. */
98
- readonly fallback: boolean;
98
+ readonly fallback: boolean | string;
99
+ /**
100
+ * The values a keyed part may take, when it is a choice rather than a toggle. The first
101
+ * choice equal to `fallback` means "unset": writing it removes the key from the record.
102
+ */
103
+ readonly choices?: readonly string[];
99
104
  }
100
105
  export interface AgentResourceDescriptor {
101
106
  readonly id: string;
@@ -1,8 +1,11 @@
1
- export * from "./capability-ports.js";
2
- export * from "./domain.js";
3
- export * from "./domain-validation.js";
4
- export * from "./model.js";
5
- export * from "./package-ports.js";
6
- export * from "./ports.js";
7
- export * from "./validation.js";
8
- export * from "./serialization.js";
1
+ export { assertAgentServicePorts } from "./capability-ports.js";
2
+ export type { AgentAuthenticationPort, AgentExtensionBinding, AgentExtensionCommand, AgentExtensionFailure, AgentExtensionPort, AgentModelPort, AgentResourcesPort, AgentServicePorts, AgentSessionMetadata, AgentSettingsPort, AgentWorkflowDescriptor, AgentWorkflowPort, } from "./capability-ports.js";
3
+ export type { AgentDomainCapabilities, AgentFailure, AgentFailureCategory, AgentJsonValue, AgentMessage, AgentMessageContent, AgentModelDescriptor, AgentResourceDescriptor, AgentSettingApplicationBoundary, AgentSettingChangeOutcome, AgentSettingDescriptor, AgentSettingFlag, AgentSettingOwner, AgentThemeDescriptor, AgentToolDescriptor, AgentUiContribution, AgentUsage, } from "./domain.js";
4
+ export { assertAgentDomainCapabilities, assertAgentFailure, assertAgentMessage, assertAgentMessageContent, assertAgentModelDescriptor, assertAgentResourceDescriptor, assertAgentSettingDescriptor, assertAgentThemeDescriptor, assertAgentToolDescriptor, assertAgentUiContribution, assertAgentUsage, } from "./domain-validation.js";
5
+ export { AGENT_ENGINE_CONTRACT_VERSION } from "./model.js";
6
+ export type { AgentCapabilityContract, AgentCommand, AgentCommandCapability, AgentCommandId, AgentCommandOutcome, AgentEvent, AgentEventCapability, AgentEventSequence, AgentSessionId, AgentSessionLifecycle, AgentSnapshot, } from "./model.js";
7
+ export { agentPackageOutcome, assertAgentPackagesPort } from "./package-ports.js";
8
+ export type { AgentPackageDescriptor, AgentPackageDiagnostic, AgentPackageOperation, AgentPackageOutcome, AgentPackageProgress, AgentPackageStatus, AgentPackagesPort, AgentPackagesPortInput, } from "./package-ports.js";
9
+ export type { AgentEnginePort, AgentSessionPort } from "./ports.js";
10
+ export { assertAgentCapabilityContract, assertAgentCommand, assertAgentEvent, assertAgentSnapshot } from "./validation.js";
11
+ export { decodeAgentCommand, decodeAgentEvent, decodeAgentSnapshot, encodeAgentCommand, encodeAgentEvent, encodeAgentSnapshot } from "./serialization.js";
@@ -1,8 +1,6 @@
1
- export * from "./capability-ports.js";
2
- export * from "./domain.js";
3
- export * from "./domain-validation.js";
4
- export * from "./model.js";
5
- export * from "./package-ports.js";
6
- export * from "./ports.js";
7
- export * from "./validation.js";
8
- export * from "./serialization.js";
1
+ export { assertAgentServicePorts } from "./capability-ports.js";
2
+ export { assertAgentDomainCapabilities, assertAgentFailure, assertAgentMessage, assertAgentMessageContent, assertAgentModelDescriptor, assertAgentResourceDescriptor, assertAgentSettingDescriptor, assertAgentThemeDescriptor, assertAgentToolDescriptor, assertAgentUiContribution, assertAgentUsage, } from "./domain-validation.js";
3
+ export { AGENT_ENGINE_CONTRACT_VERSION } from "./model.js";
4
+ export { agentPackageOutcome, assertAgentPackagesPort } from "./package-ports.js";
5
+ export { assertAgentCapabilityContract, assertAgentCommand, assertAgentEvent, assertAgentSnapshot } from "./validation.js";
6
+ export { decodeAgentCommand, decodeAgentEvent, decodeAgentSnapshot, encodeAgentCommand, encodeAgentEvent, encodeAgentSnapshot } from "./serialization.js";
@@ -180,6 +180,14 @@ export interface OwnedUiExtensionOverlayHandle {
180
180
  readonly target: OwnedUiExtensionComponent | null;
181
181
  }): void;
182
182
  isFocused(): boolean;
183
+ /** The most recently rendered terminal-relative rectangle of a visible overlay. */
184
+ getBounds(): OwnedUiExtensionOverlayBounds | undefined;
185
+ }
186
+ export interface OwnedUiExtensionOverlayBounds {
187
+ readonly row: number;
188
+ readonly col: number;
189
+ readonly width: number;
190
+ readonly height: number;
183
191
  }
184
192
  export interface OwnedUiExtensionCustomOptions {
185
193
  readonly overlay?: boolean;
@@ -1,8 +1,12 @@
1
- export * from "./extension-ui.js";
2
- export * from "./model.js";
3
- export * from "./transcript-lifecycle.js";
4
- export * from "./image-attachments.js";
5
- export * from "./prompt-suggestions.js";
6
- export * from "./suggestion-diagnostics.js";
7
- export * from "./prompt-history.js";
8
- export * from "./validation.js";
1
+ export { OWNED_UI_EXTENSION_CONTRACT_VERSION, OWNED_UI_EXTENSION_RENDER_CALLBACKS, OWNED_UI_EXTENSION_UI_CALLBACKS, OWNED_UI_EXTENSION_UI_PROPERTIES, assertOwnedUiExtensionUiPort, } from "./extension-ui.js";
2
+ export type { OwnedUiExtensionAutocompleteItem, OwnedUiExtensionAutocompleteProvider, OwnedUiExtensionAutocompleteProviderFactory, OwnedUiExtensionAutocompleteSuggestions, OwnedUiExtensionComponent, OwnedUiExtensionComponentFactory, OwnedUiExtensionComponentFactoryContext, OwnedUiExtensionCustomFactory, OwnedUiExtensionCustomOptions, OwnedUiExtensionDialogOptions, OwnedUiExtensionEditorComponent, OwnedUiExtensionEditorFactory, OwnedUiExtensionEditorThemePort, OwnedUiExtensionEntryRenderInput, OwnedUiExtensionFooterDataPort, OwnedUiExtensionFooterFactory, OwnedUiExtensionInputListener, OwnedUiExtensionKeybindingsPort, OwnedUiExtensionMessageRenderInput, OwnedUiExtensionNotificationSeverity, OwnedUiExtensionOverlayAnchor, OwnedUiExtensionOverlayHandle, OwnedUiExtensionOverlayMargin, OwnedUiExtensionOverlayOptions, OwnedUiExtensionRenderCallback, OwnedUiExtensionRendererPort, OwnedUiExtensionRuntimePort, OwnedUiExtensionSelectListThemePort, OwnedUiExtensionSizeValue, OwnedUiExtensionTerminalPort, OwnedUiExtensionThemeBackground, OwnedUiExtensionThemeColor, OwnedUiExtensionThemeInfo, OwnedUiExtensionThemePort, OwnedUiExtensionToolRenderContext, OwnedUiExtensionUiCallback, OwnedUiExtensionUiPort, OwnedUiExtensionUiProperty, OwnedUiExtensionWidgetOptions, OwnedUiExtensionWidgetPlacement, OwnedUiExtensionWorkingIndicatorOptions, } from "./extension-ui.js";
3
+ export { OWNED_UI_CONTRACT_VERSION } from "./model.js";
4
+ export type { OwnedUiBlockStatus, OwnedUiCommand, OwnedUiCommandOutcome, OwnedUiCorrelationId, OwnedUiCustomization, OwnedUiDiagnostics, OwnedUiDialog, OwnedUiEditorState, OwnedUiEntityId, OwnedUiEvent, OwnedUiFooterView, OwnedUiImageAttachment, OwnedUiLifecycle, OwnedUiModelInfo, OwnedUiOverlay, OwnedUiPromptSuggestionGeneratorPort, OwnedUiPromptSuggestionIdentity, OwnedUiPromptSuggestionReasoning, OwnedUiPromptSuggestionRequest, OwnedUiPromptSuggestionResult, OwnedUiPromptSuggestionState, OwnedUiQuitEffect, OwnedUiQuitOutroSettings, OwnedUiQuitOutroSettingsPort, OwnedUiSessionId, OwnedUiSessionViewModel, OwnedUiSeverity, OwnedUiSlotId, OwnedUiSnapshot, OwnedUiStatusView, OwnedUiTerminalSurface, OwnedUiThinkingLevel, OwnedUiToolRendering, OwnedUiToolResultPart, OwnedUiToolState, OwnedUiTranscriptBlock, OwnedUiTranscriptBlockKind, OwnedUiTranscriptImageReference, OwnedUiUsageView, OwnedUiViewportSettings, OwnedUiViewportSettingsPort, } from "./model.js";
5
+ export { acceptsTranscriptUpdate, transcriptToolState } from "./transcript-lifecycle.js";
6
+ export { ImageAttachmentError, MAX_CLIPBOARD_TEXT_BYTES, MAX_IMAGE_DATA_BYTES, MAX_PROMPT_IMAGES, assertImageEncodedSize, assertPromptImages, } from "./image-attachments.js";
7
+ export { CONTEXTUAL_PROMPT_SUGGESTION_INSTRUCTION, normalizePromptSuggestionCandidate } from "./prompt-suggestions.js";
8
+ export { SUGGESTION_DECISION_REASONS, SUGGESTION_DIAGNOSTIC_EVENTS } from "./suggestion-diagnostics.js";
9
+ export type { SuggestionDecision, SuggestionDecisionReason, SuggestionDiagnosticEvent, SuggestionDiagnosticObserver, SuggestionDiagnosticRecord, } from "./suggestion-diagnostics.js";
10
+ export { PROMPT_HISTORY_EDITOR_REPLACEMENT, PROMPT_HISTORY_MAX_ENTRY_BYTES, PROMPT_HISTORY_MAX_PENDING, PROMPT_HISTORY_MAX_TEXT_BYTES, assertPromptHistorySubmission, } from "./prompt-history.js";
11
+ export type { PromptHistoryFailure, PromptHistoryImageSidecarAttachment, PromptHistoryImageSidecarPort, PromptHistoryImageSidecarRecord, PromptHistoryKind, PromptHistoryPort, PromptHistoryResult, PromptHistorySnapshot, PromptHistorySubmission, } from "./prompt-history.js";
12
+ export { assertOwnedUiCommand, assertOwnedUiCustomization, assertOwnedUiDiagnostics, assertOwnedUiEditorState, assertOwnedUiEvent, assertOwnedUiPromptSuggestionIdentity, assertOwnedUiPromptSuggestionRequest, assertOwnedUiPromptSuggestionResult, assertOwnedUiPromptSuggestionState, assertOwnedUiSessionViewModel, assertOwnedUiSnapshot, assertOwnedUiStatusView, assertOwnedUiTerminalSurface, assertOwnedUiTranscriptBlock, } from "./validation.js";
@@ -1,8 +1,8 @@
1
- export * from "./extension-ui.js";
2
- export * from "./model.js";
3
- export * from "./transcript-lifecycle.js";
4
- export * from "./image-attachments.js";
5
- export * from "./prompt-suggestions.js";
6
- export * from "./suggestion-diagnostics.js";
7
- export * from "./prompt-history.js";
8
- export * from "./validation.js";
1
+ export { OWNED_UI_EXTENSION_CONTRACT_VERSION, OWNED_UI_EXTENSION_RENDER_CALLBACKS, OWNED_UI_EXTENSION_UI_CALLBACKS, OWNED_UI_EXTENSION_UI_PROPERTIES, assertOwnedUiExtensionUiPort, } from "./extension-ui.js";
2
+ export { OWNED_UI_CONTRACT_VERSION } from "./model.js";
3
+ export { acceptsTranscriptUpdate, transcriptToolState } from "./transcript-lifecycle.js";
4
+ export { ImageAttachmentError, MAX_CLIPBOARD_TEXT_BYTES, MAX_IMAGE_DATA_BYTES, MAX_PROMPT_IMAGES, assertImageEncodedSize, assertPromptImages, } from "./image-attachments.js";
5
+ export { CONTEXTUAL_PROMPT_SUGGESTION_INSTRUCTION, normalizePromptSuggestionCandidate } from "./prompt-suggestions.js";
6
+ export { SUGGESTION_DECISION_REASONS, SUGGESTION_DIAGNOSTIC_EVENTS } from "./suggestion-diagnostics.js";
7
+ export { PROMPT_HISTORY_EDITOR_REPLACEMENT, PROMPT_HISTORY_MAX_ENTRY_BYTES, PROMPT_HISTORY_MAX_PENDING, PROMPT_HISTORY_MAX_TEXT_BYTES, assertPromptHistorySubmission, } from "./prompt-history.js";
8
+ export { assertOwnedUiCommand, assertOwnedUiCustomization, assertOwnedUiDiagnostics, assertOwnedUiEditorState, assertOwnedUiEvent, assertOwnedUiPromptSuggestionIdentity, assertOwnedUiPromptSuggestionRequest, assertOwnedUiPromptSuggestionResult, assertOwnedUiPromptSuggestionState, assertOwnedUiSessionViewModel, assertOwnedUiSnapshot, assertOwnedUiStatusView, assertOwnedUiTerminalSurface, assertOwnedUiTranscriptBlock, } from "./validation.js";
@@ -1,6 +1,12 @@
1
- export * from "./development-launch.js";
2
- export * from "./initialize-profile.js";
3
- export * from "./intent.js";
4
- export * from "./profile-paths.js";
5
- export * from "./prepare-launch.js";
6
- export * from "./runtime-selection.js";
1
+ export { resolveDevelopmentLaunchEnvironment } from "./development-launch.js";
2
+ export type { DevelopmentLaunchEnvironment } from "./development-launch.js";
3
+ export { PI_PROFILE_RESOURCE_DIRECTORIES, initializeProductProfile } from "./initialize-profile.js";
4
+ export type { InitializedProfile } from "./initialize-profile.js";
5
+ export { interactiveLaunchIntent, parseSessionSelection } from "./intent.js";
6
+ export type { InteractiveLaunchIntent, LaunchIntent, LaunchProfileId, SessionSelection } from "./intent.js";
7
+ export { configurationRootForProfile, resolveLaunchProfilePaths, resolvePromptHistoryDataDir } from "./profile-paths.js";
8
+ export type { LaunchProfilePathOptions, LaunchProfilePaths } from "./profile-paths.js";
9
+ export { prepareInteractiveLaunch } from "./prepare-launch.js";
10
+ export type { PrepareInteractiveLaunchOptions, PreparedInteractiveLaunch } from "./prepare-launch.js";
11
+ export { runSelectedInteractiveRuntime, selectInteractiveRuntime } from "./runtime-selection.js";
12
+ export type { InteractiveRuntimeRunners, InteractiveRuntimeSelection, OwnedUiProfileId } from "./runtime-selection.js";
@@ -1,6 +1,6 @@
1
- export * from "./development-launch.js";
2
- export * from "./initialize-profile.js";
3
- export * from "./intent.js";
4
- export * from "./profile-paths.js";
5
- export * from "./prepare-launch.js";
6
- export * from "./runtime-selection.js";
1
+ export { resolveDevelopmentLaunchEnvironment } from "./development-launch.js";
2
+ export { PI_PROFILE_RESOURCE_DIRECTORIES, initializeProductProfile } from "./initialize-profile.js";
3
+ export { interactiveLaunchIntent, parseSessionSelection } from "./intent.js";
4
+ export { configurationRootForProfile, resolveLaunchProfilePaths, resolvePromptHistoryDataDir } from "./profile-paths.js";
5
+ export { prepareInteractiveLaunch } from "./prepare-launch.js";
6
+ export { runSelectedInteractiveRuntime, selectInteractiveRuntime } from "./runtime-selection.js";
@@ -1,8 +1,8 @@
1
- import { type SessionSelection } from "../../foundation/lifecycle/session-selection.js";
2
- import type { LaunchProfileId } from "../../foundation/lifecycle/model.js";
3
- export { parseSessionSelection } from "../../foundation/lifecycle/session-selection.js";
4
- export type { SessionSelection } from "../../foundation/lifecycle/session-selection.js";
5
- export type { LaunchProfileId } from "../../foundation/lifecycle/model.js";
1
+ import { type SessionSelection } from "../../foundation/lifecycle/index.js";
2
+ import type { LaunchProfileId } from "../../foundation/lifecycle/index.js";
3
+ export { parseSessionSelection } from "../../foundation/lifecycle/index.js";
4
+ export type { SessionSelection } from "../../foundation/lifecycle/index.js";
5
+ export type { LaunchProfileId } from "../../foundation/lifecycle/index.js";
6
6
  export interface InteractiveLaunchIntent {
7
7
  readonly kind: "interactive";
8
8
  readonly profileId: LaunchProfileId;
@@ -1,5 +1,5 @@
1
- import { sessionSelectionArguments } from "../../foundation/lifecycle/session-selection.js";
2
- export { parseSessionSelection } from "../../foundation/lifecycle/session-selection.js";
1
+ import { sessionSelectionArguments } from "../../foundation/lifecycle/index.js";
2
+ export { parseSessionSelection } from "../../foundation/lifecycle/index.js";
3
3
  export function interactiveLaunchIntent(profileId, sessionSelection) {
4
4
  if (sessionSelection !== undefined && profileId !== "a1")
5
5
  throw new Error("session selection requires the normal A1 profile");
@@ -1,6 +1,6 @@
1
- export * from "./customization.js";
2
- export * from "./diagnostics.js";
3
- export * from "./run.js";
4
- export * from "./project-trust-prompt.js";
5
- export * from "./session-fork-prompt.js";
6
- export * from "./settings-app.js";
1
+ export { runOwnedUi, terminateOwnedUiProcess } from "./run.js";
2
+ export type { OwnedUiRunOptions } from "./run.js";
3
+ export { createConsoleProjectTrustPrompt } from "./project-trust-prompt.js";
4
+ export type { ConsoleProjectTrustPromptOptions, OwnedProjectTrustPrompt, OwnedProjectTrustPromptRequest } from "./project-trust-prompt.js";
5
+ export { createConsoleSessionForkPrompt } from "./session-fork-prompt.js";
6
+ export { SETTINGS_APP_ID, SETTINGS_ROUTE, SETTINGS_SHORTCUTS, SettingsApp } from "./settings-app.js";
@@ -1,6 +1,4 @@
1
- export * from "./customization.js";
2
- export * from "./diagnostics.js";
3
- export * from "./run.js";
4
- export * from "./project-trust-prompt.js";
5
- export * from "./session-fork-prompt.js";
6
- export * from "./settings-app.js";
1
+ export { runOwnedUi, terminateOwnedUiProcess } from "./run.js";
2
+ export { createConsoleProjectTrustPrompt } from "./project-trust-prompt.js";
3
+ export { createConsoleSessionForkPrompt } from "./session-fork-prompt.js";
4
+ export { SETTINGS_APP_ID, SETTINGS_ROUTE, SETTINGS_SHORTCUTS, SettingsApp } from "./settings-app.js";
@@ -1,12 +1,12 @@
1
1
  import type { OwnedUiApplicationPort } from "../../contracts/presentation/index.js";
2
- import type { OwnedUiSettingsSession } from "../../ui/settings/index.js";
2
+ import type { OwnedSettingsManager } from "../../ui/settings/index.js";
3
3
  export interface OwnedUiRunOptions {
4
4
  readonly application: OwnedUiApplicationPort;
5
5
  /**
6
6
  * Resolved once before the application starts, so every surface reads the same
7
7
  * values for the life of the session. Omitted when the caller runs without settings.
8
8
  */
9
- readonly settings?: OwnedUiSettingsSession;
9
+ readonly settings?: OwnedSettingsManager;
10
10
  }
11
11
  /**
12
12
  * Completes the interactive executable only after runOwnedUi has restored its terminal.
@@ -1,6 +1,6 @@
1
1
  import type { AppHostServices, UiApp } from "../../ui/apps/index.js";
2
2
  import { ShortcutRegistry, type PaneInputResult, type PaneMouseEvent, type PaneRect } from "../../ui/components/index.js";
3
- import type { OwnedUiSettingsSession } from "../../ui/settings/index.js";
3
+ import type { OwnedSettingsManager } from "../../ui/settings/index.js";
4
4
  export { SETTINGS_APP_ID, SETTINGS_ROUTE } from "./settings-route.js";
5
5
  type Action = "move-up" | "move-down" | "block-up" | "block-down" | "first" | "last" | "page-up" | "page-down" | "previous-value" | "next-value" | "activate" | "open-filter" | "close" | "part-previous" | "part-next" | "part-change";
6
6
  export declare const SETTINGS_SHORTCUTS: ShortcutRegistry<Action>;
@@ -12,7 +12,7 @@ export declare const SETTINGS_SHORTCUTS: ShortcutRegistry<Action>;
12
12
  export declare class SettingsApp implements UiApp {
13
13
  #private;
14
14
  readonly id = "settings";
15
- constructor(session: OwnedUiSettingsSession);
15
+ constructor(session: OwnedSettingsManager);
16
16
  onActivate(host: AppHostServices): void;
17
17
  onClose(_host: AppHostServices): void;
18
18
  render(rect: PaneRect, host: AppHostServices): readonly string[];
@@ -440,7 +440,9 @@ export class SettingsApp {
440
440
  const record = {};
441
441
  for (const flag of entry.flags) {
442
442
  const value = stored[flag.key];
443
- record[flag.key] = typeof value === "boolean" ? value : flag.fallback;
443
+ record[flag.key] = flag.choices === undefined
444
+ ? (typeof value === "boolean" ? value : flag.fallback)
445
+ : (typeof value === "string" && flag.choices.includes(value) ? value : flag.fallback);
444
446
  }
445
447
  // Invariant: the dialog takes the screen: the row it was opened from stops being the
446
448
  // thing under the pointer, so it stops looking like it.
@@ -475,8 +477,19 @@ export class SettingsApp {
475
477
  const flag = open?.flags[index];
476
478
  if (open === null || open === undefined || flag === undefined)
477
479
  return;
478
- open.record[flag] = !(open.record[flag] ?? false);
479
- const next = { ...open.record };
480
+ const declared = open.entry.flags.find(candidate => candidate.key === flag);
481
+ if (declared?.choices === undefined)
482
+ open.record[flag] = !(open.record[flag] ?? false);
483
+ else {
484
+ // Rationale: Enter walks the offered choices in order and wraps, like the pinned value menu.
485
+ const at = declared.choices.indexOf(String(open.record[flag] ?? declared.fallback));
486
+ open.record[flag] = declared.choices[(at + 1) % declared.choices.length] ?? declared.fallback;
487
+ }
488
+ // Invariant: a choice part at its fallback is unset: it is not written, so the engine's default applies.
489
+ const next = Object.fromEntries(Object.entries(open.record).filter(([key, value]) => {
490
+ const part = open.entry.flags.find(candidate => candidate.key === key);
491
+ return part?.choices === undefined || value !== part.fallback;
492
+ }));
480
493
  void this.#session.changeStructured(open.entry.backend, open.entry.id, next).then(outcome => {
481
494
  this.#notice = outcome.failure === null ? null : `Could not save ${labelOf(open.entry)}: ${outcome.failure}`;
482
495
  });
@@ -727,8 +740,8 @@ export class SettingsApp {
727
740
  const declared = open.entry.flags.find(flag => flag.key === key);
728
741
  return {
729
742
  label: declared?.label ?? humanizeLabel(key),
730
- // Protocol: the engine writes these as the booleans they are rather than as yes/no.
731
- value: (open.record[key] ?? false) ? "true" : "false",
743
+ // Protocol: the engine writes toggles as the booleans they are rather than as yes/no; a choice shows its word.
744
+ value: declared?.choices === undefined ? ((open.record[key] ?? false) ? "true" : "false") : String(open.record[key] ?? declared.fallback),
732
745
  ...(declared?.description === undefined ? {} : { description: declared.description }),
733
746
  };
734
747
  });
@@ -37,9 +37,9 @@ export declare class PromptHistoryService implements PromptHistoryPort {
37
37
  timers: number;
38
38
  failures: {
39
39
  schema?: number;
40
- shutdown?: number;
41
40
  unavailable?: number;
42
41
  busy?: number;
42
+ shutdown?: number;
43
43
  capacity?: number;
44
44
  oversized?: number;
45
45
  corrupt?: number;
@@ -5,7 +5,6 @@ const RETENTION_MS = 30_000;
5
5
  const LIVENESS_MS = 10_000;
6
6
  /** One generation owns storage work; only proven non-commits may be retried. No default output sink. */
7
7
  export class PromptHistoryService {
8
- options;
9
8
  #snapshots = new Set();
10
9
  #failures = new Set();
11
10
  #counts = {};
@@ -30,6 +29,7 @@ export class PromptHistoryService {
30
29
  #recoveries = 0;
31
30
  #closePromise;
32
31
  #resolveClose;
32
+ options;
33
33
  constructor(options) {
34
34
  this.options = options;
35
35
  this.#clock = options.clock ?? clock;
@@ -7,18 +7,14 @@ import { collectImageChipIdentifiers, PromptImageSidecar } from "./image-sidecar
7
7
  export class HistoryStorageError extends Error {
8
8
  code;
9
9
  certainty;
10
- constructor(code, certainty = "uncommitted") {
11
- super(`Prompt history ${code}`);
12
- this.code = code;
13
- this.certainty = certainty;
14
- }
10
+ constructor(code, certainty = "uncommitted") { super(`Prompt history ${code}`); this.code = code; this.certainty = certainty; }
15
11
  }
16
12
  const MAX_STORAGE_BYTES = 64 * 1024 * 1024;
17
13
  export class PromptHistoryStore {
18
- path;
19
- profileId;
20
14
  #database;
21
15
  #sidecar;
16
+ path;
17
+ profileId;
22
18
  constructor(path, profileId, limit, imagesDir) {
23
19
  this.path = path;
24
20
  this.profileId = profileId;
@@ -2,12 +2,12 @@ import { writeFile } from "node:fs/promises";
2
2
  import { SUGGESTION_DECISION_REASONS, SUGGESTION_DIAGNOSTIC_EVENTS, } from "../../contracts/owned-ui/index.js";
3
3
  /** Bounded metadata snapshots; one in-flight write and one replaceable latest snapshot. */
4
4
  export class SuggestionDiagnosticCapture {
5
- options;
6
5
  #records = [];
7
6
  #pending;
8
7
  #writing;
9
8
  #disposed = false;
10
9
  #write;
10
+ options;
11
11
  constructor(options = {}) {
12
12
  this.options = options;
13
13
  this.#write = options.writeSnapshot ?? (options.destination === undefined ? undefined
@@ -1 +1,2 @@
1
- export * from "./diagnostics.js";
1
+ export { SuggestionDiagnosticCapture } from "./diagnostics.js";
2
+ export type { SuggestionDiagnosticCaptureOptions } from "./diagnostics.js";
@@ -1 +1 @@
1
- export * from "./diagnostics.js";
1
+ export { SuggestionDiagnosticCapture } from "./diagnostics.js";
@@ -1 +1,2 @@
1
- export * from "./main.js";
1
+ export { runLaunchGuardian } from "./main.js";
2
+ export type { LaunchGuardianOptions } from "./main.js";
@@ -1 +1 @@
1
- export * from "./main.js";
1
+ export { runLaunchGuardian } from "./main.js";
@@ -1,6 +1,11 @@
1
- export * from "./commands.js";
2
- export * from "./launch-instance.js";
3
- export * from "./model.js";
4
- export * from "./paths.js";
5
- export * from "./session-selection.js";
6
- export * from "./supervisor-startup.js";
1
+ export type { LaunchInstanceStopIntent, SupervisorCommand } from "./commands.js";
2
+ export { assertLaunchInstance, assertLaunchInstanceOutcome, assertLaunchInstanceTransition, assertProcessContainmentIdentity } from "./launch-instance.js";
3
+ export type { LaunchInstance, LaunchInstanceId, LaunchInstanceOutcome, LaunchInstanceShutdownPolicy, LaunchInstanceState, LaunchInstanceStopReason, ProcessContainmentIdentity, } from "./launch-instance.js";
4
+ export { assertDimensions, assertLaunchProfileId, assertNativeProcessIdentity, assertTransparentTerminalLaunchProfile } from "./model.js";
5
+ export type { CommandResult, DriverProfileId, GenerationId, LaunchProfileId, NativeProcessIdentity, RequestId, SupervisorSnapshot, TerminalDimensions, TransparentTerminalLaunchProfile, TransparentTerminalLifecycleOutcome, } from "./model.js";
6
+ export { resolveCohortEndpoint, resolveProductPaths } from "./paths.js";
7
+ export type { CohortEndpointPaths, ProductPaths } from "./paths.js";
8
+ export { parseSessionSelection, sessionSelectionArguments } from "./session-selection.js";
9
+ export type { SessionSelection } from "./session-selection.js";
10
+ export { createSupervisorStartupAttempt, publishSupervisorStartupResult, readSupervisorStartupResult, supervisorStartupFailure, supervisorStartupReady, supervisorStartupResultPath, } from "./supervisor-startup.js";
11
+ export type { SupervisorStartupAttemptIdentity, SupervisorStartupResult } from "./supervisor-startup.js";
@@ -1,6 +1,5 @@
1
- export * from "./commands.js";
2
- export * from "./launch-instance.js";
3
- export * from "./model.js";
4
- export * from "./paths.js";
5
- export * from "./session-selection.js";
6
- export * from "./supervisor-startup.js";
1
+ export { assertLaunchInstance, assertLaunchInstanceOutcome, assertLaunchInstanceTransition, assertProcessContainmentIdentity } from "./launch-instance.js";
2
+ export { assertDimensions, assertLaunchProfileId, assertNativeProcessIdentity, assertTransparentTerminalLaunchProfile } from "./model.js";
3
+ export { resolveCohortEndpoint, resolveProductPaths } from "./paths.js";
4
+ export { parseSessionSelection, sessionSelectionArguments } from "./session-selection.js";
5
+ export { createSupervisorStartupAttempt, publishSupervisorStartupResult, readSupervisorStartupResult, supervisorStartupFailure, supervisorStartupReady, supervisorStartupResultPath, } from "./supervisor-startup.js";
@@ -1,6 +1,8 @@
1
- export * from "./artifact.js";
2
- export * from "./contracts.js";
3
- export * from "./darwin-process-inspector.js";
4
- export * from "./linux-process-inspector.js";
5
- export * from "./native-guardian-containment.js";
6
- export * from "./windows-process-inspector.js";
1
+ export { verifyProcessGuardianArtifact } from "./artifact.js";
2
+ export { closeVerifiedContainment } from "./contracts.js";
3
+ export type { ContainedProcessHandle, ContainedSpawnOptions, ContainmentCloseResult, NativeProcessInspector, ProcessContainment, ProcessContainmentFactory, } from "./contracts.js";
4
+ export { DarwinNativeProcessInspector } from "./darwin-process-inspector.js";
5
+ export { LinuxNativeProcessInspector } from "./linux-process-inspector.js";
6
+ export { NativeGuardianContainment, resolveProcessGuardianPath } from "./native-guardian-containment.js";
7
+ export { WindowsNativeProcessInspector } from "./windows-process-inspector.js";
8
+ export type { InspectorCommandResult, InspectorCommandRunner } from "./windows-process-inspector.js";
@@ -1,6 +1,6 @@
1
- export * from "./artifact.js";
2
- export * from "./contracts.js";
3
- export * from "./darwin-process-inspector.js";
4
- export * from "./linux-process-inspector.js";
5
- export * from "./native-guardian-containment.js";
6
- export * from "./windows-process-inspector.js";
1
+ export { verifyProcessGuardianArtifact } from "./artifact.js";
2
+ export { closeVerifiedContainment } from "./contracts.js";
3
+ export { DarwinNativeProcessInspector } from "./darwin-process-inspector.js";
4
+ export { LinuxNativeProcessInspector } from "./linux-process-inspector.js";
5
+ export { NativeGuardianContainment, resolveProcessGuardianPath } from "./native-guardian-containment.js";
6
+ export { WindowsNativeProcessInspector } from "./windows-process-inspector.js";
@@ -4,13 +4,13 @@ import { dirname, resolve } from "node:path";
4
4
  import { PRODUCT_IDENTITY } from "../../product-identity.js";
5
5
  /** Delegates one root runtime to the native guardian and exposes its verified containment identity. */
6
6
  export class NativeGuardianContainment {
7
- instanceId;
8
- helperPath;
9
- statusPath;
10
7
  #identity;
11
8
  #helper = null;
12
9
  #rootIdentity = null;
13
10
  #outcome = null;
11
+ instanceId;
12
+ helperPath;
13
+ statusPath;
14
14
  constructor(instanceId, helperPath, statusPath) {
15
15
  this.instanceId = instanceId;
16
16
  this.helperPath = helperPath;
@@ -1,2 +1,3 @@
1
- export * from "./client.js";
2
- export * from "./messages.js";
1
+ export { SupervisorClient } from "./client.js";
2
+ export { CONTROL_ENVELOPE, CONTROL_ENVELOPE_REVISION, GENERATED_CONTRACT_DIGEST, LineFrameDecoder, MAX_CONTROL_FRAME_BYTES, OPTIONAL_CONTROL_FEATURES, REQUIRED_CONTROL_FEATURES, encodeFrame, isCommandMessage, isControlHello, localControlHello, negotiateControlFeatures, } from "./messages.js";
3
+ export type { ClientMessage, ControlFeature, ControlHello, ControlNegotiation, ServerMessage } from "./messages.js";
@@ -1,2 +1,2 @@
1
- export * from "./client.js";
2
- export * from "./messages.js";
1
+ export { SupervisorClient } from "./client.js";
2
+ export { CONTROL_ENVELOPE, CONTROL_ENVELOPE_REVISION, GENERATED_CONTRACT_DIGEST, LineFrameDecoder, MAX_CONTROL_FRAME_BYTES, OPTIONAL_CONTROL_FEATURES, REQUIRED_CONTROL_FEATURES, encodeFrame, isCommandMessage, isControlHello, localControlHello, negotiateControlFeatures, } from "./messages.js";