@timurproko/a1 0.1.8-dev.de7821a → 0.2.0

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 (916) hide show
  1. package/README.md +104 -65
  2. package/bin/activate.js +8 -0
  3. package/bin/cli.js +37 -11
  4. package/bin/guardian.js +21 -6
  5. package/bin/module-identity.js +76 -69
  6. package/bin/module-resolver.js +138 -0
  7. package/bin/pinned-pi-public.d.ts +3 -0
  8. package/bin/pinned-pi-public.js +93 -0
  9. package/bin/release-cleanup.js +8 -0
  10. package/bin/supervisor.js +2 -2
  11. package/bin/sync-pi-tui-proxy.js +7 -0
  12. package/bin/ui.js +67 -22
  13. package/bin/update-recovery.js +365 -0
  14. package/bin/warmup.js +28 -0
  15. package/dist/app/session-shell/clipboard-diagnostics.d.ts +16 -0
  16. package/dist/app/session-shell/clipboard-diagnostics.js +65 -0
  17. package/dist/app/session-shell/clipboard-image.d.ts +11 -0
  18. package/dist/app/session-shell/clipboard-image.js +38 -0
  19. package/dist/app/session-shell/editor-hyperlink-budget.d.ts +9 -0
  20. package/dist/app/session-shell/editor-hyperlink-budget.js +23 -0
  21. package/dist/app/session-shell/helper-pool.d.ts +33 -0
  22. package/dist/app/session-shell/helper-pool.js +98 -0
  23. package/dist/app/session-shell/image-preparation-client.d.ts +20 -0
  24. package/dist/app/session-shell/image-preparation-client.js +145 -0
  25. package/dist/app/session-shell/image-preparation.d.ts +18 -0
  26. package/dist/app/session-shell/image-preparation.js +126 -0
  27. package/dist/app/session-shell/image-source.d.ts +13 -0
  28. package/dist/app/session-shell/image-source.js +171 -0
  29. package/dist/app/session-shell/image-worker.d.ts +17 -0
  30. package/dist/app/session-shell/image-worker.js +23 -0
  31. package/dist/app/session-shell/index.d.ts +7 -0
  32. package/dist/app/session-shell/index.js +4 -0
  33. package/dist/app/session-shell/paste-executor.d.ts +18 -0
  34. package/dist/app/session-shell/paste-executor.js +253 -0
  35. package/dist/app/session-shell/paste-helper.js +173 -0
  36. package/dist/app/session-shell/paste-preparation-client.d.ts +31 -0
  37. package/dist/app/session-shell/paste-preparation-client.js +170 -0
  38. package/dist/app/session-shell/paste-protocol.d.ts +78 -0
  39. package/dist/app/session-shell/paste-protocol.js +18 -0
  40. package/dist/app/session-shell/paste-text-preparation.d.ts +6 -0
  41. package/dist/app/session-shell/paste-text-preparation.js +134 -0
  42. package/dist/app/session-shell/paste-text-worker.js +12 -0
  43. package/dist/app/session-shell/paste-types.d.ts +17 -0
  44. package/dist/app/session-shell/path-chip-presentation.d.ts +7 -0
  45. package/dist/app/session-shell/path-chip-presentation.js +24 -0
  46. package/dist/app/session-shell/prompt-chips.d.ts +76 -0
  47. package/dist/app/session-shell/prompt-chips.js +499 -0
  48. package/dist/app/session-shell/prompt-history-controller.d.ts +36 -0
  49. package/dist/app/session-shell/prompt-history-controller.js +170 -0
  50. package/dist/app/session-shell/prompt-suggestion-controller.d.ts +37 -0
  51. package/dist/app/session-shell/prompt-suggestion-controller.js +219 -0
  52. package/dist/app/session-shell/quit-outro-effects.d.ts +29 -0
  53. package/dist/app/session-shell/quit-outro-effects.js +242 -0
  54. package/dist/app/session-shell/quit-outro.d.ts +38 -0
  55. package/dist/app/session-shell/quit-outro.js +98 -0
  56. package/dist/app/session-shell/response-copy-coordinator.d.ts +27 -0
  57. package/dist/app/session-shell/response-copy-coordinator.js +187 -0
  58. package/dist/app/session-shell/response-copy-helper.js +122 -0
  59. package/dist/app/session-shell/response-copy-protocol.d.ts +56 -0
  60. package/dist/app/session-shell/response-copy-protocol.js +5 -0
  61. package/dist/app/session-shell/response-copy-transport.d.ts +39 -0
  62. package/dist/app/session-shell/response-copy-transport.js +217 -0
  63. package/dist/app/session-shell/session-shell-root.d.ts +278 -0
  64. package/dist/app/session-shell/session-shell-root.js +1442 -0
  65. package/dist/app/session-shell/session-shell.d.ts +66 -0
  66. package/dist/app/session-shell/session-shell.js +2151 -0
  67. package/dist/app/session-shell/session-viewport-controller.d.ts +62 -0
  68. package/dist/app/session-shell/session-viewport-controller.js +623 -0
  69. package/dist/app/session-shell/stream-presentation-coalescer.d.ts +29 -0
  70. package/dist/app/session-shell/stream-presentation-coalescer.js +79 -0
  71. package/dist/app/session-shell/system-clipboard.d.ts +20 -0
  72. package/dist/app/session-shell/system-clipboard.js +159 -0
  73. package/dist/app/session-shell/text-paste.d.ts +5 -0
  74. package/dist/app/session-shell/text-paste.js +16 -0
  75. package/dist/cli/capabilities.d.ts +6 -0
  76. package/dist/cli/capabilities.js +7 -0
  77. package/dist/cli/dispatch.d.ts +53 -0
  78. package/dist/cli/dispatch.js +287 -0
  79. package/dist/cli/index.d.ts +8 -0
  80. package/dist/cli/index.js +4 -0
  81. package/dist/cli/package-messages.d.ts +27 -0
  82. package/dist/cli/package-messages.js +83 -0
  83. package/dist/cli/packages.d.ts +32 -0
  84. package/dist/cli/packages.js +81 -0
  85. package/dist/cli/session-context.d.ts +9 -0
  86. package/dist/cli/session-context.js +29 -0
  87. package/dist/cli/version-stats.d.ts +22 -0
  88. package/dist/cli/version-stats.js +112 -0
  89. package/dist/composition/index.d.ts +2 -0
  90. package/dist/composition/index.js +2 -0
  91. package/dist/composition/owned-ui.d.ts +37 -0
  92. package/dist/composition/owned-ui.js +159 -0
  93. package/dist/composition/settings-route-host.d.ts +16 -0
  94. package/dist/composition/settings-route-host.js +141 -0
  95. package/dist/contracts/agent-engine/capability-ports.d.ts +95 -0
  96. package/dist/contracts/agent-engine/domain-validation.js +107 -0
  97. package/dist/contracts/agent-engine/domain.d.ts +138 -0
  98. package/dist/contracts/agent-engine/index.d.ts +11 -0
  99. package/dist/contracts/agent-engine/index.js +6 -0
  100. package/dist/contracts/agent-engine/package-ports.d.ts +60 -0
  101. package/dist/contracts/agent-engine/ports.js +1 -0
  102. package/dist/contracts/owned-ui/extension-ui.d.ts +310 -0
  103. package/dist/contracts/owned-ui/image-attachments.d.ts +36 -0
  104. package/dist/contracts/owned-ui/image-attachments.js +67 -0
  105. package/dist/contracts/owned-ui/index.d.ts +14 -0
  106. package/dist/contracts/owned-ui/index.js +9 -0
  107. package/dist/contracts/owned-ui/model.d.ts +383 -0
  108. package/dist/contracts/owned-ui/prompt-chips.d.ts +15 -0
  109. package/dist/contracts/owned-ui/prompt-chips.js +59 -0
  110. package/dist/contracts/owned-ui/prompt-history.d.ts +55 -0
  111. package/dist/contracts/owned-ui/prompt-history.js +23 -0
  112. package/dist/contracts/owned-ui/prompt-suggestions.d.ts +3 -0
  113. package/dist/contracts/owned-ui/prompt-suggestions.js +44 -0
  114. package/dist/contracts/owned-ui/suggestion-diagnostics.d.ts +22 -0
  115. package/dist/contracts/owned-ui/suggestion-diagnostics.js +9 -0
  116. package/dist/contracts/owned-ui/transcript-lifecycle.d.ts +5 -0
  117. package/dist/contracts/owned-ui/transcript-lifecycle.js +33 -0
  118. package/dist/contracts/owned-ui/validation.d.ts +15 -0
  119. package/dist/contracts/owned-ui/validation.js +554 -0
  120. package/dist/contracts/presentation/index.d.ts +117 -0
  121. package/dist/contracts/presentation/index.js +68 -0
  122. package/dist/features/launch/development-launch.js +36 -0
  123. package/dist/features/launch/index.d.ts +14 -0
  124. package/dist/features/launch/index.js +7 -0
  125. package/dist/features/launch/intent.d.ts +12 -0
  126. package/dist/features/launch/intent.js +8 -0
  127. package/dist/features/launch/prepare-launch.d.ts +11 -0
  128. package/dist/features/launch/prepare-launch.js +14 -0
  129. package/dist/features/launch/profile-paths.d.ts +16 -0
  130. package/dist/features/launch/profile-paths.js +36 -0
  131. package/dist/features/launch/runtime-selection.d.ts +16 -0
  132. package/dist/features/launch/runtime-selection.js +13 -0
  133. package/dist/features/launch/session-context.d.ts +8 -0
  134. package/dist/features/launch/session-context.js +8 -0
  135. package/dist/features/owned-ui/index.d.ts +9 -0
  136. package/dist/features/owned-ui/index.js +6 -0
  137. package/dist/features/owned-ui/project-trust-prompt.d.ts +25 -0
  138. package/dist/features/owned-ui/project-trust-prompt.js +149 -0
  139. package/dist/features/owned-ui/reference-routes.d.ts +6 -0
  140. package/dist/features/owned-ui/reference-routes.js +6 -0
  141. package/dist/features/owned-ui/reference-screen-app.d.ts +43 -0
  142. package/dist/features/owned-ui/reference-screen-app.js +279 -0
  143. package/dist/features/owned-ui/run.d.ts +17 -0
  144. package/dist/features/owned-ui/run.js +64 -0
  145. package/dist/features/owned-ui/session-fork-prompt.d.ts +8 -0
  146. package/dist/features/owned-ui/session-fork-prompt.js +34 -0
  147. package/dist/features/owned-ui/settings-app.d.ts +21 -0
  148. package/dist/features/owned-ui/settings-app.js +851 -0
  149. package/dist/features/owned-ui/settings-route.d.ts +2 -0
  150. package/dist/features/owned-ui/settings-route.js +2 -0
  151. package/dist/features/prompt-history/image-sidecar.d.ts +32 -0
  152. package/dist/features/prompt-history/image-sidecar.js +130 -0
  153. package/dist/features/prompt-history/index.d.ts +4 -0
  154. package/dist/features/prompt-history/index.js +3 -0
  155. package/dist/features/prompt-history/paths.d.ts +5 -0
  156. package/dist/features/prompt-history/paths.js +17 -0
  157. package/dist/features/prompt-history/service.d.ts +54 -0
  158. package/dist/features/prompt-history/service.js +425 -0
  159. package/dist/features/prompt-history/store.d.ts +16 -0
  160. package/dist/features/prompt-history/store.js +219 -0
  161. package/dist/features/prompt-history/worker.d.ts +9 -0
  162. package/dist/features/prompt-history/worker.js +45 -0
  163. package/dist/features/prompt-suggestions/diagnostics.d.ts +18 -0
  164. package/dist/features/prompt-suggestions/diagnostics.js +82 -0
  165. package/dist/features/prompt-suggestions/index.d.ts +2 -0
  166. package/dist/features/prompt-suggestions/index.js +1 -0
  167. package/dist/foundation/launch-context/index.d.ts +59 -0
  168. package/dist/foundation/launch-context/index.js +136 -0
  169. package/dist/foundation/launch-guardian/index.d.ts +2 -0
  170. package/dist/foundation/launch-guardian/index.js +1 -0
  171. package/dist/foundation/launch-guardian/main.d.ts +33 -0
  172. package/dist/foundation/launch-guardian/main.js +179 -0
  173. package/dist/foundation/lifecycle/commands.js +1 -0
  174. package/dist/foundation/lifecycle/index.d.ts +13 -0
  175. package/dist/foundation/lifecycle/index.js +6 -0
  176. package/dist/foundation/lifecycle/model.d.ts +64 -0
  177. package/dist/foundation/lifecycle/model.js +40 -0
  178. package/dist/foundation/lifecycle/paths.d.ts +30 -0
  179. package/dist/foundation/lifecycle/paths.js +70 -0
  180. package/dist/foundation/lifecycle/session-repository-context.d.ts +18 -0
  181. package/dist/foundation/lifecycle/session-repository-context.js +173 -0
  182. package/dist/foundation/lifecycle/session-selection.d.ts +9 -0
  183. package/dist/foundation/lifecycle/session-selection.js +39 -0
  184. package/dist/foundation/lifecycle/supervisor-startup.d.ts +30 -0
  185. package/dist/foundation/lifecycle/supervisor-startup.js +106 -0
  186. package/dist/foundation/process-containment/darwin-process-inspector.d.ts +5 -0
  187. package/dist/foundation/process-containment/darwin-process-inspector.js +7 -0
  188. package/dist/foundation/process-containment/index.d.ts +8 -0
  189. package/dist/foundation/process-containment/index.js +6 -0
  190. package/dist/foundation/process-containment/linux-process-inspector.d.ts +7 -0
  191. package/dist/foundation/process-containment/linux-process-inspector.js +27 -0
  192. package/dist/foundation/process-containment/native-guardian-containment.d.ts +17 -0
  193. package/dist/foundation/process-containment/native-guardian-containment.js +140 -0
  194. package/dist/foundation/process-containment/windows-process-inspector.d.ts +19 -0
  195. package/dist/foundation/process-containment/windows-process-inspector.js +56 -0
  196. package/dist/foundation/protocol/client.d.ts +18 -0
  197. package/dist/foundation/protocol/client.js +130 -0
  198. package/dist/foundation/protocol/index.d.ts +3 -0
  199. package/dist/foundation/protocol/index.js +2 -0
  200. package/dist/foundation/protocol/messages.d.ts +90 -0
  201. package/dist/foundation/protocol/messages.js +100 -0
  202. package/dist/foundation/release/bootstrap.d.ts +51 -0
  203. package/dist/foundation/release/bootstrap.js +470 -0
  204. package/dist/foundation/release/cohort-state.d.ts +159 -0
  205. package/dist/foundation/release/cohort-state.js +507 -0
  206. package/dist/foundation/release/dependency-certification-retention.d.ts +7 -0
  207. package/dist/foundation/release/dependency-certification-retention.js +88 -0
  208. package/dist/foundation/release/dependency-certification.d.ts +24 -0
  209. package/dist/foundation/release/dependency-certification.js +266 -0
  210. package/dist/foundation/release/dependency-layer.d.ts +78 -0
  211. package/dist/foundation/release/dependency-layer.js +466 -0
  212. package/dist/foundation/release/endpoints.d.ts +24 -0
  213. package/dist/foundation/release/endpoints.js +134 -0
  214. package/dist/foundation/release/immutable-platform.d.ts +6 -0
  215. package/dist/foundation/release/immutable-platform.js +13 -0
  216. package/dist/foundation/release/index.d.ts +33 -0
  217. package/dist/foundation/release/index.js +18 -0
  218. package/dist/foundation/release/ordinary-launch-selection.d.ts +14 -0
  219. package/dist/foundation/release/ordinary-launch-selection.js +15 -0
  220. package/dist/foundation/release/release-gc.d.ts +71 -0
  221. package/dist/foundation/release/release-gc.js +764 -0
  222. package/dist/foundation/release/release-store.d.ts +49 -0
  223. package/dist/foundation/release/release-store.js +235 -0
  224. package/dist/foundation/release/release.d.ts +43 -0
  225. package/dist/foundation/release/release.js +215 -0
  226. package/dist/foundation/release/restart-certification.d.ts +68 -0
  227. package/dist/foundation/release/restart-certification.js +227 -0
  228. package/dist/foundation/release/types.d.ts +11 -0
  229. package/dist/foundation/release/types.js +1 -0
  230. package/dist/foundation/release/update-activation.d.ts +72 -0
  231. package/dist/foundation/release/update-activation.js +204 -0
  232. package/dist/foundation/release/update-launch.d.ts +6 -0
  233. package/dist/foundation/release/update-launch.js +17 -0
  234. package/dist/foundation/release/update-recovery.d.ts +82 -0
  235. package/dist/foundation/release/update-recovery.js +386 -0
  236. package/dist/foundation/release/update-transaction.d.ts +42 -0
  237. package/dist/foundation/release/update-transaction.js +101 -0
  238. package/dist/foundation/release/update.d.ts +142 -0
  239. package/dist/foundation/release/update.js +773 -0
  240. package/dist/foundation/release/warmup.d.ts +3 -0
  241. package/dist/foundation/release/warmup.js +47 -0
  242. package/dist/foundation/startup/index.d.ts +4 -0
  243. package/dist/foundation/startup/index.js +2 -0
  244. package/dist/foundation/startup/startup-budget.d.ts +46 -0
  245. package/dist/foundation/startup/startup-budget.js +42 -0
  246. package/dist/foundation/startup/startup-descriptor.js +34 -0
  247. package/dist/foundation/startup/startup-runtime.d.ts +27 -0
  248. package/dist/foundation/startup/startup-runtime.js +128 -0
  249. package/dist/foundation/storage/control-store.d.ts +18 -0
  250. package/dist/foundation/storage/control-store.js +342 -0
  251. package/dist/foundation/storage/index.d.ts +1 -0
  252. package/dist/foundation/storage/index.js +1 -0
  253. package/dist/foundation/supervision/index.d.ts +3 -0
  254. package/dist/foundation/supervision/index.js +3 -0
  255. package/dist/foundation/supervision/main.d.ts +1 -0
  256. package/dist/foundation/supervision/main.js +84 -0
  257. package/dist/foundation/supervision/paths.d.ts +1 -0
  258. package/dist/foundation/supervision/paths.js +1 -0
  259. package/dist/foundation/supervision/server.d.ts +46 -0
  260. package/dist/foundation/supervision/server.js +584 -0
  261. package/dist/foundation/terminal-cleanup/fatal-exit.d.ts +12 -0
  262. package/dist/foundation/terminal-cleanup/fatal-exit.js +87 -0
  263. package/dist/foundation/terminal-cleanup/index.d.ts +3 -0
  264. package/dist/foundation/terminal-cleanup/index.js +2 -0
  265. package/dist/foundation/terminal-cleanup/terminal-reset.d.ts +4 -0
  266. package/dist/foundation/terminal-cleanup/terminal-reset.js +40 -0
  267. package/dist/integrations/pi/components/components.d.ts +4 -0
  268. package/dist/integrations/pi/components/components.js +64 -0
  269. package/dist/integrations/pi/components/conformance.d.ts +18 -0
  270. package/dist/integrations/pi/components/conformance.js +70 -0
  271. package/dist/integrations/pi/components/editor-interaction.d.ts +38 -0
  272. package/dist/integrations/pi/components/editor-interaction.js +1 -0
  273. package/dist/integrations/pi/components/history-editor-loader.d.ts +5 -0
  274. package/dist/integrations/pi/components/history-editor-loader.js +5 -0
  275. package/dist/integrations/pi/components/index.d.ts +26 -0
  276. package/dist/integrations/pi/components/index.js +16 -0
  277. package/dist/integrations/pi/components/modal-frame.d.ts +41 -0
  278. package/dist/integrations/pi/components/modal-frame.js +110 -0
  279. package/dist/integrations/pi/components/models-dialog.d.ts +55 -0
  280. package/dist/integrations/pi/components/models-dialog.js +403 -0
  281. package/dist/integrations/pi/components/owned-editor-ux.d.ts +74 -0
  282. package/dist/integrations/pi/components/owned-editor-ux.js +1094 -0
  283. package/dist/integrations/pi/components/path-word-ranges.d.ts +2 -0
  284. package/dist/integrations/pi/components/path-word-ranges.js +37 -0
  285. package/dist/integrations/pi/components/prompt-input-port.d.ts +18 -0
  286. package/dist/integrations/pi/components/prompt-input-port.js +1 -0
  287. package/dist/integrations/pi/components/resources/builtin-themes.d.ts +167 -0
  288. package/dist/integrations/pi/components/resources/builtin-themes.js +168 -0
  289. package/dist/integrations/pi/components/shell-components.d.ts +7 -0
  290. package/dist/integrations/pi/components/shell-components.js +7 -0
  291. package/dist/integrations/pi/components/shell-editor-autocomplete.d.ts +23 -0
  292. package/dist/integrations/pi/components/shell-editor-autocomplete.js +357 -0
  293. package/dist/integrations/pi/components/shell-extension-ui.d.ts +35 -0
  294. package/dist/integrations/pi/components/shell-extension-ui.js +282 -0
  295. package/dist/integrations/pi/components/shell-footer-status.d.ts +8 -0
  296. package/dist/integrations/pi/components/shell-footer-status.js +287 -0
  297. package/dist/integrations/pi/components/shell-hotkey-sections.d.ts +7 -0
  298. package/dist/integrations/pi/components/shell-hotkey-sections.js +29 -0
  299. package/dist/integrations/pi/components/shell-presenters-info.d.ts +73 -0
  300. package/dist/integrations/pi/components/shell-presenters-info.js +188 -0
  301. package/dist/integrations/pi/components/shell-presenters-transcript.d.ts +29 -0
  302. package/dist/integrations/pi/components/shell-presenters-transcript.js +435 -0
  303. package/dist/integrations/pi/components/shell-selectors-dialogs.d.ts +134 -0
  304. package/dist/integrations/pi/components/shell-selectors-dialogs.js +286 -0
  305. package/dist/integrations/pi/components/shell-shared-facade.d.ts +233 -0
  306. package/dist/integrations/pi/components/shell-shared-facade.js +92 -0
  307. package/dist/integrations/pi/components/skills-command.d.ts +49 -0
  308. package/dist/integrations/pi/components/skills-command.js +119 -0
  309. package/dist/integrations/pi/components/skills-dialog.d.ts +9 -0
  310. package/dist/integrations/pi/components/skills-dialog.js +128 -0
  311. package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +17 -0
  312. package/dist/integrations/pi/components/submitted-prompt-adapter.js +52 -0
  313. package/dist/integrations/pi/components/theme.d.ts +5 -0
  314. package/dist/integrations/pi/components/theme.js +11 -0
  315. package/dist/integrations/pi/components/thinking-selector-dialog.d.ts +8 -0
  316. package/dist/integrations/pi/components/thinking-selector-dialog.js +22 -0
  317. package/dist/integrations/pi/components/tool-image-presentation.d.ts +21 -0
  318. package/dist/integrations/pi/components/tool-image-presentation.js +83 -0
  319. package/dist/integrations/pi/components/tool-result-adapter.d.ts +6 -0
  320. package/dist/integrations/pi/components/tool-result-adapter.js +27 -0
  321. package/dist/integrations/pi/components/transcript-image-resolver.d.ts +7 -0
  322. package/dist/integrations/pi/components/transcript-image-resolver.js +19 -0
  323. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +445 -0
  324. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +371 -0
  325. package/dist/integrations/pi/components/upstream/assets/earendil-image.json +12 -0
  326. package/dist/integrations/pi/components/upstream/components/countdown-timer.d.ts +13 -0
  327. package/dist/integrations/pi/components/upstream/components/daxnuts.d.ts +29 -0
  328. package/dist/integrations/pi/components/upstream/components/daxnuts.js +146 -0
  329. package/dist/integrations/pi/components/upstream/components/earendil-announcement.d.ts +4 -0
  330. package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +48 -0
  331. package/dist/integrations/pi/components/upstream/components/extension-editor.d.ts +22 -0
  332. package/dist/integrations/pi/components/upstream/components/extension-editor.js +89 -0
  333. package/dist/integrations/pi/components/upstream/components/extension-input.d.ts +17 -0
  334. package/dist/integrations/pi/components/upstream/components/extension-input.js +73 -0
  335. package/dist/integrations/pi/components/upstream/components/extension-selector.d.ts +15 -0
  336. package/dist/integrations/pi/components/upstream/components/extension-selector.js +93 -0
  337. package/dist/integrations/pi/components/upstream/components/mermaid.js +81 -0
  338. package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +52 -0
  339. package/dist/integrations/pi/components/upstream/components/owned-editor.js +222 -0
  340. package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +60 -0
  341. package/dist/integrations/pi/components/upstream/components/scoped-models-selector.js +347 -0
  342. package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +12 -0
  343. package/dist/integrations/pi/components/upstream/components/session-footer.js +150 -0
  344. package/dist/integrations/pi/components/upstream/components/session-selector-search.js +161 -0
  345. package/dist/integrations/pi/components/upstream/components/session-selector.d.ts +97 -0
  346. package/dist/integrations/pi/components/upstream/components/session-selector.js +935 -0
  347. package/dist/integrations/pi/components/upstream/components/skill-invocation-message.d.ts +21 -0
  348. package/dist/integrations/pi/components/upstream/components/skill-invocation-message.js +54 -0
  349. package/dist/integrations/pi/components/upstream/components/status-indicator.d.ts +35 -0
  350. package/dist/integrations/pi/components/upstream/components/status-indicator.js +69 -0
  351. package/dist/integrations/pi/components/upstream/components/thinking-selector.d.ts +36 -0
  352. package/dist/integrations/pi/components/upstream/components/thinking-selector.js +153 -0
  353. package/dist/integrations/pi/components/upstream/components/tool-execution.d.ts +67 -0
  354. package/dist/integrations/pi/components/upstream/components/tool-execution.js +365 -0
  355. package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +102 -0
  356. package/dist/integrations/pi/components/upstream/components/tree-selector.js +1294 -0
  357. package/dist/integrations/pi/components/upstream/components/trust-selector.d.ts +33 -0
  358. package/dist/integrations/pi/components/upstream/components/trust-selector.js +87 -0
  359. package/dist/integrations/pi/components/upstream/external-editor.js +43 -0
  360. package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +289 -0
  361. package/dist/integrations/pi/components/upstream/history/editor-core.js +2145 -0
  362. package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +35 -0
  363. package/dist/integrations/pi/components/upstream/history/kill-ring.js +51 -0
  364. package/dist/integrations/pi/components/upstream/history/printable-key.d.ts +1 -0
  365. package/dist/integrations/pi/components/upstream/history/printable-key.js +43 -0
  366. package/dist/integrations/pi/components/upstream/history/text-helpers.d.ts +17 -0
  367. package/dist/integrations/pi/components/upstream/history/text-helpers.js +34 -0
  368. package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +25 -0
  369. package/dist/integrations/pi/components/upstream/history/undo-stack.js +39 -0
  370. package/dist/integrations/pi/components/upstream/history/word-navigation.d.ts +24 -0
  371. package/dist/integrations/pi/components/upstream/history/word-navigation.js +103 -0
  372. package/dist/integrations/pi/components/upstream/model-search.d.ts +18 -0
  373. package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +33 -0
  374. package/dist/integrations/pi/components/upstream/theme/theme-controller.js +114 -0
  375. package/dist/integrations/pi/components/upstream/theme/theme.d.ts +61 -0
  376. package/dist/integrations/pi/components/upstream/theme/theme.js +337 -0
  377. package/dist/integrations/pi/engine/adapter.d.ts +140 -0
  378. package/dist/integrations/pi/engine/adapter.js +663 -0
  379. package/dist/integrations/pi/engine/changelog.d.ts +2 -0
  380. package/dist/integrations/pi/engine/changelog.js +63 -0
  381. package/dist/integrations/pi/engine/command-dispatch.d.ts +41 -0
  382. package/dist/integrations/pi/engine/command-dispatch.js +125 -0
  383. package/dist/integrations/pi/engine/compaction-progress.d.ts +24 -0
  384. package/dist/integrations/pi/engine/compaction-progress.js +97 -0
  385. package/dist/integrations/pi/engine/conformance.d.ts +39 -0
  386. package/dist/integrations/pi/engine/conformance.js +140 -0
  387. package/dist/integrations/pi/engine/event-delivery.d.ts +100 -0
  388. package/dist/integrations/pi/engine/event-delivery.js +184 -0
  389. package/dist/integrations/pi/engine/extension-ui-binding.d.ts +35 -0
  390. package/dist/integrations/pi/engine/extension-ui-binding.js +81 -0
  391. package/dist/integrations/pi/engine/http-dispatcher.d.ts +4 -0
  392. package/dist/integrations/pi/engine/http-dispatcher.js +25 -0
  393. package/dist/integrations/pi/engine/index.d.ts +18 -0
  394. package/dist/integrations/pi/engine/index.js +10 -0
  395. package/dist/integrations/pi/engine/message-values.d.ts +29 -0
  396. package/dist/integrations/pi/engine/message-values.js +169 -0
  397. package/dist/integrations/pi/engine/package-integration.d.ts +13 -0
  398. package/dist/integrations/pi/engine/package-integration.js +118 -0
  399. package/dist/integrations/pi/engine/pending-delivery.d.ts +30 -0
  400. package/dist/integrations/pi/engine/pending-delivery.js +156 -0
  401. package/dist/integrations/pi/engine/pi-settings-metadata.json +397 -0
  402. package/dist/integrations/pi/engine/project-trust-preflight.d.ts +22 -0
  403. package/dist/integrations/pi/engine/project-trust-preflight.js +50 -0
  404. package/dist/integrations/pi/engine/prompt-suggestions.d.ts +30 -0
  405. package/dist/integrations/pi/engine/prompt-suggestions.js +102 -0
  406. package/dist/integrations/pi/engine/provider-authentication.d.ts +34 -0
  407. package/dist/integrations/pi/engine/provider-authentication.js +209 -0
  408. package/dist/integrations/pi/engine/repository-pr.d.ts +8 -0
  409. package/dist/integrations/pi/engine/repository-pr.js +62 -0
  410. package/dist/integrations/pi/engine/resource-catalog.d.ts +50 -0
  411. package/dist/integrations/pi/engine/resource-catalog.js +299 -0
  412. package/dist/integrations/pi/engine/resources/changelog.json +12 -0
  413. package/dist/integrations/pi/engine/runtime-integration.d.ts +53 -0
  414. package/dist/integrations/pi/engine/runtime-integration.js +118 -0
  415. package/dist/integrations/pi/engine/session-events.d.ts +48 -0
  416. package/dist/integrations/pi/engine/session-events.js +223 -0
  417. package/dist/integrations/pi/engine/session-integration.d.ts +67 -0
  418. package/dist/integrations/pi/engine/session-integration.js +195 -0
  419. package/dist/integrations/pi/engine/session-runtime.d.ts +98 -0
  420. package/dist/integrations/pi/engine/session-runtime.js +412 -0
  421. package/dist/integrations/pi/engine/session-selection.d.ts +28 -0
  422. package/dist/integrations/pi/engine/session-selection.js +90 -0
  423. package/dist/integrations/pi/engine/settings-bridge.d.ts +121 -0
  424. package/dist/integrations/pi/engine/settings-bridge.js +516 -0
  425. package/dist/integrations/pi/engine/settings-metadata.d.ts +31 -0
  426. package/dist/integrations/pi/engine/settings-metadata.js +67 -0
  427. package/dist/integrations/pi/engine/settings-port.d.ts +42 -0
  428. package/dist/integrations/pi/engine/settings-port.js +363 -0
  429. package/dist/integrations/pi/engine/tool-rendering.d.ts +13 -0
  430. package/dist/integrations/pi/engine/tool-rendering.js +145 -0
  431. package/dist/integrations/pi/engine/transcript-image-assets.d.ts +11 -0
  432. package/dist/integrations/pi/engine/transcript-image-assets.js +86 -0
  433. package/dist/integrations/pi/engine/transcript-projection.d.ts +39 -0
  434. package/dist/integrations/pi/engine/transcript-projection.js +440 -0
  435. package/dist/integrations/pi/engine/usage-view.d.ts +4 -0
  436. package/dist/integrations/pi/engine/usage-view.js +56 -0
  437. package/dist/integrations/pi/engine/windows-filesystem-hygiene.d.ts +21 -0
  438. package/dist/integrations/pi/engine/windows-filesystem-hygiene.js +55 -0
  439. package/dist/integrations/pi/engine/workflow-contexts.d.ts +66 -0
  440. package/dist/integrations/pi/engine/workflow-contexts.js +360 -0
  441. package/dist/integrations/pi/engine/workflow-runner.d.ts +60 -0
  442. package/dist/integrations/pi/engine/workflow-runner.js +536 -0
  443. package/dist/integrations/pi/engine/workflow-support.d.ts +38 -0
  444. package/dist/integrations/pi/engine/workflow-support.js +386 -0
  445. package/dist/integrations/pi/engine/workflows.d.ts +308 -0
  446. package/dist/integrations/pi/engine/workflows.js +81 -0
  447. package/dist/integrations/pi/startup-public.d.ts +2 -0
  448. package/dist/integrations/pi/startup-public.js +2254 -0
  449. package/dist/integrations/pi/startup-public.manifest.json +12679 -0
  450. package/dist/integrations/pi/tui-runtime/adapter.d.ts +58 -0
  451. package/dist/integrations/pi/tui-runtime/adapter.js +792 -0
  452. package/dist/integrations/pi/tui-runtime/contracts.d.ts +158 -0
  453. package/dist/integrations/pi/tui-runtime/contracts.js +1 -0
  454. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +88 -0
  455. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +439 -0
  456. package/dist/integrations/pi/tui-runtime/index.d.ts +9 -0
  457. package/dist/integrations/pi/tui-runtime/index.js +5 -0
  458. package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.d.ts +39 -0
  459. package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.js +139 -0
  460. package/dist/integrations/pi/tui-runtime/mouse-report-input.d.ts +19 -0
  461. package/dist/integrations/pi/tui-runtime/mouse-report-input.js +91 -0
  462. package/dist/integrations/pi/tui-runtime/overlay-geometry.d.ts +32 -0
  463. package/dist/integrations/pi/tui-runtime/overlay-geometry.js +158 -0
  464. package/dist/integrations/pi/tui-runtime/presentation-adapter.d.ts +4 -0
  465. package/dist/integrations/pi/tui-runtime/presentation-adapter.js +48 -0
  466. package/dist/native/darwin-arm64/manifest.json +4 -4
  467. package/dist/native/darwin-arm64/process-guardian +0 -0
  468. package/dist/native/linux-x64/manifest.json +3 -3
  469. package/dist/native/linux-x64/process-guardian +0 -0
  470. package/dist/native/win32-x64/manifest.json +3 -3
  471. package/dist/native/win32-x64/process-guardian.exe +0 -0
  472. package/dist/product-identity.d.ts +37 -0
  473. package/dist/product-identity.js +119 -0
  474. package/dist/product-identity.json +87 -0
  475. package/dist/runtime-payload-inventory.json +134179 -0
  476. package/dist/ui/apps/contracts.d.ts +72 -0
  477. package/dist/ui/apps/host.d.ts +42 -0
  478. package/dist/ui/apps/host.js +156 -0
  479. package/dist/ui/apps/index.d.ts +5 -0
  480. package/dist/ui/apps/index.js +3 -0
  481. package/dist/ui/apps/registry.d.ts +12 -0
  482. package/dist/ui/apps/registry.js +33 -0
  483. package/dist/ui/components/dialog-panel.d.ts +37 -0
  484. package/dist/ui/components/dialog-panel.js +58 -0
  485. package/dist/ui/components/frame.d.ts +22 -0
  486. package/dist/ui/components/frame.js +55 -0
  487. package/dist/ui/components/index.d.ts +50 -0
  488. package/dist/ui/components/index.js +26 -0
  489. package/dist/ui/components/line-input.d.ts +68 -0
  490. package/dist/ui/components/line-input.js +224 -0
  491. package/dist/ui/components/list-block.d.ts +70 -0
  492. package/dist/ui/components/list-block.js +189 -0
  493. package/dist/ui/components/list-view.d.ts +60 -0
  494. package/dist/ui/components/list-view.js +84 -0
  495. package/dist/ui/components/mouse.d.ts +25 -0
  496. package/dist/ui/components/mouse.js +72 -0
  497. package/dist/ui/components/progress-status.d.ts +9 -0
  498. package/dist/ui/components/progress-status.js +25 -0
  499. package/dist/ui/components/prompt-input.d.ts +32 -0
  500. package/dist/ui/components/prompt-input.js +51 -0
  501. package/dist/ui/components/scrollbar.d.ts +88 -0
  502. package/dist/ui/components/scrollbar.js +137 -0
  503. package/dist/ui/components/selection-copy.d.ts +24 -0
  504. package/dist/ui/components/selection-copy.js +39 -0
  505. package/dist/ui/components/shortcut-hints.d.ts +7 -0
  506. package/dist/ui/components/shortcut-hints.js +12 -0
  507. package/dist/ui/components/shortcuts.d.ts +60 -0
  508. package/dist/ui/components/shortcuts.js +85 -0
  509. package/dist/ui/components/spans.d.ts +28 -0
  510. package/dist/ui/components/spans.js +266 -0
  511. package/dist/ui/components/submitted-prompt.d.ts +23 -0
  512. package/dist/ui/components/submitted-prompt.js +50 -0
  513. package/dist/ui/components/surface.d.ts +20 -0
  514. package/dist/ui/components/surface.js +44 -0
  515. package/dist/ui/components/text-selection.d.ts +62 -0
  516. package/dist/ui/components/text-selection.js +210 -0
  517. package/dist/ui/components/text.d.ts +38 -0
  518. package/dist/ui/components/text.js +185 -0
  519. package/dist/ui/components/theme.d.ts +19 -0
  520. package/dist/ui/components/theme.js +9 -0
  521. package/dist/ui/components/transcript-viewport.d.ts +187 -0
  522. package/dist/ui/components/transcript-viewport.js +886 -0
  523. package/dist/ui/components/value-menu.d.ts +43 -0
  524. package/dist/ui/components/value-menu.js +41 -0
  525. package/dist/ui/components/visible-hyperlinks.d.ts +26 -0
  526. package/dist/ui/components/visible-hyperlinks.js +97 -0
  527. package/dist/ui/settings/declarations.d.ts +127 -0
  528. package/dist/ui/settings/declarations.js +124 -0
  529. package/dist/ui/settings/index.d.ts +10 -0
  530. package/dist/ui/settings/index.js +5 -0
  531. package/dist/ui/settings/manager.d.ts +54 -0
  532. package/dist/ui/settings/manager.js +256 -0
  533. package/dist/ui/settings/migrations.d.ts +13 -0
  534. package/dist/ui/settings/migrations.js +92 -0
  535. package/dist/ui/settings/sections.d.ts +52 -0
  536. package/dist/ui/settings/sections.js +112 -0
  537. package/docs/architecture/boundaries.md +17 -13
  538. package/docs/architecture/code-documentation.md +77 -0
  539. package/docs/architecture/history-editor-provenance.md +100 -0
  540. package/docs/architecture/internal-naming.md +94 -0
  541. package/docs/architecture/process-guardian-provenance.md +3 -1
  542. package/docs/architecture/project-structure.md +72 -30
  543. package/docs/architecture/prompt-suggestions.md +68 -0
  544. package/docs/architecture/resource-and-data-policy.md +28 -2
  545. package/docs/architecture/response-copy-delivery.md +85 -0
  546. package/docs/architecture/terminal-host-proof-gate.md +1 -1
  547. package/docs/architecture/terminal-host-spike-evidence.md +1 -1
  548. package/docs/architecture/tool-image-presentation.md +62 -0
  549. package/docs/architecture/toolchain.md +34 -10
  550. package/docs/architecture/ui-reference-provenance.md +73 -6
  551. package/docs/ci-release-runbook.md +266 -79
  552. package/docs/features/launch-profiles.md +24 -17
  553. package/docs/features/modal-content-interaction.md +38 -0
  554. package/docs/features/prompt-history.md +149 -0
  555. package/docs/local-worktree-cleanup.md +214 -0
  556. package/docs/manual-code-streaming-cleanup.md +88 -0
  557. package/docs/manual-ghost-link-baseline.md +89 -0
  558. package/docs/manual-launch-instance-acceptance.md +12 -35
  559. package/docs/manual-owned-ui-checkpoint.md +79 -0
  560. package/docs/manual-pi-boundary-candidate.md +4 -5
  561. package/docs/manual-terminal-colour-check.md +4 -3
  562. package/docs/openspec-archive-automation.md +269 -0
  563. package/docs/repository-governance-live-acceptance.md +77 -0
  564. package/docs/validation.md +105 -0
  565. package/package.json +53 -34
  566. package/dist/src/cli/capabilities.d.ts +0 -15
  567. package/dist/src/cli/capabilities.js +0 -7
  568. package/dist/src/cli/dispatch.d.ts +0 -32
  569. package/dist/src/cli/dispatch.js +0 -142
  570. package/dist/src/cli/index.d.ts +0 -5
  571. package/dist/src/cli/index.js +0 -5
  572. package/dist/src/cli/packages.d.ts +0 -23
  573. package/dist/src/cli/packages.js +0 -84
  574. package/dist/src/cli/version-stats.d.ts +0 -16
  575. package/dist/src/cli/version-stats.js +0 -72
  576. package/dist/src/cli/version.d.ts +0 -2
  577. package/dist/src/cli/version.js +0 -23
  578. package/dist/src/composition/index.d.ts +0 -48
  579. package/dist/src/composition/index.js +0 -258
  580. package/dist/src/features/launch/development-launch.js +0 -28
  581. package/dist/src/features/launch/index.d.ts +0 -7
  582. package/dist/src/features/launch/index.js +0 -7
  583. package/dist/src/features/launch/intent.d.ts +0 -7
  584. package/dist/src/features/launch/intent.js +0 -4
  585. package/dist/src/features/launch/prepare-launch.d.ts +0 -13
  586. package/dist/src/features/launch/prepare-launch.js +0 -21
  587. package/dist/src/features/launch/profile-paths.d.ts +0 -15
  588. package/dist/src/features/launch/profile-paths.js +0 -31
  589. package/dist/src/features/launch/profiles.d.ts +0 -12
  590. package/dist/src/features/launch/profiles.js +0 -26
  591. package/dist/src/features/launch/runtime-selection.d.ts +0 -19
  592. package/dist/src/features/launch/runtime-selection.js +0 -13
  593. package/dist/src/features/owned-ui/customization.d.ts +0 -38
  594. package/dist/src/features/owned-ui/customization.js +0 -108
  595. package/dist/src/features/owned-ui/diagnostics.d.ts +0 -33
  596. package/dist/src/features/owned-ui/diagnostics.js +0 -94
  597. package/dist/src/features/owned-ui/index.d.ts +0 -4
  598. package/dist/src/features/owned-ui/index.js +0 -4
  599. package/dist/src/features/owned-ui/run.d.ts +0 -11
  600. package/dist/src/features/owned-ui/run.js +0 -15
  601. package/dist/src/features/owned-ui/settings-app.d.ts +0 -22
  602. package/dist/src/features/owned-ui/settings-app.js +0 -633
  603. package/dist/src/features/workspace/capabilities.d.ts +0 -31
  604. package/dist/src/features/workspace/capabilities.js +0 -75
  605. package/dist/src/features/workspace/index.d.ts +0 -6
  606. package/dist/src/features/workspace/index.js +0 -6
  607. package/dist/src/features/workspace/presentation.d.ts +0 -30
  608. package/dist/src/features/workspace/presentation.js +0 -70
  609. package/dist/src/features/workspace/reconciliation.d.ts +0 -15
  610. package/dist/src/features/workspace/reconciliation.js +0 -82
  611. package/dist/src/features/workspace/reducer.d.ts +0 -42
  612. package/dist/src/features/workspace/reducer.js +0 -213
  613. package/dist/src/features/workspace/router.d.ts +0 -31
  614. package/dist/src/features/workspace/router.js +0 -124
  615. package/dist/src/features/workspace/store.d.ts +0 -17
  616. package/dist/src/features/workspace/store.js +0 -54
  617. package/dist/src/foundation/agent-engine-contracts/capability-ports.d.ts +0 -95
  618. package/dist/src/foundation/agent-engine-contracts/domain-validation.js +0 -89
  619. package/dist/src/foundation/agent-engine-contracts/domain.d.ts +0 -116
  620. package/dist/src/foundation/agent-engine-contracts/index.d.ts +0 -8
  621. package/dist/src/foundation/agent-engine-contracts/index.js +0 -8
  622. package/dist/src/foundation/agent-engine-contracts/package-ports.d.ts +0 -54
  623. package/dist/src/foundation/launch-guardian/index.d.ts +0 -1
  624. package/dist/src/foundation/launch-guardian/index.js +0 -1
  625. package/dist/src/foundation/launch-guardian/main.d.ts +0 -31
  626. package/dist/src/foundation/launch-guardian/main.js +0 -165
  627. package/dist/src/foundation/lifecycle/index.d.ts +0 -4
  628. package/dist/src/foundation/lifecycle/index.js +0 -4
  629. package/dist/src/foundation/lifecycle/model.d.ts +0 -64
  630. package/dist/src/foundation/lifecycle/model.js +0 -40
  631. package/dist/src/foundation/lifecycle/paths.d.ts +0 -10
  632. package/dist/src/foundation/lifecycle/paths.js +0 -42
  633. package/dist/src/foundation/native-host-protocol/codec.d.ts +0 -11
  634. package/dist/src/foundation/native-host-protocol/codec.js +0 -56
  635. package/dist/src/foundation/native-host-protocol/evidence.d.ts +0 -67
  636. package/dist/src/foundation/native-host-protocol/evidence.js +0 -141
  637. package/dist/src/foundation/native-host-protocol/index.d.ts +0 -4
  638. package/dist/src/foundation/native-host-protocol/index.js +0 -4
  639. package/dist/src/foundation/native-host-protocol/messages.d.ts +0 -56
  640. package/dist/src/foundation/native-host-protocol/messages.js +0 -149
  641. package/dist/src/foundation/native-host-protocol/proof-gate.d.ts +0 -13
  642. package/dist/src/foundation/native-host-protocol/proof-gate.js +0 -33
  643. package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts +0 -302
  644. package/dist/src/foundation/owned-ui-contracts/index.d.ts +0 -3
  645. package/dist/src/foundation/owned-ui-contracts/index.js +0 -3
  646. package/dist/src/foundation/owned-ui-contracts/model.d.ts +0 -241
  647. package/dist/src/foundation/owned-ui-contracts/validation.d.ts +0 -11
  648. package/dist/src/foundation/owned-ui-contracts/validation.js +0 -395
  649. package/dist/src/foundation/owned-ui-settings/declarations.d.ts +0 -13
  650. package/dist/src/foundation/owned-ui-settings/declarations.js +0 -39
  651. package/dist/src/foundation/owned-ui-settings/index.d.ts +0 -6
  652. package/dist/src/foundation/owned-ui-settings/index.js +0 -6
  653. package/dist/src/foundation/owned-ui-settings/migrations.d.ts +0 -13
  654. package/dist/src/foundation/owned-ui-settings/migrations.js +0 -28
  655. package/dist/src/foundation/owned-ui-settings/sections.d.ts +0 -70
  656. package/dist/src/foundation/owned-ui-settings/sections.js +0 -93
  657. package/dist/src/foundation/owned-ui-settings/session.d.ts +0 -44
  658. package/dist/src/foundation/owned-ui-settings/session.js +0 -145
  659. package/dist/src/foundation/owned-ui-settings/store.d.ts +0 -28
  660. package/dist/src/foundation/owned-ui-settings/store.js +0 -90
  661. package/dist/src/foundation/pi-component-adapter/components.d.ts +0 -4
  662. package/dist/src/foundation/pi-component-adapter/components.js +0 -64
  663. package/dist/src/foundation/pi-component-adapter/conformance.d.ts +0 -17
  664. package/dist/src/foundation/pi-component-adapter/conformance.js +0 -69
  665. package/dist/src/foundation/pi-component-adapter/index.d.ts +0 -13
  666. package/dist/src/foundation/pi-component-adapter/index.js +0 -13
  667. package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.d.ts +0 -165
  668. package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.js +0 -166
  669. package/dist/src/foundation/pi-component-adapter/shell-components.d.ts +0 -6
  670. package/dist/src/foundation/pi-component-adapter/shell-components.js +0 -6
  671. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.d.ts +0 -11
  672. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js +0 -162
  673. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts +0 -35
  674. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js +0 -279
  675. package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts +0 -7
  676. package/dist/src/foundation/pi-component-adapter/shell-footer-status.js +0 -189
  677. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts +0 -57
  678. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js +0 -429
  679. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts +0 -113
  680. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js +0 -235
  681. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts +0 -116
  682. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js +0 -87
  683. package/dist/src/foundation/pi-component-adapter/theme.d.ts +0 -1
  684. package/dist/src/foundation/pi-component-adapter/theme.js +0 -1
  685. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts +0 -422
  686. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js +0 -296
  687. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts +0 -10
  688. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts +0 -17
  689. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js +0 -51
  690. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts +0 -22
  691. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js +0 -142
  692. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts +0 -4
  693. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js +0 -19
  694. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts +0 -17
  695. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js +0 -81
  696. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts +0 -24
  697. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js +0 -105
  698. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts +0 -2
  699. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js +0 -18
  700. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js +0 -77
  701. package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.d.ts +0 -18
  702. package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.js +0 -55
  703. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts +0 -55
  704. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js +0 -342
  705. package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.d.ts +0 -10
  706. package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.js +0 -120
  707. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js +0 -159
  708. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts +0 -95
  709. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js +0 -889
  710. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts +0 -19
  711. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js +0 -44
  712. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts +0 -30
  713. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js +0 -59
  714. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts +0 -98
  715. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js +0 -1272
  716. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts +0 -33
  717. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js +0 -76
  718. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js +0 -39
  719. package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts +0 -15
  720. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts +0 -25
  721. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js +0 -117
  722. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts +0 -61
  723. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js +0 -326
  724. package/dist/src/foundation/pi-engine-adapter/adapter.d.ts +0 -164
  725. package/dist/src/foundation/pi-engine-adapter/adapter.js +0 -2367
  726. package/dist/src/foundation/pi-engine-adapter/conformance.d.ts +0 -37
  727. package/dist/src/foundation/pi-engine-adapter/conformance.js +0 -130
  728. package/dist/src/foundation/pi-engine-adapter/index.d.ts +0 -10
  729. package/dist/src/foundation/pi-engine-adapter/index.js +0 -10
  730. package/dist/src/foundation/pi-engine-adapter/model-auth-integration.d.ts +0 -30
  731. package/dist/src/foundation/pi-engine-adapter/model-auth-integration.js +0 -61
  732. package/dist/src/foundation/pi-engine-adapter/package-integration.d.ts +0 -13
  733. package/dist/src/foundation/pi-engine-adapter/package-integration.js +0 -112
  734. package/dist/src/foundation/pi-engine-adapter/pi-settings-metadata.json +0 -374
  735. package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.d.ts +0 -31
  736. package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.js +0 -80
  737. package/dist/src/foundation/pi-engine-adapter/runtime-integration.d.ts +0 -35
  738. package/dist/src/foundation/pi-engine-adapter/runtime-integration.js +0 -67
  739. package/dist/src/foundation/pi-engine-adapter/session-integration.d.ts +0 -43
  740. package/dist/src/foundation/pi-engine-adapter/session-integration.js +0 -97
  741. package/dist/src/foundation/pi-engine-adapter/settings-integration.d.ts +0 -55
  742. package/dist/src/foundation/pi-engine-adapter/settings-integration.js +0 -233
  743. package/dist/src/foundation/pi-engine-adapter/workflow-controllers.d.ts +0 -20
  744. package/dist/src/foundation/pi-engine-adapter/workflow-controllers.js +0 -48
  745. package/dist/src/foundation/pi-engine-adapter/workflows.d.ts +0 -173
  746. package/dist/src/foundation/pi-engine-adapter/workflows.js +0 -60
  747. package/dist/src/foundation/pi-owned-ui-integration/index.d.ts +0 -2
  748. package/dist/src/foundation/pi-owned-ui-integration/index.js +0 -2
  749. package/dist/src/foundation/pi-owned-ui-integration/route-host.d.ts +0 -29
  750. package/dist/src/foundation/pi-owned-ui-integration/session-shell.d.ts +0 -106
  751. package/dist/src/foundation/pi-owned-ui-integration/session-shell.js +0 -1518
  752. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts +0 -39
  753. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js +0 -493
  754. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts +0 -18
  755. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js +0 -145
  756. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts +0 -120
  757. package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts +0 -4
  758. package/dist/src/foundation/pi-tui-runtime-adapter/index.js +0 -4
  759. package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.d.ts +0 -4
  760. package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.js +0 -48
  761. package/dist/src/foundation/presentation-contracts/index.d.ts +0 -96
  762. package/dist/src/foundation/presentation-contracts/index.js +0 -38
  763. package/dist/src/foundation/process-containment/index.d.ts +0 -5
  764. package/dist/src/foundation/process-containment/index.js +0 -5
  765. package/dist/src/foundation/process-containment/linux-process-inspector.d.ts +0 -6
  766. package/dist/src/foundation/process-containment/linux-process-inspector.js +0 -26
  767. package/dist/src/foundation/process-containment/native-guardian-containment.d.ts +0 -16
  768. package/dist/src/foundation/process-containment/native-guardian-containment.js +0 -139
  769. package/dist/src/foundation/process-containment/windows-process-inspector.d.ts +0 -17
  770. package/dist/src/foundation/process-containment/windows-process-inspector.js +0 -53
  771. package/dist/src/foundation/protocol/client.d.ts +0 -17
  772. package/dist/src/foundation/protocol/client.js +0 -129
  773. package/dist/src/foundation/protocol/index.d.ts +0 -2
  774. package/dist/src/foundation/protocol/index.js +0 -2
  775. package/dist/src/foundation/protocol/messages.d.ts +0 -89
  776. package/dist/src/foundation/protocol/messages.js +0 -99
  777. package/dist/src/foundation/release/bootstrap.d.ts +0 -29
  778. package/dist/src/foundation/release/bootstrap.js +0 -335
  779. package/dist/src/foundation/release/cohort-state.d.ts +0 -70
  780. package/dist/src/foundation/release/cohort-state.js +0 -202
  781. package/dist/src/foundation/release/index.d.ts +0 -10
  782. package/dist/src/foundation/release/index.js +0 -10
  783. package/dist/src/foundation/release/release-gc.d.ts +0 -5
  784. package/dist/src/foundation/release/release-gc.js +0 -16
  785. package/dist/src/foundation/release/release-store.d.ts +0 -43
  786. package/dist/src/foundation/release/release-store.js +0 -175
  787. package/dist/src/foundation/release/release.d.ts +0 -38
  788. package/dist/src/foundation/release/release.js +0 -204
  789. package/dist/src/foundation/release/update-transaction.d.ts +0 -31
  790. package/dist/src/foundation/release/update-transaction.js +0 -89
  791. package/dist/src/foundation/release/update.d.ts +0 -82
  792. package/dist/src/foundation/release/update.js +0 -529
  793. package/dist/src/foundation/storage/control-store.d.ts +0 -61
  794. package/dist/src/foundation/storage/control-store.js +0 -530
  795. package/dist/src/foundation/storage/index.d.ts +0 -1
  796. package/dist/src/foundation/storage/index.js +0 -1
  797. package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts +0 -46
  798. package/dist/src/foundation/structured-agent-runtime/backpressure.js +0 -118
  799. package/dist/src/foundation/structured-agent-runtime/commands.d.ts +0 -52
  800. package/dist/src/foundation/structured-agent-runtime/commands.js +0 -164
  801. package/dist/src/foundation/structured-agent-runtime/handshake.d.ts +0 -41
  802. package/dist/src/foundation/structured-agent-runtime/handshake.js +0 -151
  803. package/dist/src/foundation/structured-agent-runtime/index.d.ts +0 -5
  804. package/dist/src/foundation/structured-agent-runtime/index.js +0 -5
  805. package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts +0 -37
  806. package/dist/src/foundation/structured-agent-runtime/reconnection.js +0 -129
  807. package/dist/src/foundation/structured-agent-runtime/state.d.ts +0 -56
  808. package/dist/src/foundation/structured-agent-runtime/state.js +0 -118
  809. package/dist/src/foundation/supervision/index.d.ts +0 -3
  810. package/dist/src/foundation/supervision/index.js +0 -3
  811. package/dist/src/foundation/supervision/main.d.ts +0 -1
  812. package/dist/src/foundation/supervision/main.js +0 -41
  813. package/dist/src/foundation/supervision/paths.d.ts +0 -1
  814. package/dist/src/foundation/supervision/paths.js +0 -1
  815. package/dist/src/foundation/supervision/server.d.ts +0 -22
  816. package/dist/src/foundation/supervision/server.js +0 -451
  817. package/dist/src/foundation/ui-apps/contracts.d.ts +0 -42
  818. package/dist/src/foundation/ui-apps/host.d.ts +0 -42
  819. package/dist/src/foundation/ui-apps/host.js +0 -152
  820. package/dist/src/foundation/ui-apps/index.d.ts +0 -3
  821. package/dist/src/foundation/ui-apps/index.js +0 -3
  822. package/dist/src/foundation/ui-apps/registry.d.ts +0 -11
  823. package/dist/src/foundation/ui-apps/registry.js +0 -32
  824. package/dist/src/foundation/ui-components/dialog-panel.d.ts +0 -36
  825. package/dist/src/foundation/ui-components/dialog-panel.js +0 -47
  826. package/dist/src/foundation/ui-components/frame.d.ts +0 -21
  827. package/dist/src/foundation/ui-components/frame.js +0 -54
  828. package/dist/src/foundation/ui-components/index.d.ts +0 -18
  829. package/dist/src/foundation/ui-components/index.js +0 -18
  830. package/dist/src/foundation/ui-components/line-input.d.ts +0 -74
  831. package/dist/src/foundation/ui-components/line-input.js +0 -245
  832. package/dist/src/foundation/ui-components/list-block.d.ts +0 -66
  833. package/dist/src/foundation/ui-components/list-block.js +0 -176
  834. package/dist/src/foundation/ui-components/list-view.d.ts +0 -66
  835. package/dist/src/foundation/ui-components/list-view.js +0 -76
  836. package/dist/src/foundation/ui-components/mouse.d.ts +0 -15
  837. package/dist/src/foundation/ui-components/mouse.js +0 -46
  838. package/dist/src/foundation/ui-components/scrollbar.d.ts +0 -62
  839. package/dist/src/foundation/ui-components/scrollbar.js +0 -102
  840. package/dist/src/foundation/ui-components/shortcuts.d.ts +0 -57
  841. package/dist/src/foundation/ui-components/shortcuts.js +0 -81
  842. package/dist/src/foundation/ui-components/spans.d.ts +0 -7
  843. package/dist/src/foundation/ui-components/spans.js +0 -59
  844. package/dist/src/foundation/ui-components/surface.d.ts +0 -20
  845. package/dist/src/foundation/ui-components/surface.js +0 -38
  846. package/dist/src/foundation/ui-components/text.d.ts +0 -24
  847. package/dist/src/foundation/ui-components/text.js +0 -123
  848. package/dist/src/foundation/ui-components/theme.d.ts +0 -23
  849. package/dist/src/foundation/ui-components/theme.js +0 -13
  850. package/dist/src/foundation/ui-components/value-menu.d.ts +0 -41
  851. package/dist/src/foundation/ui-components/value-menu.js +0 -33
  852. package/dist/src/foundation/workspace-contracts/index.d.ts +0 -2
  853. package/dist/src/foundation/workspace-contracts/index.js +0 -2
  854. package/dist/src/foundation/workspace-contracts/model.d.ts +0 -248
  855. package/dist/src/foundation/workspace-contracts/model.js +0 -2
  856. package/dist/src/foundation/workspace-contracts/validation.d.ts +0 -13
  857. package/dist/src/foundation/workspace-contracts/validation.js +0 -335
  858. package/dist/src/product-identity.d.ts +0 -37
  859. package/dist/src/product-identity.js +0 -150
  860. package/dist/src/product-identity.json +0 -99
  861. package/docs/manual-transparent-checkpoint.md +0 -53
  862. /package/dist/{src/foundation/agent-engine-contracts/domain.js → app/session-shell/paste-helper.d.ts} +0 -0
  863. /package/dist/{src/foundation/agent-engine-contracts/ports.js → app/session-shell/paste-text-worker.d.ts} +0 -0
  864. /package/dist/{src/foundation/lifecycle/commands.js → app/session-shell/paste-types.js} +0 -0
  865. /package/dist/{src/foundation/pi-owned-ui-integration/route-host.js → app/session-shell/response-copy-helper.d.ts} +0 -0
  866. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/capability-ports.js +0 -0
  867. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain-validation.d.ts +0 -0
  868. /package/dist/{src/foundation/pi-tui-runtime-adapter/contracts.js → contracts/agent-engine/domain.js} +0 -0
  869. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.d.ts +0 -0
  870. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.js +0 -0
  871. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/package-ports.js +0 -0
  872. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/ports.d.ts +0 -0
  873. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.d.ts +0 -0
  874. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.js +0 -0
  875. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.d.ts +0 -0
  876. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.js +0 -0
  877. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/extension-ui.js +0 -0
  878. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/model.js +0 -0
  879. /package/dist/{src/features → features}/launch/development-launch.d.ts +0 -0
  880. /package/dist/{src/features → features}/launch/initialize-profile.d.ts +0 -0
  881. /package/dist/{src/features → features}/launch/initialize-profile.js +0 -0
  882. /package/dist/{src/foundation → foundation}/lifecycle/commands.d.ts +0 -0
  883. /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.d.ts +0 -0
  884. /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.js +0 -0
  885. /package/dist/{src/foundation → foundation}/process-containment/artifact.d.ts +0 -0
  886. /package/dist/{src/foundation → foundation}/process-containment/artifact.js +0 -0
  887. /package/dist/{src/foundation → foundation}/process-containment/contracts.d.ts +0 -0
  888. /package/dist/{src/foundation → foundation}/process-containment/contracts.js +0 -0
  889. /package/dist/{src/foundation → foundation}/release/cohort-selection.d.ts +0 -0
  890. /package/dist/{src/foundation → foundation}/release/cohort-selection.js +0 -0
  891. /package/dist/{src/foundation → foundation}/release/concurrency.d.ts +0 -0
  892. /package/dist/{src/foundation → foundation}/release/concurrency.js +0 -0
  893. /package/dist/{src/foundation → foundation}/release/process-cleanup.d.ts +0 -0
  894. /package/dist/{src/foundation → foundation}/release/process-cleanup.js +0 -0
  895. /package/dist/{src/foundation → foundation}/release/stable-release.d.ts +0 -0
  896. /package/dist/{src/foundation → foundation}/release/stable-release.js +0 -0
  897. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/countdown-timer.js +0 -0
  898. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/mermaid.d.ts +0 -0
  899. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector-search.d.ts +0 -0
  900. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/external-editor.d.ts +0 -0
  901. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/model-search.js +0 -0
  902. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.d.ts +0 -0
  903. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.js +0 -0
  904. /package/dist/{src/foundation/ui-apps → ui/apps}/contracts.js +0 -0
  905. /package/dist/{src/foundation/ui-components → ui/components}/label.d.ts +0 -0
  906. /package/dist/{src/foundation/ui-components → ui/components}/label.js +0 -0
  907. /package/dist/{src/foundation/ui-components → ui/components}/pane.d.ts +0 -0
  908. /package/dist/{src/foundation/ui-components → ui/components}/pane.js +0 -0
  909. /package/dist/{src/foundation/ui-components → ui/components}/revision.d.ts +0 -0
  910. /package/dist/{src/foundation/ui-components → ui/components}/revision.js +0 -0
  911. /package/dist/{src/foundation/ui-components → ui/components}/status-line.d.ts +0 -0
  912. /package/dist/{src/foundation/ui-components → ui/components}/status-line.js +0 -0
  913. /package/dist/{src/foundation/ui-components → ui/components}/stepper.d.ts +0 -0
  914. /package/dist/{src/foundation/ui-components → ui/components}/stepper.js +0 -0
  915. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.d.ts +0 -0
  916. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.js +0 -0
