@timurproko/a1 0.1.0 → 0.1.1-dev.10

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 (602) hide show
  1. package/README.md +10 -43
  2. package/bin/{addone.js → cli.js} +2 -2
  3. package/bin/guardian.js +22 -0
  4. package/bin/ui.js +20 -0
  5. package/dist/native/darwin-arm64/manifest.json +20 -0
  6. package/dist/native/darwin-arm64/process-guardian +0 -0
  7. package/dist/native/linux-x64/manifest.json +20 -0
  8. package/dist/native/linux-x64/process-guardian +0 -0
  9. package/dist/native/win32-x64/manifest.json +20 -0
  10. package/dist/native/win32-x64/process-guardian.exe +0 -0
  11. package/dist/src/cli/dispatch.d.ts +4 -5
  12. package/dist/src/cli/dispatch.js +11 -11
  13. package/dist/src/cli/index.d.ts +0 -1
  14. package/dist/src/cli/index.js +0 -1
  15. package/dist/src/cli/version-stats.d.ts +0 -1
  16. package/dist/src/cli/version-stats.js +27 -23
  17. package/dist/src/cli/version.d.ts +1 -2
  18. package/dist/src/cli/version.js +4 -4
  19. package/dist/src/composition/index.d.ts +48 -0
  20. package/dist/src/composition/index.js +258 -0
  21. package/dist/src/features/launch/development-launch.d.ts +0 -1
  22. package/dist/src/features/launch/development-launch.js +12 -11
  23. package/dist/src/features/launch/index.d.ts +0 -1
  24. package/dist/src/features/launch/index.js +0 -1
  25. package/dist/src/features/launch/initialize-profile.d.ts +1 -2
  26. package/dist/src/features/launch/initialize-profile.js +24 -4
  27. package/dist/src/features/launch/intent.d.ts +0 -1
  28. package/dist/src/features/launch/intent.js +0 -1
  29. package/dist/src/features/launch/prepare-launch.d.ts +2 -3
  30. package/dist/src/features/launch/prepare-launch.js +3 -4
  31. package/dist/src/features/launch/profile-paths.d.ts +2 -3
  32. package/dist/src/features/launch/profile-paths.js +9 -8
  33. package/dist/src/features/launch/profiles.d.ts +3 -4
  34. package/dist/src/features/launch/profiles.js +7 -8
  35. package/dist/src/features/launch/runtime-selection.d.ts +13 -9
  36. package/dist/src/features/launch/runtime-selection.js +6 -7
  37. package/dist/src/features/owned-ui/customization.d.ts +5 -3
  38. package/dist/src/features/owned-ui/customization.js +2 -4
  39. package/dist/src/features/owned-ui/diagnostics.d.ts +0 -1
  40. package/dist/src/features/owned-ui/diagnostics.js +0 -1
  41. package/dist/src/features/owned-ui/index.d.ts +1 -2
  42. package/dist/src/features/owned-ui/index.js +1 -2
  43. package/dist/src/features/owned-ui/run.d.ts +9 -7
  44. package/dist/src/features/owned-ui/run.js +9 -15
  45. package/dist/src/features/owned-ui/settings-app.d.ts +22 -0
  46. package/dist/src/features/owned-ui/settings-app.js +633 -0
  47. package/dist/src/features/workspace/capabilities.d.ts +0 -1
  48. package/dist/src/features/workspace/capabilities.js +0 -1
  49. package/dist/src/features/workspace/index.d.ts +0 -1
  50. package/dist/src/features/workspace/index.js +0 -1
  51. package/dist/src/features/workspace/presentation.d.ts +1 -2
  52. package/dist/src/features/workspace/presentation.js +5 -4
  53. package/dist/src/features/workspace/reconciliation.d.ts +0 -1
  54. package/dist/src/features/workspace/reconciliation.js +0 -1
  55. package/dist/src/features/workspace/reducer.d.ts +0 -1
  56. package/dist/src/features/workspace/reducer.js +0 -1
  57. package/dist/src/features/workspace/router.d.ts +0 -1
  58. package/dist/src/features/workspace/router.js +0 -1
  59. package/dist/src/features/workspace/store.d.ts +0 -1
  60. package/dist/src/features/workspace/store.js +0 -1
  61. package/dist/src/foundation/agent-engine-contracts/capability-ports.d.ts +95 -0
  62. package/dist/src/foundation/agent-engine-contracts/capability-ports.js +35 -0
  63. package/dist/src/foundation/agent-engine-contracts/domain-validation.d.ts +12 -0
  64. package/dist/src/foundation/agent-engine-contracts/domain-validation.js +89 -0
  65. package/dist/src/foundation/agent-engine-contracts/domain.d.ts +116 -0
  66. package/dist/src/foundation/agent-engine-contracts/domain.js +1 -0
  67. package/dist/src/foundation/agent-engine-contracts/index.d.ts +7 -0
  68. package/dist/src/foundation/agent-engine-contracts/index.js +7 -0
  69. package/dist/src/foundation/agent-engine-contracts/model.d.ts +78 -0
  70. package/dist/src/foundation/agent-engine-contracts/model.js +1 -0
  71. package/dist/src/foundation/agent-engine-contracts/ports.d.ts +18 -0
  72. package/dist/src/foundation/agent-engine-contracts/ports.js +1 -0
  73. package/dist/src/foundation/agent-engine-contracts/serialization.d.ts +7 -0
  74. package/dist/src/foundation/agent-engine-contracts/serialization.js +58 -0
  75. package/dist/src/foundation/agent-engine-contracts/validation.d.ts +5 -0
  76. package/dist/src/foundation/agent-engine-contracts/validation.js +128 -0
  77. package/dist/src/foundation/launch-guardian/index.d.ts +1 -0
  78. package/dist/src/foundation/launch-guardian/index.js +1 -0
  79. package/dist/src/foundation/launch-guardian/main.d.ts +31 -0
  80. package/dist/src/foundation/launch-guardian/main.js +165 -0
  81. package/dist/src/foundation/lifecycle/commands.d.ts +40 -0
  82. package/dist/src/foundation/lifecycle/commands.js +1 -0
  83. package/dist/src/foundation/lifecycle/index.d.ts +2 -1
  84. package/dist/src/foundation/lifecycle/index.js +2 -1
  85. package/dist/src/foundation/lifecycle/launch-instance.d.ts +46 -0
  86. package/dist/src/foundation/lifecycle/launch-instance.js +134 -0
  87. package/dist/src/foundation/lifecycle/model.d.ts +7 -44
  88. package/dist/src/foundation/lifecycle/model.js +3 -3
  89. package/dist/src/foundation/lifecycle/paths.d.ts +2 -3
  90. package/dist/src/foundation/lifecycle/paths.js +32 -16
  91. package/dist/src/foundation/native-host-protocol/codec.d.ts +0 -1
  92. package/dist/src/foundation/native-host-protocol/codec.js +0 -1
  93. package/dist/src/foundation/native-host-protocol/evidence.d.ts +2 -3
  94. package/dist/src/foundation/native-host-protocol/evidence.js +4 -4
  95. package/dist/src/foundation/native-host-protocol/index.d.ts +0 -1
  96. package/dist/src/foundation/native-host-protocol/index.js +0 -1
  97. package/dist/src/foundation/native-host-protocol/messages.d.ts +1 -2
  98. package/dist/src/foundation/native-host-protocol/messages.js +2 -2
  99. package/dist/src/foundation/native-host-protocol/proof-gate.d.ts +0 -1
  100. package/dist/src/foundation/native-host-protocol/proof-gate.js +0 -1
  101. package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts +0 -1
  102. package/dist/src/foundation/owned-ui-contracts/extension-ui.js +0 -1
  103. package/dist/src/foundation/owned-ui-contracts/index.d.ts +0 -1
  104. package/dist/src/foundation/owned-ui-contracts/index.js +0 -1
  105. package/dist/src/foundation/owned-ui-contracts/model.d.ts +0 -1
  106. package/dist/src/foundation/owned-ui-contracts/model.js +0 -1
  107. package/dist/src/foundation/owned-ui-contracts/validation.d.ts +0 -1
  108. package/dist/src/foundation/owned-ui-contracts/validation.js +0 -1
  109. package/dist/src/foundation/owned-ui-settings/declarations.d.ts +13 -0
  110. package/dist/src/foundation/owned-ui-settings/declarations.js +39 -0
  111. package/dist/src/foundation/owned-ui-settings/index.d.ts +6 -0
  112. package/dist/src/foundation/owned-ui-settings/index.js +6 -0
  113. package/dist/src/foundation/owned-ui-settings/migrations.d.ts +13 -0
  114. package/dist/src/foundation/owned-ui-settings/migrations.js +28 -0
  115. package/dist/src/foundation/owned-ui-settings/resolution.d.ts +45 -0
  116. package/dist/src/foundation/owned-ui-settings/resolution.js +147 -0
  117. package/dist/src/foundation/owned-ui-settings/sections.d.ts +70 -0
  118. package/dist/src/foundation/owned-ui-settings/sections.js +93 -0
  119. package/dist/src/foundation/owned-ui-settings/session.d.ts +44 -0
  120. package/dist/src/foundation/owned-ui-settings/session.js +145 -0
  121. package/dist/src/foundation/owned-ui-settings/store.d.ts +28 -0
  122. package/dist/src/foundation/owned-ui-settings/store.js +90 -0
  123. package/dist/src/foundation/pi-component-adapter/components.d.ts +0 -1
  124. package/dist/src/foundation/pi-component-adapter/components.js +0 -1
  125. package/dist/src/foundation/pi-component-adapter/conformance.d.ts +1 -1
  126. package/dist/src/foundation/pi-component-adapter/conformance.js +10 -4
  127. package/dist/src/foundation/pi-component-adapter/index.d.ts +1 -1
  128. package/dist/src/foundation/pi-component-adapter/index.js +1 -1
  129. package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.d.ts +165 -0
  130. package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.js +166 -0
  131. package/dist/src/foundation/pi-component-adapter/shell-components.d.ts +0 -1
  132. package/dist/src/foundation/pi-component-adapter/shell-components.js +0 -1
  133. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.d.ts +0 -1
  134. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js +10 -13
  135. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts +0 -1
  136. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js +0 -1
  137. package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts +0 -1
  138. package/dist/src/foundation/pi-component-adapter/shell-footer-status.js +5 -62
  139. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts +0 -1
  140. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js +0 -1
  141. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts +9 -2
  142. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js +10 -9
  143. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts +0 -1
  144. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js +0 -1
  145. package/dist/src/foundation/pi-component-adapter/theme.d.ts +0 -1
  146. package/dist/src/foundation/pi-component-adapter/theme.js +0 -1
  147. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts +0 -1
  148. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js +0 -1
  149. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts +0 -1
  150. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.js +0 -1
  151. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts +0 -1
  152. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js +0 -1
  153. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts +0 -1
  154. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js +0 -1
  155. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts +0 -1
  156. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js +3 -27
  157. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts +0 -1
  158. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js +0 -1
  159. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts +0 -1
  160. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js +0 -1
  161. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts +0 -1
  162. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js +0 -1
  163. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.d.ts +0 -1
  164. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js +0 -1
  165. package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.d.ts +18 -0
  166. package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.js +55 -0
  167. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts +0 -1
  168. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js +0 -1
  169. package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.d.ts +10 -0
  170. package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.js +120 -0
  171. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.d.ts +0 -1
  172. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js +0 -1
  173. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts +0 -1
  174. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js +0 -1
  175. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts +1 -2
  176. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js +1 -2
  177. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts +0 -1
  178. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js +0 -1
  179. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts +0 -1
  180. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js +0 -1
  181. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts +0 -1
  182. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js +0 -1
  183. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.d.ts +0 -1
  184. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js +0 -1
  185. package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts +0 -1
  186. package/dist/src/foundation/pi-component-adapter/upstream/model-search.js +0 -1
  187. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts +0 -1
  188. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js +1 -2
  189. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts +8 -1
  190. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js +30 -15
  191. package/dist/src/foundation/pi-engine-adapter/adapter.d.ts +19 -205
  192. package/dist/src/foundation/pi-engine-adapter/adapter.js +156 -181
  193. package/dist/src/foundation/pi-engine-adapter/conformance.d.ts +24 -1
  194. package/dist/src/foundation/pi-engine-adapter/conformance.js +60 -15
  195. package/dist/src/foundation/pi-engine-adapter/index.d.ts +6 -1
  196. package/dist/src/foundation/pi-engine-adapter/index.js +6 -1
  197. package/dist/src/foundation/pi-engine-adapter/model-auth-integration.d.ts +30 -0
  198. package/dist/src/foundation/pi-engine-adapter/model-auth-integration.js +61 -0
  199. package/dist/src/foundation/pi-engine-adapter/pi-settings-metadata.json +374 -0
  200. package/dist/src/foundation/pi-engine-adapter/public-main-entry.d.ts +5 -0
  201. package/dist/src/foundation/pi-engine-adapter/public-main-entry.js +27 -0
  202. package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.d.ts +31 -0
  203. package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.js +80 -0
  204. package/dist/src/foundation/pi-engine-adapter/runtime-integration.d.ts +18 -0
  205. package/dist/src/foundation/pi-engine-adapter/runtime-integration.js +32 -0
  206. package/dist/src/foundation/pi-engine-adapter/session-integration.d.ts +43 -0
  207. package/dist/src/foundation/pi-engine-adapter/session-integration.js +97 -0
  208. package/dist/src/foundation/pi-engine-adapter/settings-integration.d.ts +55 -0
  209. package/dist/src/foundation/pi-engine-adapter/settings-integration.js +233 -0
  210. package/dist/src/foundation/pi-engine-adapter/workflow-controllers.d.ts +20 -0
  211. package/dist/src/foundation/pi-engine-adapter/workflow-controllers.js +48 -0
  212. package/dist/src/foundation/pi-engine-adapter/workflows.d.ts +9 -1
  213. package/dist/src/foundation/pi-engine-adapter/workflows.js +0 -1
  214. package/dist/src/foundation/pi-owned-ui-integration/index.d.ts +2 -0
  215. package/dist/src/foundation/pi-owned-ui-integration/index.js +2 -0
  216. package/dist/src/foundation/pi-owned-ui-integration/route-host.d.ts +29 -0
  217. package/dist/src/foundation/pi-owned-ui-integration/route-host.js +1 -0
  218. package/dist/src/{features/owned-ui/pi-session-shell.d.ts → foundation/pi-owned-ui-integration/session-shell.d.ts} +23 -14
  219. package/dist/src/{features/owned-ui/pi-session-shell.js → foundation/pi-owned-ui-integration/session-shell.js} +130 -61
  220. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts +6 -1
  221. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js +9 -1
  222. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts +8 -4
  223. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js +22 -9
  224. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts +0 -2
  225. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.js +1 -2
  226. package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts +1 -1
  227. package/dist/src/foundation/pi-tui-runtime-adapter/index.js +1 -1
  228. package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.d.ts +4 -0
  229. package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.js +48 -0
  230. package/dist/src/foundation/presentation-contracts/index.d.ts +96 -0
  231. package/dist/src/foundation/presentation-contracts/index.js +38 -0
  232. package/dist/src/foundation/process-containment/artifact.d.ts +1 -0
  233. package/dist/src/foundation/process-containment/artifact.js +34 -0
  234. package/dist/src/foundation/process-containment/contracts.d.ts +31 -0
  235. package/dist/src/foundation/process-containment/contracts.js +35 -0
  236. package/dist/src/foundation/process-containment/index.d.ts +5 -0
  237. package/dist/src/foundation/process-containment/index.js +5 -0
  238. package/dist/src/foundation/process-containment/linux-process-inspector.d.ts +6 -0
  239. package/dist/src/foundation/process-containment/linux-process-inspector.js +26 -0
  240. package/dist/src/foundation/process-containment/native-guardian-containment.d.ts +16 -0
  241. package/dist/src/foundation/process-containment/native-guardian-containment.js +139 -0
  242. package/dist/src/foundation/process-containment/windows-process-inspector.d.ts +17 -0
  243. package/dist/src/foundation/process-containment/windows-process-inspector.js +53 -0
  244. package/dist/src/foundation/protocol/client.d.ts +2 -2
  245. package/dist/src/foundation/protocol/client.js +3 -1
  246. package/dist/src/foundation/protocol/index.d.ts +0 -1
  247. package/dist/src/foundation/protocol/index.js +0 -1
  248. package/dist/src/foundation/protocol/messages.d.ts +6 -7
  249. package/dist/src/foundation/protocol/messages.js +3 -3
  250. package/dist/src/foundation/release/bootstrap.d.ts +2 -3
  251. package/dist/src/foundation/release/bootstrap.js +85 -33
  252. package/dist/src/foundation/release/cohort-selection.d.ts +0 -1
  253. package/dist/src/foundation/release/cohort-selection.js +3 -4
  254. package/dist/src/foundation/release/cohort-state.d.ts +6 -4
  255. package/dist/src/foundation/release/cohort-state.js +5 -4
  256. package/dist/src/foundation/release/concurrency.d.ts +1 -0
  257. package/dist/src/foundation/release/concurrency.js +17 -0
  258. package/dist/src/foundation/release/development-preview-release.d.ts +2 -2
  259. package/dist/src/foundation/release/development-preview-release.js +3 -2
  260. package/dist/src/foundation/release/index.d.ts +0 -1
  261. package/dist/src/foundation/release/index.js +0 -1
  262. package/dist/src/foundation/release/process-cleanup.d.ts +1 -2
  263. package/dist/src/foundation/release/process-cleanup.js +2 -3
  264. package/dist/src/foundation/release/release-gc.d.ts +0 -1
  265. package/dist/src/foundation/release/release-gc.js +0 -1
  266. package/dist/src/foundation/release/release-store.d.ts +38 -6
  267. package/dist/src/foundation/release/release-store.js +103 -43
  268. package/dist/src/foundation/release/release.d.ts +20 -6
  269. package/dist/src/foundation/release/release.js +77 -48
  270. package/dist/src/foundation/release/stable-release.d.ts +2 -2
  271. package/dist/src/foundation/release/stable-release.js +6 -5
  272. package/dist/src/foundation/release/update-transaction.d.ts +2 -2
  273. package/dist/src/foundation/release/update-transaction.js +8 -7
  274. package/dist/src/foundation/release/update.d.ts +20 -4
  275. package/dist/src/foundation/release/update.js +152 -36
  276. package/dist/src/foundation/storage/control-store.d.ts +8 -8
  277. package/dist/src/foundation/storage/control-store.js +132 -61
  278. package/dist/src/foundation/storage/index.d.ts +0 -1
  279. package/dist/src/foundation/storage/index.js +0 -1
  280. package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts +0 -1
  281. package/dist/src/foundation/structured-agent-runtime/backpressure.js +0 -1
  282. package/dist/src/foundation/structured-agent-runtime/commands.d.ts +0 -1
  283. package/dist/src/foundation/structured-agent-runtime/commands.js +0 -1
  284. package/dist/src/foundation/structured-agent-runtime/handshake.d.ts +2 -3
  285. package/dist/src/foundation/structured-agent-runtime/handshake.js +13 -13
  286. package/dist/src/foundation/structured-agent-runtime/index.d.ts +0 -1
  287. package/dist/src/foundation/structured-agent-runtime/index.js +0 -1
  288. package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts +0 -1
  289. package/dist/src/foundation/structured-agent-runtime/reconnection.js +0 -1
  290. package/dist/src/foundation/structured-agent-runtime/state.d.ts +0 -1
  291. package/dist/src/foundation/structured-agent-runtime/state.js +0 -1
  292. package/dist/src/foundation/supervision/index.d.ts +1 -2
  293. package/dist/src/foundation/supervision/index.js +1 -2
  294. package/dist/src/foundation/supervision/main.d.ts +0 -1
  295. package/dist/src/foundation/supervision/main.js +11 -10
  296. package/dist/src/foundation/supervision/paths.d.ts +1 -2
  297. package/dist/src/foundation/supervision/paths.js +1 -2
  298. package/dist/src/foundation/supervision/server.d.ts +6 -5
  299. package/dist/src/foundation/supervision/server.js +259 -91
  300. package/dist/src/foundation/ui-apps/contracts.d.ts +42 -0
  301. package/dist/src/foundation/ui-apps/contracts.js +12 -0
  302. package/dist/src/foundation/ui-apps/host.d.ts +42 -0
  303. package/dist/src/foundation/ui-apps/host.js +152 -0
  304. package/dist/src/foundation/ui-apps/index.d.ts +3 -0
  305. package/dist/src/foundation/ui-apps/index.js +3 -0
  306. package/dist/src/foundation/ui-apps/registry.d.ts +11 -0
  307. package/dist/src/foundation/ui-apps/registry.js +32 -0
  308. package/dist/src/foundation/ui-components/dialog-panel.d.ts +36 -0
  309. package/dist/src/foundation/ui-components/dialog-panel.js +47 -0
  310. package/dist/src/foundation/ui-components/frame.d.ts +21 -0
  311. package/dist/src/foundation/ui-components/frame.js +54 -0
  312. package/dist/src/foundation/ui-components/index.d.ts +18 -0
  313. package/dist/src/foundation/ui-components/index.js +18 -0
  314. package/dist/src/foundation/ui-components/label.d.ts +8 -0
  315. package/dist/src/foundation/ui-components/label.js +36 -0
  316. package/dist/src/foundation/ui-components/line-input.d.ts +74 -0
  317. package/dist/src/foundation/ui-components/line-input.js +245 -0
  318. package/dist/src/foundation/ui-components/list-block.d.ts +66 -0
  319. package/dist/src/foundation/ui-components/list-block.js +176 -0
  320. package/dist/src/foundation/ui-components/list-view.d.ts +66 -0
  321. package/dist/src/foundation/ui-components/list-view.js +76 -0
  322. package/dist/src/foundation/ui-components/mouse.d.ts +15 -0
  323. package/dist/src/foundation/ui-components/mouse.js +46 -0
  324. package/dist/src/foundation/ui-components/pane.d.ts +33 -0
  325. package/dist/src/foundation/ui-components/pane.js +7 -0
  326. package/dist/src/foundation/ui-components/revision.d.ts +35 -0
  327. package/dist/src/foundation/ui-components/revision.js +79 -0
  328. package/dist/src/foundation/ui-components/scrollbar.d.ts +62 -0
  329. package/dist/src/foundation/ui-components/scrollbar.js +102 -0
  330. package/dist/src/foundation/ui-components/shortcuts.d.ts +57 -0
  331. package/dist/src/foundation/ui-components/shortcuts.js +81 -0
  332. package/dist/src/foundation/ui-components/spans.d.ts +7 -0
  333. package/dist/src/foundation/ui-components/spans.js +59 -0
  334. package/dist/src/foundation/ui-components/status-line.d.ts +16 -0
  335. package/dist/src/foundation/ui-components/status-line.js +14 -0
  336. package/dist/src/foundation/ui-components/stepper.d.ts +24 -0
  337. package/dist/src/foundation/ui-components/stepper.js +33 -0
  338. package/dist/src/foundation/ui-components/surface.d.ts +20 -0
  339. package/dist/src/foundation/ui-components/surface.js +38 -0
  340. package/dist/src/foundation/ui-components/text.d.ts +24 -0
  341. package/dist/src/foundation/ui-components/text.js +123 -0
  342. package/dist/src/foundation/ui-components/theme.d.ts +23 -0
  343. package/dist/src/foundation/ui-components/theme.js +13 -0
  344. package/dist/src/foundation/ui-components/value-menu.d.ts +41 -0
  345. package/dist/src/foundation/ui-components/value-menu.js +33 -0
  346. package/dist/src/foundation/workspace-contracts/index.d.ts +0 -1
  347. package/dist/src/foundation/workspace-contracts/index.js +0 -1
  348. package/dist/src/foundation/workspace-contracts/model.d.ts +0 -1
  349. package/dist/src/foundation/workspace-contracts/model.js +0 -1
  350. package/dist/src/foundation/workspace-contracts/validation.d.ts +0 -1
  351. package/dist/src/foundation/workspace-contracts/validation.js +0 -1
  352. package/dist/src/product-identity.d.ts +37 -0
  353. package/dist/src/product-identity.js +150 -0
  354. package/dist/src/product-identity.json +99 -0
  355. package/docs/architecture/boundaries.md +32 -14
  356. package/docs/architecture/process-guardian-provenance.md +26 -0
  357. package/docs/architecture/project-structure.md +2 -2
  358. package/docs/architecture/resource-and-data-policy.md +1 -1
  359. package/docs/architecture/terminal-host-proof-gate.md +2 -2
  360. package/docs/architecture/terminal-host-provenance.md +3 -3
  361. package/docs/architecture/terminal-host-spike-evidence.md +1 -1
  362. package/docs/architecture/toolchain.md +40 -8
  363. package/docs/architecture/ui-reference-provenance.md +50 -0
  364. package/docs/ci-release-runbook.md +67 -0
  365. package/docs/features/launch-profiles.md +12 -6
  366. package/docs/manual-launch-instance-acceptance.md +66 -0
  367. package/docs/manual-pi-boundary-candidate.md +33 -0
  368. package/docs/manual-terminal-colour-check.md +55 -0
  369. package/docs/manual-transparent-checkpoint.md +11 -11
  370. package/package.json +27 -14
  371. package/bin/addone-ui.js +0 -20
  372. package/dist/src/cli/dispatch.d.ts.map +0 -1
  373. package/dist/src/cli/dispatch.js.map +0 -1
  374. package/dist/src/cli/index.d.ts.map +0 -1
  375. package/dist/src/cli/index.js.map +0 -1
  376. package/dist/src/cli/version-stats.d.ts.map +0 -1
  377. package/dist/src/cli/version-stats.js.map +0 -1
  378. package/dist/src/cli/version.d.ts.map +0 -1
  379. package/dist/src/cli/version.js.map +0 -1
  380. package/dist/src/features/launch/development-launch.d.ts.map +0 -1
  381. package/dist/src/features/launch/development-launch.js.map +0 -1
  382. package/dist/src/features/launch/index.d.ts.map +0 -1
  383. package/dist/src/features/launch/index.js.map +0 -1
  384. package/dist/src/features/launch/initialize-profile.d.ts.map +0 -1
  385. package/dist/src/features/launch/initialize-profile.js.map +0 -1
  386. package/dist/src/features/launch/intent.d.ts.map +0 -1
  387. package/dist/src/features/launch/intent.js.map +0 -1
  388. package/dist/src/features/launch/prepare-launch.d.ts.map +0 -1
  389. package/dist/src/features/launch/prepare-launch.js.map +0 -1
  390. package/dist/src/features/launch/profile-paths.d.ts.map +0 -1
  391. package/dist/src/features/launch/profile-paths.js.map +0 -1
  392. package/dist/src/features/launch/profiles.d.ts.map +0 -1
  393. package/dist/src/features/launch/profiles.js.map +0 -1
  394. package/dist/src/features/launch/runtime-selection.d.ts.map +0 -1
  395. package/dist/src/features/launch/runtime-selection.js.map +0 -1
  396. package/dist/src/features/owned-ui/customization.d.ts.map +0 -1
  397. package/dist/src/features/owned-ui/customization.js.map +0 -1
  398. package/dist/src/features/owned-ui/diagnostics.d.ts.map +0 -1
  399. package/dist/src/features/owned-ui/diagnostics.js.map +0 -1
  400. package/dist/src/features/owned-ui/index.d.ts.map +0 -1
  401. package/dist/src/features/owned-ui/index.js.map +0 -1
  402. package/dist/src/features/owned-ui/pi-session-shell.d.ts.map +0 -1
  403. package/dist/src/features/owned-ui/pi-session-shell.js.map +0 -1
  404. package/dist/src/features/owned-ui/run.d.ts.map +0 -1
  405. package/dist/src/features/owned-ui/run.js.map +0 -1
  406. package/dist/src/features/workspace/capabilities.d.ts.map +0 -1
  407. package/dist/src/features/workspace/capabilities.js.map +0 -1
  408. package/dist/src/features/workspace/index.d.ts.map +0 -1
  409. package/dist/src/features/workspace/index.js.map +0 -1
  410. package/dist/src/features/workspace/presentation.d.ts.map +0 -1
  411. package/dist/src/features/workspace/presentation.js.map +0 -1
  412. package/dist/src/features/workspace/reconciliation.d.ts.map +0 -1
  413. package/dist/src/features/workspace/reconciliation.js.map +0 -1
  414. package/dist/src/features/workspace/reducer.d.ts.map +0 -1
  415. package/dist/src/features/workspace/reducer.js.map +0 -1
  416. package/dist/src/features/workspace/router.d.ts.map +0 -1
  417. package/dist/src/features/workspace/router.js.map +0 -1
  418. package/dist/src/features/workspace/store.d.ts.map +0 -1
  419. package/dist/src/features/workspace/store.js.map +0 -1
  420. package/dist/src/foundation/lifecycle/index.d.ts.map +0 -1
  421. package/dist/src/foundation/lifecycle/index.js.map +0 -1
  422. package/dist/src/foundation/lifecycle/model.d.ts.map +0 -1
  423. package/dist/src/foundation/lifecycle/model.js.map +0 -1
  424. package/dist/src/foundation/lifecycle/paths.d.ts.map +0 -1
  425. package/dist/src/foundation/lifecycle/paths.js.map +0 -1
  426. package/dist/src/foundation/native-host-protocol/codec.d.ts.map +0 -1
  427. package/dist/src/foundation/native-host-protocol/codec.js.map +0 -1
  428. package/dist/src/foundation/native-host-protocol/evidence.d.ts.map +0 -1
  429. package/dist/src/foundation/native-host-protocol/evidence.js.map +0 -1
  430. package/dist/src/foundation/native-host-protocol/index.d.ts.map +0 -1
  431. package/dist/src/foundation/native-host-protocol/index.js.map +0 -1
  432. package/dist/src/foundation/native-host-protocol/messages.d.ts.map +0 -1
  433. package/dist/src/foundation/native-host-protocol/messages.js.map +0 -1
  434. package/dist/src/foundation/native-host-protocol/proof-gate.d.ts.map +0 -1
  435. package/dist/src/foundation/native-host-protocol/proof-gate.js.map +0 -1
  436. package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts.map +0 -1
  437. package/dist/src/foundation/owned-ui-contracts/extension-ui.js.map +0 -1
  438. package/dist/src/foundation/owned-ui-contracts/index.d.ts.map +0 -1
  439. package/dist/src/foundation/owned-ui-contracts/index.js.map +0 -1
  440. package/dist/src/foundation/owned-ui-contracts/model.d.ts.map +0 -1
  441. package/dist/src/foundation/owned-ui-contracts/model.js.map +0 -1
  442. package/dist/src/foundation/owned-ui-contracts/validation.d.ts.map +0 -1
  443. package/dist/src/foundation/owned-ui-contracts/validation.js.map +0 -1
  444. package/dist/src/foundation/pi-component-adapter/components.d.ts.map +0 -1
  445. package/dist/src/foundation/pi-component-adapter/components.js.map +0 -1
  446. package/dist/src/foundation/pi-component-adapter/conformance.d.ts.map +0 -1
  447. package/dist/src/foundation/pi-component-adapter/conformance.js.map +0 -1
  448. package/dist/src/foundation/pi-component-adapter/index.d.ts.map +0 -1
  449. package/dist/src/foundation/pi-component-adapter/index.js.map +0 -1
  450. package/dist/src/foundation/pi-component-adapter/shell-components.d.ts.map +0 -1
  451. package/dist/src/foundation/pi-component-adapter/shell-components.js.map +0 -1
  452. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.d.ts.map +0 -1
  453. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js.map +0 -1
  454. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts.map +0 -1
  455. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js.map +0 -1
  456. package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts.map +0 -1
  457. package/dist/src/foundation/pi-component-adapter/shell-footer-status.js.map +0 -1
  458. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts.map +0 -1
  459. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js.map +0 -1
  460. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts.map +0 -1
  461. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js.map +0 -1
  462. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts.map +0 -1
  463. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js.map +0 -1
  464. package/dist/src/foundation/pi-component-adapter/theme.d.ts.map +0 -1
  465. package/dist/src/foundation/pi-component-adapter/theme.js.map +0 -1
  466. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts.map +0 -1
  467. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js.map +0 -1
  468. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts.map +0 -1
  469. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.js.map +0 -1
  470. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts.map +0 -1
  471. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js.map +0 -1
  472. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts.map +0 -1
  473. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js.map +0 -1
  474. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts.map +0 -1
  475. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js.map +0 -1
  476. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts.map +0 -1
  477. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js.map +0 -1
  478. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts.map +0 -1
  479. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js.map +0 -1
  480. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts.map +0 -1
  481. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js.map +0 -1
  482. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.d.ts.map +0 -1
  483. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js.map +0 -1
  484. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts.map +0 -1
  485. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js.map +0 -1
  486. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.d.ts.map +0 -1
  487. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js.map +0 -1
  488. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts.map +0 -1
  489. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js.map +0 -1
  490. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts.map +0 -1
  491. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js.map +0 -1
  492. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts.map +0 -1
  493. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js.map +0 -1
  494. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts.map +0 -1
  495. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js.map +0 -1
  496. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts.map +0 -1
  497. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js.map +0 -1
  498. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.d.ts.map +0 -1
  499. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js.map +0 -1
  500. package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts.map +0 -1
  501. package/dist/src/foundation/pi-component-adapter/upstream/model-search.js.map +0 -1
  502. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts.map +0 -1
  503. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js.map +0 -1
  504. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts.map +0 -1
  505. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js.map +0 -1
  506. package/dist/src/foundation/pi-engine-adapter/adapter.d.ts.map +0 -1
  507. package/dist/src/foundation/pi-engine-adapter/adapter.js.map +0 -1
  508. package/dist/src/foundation/pi-engine-adapter/conformance.d.ts.map +0 -1
  509. package/dist/src/foundation/pi-engine-adapter/conformance.js.map +0 -1
  510. package/dist/src/foundation/pi-engine-adapter/index.d.ts.map +0 -1
  511. package/dist/src/foundation/pi-engine-adapter/index.js.map +0 -1
  512. package/dist/src/foundation/pi-engine-adapter/workflows.d.ts.map +0 -1
  513. package/dist/src/foundation/pi-engine-adapter/workflows.js.map +0 -1
  514. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts.map +0 -1
  515. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js.map +0 -1
  516. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts.map +0 -1
  517. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js.map +0 -1
  518. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts.map +0 -1
  519. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.js.map +0 -1
  520. package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts.map +0 -1
  521. package/dist/src/foundation/pi-tui-runtime-adapter/index.js.map +0 -1
  522. package/dist/src/foundation/protocol/client.d.ts.map +0 -1
  523. package/dist/src/foundation/protocol/client.js.map +0 -1
  524. package/dist/src/foundation/protocol/index.d.ts.map +0 -1
  525. package/dist/src/foundation/protocol/index.js.map +0 -1
  526. package/dist/src/foundation/protocol/messages.d.ts.map +0 -1
  527. package/dist/src/foundation/protocol/messages.js.map +0 -1
  528. package/dist/src/foundation/release/bootstrap.d.ts.map +0 -1
  529. package/dist/src/foundation/release/bootstrap.js.map +0 -1
  530. package/dist/src/foundation/release/cohort-selection.d.ts.map +0 -1
  531. package/dist/src/foundation/release/cohort-selection.js.map +0 -1
  532. package/dist/src/foundation/release/cohort-state.d.ts.map +0 -1
  533. package/dist/src/foundation/release/cohort-state.js.map +0 -1
  534. package/dist/src/foundation/release/development-preview-release.d.ts.map +0 -1
  535. package/dist/src/foundation/release/development-preview-release.js.map +0 -1
  536. package/dist/src/foundation/release/index.d.ts.map +0 -1
  537. package/dist/src/foundation/release/index.js.map +0 -1
  538. package/dist/src/foundation/release/process-cleanup.d.ts.map +0 -1
  539. package/dist/src/foundation/release/process-cleanup.js.map +0 -1
  540. package/dist/src/foundation/release/release-gc.d.ts.map +0 -1
  541. package/dist/src/foundation/release/release-gc.js.map +0 -1
  542. package/dist/src/foundation/release/release-store.d.ts.map +0 -1
  543. package/dist/src/foundation/release/release-store.js.map +0 -1
  544. package/dist/src/foundation/release/release.d.ts.map +0 -1
  545. package/dist/src/foundation/release/release.js.map +0 -1
  546. package/dist/src/foundation/release/stable-release.d.ts.map +0 -1
  547. package/dist/src/foundation/release/stable-release.js.map +0 -1
  548. package/dist/src/foundation/release/update-transaction.d.ts.map +0 -1
  549. package/dist/src/foundation/release/update-transaction.js.map +0 -1
  550. package/dist/src/foundation/release/update.d.ts.map +0 -1
  551. package/dist/src/foundation/release/update.js.map +0 -1
  552. package/dist/src/foundation/storage/control-store.d.ts.map +0 -1
  553. package/dist/src/foundation/storage/control-store.js.map +0 -1
  554. package/dist/src/foundation/storage/index.d.ts.map +0 -1
  555. package/dist/src/foundation/storage/index.js.map +0 -1
  556. package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts.map +0 -1
  557. package/dist/src/foundation/structured-agent-runtime/backpressure.js.map +0 -1
  558. package/dist/src/foundation/structured-agent-runtime/commands.d.ts.map +0 -1
  559. package/dist/src/foundation/structured-agent-runtime/commands.js.map +0 -1
  560. package/dist/src/foundation/structured-agent-runtime/handshake.d.ts.map +0 -1
  561. package/dist/src/foundation/structured-agent-runtime/handshake.js.map +0 -1
  562. package/dist/src/foundation/structured-agent-runtime/index.d.ts.map +0 -1
  563. package/dist/src/foundation/structured-agent-runtime/index.js.map +0 -1
  564. package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts.map +0 -1
  565. package/dist/src/foundation/structured-agent-runtime/reconnection.js.map +0 -1
  566. package/dist/src/foundation/structured-agent-runtime/state.d.ts.map +0 -1
  567. package/dist/src/foundation/structured-agent-runtime/state.js.map +0 -1
  568. package/dist/src/foundation/supervision/index.d.ts.map +0 -1
  569. package/dist/src/foundation/supervision/index.js.map +0 -1
  570. package/dist/src/foundation/supervision/main.d.ts.map +0 -1
  571. package/dist/src/foundation/supervision/main.js.map +0 -1
  572. package/dist/src/foundation/supervision/paths.d.ts.map +0 -1
  573. package/dist/src/foundation/supervision/paths.js.map +0 -1
  574. package/dist/src/foundation/supervision/server.d.ts.map +0 -1
  575. package/dist/src/foundation/supervision/server.js.map +0 -1
  576. package/dist/src/foundation/transparent-terminal/command-resolution.d.ts +0 -14
  577. package/dist/src/foundation/transparent-terminal/command-resolution.d.ts.map +0 -1
  578. package/dist/src/foundation/transparent-terminal/command-resolution.js +0 -70
  579. package/dist/src/foundation/transparent-terminal/command-resolution.js.map +0 -1
  580. package/dist/src/foundation/transparent-terminal/foreground-broker.d.ts +0 -33
  581. package/dist/src/foundation/transparent-terminal/foreground-broker.d.ts.map +0 -1
  582. package/dist/src/foundation/transparent-terminal/foreground-broker.js +0 -88
  583. package/dist/src/foundation/transparent-terminal/foreground-broker.js.map +0 -1
  584. package/dist/src/foundation/transparent-terminal/index.d.ts +0 -4
  585. package/dist/src/foundation/transparent-terminal/index.d.ts.map +0 -1
  586. package/dist/src/foundation/transparent-terminal/index.js +0 -4
  587. package/dist/src/foundation/transparent-terminal/index.js.map +0 -1
  588. package/dist/src/foundation/transparent-terminal/main.d.ts +0 -10
  589. package/dist/src/foundation/transparent-terminal/main.d.ts.map +0 -1
  590. package/dist/src/foundation/transparent-terminal/main.js +0 -107
  591. package/dist/src/foundation/transparent-terminal/main.js.map +0 -1
  592. package/dist/src/foundation/transparent-terminal/native-launcher.d.ts +0 -26
  593. package/dist/src/foundation/transparent-terminal/native-launcher.d.ts.map +0 -1
  594. package/dist/src/foundation/transparent-terminal/native-launcher.js +0 -147
  595. package/dist/src/foundation/transparent-terminal/native-launcher.js.map +0 -1
  596. package/dist/src/foundation/workspace-contracts/index.d.ts.map +0 -1
  597. package/dist/src/foundation/workspace-contracts/index.js.map +0 -1
  598. package/dist/src/foundation/workspace-contracts/model.d.ts.map +0 -1
  599. package/dist/src/foundation/workspace-contracts/model.js.map +0 -1
  600. package/dist/src/foundation/workspace-contracts/validation.d.ts.map +0 -1
  601. package/dist/src/foundation/workspace-contracts/validation.js.map +0 -1
  602. /package/bin/{addone-supervisor.js → supervisor.js} +0 -0
