@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
@@ -1,20 +1,20 @@
1
- import { acceptsTranscriptUpdate } from "../../../contracts/owned-ui/transcript-lifecycle.js";
2
- import { caretCell } from "../../../ui/components/line-input.js";
3
- import { PromptInput, promptArrow } from "../../../ui/components/prompt-input.js";
4
- import { composeSubmittedPromptRows, formatSubmittedPromptTime, submittedPromptLayout, } from "../../../ui/components/submitted-prompt.js";
5
- import { backgroundSgrSpan, heldNativeHyperlinkStyle, hyperlinkSgrSpan, nativeHyperlinkStyle, overlaySpan, } from "../../../ui/components/spans.js";
6
- import { progressStatusText } from "../../../ui/components/progress-status.js";
7
- import { displayWidth, faint, stripAnsi } from "../../../ui/components/text.js";
8
- import { PINNED_PI_HIDDEN_COMMAND_NAMES, PINNED_PI_WORKFLOW_COMMAND_NAMES } from "../engine/workflows.js";
9
- import { createPiExtensionUiBridge } from "../components/shell-extension-ui.js";
10
- import { createPiShellEditor } from "../components/shell-editor-autocomplete.js";
11
- import { createPiQueuedInputStatus, createPiShellFooter, createPiShellHeader, createPiShellLoadedResources, createPiShellStatus, } from "../components/shell-footer-status.js";
12
- import { createPiShellArmin, createPiShellAuthProviderSelector, createPiShellDaxnuts, createPiShellDialog, createPiShellEarendilAnnouncement, createPiShellExtensionSelector, createPiShellLoginDialog, createPiShellModelSelector, createPiShellOperationLoader, createPiShellReloadBox, createPiShellScopedModelsSelector, createPiShellSelector, createPiShellSessionSelector, createPiShellSettingsSelector, createPiShellTreeSelector, createPiShellTrustSelector, createPiShellUserMessageSelector, } from "../components/shell-selectors-dialogs.js";
13
- import { createPiShellChangelog, createPiShellCollapsedChangelog, createPiShellHotkeys, createPiShellSessionInfo, renderPiShellCommandMessage, renderPiShellStatusText, } from "../components/shell-presenters-info.js";
14
- import { createPiShellTranscriptComponent, isPiPromptStyleCompaction, paintPiSubmittedPromptTimestamp, renderPiShellPackageUpdateNotice, renderPiShellStartupDiagnostic, renderPiShellTranscriptBlock, } from "../components/shell-presenters-transcript.js";
15
- import { onPiThemeChange, PINNED_PI_LAYOUT, piTheme } from "../components/upstream/theme/theme.js";
16
- import { piShellTruncateToWidth, piShellVisibleWidth, } from "../components/shell-shared-facade.js";
17
- import { classifyPiTuiInput, } from "../tui-runtime/input-presentation-coordinator.js";
1
+ import { acceptsTranscriptUpdate } from "../../contracts/owned-ui/index.js";
2
+ import { caretCell } from "../../ui/components/line-input.js";
3
+ import { PromptInput, promptArrow } from "../../ui/components/prompt-input.js";
4
+ import { composeSubmittedPromptRows, formatSubmittedPromptTime, submittedPromptLayout, } from "../../ui/components/submitted-prompt.js";
5
+ import { backgroundSgrSpan, heldNativeHyperlinkStyle, hyperlinkSgrSpan, nativeHyperlinkStyle, overlaySpan, } from "../../ui/components/spans.js";
6
+ import { progressStatusText } from "../../ui/components/progress-status.js";
7
+ import { displayWidth, faint, stripAnsi } from "../../ui/components/text.js";
8
+ import { PINNED_PI_HIDDEN_COMMAND_NAMES, PINNED_PI_WORKFLOW_COMMAND_NAMES } from "../../integrations/pi/engine/workflows.js";
9
+ import { createPiExtensionUiBridge } from "../../integrations/pi/components/shell-extension-ui.js";
10
+ import { createPiShellEditor } from "../../integrations/pi/components/shell-editor-autocomplete.js";
11
+ import { createPiQueuedInputStatus, createPiShellFooter, createPiShellHeader, createPiShellLoadedResources, createPiShellStatus, } from "../../integrations/pi/components/shell-footer-status.js";
12
+ import { createPiShellArmin, createPiShellAuthProviderSelector, createPiShellDaxnuts, createPiShellDialog, createPiShellEarendilAnnouncement, createPiShellExtensionSelector, createPiShellLoginDialog, createPiShellModelSelector, createPiShellOperationLoader, createPiShellReloadBox, createPiShellScopedModelsSelector, createPiShellSelector, createPiShellSessionSelector, createPiShellSettingsSelector, createPiShellTreeSelector, createPiShellTrustSelector, createPiShellUserMessageSelector, } from "../../integrations/pi/components/shell-selectors-dialogs.js";
13
+ import { createPiShellChangelog, createPiShellCollapsedChangelog, createPiShellHotkeys, createPiShellSessionInfo, renderPiShellCommandMessage, renderPiShellStatusText, } from "../../integrations/pi/components/shell-presenters-info.js";
14
+ import { createPiShellTranscriptComponent, isPiPromptStyleCompaction, paintPiSubmittedPromptTimestamp, renderPiShellPackageUpdateNotice, renderPiShellStartupDiagnostic, renderPiShellTranscriptBlock, } from "../../integrations/pi/components/shell-presenters-transcript.js";
15
+ import { onPiThemeChange, PINNED_PI_LAYOUT, piTheme } from "../../integrations/pi/components/upstream/theme/theme.js";
16
+ import { piShellHyperlink, piShellTruncateToWidth, piShellVisibleWidth, } from "../../integrations/pi/components/shell-shared-facade.js";
17
+ import { classifyPiTuiInput, } from "../../integrations/pi/tui-runtime/input-presentation-coordinator.js";
18
18
  import { PromptChipStore } from "./prompt-chips.js";