@@ -0,0 +1,29 @@
1
+ /**
2
+ * 33 ms (30.3 fps): baseline chunks arrive every 5 ms, while this cadence
3
+ * retains immediate first paint/input and explicit final-state flushing.
4
+ */
5
+ export declare const STREAM_PRESENTATION_INTERVAL_MS = 33;
6
+ export interface StreamPresentationScheduler {
7
+ now(): number;
8
+ setTimeout(callback: () => void, delayMs: number): ReturnType<typeof setTimeout>;
9
+ clearTimeout(timer: ReturnType<typeof setTimeout>): void;
10
+ }
11
+ /** Bounds terminal presentation requests while semantic root state remains current. */
12
+ export declare class StreamPresentationCoalescer {
13
+ #private;
14
+ readonly present: () => void;
15
+ readonly intervalMs: number;
16
+ readonly scheduler: StreamPresentationScheduler;
17
+ constructor(present: () => void, intervalMs?: number, scheduler?: StreamPresentationScheduler);
18
+ get pending(): boolean;
19
+ request(): void;
20
+ /** Cancels a superseded stream frame; the immediate input/overlay/resize path renders current state. */
21
+ preempt(): void;
22
+ /** Records an immediate input/status/overlay frame and cancels an obsolete stream timer. */
23
+ noteImmediatePresentation(): void;
24
+ /** Presents current semantic state immediately regardless of pending stream work. */
25
+ presentImmediate(): void;
26
+ /** Presents the newest semantic state immediately only when a stream frame is pending. */
27
+ flush(): void;
28
+ dispose(): void;
29
+ }
@@ -0,0 +1,79 @@
1
+ /**
2
+ * 33 ms (30.3 fps): baseline chunks arrive every 5 ms, while this cadence
3
+ * retains immediate first paint/input and explicit final-state flushing.
4
+ */
5
+ export const STREAM_PRESENTATION_INTERVAL_MS = 33;
6
+ const SYSTEM_SCHEDULER = {
7
+ now: Date.now,
8
+ setTimeout: (callback, delayMs) => setTimeout(callback, delayMs),
9
+ clearTimeout: timer => clearTimeout(timer),
10
+ };
11
+ /** Bounds terminal presentation requests while semantic root state remains current. */
12
+ export class StreamPresentationCoalescer {
13
+ #timer;
14
+ #lastPresentationAt = Number.NEGATIVE_INFINITY;
15
+ #disposed = false;
16
+ present;
17
+ intervalMs;
18
+ scheduler;
19
+ constructor(present, intervalMs = STREAM_PRESENTATION_INTERVAL_MS, scheduler = SYSTEM_SCHEDULER) {
20
+ this.present = present;
21
+ this.intervalMs = intervalMs;
22
+ this.scheduler = scheduler;
23
+ if (!Number.isSafeInteger(intervalMs) || intervalMs < 1)
24
+ throw new RangeError("stream presentation interval must be positive");
25
+ }
26
+ get pending() { return this.#timer !== undefined; }
27
+ request() {
28
+ if (this.#disposed || this.#timer !== undefined)
29
+ return;
30
+ const elapsed = this.scheduler.now() - this.#lastPresentationAt;
31
+ if (elapsed >= this.intervalMs) {
32
+ this.#presentNow();
33
+ return;
34
+ }
35
+ this.#timer = this.scheduler.setTimeout(() => {
36
+ this.#timer = undefined;
37
+ this.#presentNow();
38
+ }, Math.max(0, this.intervalMs - elapsed));
39
+ }
40
+ /** Cancels a superseded stream frame; the immediate input/overlay/resize path renders current state. */
41
+ preempt() {
42
+ if (this.#timer === undefined)
43
+ return;
44
+ this.scheduler.clearTimeout(this.#timer);
45
+ this.#timer = undefined;
46
+ }
47
+ /** Records an immediate input/status/overlay frame and cancels an obsolete stream timer. */
48
+ noteImmediatePresentation() {
49
+ if (this.#disposed)
50
+ return;
51
+ this.preempt();
52
+ this.#lastPresentationAt = this.scheduler.now();
53
+ }
54
+ /** Presents current semantic state immediately regardless of pending stream work. */
55
+ presentImmediate() {
56
+ if (this.#disposed)
57
+ return;
58
+ this.noteImmediatePresentation();
59
+ this.present();
60
+ }
61
+ /** Presents the newest semantic state immediately only when a stream frame is pending. */
62
+ flush() {
63
+ if (this.#disposed || this.#timer === undefined)
64
+ return;
65
+ this.scheduler.clearTimeout(this.#timer);
66
+ this.#timer = undefined;
67
+ this.#presentNow();
68
+ }
69
+ dispose() {
70
+ this.preempt();
71
+ this.#disposed = true;
72
+ }
73
+ #presentNow() {
74
+ if (this.#disposed)
75
+ return;
76
+ this.#lastPresentationAt = this.scheduler.now();
77
+ this.present();
78
+ }
79
+ }
@@ -0,0 +1,20 @@
1
+ import type { PiShellClipboardContent } from "../../integrations/pi/components/shell-shared-facade.js";
2
+ export interface SystemClipboardImageReader {
3
+ hasImage(): boolean;
4
+ getImageBinary?(): Promise<readonly number[]>;
5
+ getImageBase64?(): Promise<string>;
6
+ }
7
+ /** Load the native adapter during shell startup so the first paste is warm. */
8
+ export declare function preloadSystemClipboard(): void;
9
+ /**
10
+ * Reads plain text through platform clipboard commands without importing Pi's
11
+ * private clipboard module. Failures are deliberately non-fatal: a denied or
12
+ * unavailable clipboard simply makes the paste action a no-op.
13
+ */
14
+ export declare function readSystemClipboardContent(signal?: AbortSignal, strict?: boolean): Promise<PiShellClipboardContent | null>;
15
+ export declare function readSystemClipboardImage(reader: SystemClipboardImageReader): Promise<{
16
+ readonly data: string;
17
+ readonly mimeType: string;
18
+ } | null>;
19
+ export declare function readSystemClipboardText(signal?: AbortSignal, strict?: boolean): Promise<string | null>;
20
+ export declare function writeSystemClipboardText(text: string): Promise<void>;
@@ -0,0 +1,159 @@
1
+ import { execFile } from "node:child_process";
2
+ import { canonicalizeClipboardImage } from "./clipboard-image.js";
3
+ import { ImageAttachmentError } from "../../contracts/owned-ui/index.js";
4
+ import { assertSourceBytes } from "./image-source.js";
5
+ const MAX_CLIPBOARD_BYTES = 16 * 1024 * 1024;
6
+ let nativeClipboardPromise;
7
+ let pendingClipboardWrite = Promise.resolve();
8
+ /** Load the native adapter during shell startup so the first paste is warm. */
9
+ export function preloadSystemClipboard() {
10
+ if (process.platform === "win32" || process.platform === "darwin")
11
+ void nativeClipboard();
12
+ }
13
+ /**
14
+ * Reads plain text through platform clipboard commands without importing Pi's
15
+ * private clipboard module. Failures are deliberately non-fatal: a denied or
16
+ * unavailable clipboard simply makes the paste action a no-op.
17
+ */
18
+ export async function readSystemClipboardContent(signal, strict = false) {
19
+ await pendingClipboardWrite;
20
+ const native = await nativeClipboard();
21
+ if (native !== null) {
22
+ try {
23
+ if (process.platform === "win32" && native.availableFormats().some(isFileDropFormat)) {
24
+ const files = await readSystemClipboardText(signal, strict);
25
+ if (files !== null)
26
+ return { kind: "text", text: files };
27
+ }
28
+ const image = await readSystemClipboardImage(native);
29
+ if (image !== null)
30
+ return { kind: "image", ...image };
31
+ }
32
+ catch (error) {
33
+ if (error instanceof ImageAttachmentError)
34
+ throw error;
35
+ // Compatibility: fall through to text and platform readers.
36
+ }
37
+ }
38
+ const text = await readSystemClipboardText(signal, strict);
39
+ return text === null ? null : { kind: "text", text };
40
+ }
41
+ export async function readSystemClipboardImage(reader) {
42
+ if (!reader.hasImage())
43
+ return null;
44
+ if (reader.getImageBinary !== undefined) {
45
+ try {
46
+ const bytes = await reader.getImageBinary();
47
+ if (bytes.length > 0)
48
+ assertSourceBytes(bytes.length);
49
+ if (bytes.length > 0 && bytes.every(byte => Number.isInteger(byte) && byte >= 0 && byte <= 255)) {
50
+ return canonicalizeClipboardImage({
51
+ data: Buffer.from(bytes).toString("base64"),
52
+ mimeType: "image/png",
53
+ }, true);
54
+ }
55
+ }
56
+ catch (error) {
57
+ if (error instanceof ImageAttachmentError)
58
+ throw error;
59
+ // Compatibility: older or partially available native bindings may still expose base64.
60
+ }
61
+ }
62
+ if (reader.getImageBase64 !== undefined) {
63
+ try {
64
+ return canonicalizeClipboardImage({
65
+ data: await reader.getImageBase64(),
66
+ mimeType: "image/png",
67
+ }, true);
68
+ }
69
+ catch (error) {
70
+ if (error instanceof ImageAttachmentError)
71
+ throw error;
72
+ // Compatibility: fall through to the caller's text path.
73
+ }
74
+ }
75
+ return null;
76
+ }
77
+ export async function readSystemClipboardText(signal, strict = false) {
78
+ // Concurrency: Ctrl+C/Ctrl+X and Ctrl+V can arrive in adjacent input turns. Serialize the
79
+ // read behind our native write so paste never observes the previous value.
80
+ await pendingClipboardWrite;
81
+ if (process.platform === "win32" || process.platform === "darwin") {
82
+ const native = await nativeClipboard();
83
+ if (native !== null) {
84
+ try {
85
+ const text = await native.getText();
86
+ if (text.length > 0)
87
+ return text;
88
+ // Compatibility: a cold native adapter can report empty before the platform
89
+ // command can observe the existing clipboard. Treat empty as inconclusive
90
+ // and continue within this request's existing abort/deadline boundary.
91
+ }
92
+ catch {
93
+ // Compatibility: fall through to the platform command.
94
+ }
95
+ }
96
+ }
97
+ if (process.platform === "win32") {
98
+ const script = [
99
+ "[Console]::OutputEncoding=[System.Text.Encoding]::UTF8",
100
+ "$t=Get-Clipboard -Raw -ErrorAction SilentlyContinue",
101
+ "if ($null -ne $t -and $t.Length -gt 0) {[Console]::Out.Write($t)} else {$f=Get-Clipboard -Format FileDropList -ErrorAction SilentlyContinue; if ($f) {[Console]::Out.Write(($f | ForEach-Object {$_.FullName}) -join [Environment]::NewLine)}}",
102
+ ].join("; ");
103
+ return execClipboard("powershell.exe", ["-NoProfile", "-NonInteractive", "-Command", script], signal, strict);
104
+ }
105
+ if (process.platform === "darwin")
106
+ return execClipboard("pbpaste", [], signal, strict);
107
+ try {
108
+ const value = await execClipboard("wl-paste", ["--no-newline", "--type", "text"], signal, strict);
109
+ // Compatibility: an empty Wayland result does not prove that the X11
110
+ // clipboard is empty on mixed sessions. Let the existing fallback decide.
111
+ if (value !== null)
112
+ return value;
113
+ }
114
+ catch { /* Compatibility: X11 may be available when the Wayland command is not. */ }
115
+ return execClipboard("xclip", ["-selection", "clipboard", "-o"], signal, strict);
116
+ }
117
+ export function writeSystemClipboardText(text) {
118
+ const write = async () => {
119
+ const native = await nativeClipboard();
120
+ if (native !== null) {
121
+ try {
122
+ await native.setText(text);
123
+ return;
124
+ }
125
+ catch {
126
+ // Compatibility: the caller still emits its terminal clipboard fallback.
127
+ }
128
+ }
129
+ };
130
+ const operation = pendingClipboardWrite.then(write, write);
131
+ pendingClipboardWrite = operation.catch(() => { });
132
+ return operation;
133
+ }
134
+ function nativeClipboard() {
135
+ nativeClipboardPromise ??= import("@mariozechner/clipboard").catch(() => null);
136
+ return nativeClipboardPromise;
137
+ }
138
+ function isFileDropFormat(format) {
139
+ return /(?:filedrop|hdrop|shell idlist)/iu.test(format);
140
+ }
141
+ function execClipboard(command, args, signal, strict = false) {
142
+ if (signal?.aborted)
143
+ return strict ? Promise.reject(new ImageAttachmentError("paste-timeout")) : Promise.resolve(null);
144
+ return new Promise((resolve, reject) => {
145
+ execFile(command, args, {
146
+ encoding: "utf8",
147
+ maxBuffer: MAX_CLIPBOARD_BYTES,
148
+ timeout: 5_000,
149
+ windowsHide: true,
150
+ ...(strict ? { killSignal: "SIGKILL" } : {}),
151
+ ...(signal === undefined ? {} : { signal }),
152
+ }, (error, stdout) => {
153
+ if (error && strict)
154
+ reject(new ImageAttachmentError("paste-unavailable"));
155
+ else
156
+ resolve(error || stdout.length === 0 ? null : stdout);
157
+ });
158
+ });
159
+ }
@@ -0,0 +1,5 @@
1
+ /** Normalize clipboard text and classify its compact label using the pinned Pi 0.84.2 paste policy. */
2
+ export declare function prepareTextPaste(source: string): {
3
+ readonly text: string;
4
+ readonly label?: string;
5
+ };
@@ -0,0 +1,16 @@
1
+ /** Normalize clipboard text and classify its compact label using the pinned Pi 0.84.2 paste policy. */
2
+ export function prepareTextPaste(source) {
3
+ // Compatibility: extended-key terminals can encode literal controls inside bracketed paste.
4
+ const decoded = source.replace(/\x1b\[(\d+);5u/g, (sequence, value) => {
5
+ const code = Number(value);
6
+ if (code >= 65 && code <= 90)
7
+ return String.fromCharCode(code - 64);
8
+ if (code >= 97 && code <= 122)
9
+ return String.fromCharCode(code - 96);
10
+ return sequence;
11
+ });
12
+ const text = decoded.replace(/\r\n?/g, "\n").replace(/\t/g, " ").replace(/[\x00-\x09\x0b-\x1f]/g, "");
13
+ const lines = text.split("\n").length;
14
+ const label = lines > 10 ? `+${lines} lines` : text.length > 1000 ? `${text.length} chars` : undefined;
15
+ return { text, ...(label === undefined ? {} : { label }) };
16
+ }
@@ -0,0 +1,6 @@
1
+ /** The Pi comparison launch is a prerelease development instrument, not product. */
2
+ export interface CliCapabilities {
3
+ readonly developmentComparison: boolean;
4
+ }
5
+ export declare function cliCapabilities(version: string): CliCapabilities;
6
+ export declare function isPrereleaseVersion(version: string): boolean;
@@ -0,0 +1,7 @@
1
+ import { prerelease } from "semver";
2
+ export function cliCapabilities(version) {
3
+ return Object.freeze({ developmentComparison: isPrereleaseVersion(version) });
4
+ }
5
+ export function isPrereleaseVersion(version) {
6
+ return (prerelease(version)?.length ?? 0) > 0;
7
+ }
@@ -0,0 +1,53 @@
1
+ import { type InteractiveLaunchIntent, type LaunchProfileId, type SessionSelection } from "../features/launch/index.js";
2
+ import type { CliCapabilities } from "./capabilities.js";
3
+ import type { PackageCommandRequest } from "./packages.js";
4
+ import type { SessionContextRequest } from "./session-context.js";
5
+ import { type PackageCliVerb, type PackageCommandNamespace, type PackageSyntaxDiagnostic } from "./package-messages.js";
6
+ export type UpdateChannel = "stable" | "next";
7
+ export interface CliHandlers {
8
+ readonly launch: (intent: InteractiveLaunchIntent) => Promise<number>;
9
+ readonly version: () => Promise<number>;
10
+ readonly update: (channel: UpdateChannel, target?: string) => Promise<number>;
11
+ readonly packages: (request: PackageCommandRequest) => Promise<number>;
12
+ readonly sessionContext: (request: SessionContextRequest) => Promise<number>;
13
+ }
14
+ export interface CliOutput {
15
+ readonly stdout: (message: string) => void;
16
+ readonly stderr: (message: string) => void;
17
+ }
18
+ export declare function cliUsage(capabilities: CliCapabilities): string;
19
+ export declare function cliHelp(capabilities: CliCapabilities): string;
20
+ export declare function dispatchCli(arguments_: readonly string[], handlers: CliHandlers, output: CliOutput, capabilities: CliCapabilities): Promise<number>;
21
+ export type CliCommand = {
22
+ readonly kind: "noop";
23
+ } | {
24
+ readonly kind: "help";
25
+ } | {
26
+ readonly kind: "package-help";
27
+ readonly verb: PackageCliVerb;
28
+ readonly namespace: PackageCommandNamespace;
29
+ } | {
30
+ readonly kind: "package-error";
31
+ readonly diagnostic: PackageSyntaxDiagnostic;
32
+ readonly namespace: PackageCommandNamespace;
33
+ } | {
34
+ readonly kind: "launch";
35
+ readonly profileId: LaunchProfileId;
36
+ readonly sessionSelection?: SessionSelection;
37
+ } | {
38
+ readonly kind: "version";
39
+ } | {
40
+ readonly kind: "update";
41
+ readonly channel: UpdateChannel;
42
+ readonly target?: string;
43
+ } | {
44
+ readonly kind: "packages";
45
+ readonly request: PackageCommandRequest;
46
+ } | {
47
+ readonly kind: "session-context";
48
+ readonly request: SessionContextRequest;
49
+ } | {
50
+ readonly kind: "error";
51
+ readonly message: string;
52
+ };
53
+ export declare function parseCliCommand(arguments_: readonly string[], capabilities: CliCapabilities): CliCommand;
@@ -0,0 +1,287 @@
1
+ import { interactiveLaunchIntent, parseSessionSelection } from "../features/launch/index.js";
2
+ import { packageCommandHelp, renderPackageSyntax, } from "./package-messages.js";
3
+ import { PRODUCT_TEXT } from "../product-identity.js";
4
+ export function cliUsage(capabilities) {
5
+ return PRODUCT_TEXT.usage([
6
+ "",
7
+ "--session <path|id>",
8
+ "--session-dir <dir> --session <path|id>",
9
+ ...(capabilities.developmentComparison ? ["pi"] : []),
10
+ "help",
11
+ "version",
12
+ "update",
13
+ "update --develop [preview-or-version]",
14
+ "update --models",
15
+ "update --extensions",
16
+ "update <source>",
17
+ "install <source>",
18
+ "remove <source>",
19
+ "uninstall <source>",
20
+ "list",
21
+ "session link-worktree <path>",
22
+ "session unlink-worktree",
23
+ ]);
24
+ }
25
+ export function cliHelp(capabilities) {
26
+ const command = PRODUCT_TEXT.commandName;
27
+ return [
28
+ "Common:",
29
+ ` ${command}`,
30
+ ` ${command} --session <path|id>`,
31
+ ` ${command} --session-dir <dir> --session <path|id>`,
32
+ ...(capabilities.developmentComparison ? [` ${command} pi`] : []),
33
+ ` ${command} help`,
34
+ ` ${command} version`,
35
+ "",
36
+ "Update:",
37
+ ` ${command} update`,
38
+ ` ${command} update --develop [preview-or-version]`,
39
+ ` ${command} update --models`,
40
+ ` ${command} update --extensions`,
41
+ ` ${command} update <source>`,
42
+ "",
43
+ "Packages:",
44
+ ` ${command} install <source>`,
45
+ ` ${command} remove <source>`,
46
+ ` ${command} uninstall <source>`,
47
+ ` ${command} list`,
48
+ "",
49
+ "Session context:",
50
+ ` ${command} session link-worktree <path>`,
51
+ ` ${command} session unlink-worktree`,
52
+ "",
53
+ ].join("\n");
54
+ }
55
+ const PROFILE_WORDS = new Set(["pi"]);
56
+ export async function dispatchCli(arguments_, handlers, output, capabilities) {
57
+ const command = parseCliCommand(arguments_, capabilities);
58
+ if (command.kind === "noop")
59
+ return 0;
60
+ if (command.kind === "help") {
61
+ output.stdout(cliHelp(capabilities));
62
+ return 0;
63
+ }
64
+ if (command.kind === "package-help") {
65
+ output.stdout(packageCommandHelp(command.verb, command.namespace));
66
+ return 0;
67
+ }
68
+ if (command.kind === "package-error") {
69
+ output.stderr(renderPackageSyntax(command.diagnostic, command.namespace));
70
+ return 2;
71
+ }
72
+ if (command.kind === "error") {
73
+ output.stderr(`${command.message}\n`);
74
+ return 2;
75
+ }
76
+ if (command.kind === "launch")
77
+ return await handlers.launch(interactiveLaunchIntent(command.profileId, command.sessionSelection));
78
+ if (command.kind === "version")
79
+ return await handlers.version();
80
+ if (command.kind === "packages")
81
+ return await handlers.packages(command.request);
82
+ if (command.kind === "session-context")
83
+ return await handlers.sessionContext(command.request);
84
+ return await handlers.update(command.channel, command.target);
85
+ }
86
+ export function parseCliCommand(arguments_, capabilities) {
87
+ if (arguments_.length === 0)
88
+ return { kind: "launch", profileId: "a1" };
89
+ const [command, ...rest] = arguments_;
90
+ if (command === "--session" || command === "--session-dir") {
91
+ try {
92
+ const sessionSelection = parseSessionSelection(arguments_);
93
+ return { kind: "launch", profileId: "a1", ...(sessionSelection === undefined ? {} : { sessionSelection }) };
94
+ }
95
+ catch (error) {
96
+ return { kind: "error", message: PRODUCT_TEXT.diagnostic(`could not parse session launch: ${error instanceof Error ? error.message : String(error)}`) };
97
+ }
98
+ }
99
+ if (command === "help" || command === "--help" || command === "-h")
100
+ return withoutArguments(rest, { kind: "help" });
101
+ if (command === "version" || command === "--version" || command === "-v")
102
+ return withoutArguments(rest, { kind: "version" });
103
+ if (command === "install" || command === "remove" || command === "uninstall" || command === "list") {
104
+ return parsePackageCommand(arguments_, "direct");
105
+ }
106
+ if (command === "pi") {
107
+ if (rest.length > 0)
108
+ return parsePackageCommand(rest, "pi");
109
+ return capabilities.developmentComparison ? { kind: "launch", profileId: "pi" } : { kind: "noop" };
110
+ }
111
+ if (command === "update")
112
+ return parseUpdate(rest);
113
+ if (command === "session")
114
+ return parseSessionContext(rest);
115
+ if (command?.startsWith("update:"))
116
+ return { kind: "noop" };
117
+ // Rationale: unsupported and reserved command spaces are deliberately quiet. Help is
118
+ // explicit, and a typo must never start an interactive or maintenance path.
119
+ return { kind: "noop" };
120
+ }
121
+ function parseSessionContext(rest) {
122
+ const [action, value, extra] = rest;
123
+ if (action === "link-worktree") {
124
+ if (value === undefined)
125
+ return { kind: "error", message: PRODUCT_TEXT.diagnostic("session link-worktree requires one path.") };
126
+ if (extra !== undefined)
127
+ return { kind: "error", message: PRODUCT_TEXT.diagnostic("session link-worktree accepts one path.") };
128
+ return { kind: "session-context", request: { action, path: value } };
129
+ }
130
+ if (action === "unlink-worktree") {
131
+ if (value !== undefined)
132
+ return { kind: "error", message: PRODUCT_TEXT.diagnostic("session unlink-worktree does not accept arguments.") };
133
+ return { kind: "session-context", request: { action } };
134
+ }
135
+ return { kind: "error", message: PRODUCT_TEXT.diagnostic("session accepts link-worktree <path> or unlink-worktree.") };
136
+ }
137
+ /**
138
+ * Stable update is the empty form. `--develop` selects the moving development
139
+ * head or one immutable numbered preview, while model refresh remains a separate
140
+ * operation that cannot be combined with either update channel.
141
+ */
142
+ function parseUpdate(rest) {
143
+ if (rest.some(value => value === "--help" || value === "-h")) {
144
+ return { kind: "package-help", verb: "update", namespace: "direct" };
145
+ }
146
+ if (rest.length === 0)
147
+ return { kind: "update", channel: "stable" };
148
+ const [selector, ...values] = rest;
149
+ // Compatibility: removed notation is unsupported rather than deprecated.
150
+ if (selector === "self")
151
+ return { kind: "noop" };
152
+ if (selector === "--develop") {
153
+ if (values.length === 0)
154
+ return { kind: "update", channel: "next" };
155
+ if (values.length > 1)
156
+ return updateGrammarError("--develop accepts at most one preview number or version.");
157
+ const [target] = values;
158
+ if (target === undefined || !isDevelopmentTarget(target)) {
159
+ return updateGrammarError(`--develop received an unusable preview: ${target ?? ""}`);
160
+ }
161
+ return { kind: "update", channel: "next", target };
162
+ }
163
+ if (selector === "--models") {
164
+ if (values.length > 0)
165
+ return updateGrammarError("--models cannot be combined with another update selector.");
166
+ return { kind: "packages", request: { verb: "refresh-models", source: null } };
167
+ }
168
+ if (selector === "pi")
169
+ return pinnedPiUpdateError();
170
+ if (selector === "--self" || selector === "--all")
171
+ return unknownOption(selector, "update");
172
+ return parsePackageUpdate(rest, "direct");
173
+ }
174
+ function isDevelopmentTarget(target) {
175
+ return /^[1-9]\d*$/.test(target) || /^\d+\.\d+\.\d+-dev\.[1-9]\d*$/.test(target);
176
+ }
177
+ function updateGrammarError(detail) {
178
+ return { kind: "error", message: PRODUCT_TEXT.diagnostic(`could not parse update: ${detail}`) };
179
+ }
180
+ function parsePackageCommand(arguments_, namespace) {
181
+ const [verb, ...rest] = arguments_;
182
+ if ((verb === "install" || verb === "remove" || verb === "uninstall" || verb === "list" || verb === "update")
183
+ && rest.some(value => value === "--help" || value === "-h")) {
184
+ return { kind: "package-help", verb: verb === "uninstall" ? "remove" : verb, namespace };
185
+ }
186
+ if (verb === "install" || verb === "remove" || verb === "uninstall") {
187
+ return parseSourceCommand(verb === "install" ? "install" : "remove", rest, namespace);
188
+ }
189
+ if (verb === "list") {
190
+ const flag = rest.find(argument => argument.startsWith("-"));
191
+ if (flag !== undefined)
192
+ return packageOptionError(flag, "list", namespace);
193
+ if (rest[0] !== undefined)
194
+ return packageSyntax({ verb: "list", kind: "unexpected-argument", value: rest[0] }, namespace);
195
+ return { kind: "packages", request: { verb: "list", source: null } };
196
+ }
197
+ if (verb === "update")
198
+ return parsePackageUpdate(rest, namespace);
199
+ return { kind: "noop" };
200
+ }
201
+ function parsePackageUpdate(rest, namespace) {
202
+ if (rest.length === 0)
203
+ return pinnedPiUpdateError();
204
+ if (rest.length > 1) {
205
+ const unknown = rest.find(value => value.startsWith("-") && !["--extensions", "--models", "--self", "--all"].includes(value));
206
+ if (unknown !== undefined)
207
+ return packageOptionError(unknown, "update", namespace);
208
+ if (rest.includes("--self") || rest.includes("--all") || rest.includes("self") || rest.includes("pi"))
209
+ return pinnedPiUpdateError();
210
+ if (rest.every(value => value === rest[0]) && rest[0]?.startsWith("-")) {
211
+ const command = namespace === "direct" ? "update" : "pi update";
212
+ return { kind: "error", message: PRODUCT_TEXT.diagnostic(`${command} accepts one target.`) };
213
+ }
214
+ const sources = rest.filter(value => !value.startsWith("-"));
215
+ if (sources[1] !== undefined)
216
+ return packageSyntax({ verb: "update", kind: "unexpected-argument", value: sources[1] }, namespace);
217
+ const message = rest.includes("--models")
218
+ ? rest.includes("--extensions")
219
+ ? "--models cannot be combined with --self, --extensions, --all, or --extension"
220
+ : "--models cannot be combined with a positional source"
221
+ : "positional update targets cannot be combined with --self, --extensions, or --all";
222
+ return packageSyntax({ verb: "update", kind: "conflict", message }, namespace);
223
+ }
224
+ const [target] = rest;
225
+ if (target === "--extensions")
226
+ return { kind: "packages", request: { verb: "update", source: null } };
227
+ if (target === "--models")
228
+ return { kind: "packages", request: { verb: "refresh-models", source: null } };
229
+ if (target === "--self" || target === "--all" || target === "self" || target === "pi")
230
+ return pinnedPiUpdateError();
231
+ if (target === undefined || target.startsWith("-"))
232
+ return packageOptionError(target ?? "", "update", namespace);
233
+ return { kind: "packages", request: { verb: "update", source: target } };
234
+ }
235
+ function pinnedPiUpdateError() {
236
+ return {
237
+ kind: "error",
238
+ message: [
239
+ PRODUCT_TEXT.diagnostic("pins its certified Pi runtime and cannot update it independently."),
240
+ "Use:",
241
+ ` ${PRODUCT_TEXT.commandName} update Update a1`,
242
+ ` ${PRODUCT_TEXT.commandName} update --extensions Update Pi-compatible packages`,
243
+ ` ${PRODUCT_TEXT.commandName} update --models Refresh model catalogs`,
244
+ ].join("\n"),
245
+ };
246
+ }
247
+ function parseSourceCommand(verb, rest, namespace) {
248
+ const flag = rest.find(argument => argument.startsWith("-"));
249
+ if (flag !== undefined)
250
+ return packageOptionError(flag, verb, namespace);
251
+ const [source, extra] = rest;
252
+ if (extra !== undefined)
253
+ return packageSyntax({ verb, kind: "unexpected-argument", value: extra }, namespace);
254
+ if (source === undefined)
255
+ return packageSyntax({ verb, kind: "missing-source" }, namespace);
256
+ if (PROFILE_WORDS.has(source))
257
+ return profileRejection(verb);
258
+ return { kind: "packages", request: { verb, source } };
259
+ }
260
+ function packageSyntax(diagnostic, namespace) {
261
+ return { kind: "package-error", diagnostic, namespace };
262
+ }
263
+ function packageOptionError(option, verb, namespace) {
264
+ if (option.startsWith("--profile") || option === "-l" || option === "--local")
265
+ return profileRejection(verb);
266
+ // Compatibility: these recognized Pi flags remain outside A1's supported subset.
267
+ if (["--extension", "--approve", "--no-approve", "-a", "-na", "--force"].includes(option)) {
268
+ return unknownOption(option, namespace === "direct" ? verb : `pi ${verb}`);
269
+ }
270
+ return packageSyntax({ verb, kind: "unknown-option", value: option }, namespace);
271
+ }
272
+ function withoutArguments(rest, command) {
273
+ if (rest.length === 0)
274
+ return command;
275
+ return { kind: "error", message: PRODUCT_TEXT.diagnostic("commands do not accept additional arguments.") };
276
+ }
277
+ function profileRejection(verb) {
278
+ return {
279
+ kind: "error",
280
+ message: PRODUCT_TEXT.diagnostic(`manages packages in its own profile, so ${verb} takes no profile; Pi manages Pi's own profile.`),
281
+ };
282
+ }
283
+ function unknownOption(option, verb) {
284
+ if (option.startsWith("--profile"))
285
+ return profileRejection(verb);
286
+ return { kind: "error", message: PRODUCT_TEXT.diagnostic(`received an unknown option for ${verb}: ${option}`) };
287
+ }