@@ -1,11 +1,15 @@
1
1
  import { execFile } from "node:child_process";
2
- import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
2
+ import { mkdir, rm, writeFile } from "node:fs/promises";
3
3
  import { tmpdir } from "node:os";
4
4
  import { dirname, join, resolve } from "node:path";
5
5
  import { promisify } from "node:util";
6
- import { copyToClipboard, createAgentSessionFromServices, createAgentSessionRuntime, createAgentSessionServices, getAgentDir, getPackageDir, ProjectTrustStore, SessionManager, } from "@earendil-works/pi-coding-agent";
6
+ import { PRODUCT_IDENTITY } from "../../product-identity.js";
7
+ import { copyToClipboard, getAgentDir, ProjectTrustStore, SessionManager, } from "@earendil-works/pi-coding-agent";
7
8
  import { OWNED_UI_EXTENSION_CONTRACT_VERSION, OWNED_UI_EXTENSION_RENDER_CALLBACKS, OWNED_UI_EXTENSION_UI_CALLBACKS, OWNED_UI_EXTENSION_UI_PROPERTIES, assertOwnedUiCommand, assertOwnedUiExtensionUiPort, assertOwnedUiSnapshot, } from "../owned-ui-contracts/index.js";
8
9
  import { PINNED_PI_SETTINGS_CALLBACKS, PINNED_PI_WORKFLOW_COMMAND_NAMES, } from "./workflows.js";