19
19
  import { EditorHyperlinkBudget } from "./editor-hyperlink-budget.js";
20
20
  import { SessionViewportController } from "./session-viewport-controller.js";
@@ -84,7 +84,8 @@ export class OwnedUiSessionShellRoot {
84
84
  this.#view = view;
85
85
  this.#customViewport = sessionLayout === "custom-viewport";
86
86
  this.#promptChips = new PromptChipStore({ isolated: this.#customViewport,
87
- ...(handlers.pasteDiagnostics === undefined ? {} : { onEvent: handlers.pasteDiagnostics }) });
87
+ ...(handlers.pasteDiagnostics === undefined ? {} : { onEvent: handlers.pasteDiagnostics }),
88
+ ...(handlers.pastePreparation === undefined ? {} : { preparation: handlers.pastePreparation }) });
88
89
  this.#submittedPromptComposer = this.#customViewport
89
90
  ? {
90
91
  layout: submittedPromptLayout,
@@ -275,6 +276,8 @@ export class OwnedUiSessionShellRoot {
275
276
  this.editor.cancelPendingPastes?.();
276
277
  this.editor.setText(this.#promptChips.resetPastes(this.editor.getText()));
277
278
  }
279
+ /** Forks the spare paste helper so the first paste of the session takes a live child. */
280
+ warmPastePreparation() { this.#promptChips.warm(); }
278
281
  disposePendingPastes() {
279
282
  this.resetPendingPastes();
280
283
  return this.#promptChips.dispose();
@@ -581,7 +584,8 @@ export class OwnedUiSessionShellRoot {
581
584
  primary: true,
582
585
  overscroll: "chain",
583
586
  scrollbar: "auto",
584
- scrollbarStyle: text => piTheme().bg("scrollbarThumb", text),
587
+ scrollbarTrackStyle: text => piTheme().fg("scrollbarTrack", text),
588
+ scrollbarThumbStyle: text => piTheme().fg("scrollbarThumb", text),
585
589
  child: { type: "component", component: document },
586
590
  },
587
591
  },
@@ -842,8 +846,9 @@ export class OwnedUiSessionShellRoot {
842
846
  this.#appendAnchoredWorkflowComponent(width => ["", ...announcement.render(width)], () => announcement.dispose?.());
843
847
  return;
844
848
  }
849
+ // Rationale: pinned 0.85.1 links both share URLs; the workflow result carries the plain URLs.
845
850
  const message = result.command === "share" && result.detail
846
- ? `${result.message}\nGist: ${result.detail}`
851
+ ? `${linkShareUrl(result.message)}\nGist: ${piShellHyperlink(result.detail)}`
847
852
  : result.message;
848
853
  this.appendWorkflowStatus(message);
849
854
  }
@@ -1354,3 +1359,8 @@ function isPackageExtensionSource(sourceInfo) {
1354
1359
  function transientRowsSignature(steeringRows, statusRows) {
1355
1360
  return `${steeringRows.length}\u0000${steeringRows.join("\u0000")}\u0001${statusRows.length}\u0000${statusRows.join("\u0000")}`;
1356
1361
  }
1362
+ /** "Share URL: <url>" with the URL made clickable; other share wordings pass through unchanged. */
1363
+ function linkShareUrl(message) {
1364
+ const match = /^Share URL: (\S+)$/.exec(message);
1365
+ return match === null ? message : `Share URL: ${piShellHyperlink(match[1])}`;
1366
+ }
@@ -1,12 +1,12 @@
1
- import type { OwnedUiSessionViewModel, OwnedUiThinkingLevel } from "../../../contracts/owned-ui/index.js";
2
- import type { AdapterCommandResult } from "../engine/adapter.js";
3
- import type { PiWorkflowRequest } from "../engine/workflows.js";
4
- import type { PiShellSelectorOption } from "../components/shell-shared-facade.js";
5
- import { type PiTuiDamageDecision } from "../tui-runtime/damage-aware-terminal.js";
6
- import { PiTuiRuntimeAdapter } from "../tui-runtime/adapter.js";
7
- import type { PiTuiOverlayHandle } from "../tui-runtime/contracts.js";
1
+ import type { OwnedUiSessionViewModel, OwnedUiThinkingLevel } from "../../contracts/owned-ui/index.js";
2
+ import type { AdapterCommandResult } from "../../integrations/pi/engine/adapter.js";
3
+ import type { PiWorkflowRequest } from "../../integrations/pi/engine/workflows.js";
4
+ import type { PiShellSelectorOption } from "../../integrations/pi/components/shell-shared-facade.js";
5
+ import { type PiTuiDamageDecision } from "../../integrations/pi/tui-runtime/damage-aware-terminal.js";
6
+ import { PiTuiRuntimeAdapter } from "../../integrations/pi/tui-runtime/adapter.js";
7
+ import type { PiTuiOverlayHandle } from "../../integrations/pi/tui-runtime/contracts.js";
8
8
  import { OwnedUiSessionShellRoot, type OwnedUiBackendPort, type OwnedUiSessionShellOptions } from "./session-shell-root.js";
9
- export { OwnedUiSessionShellRoot, type OwnedUiSessionShellOptions } from "./session-shell-root.js";
9
+ export { OwnedUiSessionShellRoot, type OwnedUiSessionShellOptions, type OwnedUiShellDiagnosticOptions, type OwnedUiShellEngineOptions, type OwnedUiShellHistoryOptions, type OwnedUiShellPresentationOptions, type OwnedUiShellSuggestionOptions, } from "./session-shell-root.js";
10
10
  /** Coordinates backend, owned presentation, and Pi TUI lifecycles for one interactive session. */
11
11
  export declare class OwnedUiSessionShell {
12
12
  #private;
@@ -34,6 +34,7 @@ export declare class OwnedUiSessionShell {
34
34
  queueFollowUp(): Promise<AdapterCommandResult>;
35
35
  restoreQueuedInput(): void;
36
36
  showSelector(title: string, options: readonly PiShellSelectorOption[], onSelect: (id: string) => void, onCancel?: () => void): PiTuiOverlayHandle;
37
+ showThinkingSelector(): void;
37
38
  showModelSelector(initialSearchInput?: string): void;
38
39
  showForkSelector(): void;
39
40
  showLogoutSelector(): Promise<void>;
@@ -2,29 +2,29 @@ import { ResponseCopyCoordinator } from "./response-copy-coordinator.js";
2
2
  import { createResponseCopyExecutor, hasAsyncClipboardOutput, responseCopyDestination } from "./response-copy-transport.js";
3
3
  import { MAX_COPY_CONTROL_BYTES } from "./response-copy-protocol.js";
4
4
  import { PromptHistoryController } from "./prompt-history-controller.js";
5
- import { PRODUCT_TEXT } from "../../../product-identity.js";
6
- import { boundedCleanup } from "../../../foundation/terminal-cleanup/terminal-reset.js";
7
- import { assertOwnedUiCommand } from "../../../contracts/owned-ui/validation.js";
8
- import { assertPromptImages, ImageAttachmentError } from "../../../contracts/owned-ui/image-attachments.js";
5
+ import { PRODUCT_TEXT } from "../../product-identity.js";
6
+ import { boundedCleanup } from "../../foundation/terminal-cleanup/terminal-reset.js";
7
+ import { assertOwnedUiCommand } from "../../contracts/owned-ui/index.js";
8
+ import { assertPromptImages, ImageAttachmentError } from "../../contracts/owned-ui/index.js";
9
9
  import { ContextualPromptSuggestionController } from "./prompt-suggestion-controller.js";
10
- import { MOUSE_TRACKING_OFF, MOUSE_TRACKING_ON, parseMouseInput } from "../../../ui/components/mouse.js";
11
- import { readVisibleHyperlinks } from "../../../ui/components/visible-hyperlinks.js";
12
- import { PINNED_PI_HIDDEN_COMMAND_NAMES, PINNED_PI_WORKFLOW_COMMAND_NAMES } from "../engine/workflows.js";
13
- import { createPiExtensionUiBridge } from "../components/shell-extension-ui.js";
14
- import { createPiShellEditor } from "../components/shell-editor-autocomplete.js";
15
- import { createPiQueuedInputStatus, createPiShellFooter, createPiShellHeader, createPiShellLoadedResources, createPiShellStatus, } from "../components/shell-footer-status.js";
16
- import { createPiShellArmin, createPiShellAuthProviderSelector, createPiShellDaxnuts, createPiShellDialog, createPiShellEarendilAnnouncement, createPiShellExtensionSelector, createPiShellLoginDialog, createPiShellModelSelector, createPiShellOperationLoader, createPiShellReloadBox, createPiShellScopedModelsSelector, createPiShellSelector, createPiShellSessionSelector, createPiShellSettingsSelector, createPiShellTreeSelector, createPiShellTrustSelector, createPiShellUserMessageSelector, } from "../components/shell-selectors-dialogs.js";
17
- import { createPiShellChangelog, createPiShellHotkeys, createPiShellSessionInfo, renderPiShellStatusText, } from "../components/shell-presenters-info.js";
18
- import { createPiShellTranscriptComponent, renderPiShellPackageUpdateNotice, renderPiShellStartupDiagnostic, renderPiShellTranscriptBlock, } from "../components/shell-presenters-transcript.js";
19
- import { onPiThemeChange, piTheme } from "../components/upstream/theme/theme.js";
20
- import { DamageAwareTerminalAdapter } from "../tui-runtime/damage-aware-terminal.js";
21
- import { PiTuiRuntimeAdapter } from "../tui-runtime/adapter.js";
22
- import { classifyPiTuiInput } from "../tui-runtime/input-presentation-coordinator.js";
10
+ import { MOUSE_TRACKING_OFF, MOUSE_TRACKING_ON, parseMouseInput } from "../../ui/components/mouse.js";
11
+ import { readVisibleHyperlinks } from "../../ui/components/visible-hyperlinks.js";
12
+ import { PINNED_PI_HIDDEN_COMMAND_NAMES, PINNED_PI_WORKFLOW_COMMAND_NAMES } from "../../integrations/pi/engine/workflows.js";
13
+ import { createPiExtensionUiBridge } from "../../integrations/pi/components/shell-extension-ui.js";
14
+ import { createPiShellEditor } from "../../integrations/pi/components/shell-editor-autocomplete.js";
15
+ import { createPiQueuedInputStatus, createPiShellFooter, createPiShellHeader, createPiShellLoadedResources, createPiShellStatus, } from "../../integrations/pi/components/shell-footer-status.js";
16
+ import { createPiShellArmin, createPiShellAuthProviderSelector, createPiShellDaxnuts, createPiShellDialog, createPiShellEarendilAnnouncement, createPiShellExtensionSelector, createPiShellLoginDialog, createPiShellModelSelector, createPiShellOperationLoader, createPiShellReloadBox, createPiShellScopedModelsSelector, createPiShellSelector, createPiShellSessionSelector, createPiShellSettingsSelector, createPiShellThinkingSelector, createPiShellTreeSelector, createPiShellTrustSelector, createPiShellUserMessageSelector, } from "../../integrations/pi/components/shell-selectors-dialogs.js";
17
+ import { createPiShellChangelog, createPiShellHotkeys, createPiShellSessionInfo, renderPiShellStatusText, } from "../../integrations/pi/components/shell-presenters-info.js";
18
+ import { createPiShellTranscriptComponent, renderPiShellPackageUpdateNotice, renderPiShellStartupDiagnostic, renderPiShellTranscriptBlock, } from "../../integrations/pi/components/shell-presenters-transcript.js";
19
+ import { onPiThemeChange, piTheme } from "../../integrations/pi/components/upstream/theme/theme.js";
20
+ import { DamageAwareTerminalAdapter } from "../../integrations/pi/tui-runtime/damage-aware-terminal.js";
21
+ import { PiTuiRuntimeAdapter } from "../../integrations/pi/tui-runtime/adapter.js";
22
+ import { classifyPiTuiInput } from "../../integrations/pi/tui-runtime/input-presentation-coordinator.js";
23
23
  import { runImageWorker } from "./image-preparation-client.js";
24
24
  import { STREAM_PRESENTATION_INTERVAL_MS, StreamPresentationCoalescer, } from "./stream-presentation-coalescer.js";
25
25
  import { writeSystemClipboardText, } from "./system-clipboard.js";
26
26
  import { OwnedUiSessionShellRoot, shellResourceEntries, } from "./session-shell-root.js";
27
- export { OwnedUiSessionShellRoot } from "./session-shell-root.js";
27
+ export { OwnedUiSessionShellRoot, } from "./session-shell-root.js";
28
28
  /** Coordinates backend, owned presentation, and Pi TUI lifecycles for one interactive session. */
29
29
  export class OwnedUiSessionShell {
30
30
  backend;
@@ -53,6 +53,8 @@ export class OwnedUiSessionShell {
53
53
  #pointerReporting = false;
54
54
  #customViewport;
55
55
  #responseCopy;
56
+ // Rationale: only an executor this shell created owns a spare copy helper worth warming and disposing.
57
+ #copyExecutor;
56
58
  #unbindClipboardWriter;
57
59
  #damageTerminal;
58
60
  #quitOutro;
@@ -75,13 +77,17 @@ export class OwnedUiSessionShell {
75
77
  #sessionBindingGeneration;
76
78
  #suggestionModelKey;
77
79
  constructor(options) {
78
- this.backend = options.backend;
80
+ const { backend, cwd, routeHost, sessionLayout } = options.engine;
81
+ const { terminal, startup, viewportSettings, quitOutro, reload: reloadPresentation, stream: streamPresentationOptions, input: inputPresentation } = options.presentation ?? {};
82
+ const { clipboard, responseCopy, paste: pasteDiagnostics, pastePreparation } = options.diagnostics ?? {};
83
+ const promptHistory = options.history;
84
+ this.backend = backend;
79
85
  this.#sessionGeneration = this.backend.sessionGeneration;
80
86
  this.#sessionBindingGeneration = this.backend.sessionBindingGeneration;
81
87
  this.#suggestionModelKey = modelKey(this.backend.view());
82
- this.#cwd = options.cwd;
83
- this.#routeHost = options.routeHost ?? null;
84
- this.#customViewport = options.sessionLayout === "custom-viewport";
88
+ this.#cwd = cwd;
89
+ this.#routeHost = routeHost ?? null;
90
+ this.#customViewport = sessionLayout === "custom-viewport";
85
91
  this.#stopped = new Promise(resolve => {
86
92
  this.#resolveStopped = resolve;
87
93
  });
@@ -90,22 +96,22 @@ export class OwnedUiSessionShell {
90
96
  let streamPresentation;
91
97
  let pendingClipboardWrite = Promise.resolve();
92
98
  let promptSuggestionController = null;
93
- const terminalCopy = options.terminal !== undefined || hasAsyncClipboardOutput();
99
+ const terminalCopy = terminal !== undefined || hasAsyncClipboardOutput();
94
100
  this.#responseCopy = this.#customViewport ? new ResponseCopyCoordinator({
95
- execute: options.responseCopy?.execute ?? createResponseCopyExecutor({
96
- ...(options.terminal === undefined && options.clipboard === undefined ? {} : { destination: "terminal" }),
97
- ...(options.clipboard?.writeText === undefined ? {} : { writeText: (text, signal) => options.clipboard.writeText(text, signal) }),
101
+ execute: responseCopy?.execute ?? (this.#copyExecutor = createResponseCopyExecutor({
102
+ ...(terminal === undefined && clipboard === undefined ? {} : { destination: "terminal" }),
103
+ ...(clipboard?.writeText === undefined ? {} : { writeText: (text, signal) => clipboard.writeText(text, signal) }),
98
104
  ...(terminalCopy ? { terminal: { submit: async (control, signal) => {
99
105
  if (signal.aborted || this.#disposed || !runtime?.active)
100
106
  throw new Error("Copy canceled");
101
107
  // Performance: never grow the real terminal's pending buffer with another clipboard payload.
102
- if (options.terminal === undefined && process.stdout.writableLength + control.length > MAX_COPY_CONTROL_BYTES) {
108
+ if (terminal === undefined && process.stdout.writableLength + control.length > MAX_COPY_CONTROL_BYTES) {
103
109
  throw new Error("Clipboard terminal is busy");
104
110
  }
105
111
  runtime.writeControl(control);
106
112
  } } } : {}),
107
- }),
108
- ...(options.responseCopy?.onEvent === undefined ? {} : { onEvent: options.responseCopy.onEvent }),
113
+ })),
114
+ ...(responseCopy?.onEvent === undefined ? {} : { onEvent: responseCopy.onEvent }),
109
115
  onFailure: result => {
110
116
  if (this.#disposed || !runtime?.active)
111
117
  return;
@@ -118,10 +124,10 @@ export class OwnedUiSessionShell {
118
124
  const readClipboard = async (signal) => {
119
125
  if (signal.aborted)
120
126
  throw new ImageAttachmentError("image-canceled");
121
- if (options.clipboard === undefined)
127
+ if (clipboard === undefined)
122
128
  return runImageWorker({ kind: "clipboard" }, signal);
123
129
  try {
124
- const image = await options.clipboard.readImage?.(signal);
130
+ const image = await clipboard.readImage?.(signal);
125
131
  if (image !== null && image !== undefined) {
126
132
  const canonical = await runImageWorker({ kind: "canonicalize", source: image }, signal);
127
133
  if (canonical !== null)
@@ -133,12 +139,12 @@ export class OwnedUiSessionShell {
133
139
  throw error;
134
140
  // Compatibility: an unavailable image reader can still provide text.
135
141
  }
136
- const text = await options.clipboard.readText(signal);
142
+ const text = await clipboard.readText(signal);
137
143
  return text === null ? null : { kind: "text", text };
138
144
  };
139
- this.root = new OwnedUiSessionShellRoot(this.backend.view(), options.cwd, {
140
- getColumns: () => runtime?.viewport().columns ?? options.terminal?.columns ?? 80,
141
- getRows: () => runtime?.viewport().rows ?? options.terminal?.rows ?? 24,
145
+ this.root = new OwnedUiSessionShellRoot(this.backend.view(), cwd, {
146
+ getColumns: () => runtime?.viewport().columns ?? terminal?.columns ?? 80,
147
+ getRows: () => runtime?.viewport().rows ?? terminal?.rows ?? 24,
142
148
  requestRender: force => runtime?.requestRender(force),
143
149
  requestHyperlinkCleanup: rows => damageTerminal?.requestHyperlinkCleanup(rows),
144
150
  onViewportFrame: frame => damageTerminal?.arm(frame.descriptor, {
@@ -146,9 +152,9 @@ export class OwnedUiSessionShell {
146
152
  selectionActive: this.root.hasActiveSelection(),
147
153
  replacementSurfaceActive: !this.root.usesDefaultInputSurface(),
148
154
  }),
149
- enableDockInputReuse: options.inputPresentation?.viewportReuse !== false,
150
- persistentHistory: this.#customViewport && options.promptHistory !== undefined,
151
- ...(options.promptHistory === undefined ? {} : { historyEditor: options.promptHistory.editor }),
155
+ enableDockInputReuse: inputPresentation?.viewportReuse !== false,
156
+ persistentHistory: this.#customViewport && promptHistory !== undefined,
157
+ ...(promptHistory === undefined ? {} : { historyEditor: promptHistory.editor }),
152
158
  onSubmit: text => { void this.submit(text).catch(() => this.#reportSubmissionError()); },
153
159
  onPasteRejected: error => this.#reportSubmissionError(error),
154
160
  onInterrupt: () => { void this.interrupt(); },
@@ -179,8 +185,8 @@ export class OwnedUiSessionShell {
179
185
  if (this.#disposed)
180
186
  return Promise.resolve();
181
187
  runtime?.writeControl(`\u001b]52;c;${Buffer.from(text, "utf8").toString("base64")}\u0007`);
182
- return options.clipboard === undefined ? writeSystemClipboardText(text)
183
- : options.clipboard.writeText?.(text) ?? Promise.resolve();
188
+ return clipboard === undefined ? writeSystemClipboardText(text)
189
+ : clipboard.writeText?.(text) ?? Promise.resolve();
184
190
  };
185
191
  // Compatibility: comparison profiles retain their existing clipboard path.
186
192
  pendingClipboardWrite = write().catch(() => { });
@@ -191,7 +197,7 @@ export class OwnedUiSessionShell {
191
197
  },
192
198
  captureClipboardPaste: () => {
193
199
  const before = this.#responseCopy?.capturePasteBarrier() ?? (async () => true);
194
- if (options.clipboard !== undefined)
200
+ if (clipboard !== undefined)
195
201
  return { kind: "provided", read: readClipboard, before };
196
202
  if (responseCopyDestination(process.env) === "terminal")
197
203
  return {
@@ -199,15 +205,16 @@ export class OwnedUiSessionShell {
199
205
  };
200
206
  return { kind: "native", before };
201
207
  },
202
- ...(options.pasteDiagnostics === undefined ? {} : { pasteDiagnostics: options.pasteDiagnostics }),
208
+ ...(pasteDiagnostics === undefined ? {} : { pasteDiagnostics: pasteDiagnostics }),
209
+ ...(pastePreparation === undefined ? {} : { pastePreparation }),
203
210
  }, {
204
- ...options.startup,
205
- resources: options.startup?.resources ?? shellResourceEntries(this.backend),
211
+ ...startup,
212
+ resources: startup?.resources ?? shellResourceEntries(this.backend),
206
213
  }, this.backend.agentDir, {
207
214
  getMessageRenderer: customType => this.backend.pinnedMessageRenderer(customType),
208
215
  getToolDefinition: toolName => this.backend.pinnedToolDefinition(toolName),
209
216
  getShortcuts: bindings => this.backend.pinnedShortcutDescriptions(bindings),
210
- }, options.sessionLayout, {
217
+ }, sessionLayout, {
211
218
  resolve: assetId => this.backend.resolveTranscriptImage(assetId),
212
219
  });
213
220
  // Invariant: bare A1 owns a bounded viewport and therefore always runs on the alternate
@@ -229,36 +236,36 @@ export class OwnedUiSessionShell {
229
236
  });
230
237
  return damageTerminal;
231
238
  },
232
- ...(options.inputPresentation?.coordination === false ? {} : {
239
+ ...(inputPresentation?.coordination === false ? {} : {
233
240
  inputCoordination: {
234
241
  classify: (data, focusedOverlay) => classifyPiTuiInput(data, focusedOverlay ?? this.root.inputCoordinationSurface()),
235
242
  onReceipt: () => streamPresentation?.noteImmediatePresentation(),
236
- ...(options.inputPresentation?.scheduler === undefined
243
+ ...(inputPresentation?.scheduler === undefined
237
244
  ? {}
238
- : { scheduler: options.inputPresentation.scheduler }),
245
+ : { scheduler: inputPresentation.scheduler }),
239
246
  },
240
247
  }),
241
248
  } : { layoutRoot: this.root.layoutRoot() }),
242
- ...(options.inputPresentation?.onEvent === undefined ? {} : {
249
+ ...(inputPresentation?.onEvent === undefined ? {} : {
243
250
  inputDiagnostics: {
244
- onEvent: options.inputPresentation.onEvent,
245
- ...(options.inputPresentation.now === undefined ? {} : { now: options.inputPresentation.now }),
251
+ onEvent: inputPresentation.onEvent,
252
+ ...(inputPresentation.now === undefined ? {} : { now: inputPresentation.now }),
246
253
  },
247
254
  }),
248
- ...(options.terminal === undefined ? {} : { terminal: options.terminal }),
255
+ ...(terminal === undefined ? {} : { terminal: terminal }),
249
256
  hardwareCursor: this.backend.view().terminal.hardwareCursor,
250
257
  };
251
258
  runtime = new PiTuiRuntimeAdapter(runtimeOptions);
252
259
  this.runtime = runtime;
253
260
  this.#damageTerminal = damageTerminal ?? null;
254
- this.#quitOutro = options.quitOutro;
255
- this.#reloadPresentation = options.reloadPresentation;
256
- const presentationInterval = options.streamPresentation?.intervalMs ?? STREAM_PRESENTATION_INTERVAL_MS;
257
- streamPresentation = options.streamPresentation?.scheduler === undefined
261
+ this.#quitOutro = quitOutro;
262
+ this.#reloadPresentation = reloadPresentation;
263
+ const presentationInterval = streamPresentationOptions?.intervalMs ?? STREAM_PRESENTATION_INTERVAL_MS;
264
+ streamPresentation = streamPresentationOptions?.scheduler === undefined
258
265
  ? new StreamPresentationCoalescer(() => this.runtime.requestRender(), presentationInterval)
259
- : new StreamPresentationCoalescer(() => this.runtime.requestRender(), presentationInterval, options.streamPresentation.scheduler);
266
+ : new StreamPresentationCoalescer(() => this.runtime.requestRender(), presentationInterval, streamPresentationOptions.scheduler);
260
267
  this.#streamPresentation = streamPresentation;
261
- const promptSuggestionOptions = this.#customViewport ? options.promptSuggestions : undefined;
268
+ const promptSuggestionOptions = this.#customViewport ? options.suggestions : undefined;
262
269
  promptSuggestionController = promptSuggestionOptions === undefined ? null : new ContextualPromptSuggestionController({
263
270
  generator: promptSuggestionOptions.generator,
264
271
  enabled: promptSuggestionOptions.enabled(),
@@ -310,7 +317,7 @@ export class OwnedUiSessionShell {
310
317
  });
311
318
  this.#removeViewportPreInput = this.#customViewport
312
319
  ? this.runtime.addPreInputListener(data => {
313
- if (options.inputPresentation?.coordination === false)
320
+ if (inputPresentation?.coordination === false)
314
321
  this.#streamPresentation.noteImmediatePresentation();
315
322
  // Compatibility: Pi's fullscreen renderer also intercepts plain Home/End.
316
323
  // Deliver them to the focused owned input before that outer scroll handler;
@@ -339,7 +346,7 @@ export class OwnedUiSessionShell {
339
346
  })
340
347
  : () => { };
341
348
  const applyViewportSettings = () => {
342
- const snapshot = options.viewportSettings?.snapshot();
349
+ const snapshot = viewportSettings?.snapshot();
343
350
  this.root.setViewportConfig(snapshot ?? {
344
351
  scrollbarAppearance: "auto",
345
352
  scrollbarStyle: "thin",
@@ -347,8 +354,8 @@ export class OwnedUiSessionShell {
347
354
  });
348
355
  };
349
356
  applyViewportSettings();
350
- this.#unsubscribeSettings = this.#customViewport && options.viewportSettings
351
- ? options.viewportSettings.onChange(settings => this.root.setViewportConfig(settings))
357
+ this.#unsubscribeSettings = this.#customViewport && viewportSettings
358
+ ? viewportSettings.onChange(settings => this.root.setViewportConfig(settings))
352
359
  : () => { };
353
360
  this.root.setEditorPaddingX(initialPiSettings.editorPaddingX);
354
361
  this.root.setAutocompleteMaxVisible(initialPiSettings.autocompleteMaxVisible);
@@ -397,13 +404,13 @@ export class OwnedUiSessionShell {
397
404
  this.root.setImagePresentation(this.#showImages, this.#imageWidthCells);
398
405
  } },
399
406
  });
400
- if (this.#customViewport && options.promptHistory !== undefined) {
401
- this.#promptHistoryImageSidecar = options.promptHistory.imageSidecar;
407
+ if (this.#customViewport && promptHistory !== undefined) {
408
+ this.#promptHistoryImageSidecar = promptHistory.imageSidecar;
402
409
  const sidecar = this.#promptHistoryImageSidecar;
403
410
  this.#promptHistory = new PromptHistoryController({
404
411
  editor: this.root.editor,
405
- store: options.promptHistory.store,
406
- limit: options.promptHistory.limit,
412
+ store: promptHistory.store,
413
+ limit: promptHistory.limit,
407
414
  fallback: this.view().transcript.flatMap(block => block.kind === "user" ? [block.text] : []),
408
415
  active: () => this.root.usesDefaultInputSurface(),
409
416
  render: () => this.runtime.requestRender(),
@@ -535,6 +542,13 @@ export class OwnedUiSessionShell {
535
542
  this.#setPointerReporting(true);
536
543
  void this.backend.bindExtensionUi(this.#extensionBridge.context, () => { void this.shutdown(); });
537
544
  this.#syncView();
545
+ // Performance: the spare clipboard helpers fork after the first frame is out, so startup never waits on them.
546
+ setImmediate(() => {
547
+ if (this.#disposed || !this.#customViewport)
548
+ return;
549
+ this.root.warmPastePreparation();
550
+ this.#copyExecutor?.warm();
551
+ });
538
552
  }
539
553
  onView(listener) {
540
554
  this.#listeners.add(listener);
@@ -806,6 +820,20 @@ export class OwnedUiSessionShell {
806
820
  this.#dialogHandle = handle;
807
821
  return handle;
808
822
  }
823
+ showThinkingSelector() {
824
+ const snapshot = this.backend.pinnedSettingsSnapshot();
825
+ const close = () => {
826
+ this.root.setInputSurface(null);
827
+ this.runtime.requestRender();
828
+ };
829
+ const select = (level, persist) => {
830
+ close();
831
+ void this.runWorkflow({ command: "thinking", argument: "", selection: level, ...(persist ? { persist: true } : {}) });
832
+ };
833
+ const component = createPiShellThinkingSelector(snapshot.thinkingLevel, snapshot.availableThinkingLevels, level => select(level, false), close, level => select(level, true), snapshot.defaultThinkingLevel);
834
+ this.root.setInputSurface(component);
835
+ this.runtime.requestRender();
836
+ }
809
837
  showModelSelector(initialSearchInput) {
810
838
  const context = this.backend.pinnedModelSelectorContext();
811
839
  const close = () => {
@@ -824,6 +852,10 @@ export class OwnedUiSessionShell {
824
852
  close();
825
853
  void this.runWorkflow({ command: "model", argument: "", selection: modelReference(model) });
826
854
  },
855
+ onSelectAsDefault: model => {
856
+ close();
857
+ void this.runWorkflow({ command: "model", argument: "", selection: modelReference(model), persist: true });
858
+ },
827
859
  onCancel: close,
828
860
  });
829
861
  this.root.setInputSurface(component);
@@ -1021,12 +1053,16 @@ export class OwnedUiSessionShell {
1021
1053
  this.root.setInputSurface(null);
1022
1054
  this.runtime.requestRender();
1023
1055
  };
1056
+ const { currentModel, ...settingsSnapshot } = snapshot;
1024
1057
  const component = createPiShellSettingsSelector({
1025
1058
  config: {
1026
- ...snapshot,
1059
+ ...settingsSnapshot,
1027
1060
  availableThinkingLevels: [...snapshot.availableThinkingLevels],
1028
1061
  availableThemes: [...snapshot.availableThemes],
1029
1062
  warnings: { ...snapshot.warnings },
1063
+ modelThinkingLevels: { ...snapshot.modelThinkingLevels },
1064
+ ...(currentModel === undefined ? {} : { currentModel: currentModel }),
1065
+ availableDefaultModels: snapshot.availableDefaultModels,
1030
1066
  },
1031
1067
  onChange: (callback, value) => {
1032
1068
  if (callback === "onCancel") {
@@ -1111,6 +1147,10 @@ export class OwnedUiSessionShell {
1111
1147
  this.showForkSelector();
1112
1148
  return { outcome: "completed", diagnostic: null };
1113
1149
  }
1150
+ if (request.command === "thinking" && request.selection === undefined && request.argument.trim().length === 0) {
1151
+ this.showThinkingSelector();
1152
+ return { outcome: "completed", diagnostic: null };
1153
+ }
1114
1154
  if (request.command === "trust" && request.selection === undefined && request.confirmed === undefined) {
1115
1155
  this.showTrustSelector();
1116
1156
  return { outcome: "completed", diagnostic: null };
@@ -1350,6 +1390,7 @@ export class OwnedUiSessionShell {
1350
1390
  // Invariant: the outro frame is what the terminal shows now, before any cleanup writes.
1351
1391
  const outroFrame = this.#captureQuitOutroFrame();
1352
1392
  this.#responseCopy?.dispose();
1393
+ this.#copyExecutor?.dispose();
1353
1394
  this.#cancelWaitingImages();
1354
1395
  const failures = [];
1355
1396
  const attempt = (action) => { try {
@@ -1,8 +1,8 @@
1
- import type { PiTuiPointerSurface } from "../tui-runtime/contracts.js";
2
- import type { OwnedUiViewportSettings } from "../../../contracts/owned-ui/index.js";
3
- import { type TranscriptViewportFrame, type TranscriptViewportFrameInput } from "../../../ui/components/transcript-viewport.js";
4
- import type { SelectionCopySnapshot } from "../../../ui/components/selection-copy.js";
5
- import type { PiShellEditorPort } from "../components/shell-shared-facade.js";
1
+ import type { PiTuiPointerSurface } from "../../integrations/pi/tui-runtime/contracts.js";
2
+ import type { OwnedUiViewportSettings } from "../../contracts/owned-ui/index.js";
3
+ import { type TranscriptViewportFrame, type TranscriptViewportFrameInput } from "../../ui/components/transcript-viewport.js";
4
+ import type { SelectionCopySnapshot } from "../../ui/components/selection-copy.js";
5
+ import type { PiShellEditorPort } from "../../integrations/pi/components/shell-shared-facade.js";
6
6
  import type { PasteEvent } from "./paste-protocol.js";
7
7
  export interface SessionViewportControllerOptions {
8
8
  readonly enabled: boolean;
@@ -1,8 +1,8 @@
1
- import { samePointerSurfaces } from "../tui-runtime/overlay-geometry.js";
2
- import { TranscriptViewport } from "../../../ui/components/transcript-viewport.js";
3
- import { readVisibleHyperlinks } from "../../../ui/components/visible-hyperlinks.js";
4
- import { routeMouseInput } from "../../../ui/components/mouse.js";
5
- import { scrollForTrackPage, scrollForThumbRow, scrollbarSelectionRows, scrollbarWheelRows } from "../../../ui/components/scrollbar.js";
1
+ import { samePointerSurfaces } from "../../integrations/pi/tui-runtime/overlay-geometry.js";
2
+ import { TranscriptViewport } from "../../ui/components/transcript-viewport.js";
3
+ import { readVisibleHyperlinks } from "../../ui/components/visible-hyperlinks.js";
4
+ import { routeMouseInput } from "../../ui/components/mouse.js";
5
+ import { scrollForTrackPage, scrollForThumbRow, scrollbarSelectionRows, scrollbarWheelRows } from "../../ui/components/scrollbar.js";
6
6
  /**
7
7
  * Owns the stateful interaction policy of the bare-A1 session viewport. The
8
8
  * shell root supplies semantic rows and dock geometry; this controller owns
@@ -1,4 +1,4 @@
1
- import type { PiShellClipboardContent } from "../components/shell-shared-facade.js";
1
+ import type { PiShellClipboardContent } from "../../integrations/pi/components/shell-shared-facade.js";
2
2
  export interface SystemClipboardImageReader {
3
3
  hasImage(): boolean;
4
4
  getImageBinary?(): Promise<readonly number[]>;
@@ -1,6 +1,6 @@
1
1
  import { execFile } from "node:child_process";
2
2
  import { canonicalizeClipboardImage } from "./clipboard-image.js";
3
- import { ImageAttachmentError } from "../../../contracts/owned-ui/image-attachments.js";
3
+ import { ImageAttachmentError } from "../../contracts/owned-ui/index.js";
4
4
  import { assertSourceBytes } from "./image-source.js";
5
5
  const MAX_CLIPBOARD_BYTES = 16 * 1024 * 1024;
6
6
  let nativeClipboardPromise;
@@ -1,5 +1,8 @@
1
- export * from "./capabilities.js";
2
- export * from "./dispatch.js";
3
- export * from "./packages.js";
4
- export * from "./version.js";
5
- export * from "./version-stats.js";
1
+ export { cliCapabilities, isPrereleaseVersion } from "./capabilities.js";
2
+ export type { CliCapabilities } from "./capabilities.js";
3
+ export { cliHelp, cliUsage, dispatchCli, parseCliCommand } from "./dispatch.js";
4
+ export type { CliCommand, CliHandlers, CliOutput, UpdateChannel } from "./dispatch.js";
5
+ export { renderPackageOutcome, runPackageCommand } from "./packages.js";
6
+ export type { PackageCommandEnvironment, PackageCommandRequest, PackageCommandStyle, PackageCommandVerb } from "./packages.js";
7
+ export { runVersionStats } from "./version-stats.js";
8
+ export type { VersionStatsOptions } from "./version-stats.js";
package/dist/cli/index.js CHANGED
@@ -1,5 +1,4 @@
1
- export * from "./capabilities.js";
2
- export * from "./dispatch.js";
3
- export * from "./packages.js";
4
- export * from "./version.js";
5
- export * from "./version-stats.js";
1
+ export { cliCapabilities, isPrereleaseVersion } from "./capabilities.js";
2
+ export { cliHelp, cliUsage, dispatchCli, parseCliCommand } from "./dispatch.js";
3
+ export { renderPackageOutcome, runPackageCommand } from "./packages.js";
4
+ export { runVersionStats } from "./version-stats.js";
@@ -1,3 +1,2 @@
1
1
  export { composeOwnedUi, composeOwnedUiApplication, type OwnedUiComposition, type OwnedUiCompositionOptions, } from "./owned-ui.js";
2
- export { composeProcess, type ProcessComposition, type ProcessCompositionOptions, } from "./process.js";
3
2
  export { createOwnedRouteHost } from "./settings-route-host.js";
@@ -1,3 +1,2 @@
1
1
  export { composeOwnedUi, composeOwnedUiApplication, } from "./owned-ui.js";
2
- export { composeProcess, } from "./process.js";
3
2
  export { createOwnedRouteHost } from "./settings-route-host.js";
@@ -2,7 +2,7 @@ import type { SessionSelection } from "../foundation/lifecycle/session-selection
2
2
  import type { PiEngineAdapter } from "../integrations/pi/engine/adapter.js";
3
3
  import type { PiProjectTrustPreflightPrompt } from "../integrations/pi/engine/project-trust-preflight.js";
4
4
  import type { PiSessionForkPrompt } from "../integrations/pi/engine/session-selection.js";
5
- import { OwnedUiSettingsSession } from "../ui/settings/session.js";
5
+ import { OwnedSettingsManager } from "../ui/settings/manager.js";
6
6
  import type { OwnedUiApplicationPort, PresentationTerminalPort } from "../contracts/presentation/index.js";
7
7
  export interface OwnedUiCompositionOptions {
8
8
  readonly cwd?: string;
@@ -31,7 +31,7 @@ export interface OwnedUiCompositionOptions {
31
31
  export interface OwnedUiComposition {
32
32
  readonly application: OwnedUiApplicationPort;
33
33
  /** Present when a profile was supplied, so the caller can resolve settings before start. */
34
- readonly settings: OwnedUiSettingsSession | null;
34
+ readonly settings: OwnedSettingsManager | null;
35
35
  }
36
36
  export declare function composeOwnedUiApplication(options?: OwnedUiCompositionOptions): Promise<OwnedUiApplicationPort>;
37
37
  export declare function composeOwnedUi(options?: OwnedUiCompositionOptions): Promise<OwnedUiComposition>;