10
+ import { createPiRuntimeIntegration } from "./runtime-integration.js";
11
+ import { PiSessionCommandIntegration } from "./session-integration.js";
12
+ import { PiSettingsIntegration } from "./settings-integration.js";
9
13
  const execFileAsync = promisify(execFile);
10
14
  const DEFAULT_SURFACE = {
11
15
  columns: 100,
@@ -56,18 +60,21 @@ export class PiEngineAdapter {
56
60
  #eventQueue = [];
57
61
  #eventQueueProcessing;
58
62
  #droppedEventCount = 0;
59
- #lastPrompt = null;
63
+ #sessionCommands;
60
64
  #gitBranch = null;
61
65
  #extensionUi;
62
66
  #extensionShutdown;
63
67
  #extensionBound = false;
64
68
  #disposed = false;
69
+ /** Lists the themes installed on this machine, when the caller supplies one. */
70
+ #availableThemes;
65
71
  constructor(options = {}) {
66
72
  this.#cwd = options.cwd ?? process.cwd();
67
73
  this.#agentDir = options.agentDir ?? getAgentDir();
68
74
  this.#sessionId = options.sessionId ?? "owned-session-1";
69
75
  this.#runtimeFactory = options.createRuntime ?? createDefaultPiRuntime;
70
76
  this.#workflowHost = options.workflowHost ?? defaultWorkflowHost();
77
+ this.#availableThemes = options.availableThemes ?? null;
71
78
  this.#workflowInteraction = { prompt: async () => null, notify() { } };
72
79
  }
73
80
  setWorkflowInteractionHost(interaction) {
@@ -279,8 +286,8 @@ export class PiEngineAdapter {
279
286
  uiProperties: OWNED_UI_EXTENSION_UI_PROPERTIES,
280
287
  renderCallbacks: OWNED_UI_EXTENSION_RENDER_CALLBACKS,
281
288
  diagnostic: this.#extensionBound
282
- ? "Pinned public extension UI lifecycle is bound through the AddOne-owned bridge."
283
- : "The complete AddOne-owned extension UI contract is available; the active session has not been bound to the owned UI bridge.",
289
+ ? `Pinned public extension UI lifecycle is bound through the ${PRODUCT_IDENTITY.displayName}-owned bridge.`
290
+ : `The complete ${PRODUCT_IDENTITY.displayName}-owned extension UI contract is available; the active session has not been bound to the owned UI bridge.`,
284
291
  };
285
292
  }
286
293
  async bindExtensionUi(ui, shutdown) {
@@ -342,7 +349,7 @@ export class PiEngineAdapter {
342
349
  usedNames.add(name);
343
350
  }
344
351
  }
345
- const extensionCommands = this.#session?.extensionRunner?.getCommands?.();
352
+ const extensionCommands = this.#session?.extensionRunner?.getRegisteredCommands?.();
346
353
  if (Array.isArray(extensionCommands)) {
347
354
  for (const command of extensionCommands.filter(isRecord)) {
348
355
  const name = stringProperty(command, "name");
@@ -373,12 +380,33 @@ export class PiEngineAdapter {
373
380
  return workflowResult("model", "failed", error instanceof Error ? error.message : String(error));
374
381
  }
375
382
  }
383
+ /**
384
+ * The theme the engine is configured with, in the engine's own grammar: a
385
+ * theme's name, or a `light/dark` pair meaning "follow the terminal".
386
+ */
387
+ configuredTheme() {
388
+ return this.#runtime?.services.settingsManager.getThemeSetting();
389
+ }
390
+ /** Settings port for the live runtime, or null before the runtime is available. */
391
+ settingsPort() {
392
+ const settings = this.#runtime?.services.settingsManager;
393
+ if (!settings)
394
+ return null;
395
+ const session = this.#runtime?.session;
396
+ return new PiSettingsIntegration(settings, {
397
+ ...(this.#availableThemes === null ? {} : { themes: this.#availableThemes }),
398
+ thinkingLevels: () => {
399
+ const levels = session?.getAvailableThinkingLevels?.();
400
+ return Array.isArray(levels) ? levels.map(level => String(level)) : [];
401
+ },
402
+ });
403
+ }
376
404
  pinnedModelSelectorContext() {
377
405
  const session = this.#requireWorkflowSession();
378
406
  const runtime = this.#runtime;
379
407
  if (!runtime)
380
408
  throw new Error("engine runtime is unavailable");
381
- const scoped = session.getScopedModels?.() ?? session.scopedModels;
409
+ const scoped = session.scopedModels;
382
410
  const modelRuntime = runtime.services.modelRuntime;
383
411
  const selectorRuntime = typeof modelRuntime.getAvailableSnapshot === "function"
384
412
  ? modelRuntime
@@ -393,7 +421,7 @@ export class PiEngineAdapter {
393
421
  ? settingsManager
394
422
  : { setDefaultModelAndProvider() { } };
395
423
  return {
396
- currentModel: session.model,
424
+ currentModel: this.#activeModel === null ? undefined : session.model,
397
425
  settingsManager: selectorSettings,
398
426
  modelRuntime: selectorRuntime,
399
427
  scopedModels: Array.isArray(scoped) ? scoped : [],
@@ -455,7 +483,7 @@ export class PiEngineAdapter {
455
483
  if (!runtime)
456
484
  throw new Error("engine runtime is unavailable");
457
485
  const models = scopedModelRecords(runtime.services.modelRuntime);
458
- const scoped = session.getScopedModels?.() ?? session.scopedModels;
486
+ const scoped = session.scopedModels;
459
487
  if (Array.isArray(scoped) && scoped.length > 0) {
460
488
  return {
461
489
  models: models.map(item => item.descriptor),
@@ -535,8 +563,9 @@ export class PiEngineAdapter {
535
563
  const oauth = dynamicObject(dynamicObject(provider, "auth"), "oauth");
536
564
  const loginLabel = stringProperty(oauth, "loginLabel") ?? "Sign in with an account";
537
565
  const options = this.#loginOptions().filter(option => option.id.endsWith(`:${providerId}`)).map(option => ({
538
- ...option,
566
+ id: option.id,
539
567
  label: option.id.startsWith("api_key:") ? "Sign in with an API key" : loginLabel,
568
+ ...(option.description === undefined ? {} : { description: option.description }),
540
569
  }));
541
570
  return { title: `Select authentication method for ${providerName}:`, options };
542
571
  }
@@ -594,7 +623,7 @@ export class PiEngineAdapter {
594
623
  thinkingLevel: readThinkingLevel(session.thinkingLevel),
595
624
  availableThinkingLevels: Array.isArray(levels) ? levels.map(readThinkingLevel) : ["off", "minimal", "low", "medium", "high", "xhigh"],
596
625
  currentTheme: setting(settings?.getThemeSetting, setting(settings?.getTheme, "dark")),
597
- terminalTheme: setting(settings?.getTerminalTheme, "dark"),
626
+ terminalTheme: "dark",
598
627
  availableThemes: themes.length > 0 ? themes : ["dark", "light"],
599
628
  hideThinkingBlock: setting(settings?.getHideThinkingBlock, false),
600
629
  mermaidRenderingMode: setting(settings?.getMermaidRenderingMode, "off"),
@@ -683,7 +712,7 @@ export class PiEngineAdapter {
683
712
  footer: {
684
713
  branch: this.#gitBranch,
685
714
  sessionName: this.#session?.sessionManager?.getSessionName() ?? null,
686
- availableProviderCount: new Set(this.#runtime?.services.modelRuntime.getAvailableSnapshot?.().map(model => model.provider).filter(provider => provider !== undefined) ?? []).size || 1,
715
+ availableProviderCount: new Set(this.#runtime?.services.modelRuntime.getAvailableSnapshot?.().map(model => model.provider).filter(provider => provider !== undefined) ?? []).size,
687
716
  extensionStatuses: [],
688
717
  },
689
718
  },
@@ -824,7 +853,7 @@ export class PiEngineAdapter {
824
853
  });
825
854
  if (auth.stderr && !auth.stdout)
826
855
  throw new Error(auth.stderr.trim());
827
- const temporary = join(tmpdir(), `addone-pi-session-${process.pid}.html`);
856
+ const temporary = join(tmpdir(), `${PRODUCT_IDENTITY.filesystem.temporaryPrefix}pi-session-${process.pid}.html`);
828
857
  try {
829
858
  await requireCapability(session.exportToHtml, "exportToHtml").call(session, temporary);
830
859
  const gist = await this.#workflowHost.runCommand("gh", ["gist", "create", "--public=false", temporary]);
@@ -983,6 +1012,8 @@ export class PiEngineAdapter {
983
1012
  finally {
984
1013
  this.#workflowInteraction.finishLogin?.();
985
1014
  }
1015
+ this.#reconcileActiveModelAvailability();
1016
+ this.#emitView();
986
1017
  return workflowResult(request.command, "completed", `Logged in to ${providerName}. Credentials saved to ${join(this.#agentDir, "auth.json")}`);
987
1018
  }
988
1019
  case "logout": {
@@ -993,6 +1024,8 @@ export class PiEngineAdapter {
993
1024
  await requireCapability(modelRuntime.logout, "logout").call(modelRuntime, providerId, { signal: AbortSignal.timeout(15_000) });
994
1025
  const provider = modelRuntime.getProvider?.(providerId);
995
1026
  const providerName = stringProperty(provider, "name") ?? providerId;
1027
+ this.#reconcileActiveModelAvailability();
1028
+ this.#emitView();
996
1029
  return workflowResult(request.command, "completed", credentialType === "api_key"
997
1030
  ? `Removed stored API key for ${providerName}. Environment variables and models.json config are unchanged.`
998
1031
  : `Logged out of ${providerName}`);
@@ -1083,7 +1116,10 @@ export class PiEngineAdapter {
1083
1116
  }
1084
1117
  #loginOptions(authType) {
1085
1118
  const runtime = this.#runtime;
1086
- const providers = runtime?.services.modelRuntime.getProviders?.();
1119
+ const modelRuntime = runtime?.services.modelRuntime;
1120
+ if (!modelRuntime)
1121
+ return [];
1122
+ const providers = modelRuntime.getProviders?.();
1087
1123
  if (!Array.isArray(providers))
1088
1124
  return [];
1089
1125
  return providers.filter(isRecord).flatMap(provider => {
@@ -1092,11 +1128,33 @@ export class PiEngineAdapter {
1092
1128
  return [];
1093
1129
  const name = stringProperty(provider, "name") ?? id;
1094
1130
  const auth = isRecord(provider.auth) ? provider.auth : {};
1131
+ const authStatus = modelRuntime.getProviderAuthStatus?.(id);
1132
+ const source = authStatus?.label ?? authStatus?.source;
1133
+ const status = authStatus?.configured === true
1134
+ ? {
1135
+ type: modelRuntime.isUsingOAuth?.(id) === true ? "oauth" : "api_key",
1136
+ ...(source === undefined ? {} : { source }),
1137
+ }
1138
+ : undefined;
1095
1139
  return [
1096
- ...(authType !== "api_key" && auth.oauth ? [{ id: `oauth:${id}`, label: name, description: "Account / OAuth" }] : []),
1097
- ...(authType !== "oauth" && auth.apiKey ? [{ id: `api_key:${id}`, label: name, description: "API key" }] : []),
1140
+ ...(authType !== "api_key" && auth.oauth ? [{
1141
+ id: `oauth:${id}`,
1142
+ providerId: id,
1143
+ label: name,
1144
+ description: "Account / OAuth",
1145
+ authType: "oauth",
1146
+ ...(status === undefined ? {} : { status }),
1147
+ }] : []),
1148
+ ...(authType !== "oauth" && auth.apiKey ? [{
1149
+ id: `api_key:${id}`,
1150
+ providerId: id,
1151
+ label: name,
1152
+ description: "API key",
1153
+ authType: "api_key",
1154
+ ...(status === undefined ? {} : { status }),
1155
+ }] : []),
1098
1156
  ];
1099
- });
1157
+ }).sort((left, right) => left.label.localeCompare(right.label));
1100
1158
  }
1101
1159
  async #logoutOptions() {
1102
1160
  const runtime = this.#runtime;
@@ -1114,17 +1172,17 @@ export class PiEngineAdapter {
1114
1172
  const provider = modelRuntime.getProvider?.(providerId);
1115
1173
  return [{
1116
1174
  id: `${credentialType}:${providerId}`,
1175
+ providerId,
1117
1176
  label: stringProperty(provider, "name") ?? providerId,
1118
1177
  description: credentialType,
1178
+ authType: credentialType,
1179
+ status: { type: credentialType, source: "stored credential" },
1119
1180
  }];
1120
1181
  });
1121
1182
  }
1122
1183
  async #sessionOptions() {
1123
1184
  const session = this.#requireWorkflowSession();
1124
1185
  const manager = session.sessionManager;
1125
- const runtimeSessions = await this.#runtime?.listSessions?.();
1126
- if (Array.isArray(runtimeSessions))
1127
- return sessionInfoOptions(runtimeSessions);
1128
1186
  const cwd = manager?.getCwd?.();
1129
1187
  const sessionDir = manager?.getSessionDir?.();
1130
1188
  if (typeof cwd !== "string")
@@ -1182,103 +1240,22 @@ export class PiEngineAdapter {
1182
1240
  if (!settings)
1183
1241
  return workflowResult("settings", "failed", "Settings are unavailable");
1184
1242
  const session = this.#requireWorkflowSession();
1185
- const apply = (setter, name) => requireCapability(setter, name).call(settings, selectedValue);
1186
- switch (callback) {
1187
- case "onAutoCompactChange":
1188
- session.setAutoCompactionEnabled?.(selectedValue);
1189
- apply(settings.setCompactionEnabled, "setCompactionEnabled");
1190
- break;
1191
- case "onThinkingLevelChange":
1192
- session.setThinkingLevel(selectedValue);
1193
- break;
1194
- case "onShowImagesChange":
1195
- apply(settings.setShowImages, "setShowImages");
1196
- break;
1197
- case "onImageWidthCellsChange":
1198
- apply(settings.setImageWidthCells, "setImageWidthCells");
1199
- break;
1200
- case "onAutoResizeImagesChange":
1201
- apply(settings.setImageAutoResize, "setImageAutoResize");
1202
- break;
1203
- case "onBlockImagesChange":
1204
- apply(settings.setBlockImages, "setBlockImages");
1205
- break;
1206
- case "onEnableSkillCommandsChange":
1207
- apply(settings.setEnableSkillCommands, "setEnableSkillCommands");
1208
- break;
1209
- case "onSteeringModeChange":
1210
- apply(settings.setSteeringMode, "setSteeringMode");
1211
- break;
1212
- case "onFollowUpModeChange":
1213
- apply(settings.setFollowUpMode, "setFollowUpMode");
1214
- break;
1215
- case "onTransportChange":
1216
- apply(settings.setTransport, "setTransport");
1217
- break;
1218
- case "onHttpIdleTimeoutMsChange":
1219
- apply(settings.setHttpIdleTimeoutMs, "setHttpIdleTimeoutMs");
1220
- break;
1221
- case "onThemeChange":
1222
- apply(settings.setTheme, "setTheme");
1223
- break;
1224
- case "onHideThinkingBlockChange":
1225
- apply(settings.setHideThinkingBlock, "setHideThinkingBlock");
1226
- break;
1227
- case "onMermaidRenderingModeChange":
1228
- apply(settings.setMermaidRenderingMode, "setMermaidRenderingMode");
1229
- break;
1230
- case "onShowCacheMissNoticesChange":
1231
- apply(settings.setShowCacheMissNotices, "setShowCacheMissNotices");
1232
- break;
1233
- case "onCollapseChangelogChange":
1234
- apply(settings.setCollapseChangelog, "setCollapseChangelog");
1235
- break;
1236
- case "onEnableInstallTelemetryChange":
1237
- apply(settings.setEnableInstallTelemetry, "setEnableInstallTelemetry");
1238
- break;
1239
- case "onQuietStartupChange":
1240
- apply(settings.setQuietStartup, "setQuietStartup");
1241
- break;
1242
- case "onDefaultProjectTrustChange":
1243
- apply(settings.setDefaultProjectTrust, "setDefaultProjectTrust");
1244
- break;
1245
- case "onDoubleEscapeActionChange":
1246
- apply(settings.setDoubleEscapeAction, "setDoubleEscapeAction");
1247
- break;
1248
- case "onTreeFilterModeChange":
1249
- apply(settings.setTreeFilterMode, "setTreeFilterMode");
1250
- break;
1251
- case "onShowHardwareCursorChange":
1252
- apply(settings.setShowHardwareCursor, "setShowHardwareCursor");
1253
- break;
1254
- case "onEditorPaddingXChange":
1255
- apply(settings.setEditorPaddingX, "setEditorPaddingX");
1256
- break;
1257
- case "onOutputPadChange":
1258
- apply(settings.setOutputPad, "setOutputPad");
1259
- break;
1260
- case "onAutocompleteMaxVisibleChange":
1261
- apply(settings.setAutocompleteMaxVisible, "setAutocompleteMaxVisible");
1262
- break;
1263
- case "onClearOnShrinkChange":
1264
- apply(settings.setClearOnShrink, "setClearOnShrink");
1265
- break;
1266
- case "onShowTerminalProgressChange":
1267
- apply(settings.setShowTerminalProgress, "setShowTerminalProgress");
1268
- break;
1269
- case "onTuiModeChange":
1270
- apply(settings.setTuiMode, "setTuiMode");
1271
- break;
1272
- case "onFullscreenExitOutputChange":
1273
- apply(settings.setFullscreenExitOutput, "setFullscreenExitOutput");
1274
- break;
1275
- case "onFullscreenScrollbarChange":
1276
- apply(settings.setFullscreenScrollbar, "setFullscreenScrollbar");
1277
- break;
1278
- case "onWarningsChange":
1279
- apply(settings.setWarnings, "setWarnings");
1280
- break;
1281
- default: return workflowResult("settings", "failed", `${settingLabel(callback)} is unavailable in this runtime`);
1243
+ if (callback === "onThinkingLevelChange") {
1244
+ if (!isThinkingLevel(selectedValue))
1245
+ return workflowResult("settings", "failed", "Thinking level is invalid");
1246
+ session.setThinkingLevel(selectedValue);
1247
+ }
1248
+ else {
1249
+ const key = settingKeyForCallback(callback);
1250
+ if (key === null)
1251
+ return workflowResult("settings", "failed", `${settingLabel(callback)} is unavailable in this runtime`);
1252
+ const value = agentJsonValue(selectedValue);
1253
+ if (callback === "onAutoCompactChange") {
1254
+ if (typeof value !== "boolean")
1255
+ return workflowResult("settings", "failed", "Auto compact value is invalid");
1256
+ session.setAutoCompactionEnabled?.(value);
1257
+ }
1258
+ new PiSettingsIntegration(settings).writeSettingNow(key, value);
1282
1259
  }
1283
1260
  this.#emitView();
1284
1261
  return workflowResult("settings", "completed", `${settingLabel(callback)}: ${String(selectedValue)}`);
@@ -1289,34 +1266,20 @@ export class PiEngineAdapter {
1289
1266
  if (!runtime || !session)
1290
1267
  throw new Error("engine session is unavailable");
1291
1268
  switch (command.type) {
1292
- case "prompt": {
1293
- this.#lastPrompt = command.text;
1294
- await session.prompt(command.text, session.isStreaming ? { streamingBehavior: "followUp" } : undefined);
1295
- return;
1296
- }
1269
+ case "prompt":
1297
1270
  case "steer":
1298
- this.#lastPrompt = command.text;
1299
- await session.steer(command.text);
1300
- return;
1301
1271
  case "follow-up":
1302
- this.#lastPrompt = command.text;
1303
- await session.followUp(command.text);
1304
- return;
1305
1272
  case "abort":
1306
- if (session.isRetrying)
1307
- session.abortRetry();
1308
- if (session.isCompacting)
1309
- session.abortCompaction();
1310
- await session.abort();
1311
- return;
1312
1273
  case "retry":
1313
- if (this.#lastPrompt === null)
1314
- throw new Error("no previous prompt is available to retry");
1315
- await session.prompt(this.#lastPrompt, session.isStreaming ? { streamingBehavior: "followUp" } : undefined);
1316
- return;
1317
- case "compact":
1318
- await session.compact();
1274
+ case "compact": {
1275
+ const result = await this.#sessionCommands?.execute(command.type === "prompt" || command.type === "steer" || command.type === "follow-up"
1276
+ ? { type: command.type, text: command.text }
1277
+ : { type: command.type });
1278
+ if (!result || result.outcome === "rejected" || result.outcome === "failed") {
1279
+ throw new Error(command.type === "retry" ? "no previous prompt is available to retry" : `Pi session command failed: ${command.type}`);
1280
+ }
1319
1281
  return;
1282
+ }
1320
1283
  case "set-model": {
1321
1284
  const model = runtime.services.modelRuntime.getModel(command.model.providerId, command.model.modelId);
1322
1285
  if (!model) {
@@ -1355,7 +1318,7 @@ export class PiEngineAdapter {
1355
1318
  this.#session = session;
1356
1319
  this.#activeCommandIds = [];
1357
1320
  this.#completedCommands.clear();
1358
- this.#lastPrompt = null;
1321
+ this.#sessionCommands = new PiSessionCommandIntegration(session);
1359
1322
  this.#editor = {
1360
1323
  text: "",
1361
1324
  queuedSubmissions: [],
@@ -1366,12 +1329,28 @@ export class PiEngineAdapter {
1366
1329
  };
1367
1330
  this.#status = { ...this.#status, workingMessage: null, badges: [] };
1368
1331
  this.#activeModel = readModel(session.model);
1332
+ this.#reconcileActiveModelAvailability();
1369
1333
  this.#thinkingLevel = readThinkingLevel(session.thinkingLevel);
1370
1334
  this.#rebuildTranscript(session.messages, "finalized");
1371
1335
  this.#unsubscribe = session.subscribe(event => this.#handlePiEvent(event));
1372
1336
  if (this.#extensionUi !== undefined)
1373
1337
  void this.#bindExtensionUiToSession();
1374
1338
  }
1339
+ #reconcileActiveModelAvailability() {
1340
+ const modelRuntime = this.#runtime?.services.modelRuntime;
1341
+ if (!modelRuntime) {
1342
+ this.#activeModel = null;
1343
+ return;
1344
+ }
1345
+ const available = modelRuntime.getAvailableSnapshot?.() ?? [];
1346
+ const sessionModel = readModel(this.#session?.model);
1347
+ const authoritative = this.#activeModel ?? sessionModel;
1348
+ if (authoritative === null)
1349
+ return;
1350
+ const remainsAvailable = available.some(model => stringProperty(model, "provider") === authoritative.providerId
1351
+ && stringProperty(model, "id") === authoritative.modelId);
1352
+ this.#activeModel = remainsAvailable ? authoritative : null;
1353
+ }
1375
1354
  async #bindExtensionUiToSession() {
1376
1355
  const session = this.#session;
1377
1356
  const ui = this.#extensionUi;
@@ -1501,7 +1480,7 @@ export class PiEngineAdapter {
1501
1480
  let cost = 0;
1502
1481
  let latestCacheHitRate = null;
1503
1482
  let latestPrompt = null;
1504
- const entries = this.#session?.sessionManager?.getEntries()
1483
+ const entries = this.#session?.sessionManager?.getEntries?.()
1505
1484
  ?? (this.#session?.messages ?? []).map(message => ({ type: "message", message }));
1506
1485
  for (const entry of entries) {
1507
1486
  if (!isRecord(entry))
@@ -1895,26 +1874,7 @@ export async function createPiEngineAdapter(options = {}) {
1895
1874
  return adapter;
1896
1875
  }
1897
1876
  async function createDefaultPiRuntime(input) {
1898
- const sessionManager = SessionManager.create(input.cwd, process.env.PI_CODING_AGENT_SESSION_DIR);
1899
- const createRuntime = async ({ cwd, sessionManager: targetSessionManager, sessionStartEvent, }) => {
1900
- const services = await createAgentSessionServices({ cwd, agentDir: input.agentDir });
1901
- const created = await createAgentSessionFromServices({
1902
- services,
1903
- sessionManager: targetSessionManager,
1904
- ...(sessionStartEvent ? { sessionStartEvent } : {}),
1905
- });
1906
- return {
1907
- ...created,
1908
- services,
1909
- diagnostics: services.diagnostics,
1910
- };
1911
- };
1912
- const runtime = await createAgentSessionRuntime(createRuntime, {
1913
- cwd: input.cwd,
1914
- agentDir: input.agentDir,
1915
- sessionManager,
1916
- });
1917
- return runtime;
1877
+ return createPiRuntimeIntegration({ cwd: input.cwd, agentDir: input.agentDir });
1918
1878
  }
1919
1879
  function pinnedSessionInfoPresentation(value, sessionName, entries, modelRuntime) {
1920
1880
  const stats = isRecord(value) ? value : {};
@@ -2036,7 +1996,7 @@ function defaultWorkflowHost() {
2036
1996
  const result = await execFileAsync(command, [...arguments_], { encoding: "utf8" });
2037
1997
  return { stdout: result.stdout, stderr: result.stderr };
2038
1998
  },
2039
- readChangelog: async () => pinnedChangelogMarkdown(await readFile(join(getPackageDir(), "CHANGELOG.md"), "utf8")),
1999
+ readChangelog: async () => "No changelog entries found.",
2040
2000
  };
2041
2001
  }
2042
2002
  function workflowLoginNotification(event) {
@@ -2130,6 +2090,35 @@ function pathArgument(value) {
2130
2090
  }
2131
2091
  return value.split(/\s/, 1)[0] || undefined;
2132
2092
  }
2093
+ function settingKeyForCallback(callback) {
2094
+ const keys = {
2095
+ onAutoCompactChange: "autoCompact", onShowImagesChange: "showImages", onImageWidthCellsChange: "imageWidthCells",
2096
+ onAutoResizeImagesChange: "autoResizeImages", onBlockImagesChange: "blockImages", onEnableSkillCommandsChange: "enableSkillCommands",
2097
+ onSteeringModeChange: "steeringMode", onFollowUpModeChange: "followUpMode", onTransportChange: "transport",
2098
+ onHttpIdleTimeoutMsChange: "httpIdleTimeoutMs", onThemeChange: "theme", onThemePreview: "theme",
2099
+ onHideThinkingBlockChange: "hideThinkingBlock", onMermaidRenderingModeChange: "mermaidRenderingMode",
2100
+ onShowCacheMissNoticesChange: "showCacheMissNotices", onCollapseChangelogChange: "collapseChangelog",
2101
+ onEnableInstallTelemetryChange: "enableInstallTelemetry", onQuietStartupChange: "quietStartup",
2102
+ onDefaultProjectTrustChange: "defaultProjectTrust", onDoubleEscapeActionChange: "doubleEscapeAction",
2103
+ onTreeFilterModeChange: "treeFilterMode", onShowHardwareCursorChange: "showHardwareCursor",
2104
+ onEditorPaddingXChange: "editorPaddingX", onOutputPadChange: "outputPad", onAutocompleteMaxVisibleChange: "autocompleteMaxVisible",
2105
+ onClearOnShrinkChange: "clearOnShrink", onShowTerminalProgressChange: "showTerminalProgress", onTuiModeChange: "tuiMode",
2106
+ onFullscreenExitOutputChange: "fullscreenExitOutput", onFullscreenScrollbarChange: "fullscreenScrollbar", onWarningsChange: "warnings",
2107
+ };
2108
+ return keys[callback] ?? null;
2109
+ }
2110
+ function agentJsonValue(value) {
2111
+ if (value === null || typeof value === "string" || typeof value === "boolean" || (typeof value === "number" && Number.isFinite(value)))
2112
+ return value;
2113
+ if (Array.isArray(value))
2114
+ return value.map(agentJsonValue);
2115
+ if (isRecord(value))
2116
+ return Object.fromEntries(Object.entries(value).filter(([, item]) => item !== undefined).map(([key, item]) => [key, agentJsonValue(item)]));
2117
+ throw new TypeError("setting value must be JSON serializable");
2118
+ }
2119
+ function isThinkingLevel(value) {
2120
+ return typeof value === "string" && ["off", "minimal", "low", "medium", "high", "xhigh"].includes(value);
2121
+ }
2133
2122
  function settingLabel(callback) {
2134
2123
  return callback
2135
2124
  .replace(/^on/, "")
@@ -2147,16 +2136,10 @@ function pinnedHotkeySummary() {
2147
2136
  ].join("\n");
2148
2137
  }
2149
2138
  function scopedModelRecords(modelRuntime) {
2150
- const snapshot = modelRuntime.getAvailableSnapshot?.() ?? [];
2151
- return snapshot.flatMap(model => {
2152
- if (!isRecord(model))
2153
- return [];
2154
- const provider = stringValue(model.provider);
2155
- const id = stringValue(model.id);
2156
- if (!provider || !id)
2157
- return [];
2158
- return [{ descriptor: { provider, id, name: stringValue(model.name) ?? id }, model }];
2159
- });
2139
+ return modelRuntime.getAvailableSnapshot().map(model => ({
2140
+ descriptor: { provider: model.provider, id: model.id, name: model.name ?? model.id },
2141
+ model,
2142
+ }));
2160
2143
  }
2161
2144
  function scopedModelReference(value) {
2162
2145
  if (!isRecord(value) || !isRecord(value.model))
@@ -2308,13 +2291,6 @@ function contentImageCount(content) {
2308
2291
  ? content.filter(item => isRecord(item) && item.type === "image").length
2309
2292
  : 0;
2310
2293
  }
2311
- function pinnedChangelogMarkdown(content) {
2312
- const entries = content.split(/^##\s+/m).slice(1).flatMap(section => {
2313
- const markdown = `## ${section}`.trim();
2314
- return /^##\s+\[?\d+\.\d+\.\d+\]?/.test(markdown) ? [markdown] : [];
2315
- });
2316
- return entries.reverse().join("\n\n") || "No changelog entries found.";
2317
- }
2318
2294
  function jsonSummary(value) {
2319
2295
  const json = sanitizeJson(value);
2320
2296
  let summary = "";
@@ -2362,4 +2338,3 @@ function finiteNumber(value) {
2362
2338
  function isRecord(value) {
2363
2339
  return typeof value === "object" && value !== null;
2364
2340
  }
2365
- //# sourceMappingURL=adapter.js.map
@@ -1,14 +1,37 @@
1
+ export interface PiCapabilityConformanceResult {
2
+ readonly capability: string;
3
+ readonly operations: readonly string[];
4
+ readonly passed: boolean;
5
+ }
6
+ export declare const REQUIRED_PI_CAPABILITY_OPERATIONS: Readonly<{
7
+ readonly "public-exports": readonly ["services.create", "session.create", "runtime.create"];
8
+ readonly "session-lifecycle": readonly ["session.new", "session.resume", "session.rebind", "session.dispose"];
9
+ readonly "commands-events": readonly ["prompt", "steer", "followUp", "abort", "compact", "setModel", "setThinkingLevel", "subscribe", "dispose"];
10
+ readonly "models-authentication": readonly ["models.list", "models.refresh", "auth.status", "auth.login", "auth.logout", "auth.cancel"];
11
+ readonly settings: readonly ["settings.read", "settings.write", "settings.flush"];
12
+ readonly "resources-extensions": readonly ["resources.discover", "extensions.bind", "extensions.reload", "renderers.invoke"];
13
+ readonly workflows: readonly ["workflow.route", "workflow.validate", "workflow.diagnostics"];
14
+ readonly disposal: readonly ["subscription.dispose", "session.dispose", "services.cleanup"];
15
+ }>;
16
+ export declare class PiCapabilityCompatibilityError extends Error {
17
+ readonly packageVersion: string;
18
+ readonly capability: string;
19
+ readonly operation: string;
20
+ constructor(packageVersion: string, capability: string, operation: string, detail: string);
21
+ }
1
22
  export interface PiUpgradeConformanceReport {
23
+ readonly schema: "pi-engine-conformance-v1";
2
24
  readonly packageName: "@earendil-works/pi-coding-agent";
3
25
  readonly packageVersion: string;
4
26
  readonly ownedUiContractVersion: number;
5
27
  readonly serviceDiagnostics: number;
6
28
  readonly sessionId: string;
7
29
  readonly commandSurface: readonly string[];
30
+ readonly capabilities: readonly PiCapabilityConformanceResult[];
8
31
  }
9
32
  export declare class PiUpgradeConformanceError extends Error {
10
33
  readonly stage: "exports" | "services" | "session";
11
34
  constructor(stage: "exports" | "services" | "session", cause: unknown);
12
35
  }
13
36
  export declare function runPiUpgradeConformance(): Promise<PiUpgradeConformanceReport>;
14
- //# sourceMappingURL=conformance.d.ts.map
37
+ export declare function validatePiCapabilityResults(packageVersion: string, results: readonly PiCapabilityConformanceResult[]): void;