@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,72 @@
1
+ import type { PaneInputResult, PaneMouseEvent, PaneRect, RenderCacheContract, UiTheme } from "../components/index.js";
2
+ export interface AppSize {
3
+ readonly width: number;
4
+ readonly height: number;
5
+ }
6
+ /**
7
+ * What a host offers a presented app. An app reaches the terminal, the pinned
8
+ * shell, or another app only through these — never around them.
9
+ */
10
+ export interface AppHostServices {
11
+ getSize(): AppSize;
12
+ requestRender(): void;
13
+ close(): void;
14
+ /** Restores the surface that opened this app without closing the host. */
15
+ returnToPrevious(): void;
16
+ /** Leaves A1 entirely, as the interrupt chord does from any screen. */
17
+ exit(): void;
18
+ /** True once one interrupt has been seen and the chord is waiting for the second. */
19
+ readonly interruptArmed: boolean;
20
+ /**
21
+ * Whether an idle interrupt closes the presented app. Every host chooses
22
+ * explicitly: a standalone screen closes, a persistent host stays open.
23
+ */
24
+ readonly closeOnInterrupt: boolean;
25
+ /** Colours for the presented app. Absent renders plain text. */
26
+ readonly theme?: UiTheme;
27
+ }
28
+ export interface UiApp {
29
+ readonly id: string;
30
+ /** Optional declared revisions used by the host's shared frame cache. */
31
+ readonly renderCache?: RenderCacheContract;
32
+ render(rect: PaneRect, host: AppHostServices): readonly string[];
33
+ onInput?(data: string, host: AppHostServices): PaneInputResult;
34
+ onMouse?(event: PaneMouseEvent, host: AppHostServices): PaneInputResult;
35
+ onActivate?(host: AppHostServices): void;
36
+ onClose?(host: AppHostServices): void;
37
+ }
38
+ export interface AppRegistration {
39
+ readonly id: string;
40
+ /** Route that opens the app, without its leading slash. */
41
+ readonly route: string;
42
+ create(): UiApp;
43
+ }
44
+ /** A neutral owned-app surface mounted by a surrounding presentation runtime. */
45
+ export interface UiRouteSurface {
46
+ readonly id: string;
47
+ /** Renders exactly `height` rows of at most `width` columns. */
48
+ render(width: number, height: number): readonly string[];
49
+ /** True when the key was consumed; false leaves it to the surrounding shell. */
50
+ handleInput(data: string): boolean;
51
+ /** Mouse report in surface-local coordinates. True when consumed. */
52
+ handleMouse(event: PaneMouseEvent): boolean;
53
+ isClosed(): boolean;
54
+ close(): void;
55
+ onRenderRequested(listener: () => void): void;
56
+ /** The surface asks to leave A1 entirely, not merely to close itself. */
57
+ onExitRequested(listener: () => void): void;
58
+ }
59
+ /**
60
+ * What a shell may hand a route when it opens it. A route that does not use the
61
+ * input opens exactly as it does without one.
62
+ */
63
+ export interface UiRouteInput {
64
+ /** A caller-supplied document for a route that presents documents. */
65
+ readonly document?: string;
66
+ }
67
+ /** Route lookup seam shared by owned apps and any presentation runtime hosting them. */
68
+ export interface UiRouteHost {
69
+ claims(route: string): boolean;
70
+ open(route: string, input?: UiRouteInput): UiRouteSurface | null;
71
+ }
72
+ export declare function assertAppRegistration(registration: AppRegistration): void;
@@ -0,0 +1,42 @@
1
+ import { type PaneInputResult, type PaneMouseEvent, type UiTheme } from "../components/index.js";
2
+ import type { AppSize, UiApp } from "./contracts.js";
3
+ import type { UiAppRegistry } from "./registry.js";
4
+ export interface AppHostSurface {
5
+ /** Current viewport, re-read on every frame so a resize is picked up. */
6
+ size(): AppSize;
7
+ /** Asks the surrounding runtime to repaint. */
8
+ requestRender(): void;
9
+ /** Presents these rows, or clears the surface when null. */
10
+ present(lines: readonly string[] | null): void;
11
+ /** Reports a failure that closed an app. */
12
+ reportFailure?(appId: string, error: unknown): void;
13
+ /** Leaves A1 entirely. Invoked by the interrupt chord from a presented app. */
14
+ exit?(): void;
15
+ }
16
+ export interface AppHostOptions {
17
+ readonly registry: UiAppRegistry;
18
+ readonly surface: AppHostSurface;
19
+ /** Whether an idle interrupt closes the presented app. Chosen explicitly. */
20
+ readonly closeOnInterrupt: boolean;
21
+ /** Colours handed to every presented app. Absent renders plain text. */
22
+ readonly theme?: UiTheme;
23
+ }
24
+ /**
25
+ * Presents at most one app. Input reaches the presented app first; anything it
26
+ * does not consume continues to the caller. A failure while rendering or
27
+ * handling input closes the app rather than leaving a broken surface on screen.
28
+ */
29
+ export declare class UiAppHost {
30
+ #private;
31
+ constructor(options: AppHostOptions);
32
+ get presented(): UiApp | null;
33
+ get isPresenting(): boolean;
34
+ /** Opens a registered app, replacing whatever was presented. */
35
+ open(id: string): void;
36
+ openRoute(route: string): boolean;
37
+ render(): void;
38
+ handleInput(data: string): PaneInputResult;
39
+ handleMouse(event: PaneMouseEvent): PaneInputResult;
40
+ get interruptArmed(): boolean;
41
+ close(): void;
42
+ }
@@ -0,0 +1,156 @@
1
+ import { FrameCache, finalizeFrame, } from "../components/index.js";
2
+ // Invariant: the interrupt byte is written as an escape: as a raw byte it is invisible to
3
+ // every text tool, and this constant had already been emptied by one.
4
+ const INTERRUPT = "";
5
+ /** How long the first interrupt of the chord stays armed. */
6
+ const INTERRUPT_CHORD_MS = 1_500;
7
+ /**
8
+ * Presents at most one app. Input reaches the presented app first; anything it
9
+ * does not consume continues to the caller. A failure while rendering or
10
+ * handling input closes the app rather than leaving a broken surface on screen.
11
+ */
12
+ export class UiAppHost {
13
+ #registry;
14
+ #surface;
15
+ #closeOnInterrupt;
16
+ #theme;
17
+ // Invariant: the first interrupt timestamp is null whenever the chord is disarmed.
18
+ #interruptArmedAt = null;
19
+ #renderedInterruptArmed;
20
+ #cache = new FrameCache();
21
+ #app = null;
22
+ constructor(options) {
23
+ this.#registry = options.registry;
24
+ this.#surface = options.surface;
25
+ this.#closeOnInterrupt = options.closeOnInterrupt;
26
+ this.#theme = options.theme;
27
+ }
28
+ get presented() {
29
+ return this.#app;
30
+ }
31
+ get isPresenting() {
32
+ return this.#app !== null;
33
+ }
34
+ /** Opens a registered app, replacing whatever was presented. */
35
+ open(id) {
36
+ const registration = this.#registry.get(id);
37
+ if (registration === null)
38
+ throw new Error(`owned UI app is not registered: ${id}`);
39
+ if (this.#app !== null)
40
+ this.#closeCurrent();
41
+ const app = registration.create();
42
+ this.#app = app;
43
+ this.#cache.invalidate();
44
+ this.#guard(() => app.onActivate?.(this.#services()));
45
+ this.render();
46
+ }
47
+ openRoute(route) {
48
+ const registration = this.#registry.forRoute(route);
49
+ if (registration === null)
50
+ return false;
51
+ this.open(registration.id);
52
+ return true;
53
+ }
54
+ render() {
55
+ const app = this.#app;
56
+ if (app === null) {
57
+ this.#surface.present(null);
58
+ return;
59
+ }
60
+ const size = this.#surface.size();
61
+ const rect = { width: Math.max(0, size.width), height: Math.max(0, size.height) };
62
+ const interruptArmed = this.interruptArmed;
63
+ if (this.#renderedInterruptArmed !== interruptArmed)
64
+ this.#cache.invalidate();
65
+ this.#renderedInterruptArmed = interruptArmed;
66
+ const lines = this.#guard(() => this.#cache.render(app, rect, () => finalizeFrame(app.render(rect, this.#services()), rect, app.id)));
67
+ this.#surface.present(lines ?? null);
68
+ }
69
+ handleInput(data) {
70
+ const app = this.#app;
71
+ if (app === null)
72
+ return { consumed: false };
73
+ const result = this.#guard(() => app.onInput?.(data, this.#services())) ?? { consumed: false };
74
+ if (this.#app === null)
75
+ return { consumed: true, render: true };
76
+ if (result.consumed) {
77
+ if (result.render !== false)
78
+ this.render();
79
+ return result;
80
+ }
81
+ if (data === INTERRUPT)
82
+ return this.#interrupt();
83
+ return { consumed: false };
84
+ }
85
+ handleMouse(event) {
86
+ const app = this.#app;
87
+ if (app === null)
88
+ return { consumed: false };
89
+ const result = this.#guard(() => app.onMouse?.(event, this.#services())) ?? { consumed: false };
90
+ if (result.consumed && result.render !== false)
91
+ this.render();
92
+ return result;
93
+ }
94
+ // Protocol: two interrupts within the chord window leave A1 from every screen.
95
+ #interrupt() {
96
+ const now = Date.now();
97
+ const armed = this.#interruptArmedAt;
98
+ if (armed !== null && now - armed <= INTERRUPT_CHORD_MS) {
99
+ this.#interruptArmedAt = null;
100
+ this.close();
101
+ this.#surface.exit?.();
102
+ return { consumed: true, render: true };
103
+ }
104
+ this.#interruptArmedAt = now;
105
+ // Invariant: host-owned state participates in the app's next frame independently of
106
+ // the app's own revision contract.
107
+ this.#cache.invalidate();
108
+ return { consumed: true, render: true };
109
+ }
110
+ get interruptArmed() {
111
+ const armed = this.#interruptArmedAt;
112
+ return armed !== null && Date.now() - armed <= INTERRUPT_CHORD_MS;
113
+ }
114
+ close() {
115
+ if (this.#app === null)
116
+ return;
117
+ this.#closeCurrent();
118
+ this.#surface.present(null);
119
+ }
120
+ #closeCurrent() {
121
+ const app = this.#app;
122
+ this.#app = null;
123
+ this.#cache.invalidate();
124
+ if (app !== null)
125
+ this.#guard(() => app.onClose?.(this.#services()));
126
+ }
127
+ #services() {
128
+ return {
129
+ getSize: () => this.#surface.size(),
130
+ requestRender: () => this.#surface.requestRender(),
131
+ close: () => this.close(),
132
+ returnToPrevious: () => this.close(),
133
+ closeOnInterrupt: this.#closeOnInterrupt,
134
+ exit: () => {
135
+ this.close();
136
+ this.#surface.exit?.();
137
+ },
138
+ interruptArmed: this.interruptArmed,
139
+ ...(this.#theme === undefined ? {} : { theme: this.#theme }),
140
+ };
141
+ }
142
+ // Security: an app failure closes its app and restores the surface.
143
+ #guard(work) {
144
+ try {
145
+ return work();
146
+ }
147
+ catch (error) {
148
+ const app = this.#app;
149
+ this.#app = null;
150
+ this.#cache.invalidate();
151
+ this.#surface.present(null);
152
+ this.#surface.reportFailure?.(app?.id ?? "unknown", error);
153
+ return undefined;
154
+ }
155
+ }
156
+ }
@@ -0,0 +1,5 @@
1
+ export { assertAppRegistration } from "./contracts.js";
2
+ export type { AppHostServices, AppRegistration, AppSize, UiApp, UiRouteHost, UiRouteInput, UiRouteSurface } from "./contracts.js";
3
+ export { UiAppHost } from "./host.js";
4
+ export type { AppHostOptions, AppHostSurface } from "./host.js";
5
+ export { UiAppRegistry } from "./registry.js";
@@ -0,0 +1,3 @@
1
+ export { assertAppRegistration } from "./contracts.js";
2
+ export { UiAppHost } from "./host.js";
3
+ export { UiAppRegistry } from "./registry.js";
@@ -0,0 +1,12 @@
1
+ import { type AppRegistration } from "./contracts.js";
2
+ /** Registers owned applications under unique routes and unregisters only the matching definition. */
3
+ export declare class UiAppRegistry {
4
+ #private;
5
+ /** Registering a known id replaces its definition rather than adding a second app. */
6
+ register(registration: AppRegistration): () => void;
7
+ get(id: string): AppRegistration | null;
8
+ forRoute(route: string): AppRegistration | null;
9
+ ids(): readonly string[];
10
+ routes(): readonly string[];
11
+ clear(): void;
12
+ }
@@ -0,0 +1,33 @@
1
+ import { assertAppRegistration } from "./contracts.js";
2
+ /** Registers owned applications under unique routes and unregisters only the matching definition. */
3
+ export class UiAppRegistry {
4
+ #byId = new Map();
5
+ /** Registering a known id replaces its definition rather than adding a second app. */
6
+ register(registration) {
7
+ assertAppRegistration(registration);
8
+ const existing = [...this.#byId.values()].find(candidate => candidate.route === registration.route && candidate.id !== registration.id);
9
+ if (existing) {
10
+ throw new Error(`owned UI route ${registration.route} is already taken by ${existing.id}`);
11
+ }
12
+ this.#byId.set(registration.id, registration);
13
+ return () => {
14
+ if (this.#byId.get(registration.id) === registration)
15
+ this.#byId.delete(registration.id);
16
+ };
17
+ }
18
+ get(id) {
19
+ return this.#byId.get(id) ?? null;
20
+ }
21
+ forRoute(route) {
22
+ return [...this.#byId.values()].find(registration => registration.route === route) ?? null;
23
+ }
24
+ ids() {
25
+ return Object.freeze([...this.#byId.keys()].sort());
26
+ }
27
+ routes() {
28
+ return Object.freeze([...this.#byId.values()].map(registration => registration.route).sort());
29
+ }
30
+ clear() {
31
+ this.#byId.clear();
32
+ }
33
+ }
@@ -0,0 +1,37 @@
1
+ import { type ShortcutHintEntry } from "./shortcut-hints.js";
2
+ import type { UiTheme } from "./theme.js";
3
+ /**
4
+ * The panel a value with parts is edited in: at the foot of the screen, over the
5
+ * surface it was opened from, ruled off above and below. It shows every part,
6
+ * marks the one in hand, says what that part does, and says how to change it.
7
+ */
8
+ export interface DialogRow {
9
+ readonly label: string;
10
+ readonly value: string;
11
+ /** What this part does, shown while it is the one in hand. */
12
+ readonly description?: string;
13
+ }
14
+ export interface DialogPanelState {
15
+ readonly rows: readonly DialogRow[];
16
+ /** The row in hand. */
17
+ readonly index: number;
18
+ /** How to change it, in the words the engine uses. */
19
+ readonly hint: string | readonly ShortcutHintEntry[];
20
+ }
21
+ /** Where the panel sits, for reading a pointer against its rows. */
22
+ export interface DialogPanelFrame {
23
+ /** Screen row the panel's first row is drawn on. */
24
+ readonly firstRow: number;
25
+ readonly rows: number;
26
+ /** Column the values start at, so a label stays a label. */
27
+ readonly valueColumn: number;
28
+ }
29
+ /** The column values start at: past the widest label, capped so one long name cannot push them off. */
30
+ export declare function dialogValueColumn(rows: readonly DialogRow[]): number;
31
+ /**
32
+ * The panel's lines. The first line is its rule, so the row at index N is drawn
33
+ * one line below the panel's top.
34
+ */
35
+ export declare function renderDialogPanel(state: DialogPanelState, width: number, theme: UiTheme): readonly string[];
36
+ /** The row a pointer report lands on, or null when it is not on one. */
37
+ export declare function dialogRowAt(frame: DialogPanelFrame, row: number, column: number, valueWidth: number): number | null;
@@ -0,0 +1,58 @@
1
+ import { renderShortcutHints, shortcutHintsText } from "./shortcut-hints.js";
2
+ import { displayWidth, truncateToWidth } from "./text.js";
3
+ const LABEL_COLUMN_CAP = 30;
4
+ /** The column values start at: past the widest label, capped so one long name cannot push them off. */
5
+ export function dialogValueColumn(rows) {
6
+ const widest = Math.min(LABEL_COLUMN_CAP, Math.max(0, ...rows.map(row => displayWidth(row.label))));
7
+ return 2 + widest + 2;
8
+ }
9
+ /**
10
+ * The panel's lines. The first line is its rule, so the row at index N is drawn
11
+ * one line below the panel's top.
12
+ */
13
+ export function renderDialogPanel(state, width, theme) {
14
+ const labelColumn = Math.min(LABEL_COLUMN_CAP, Math.max(0, ...state.rows.map(row => displayWidth(row.label))));
15
+ const rule = theme.fg("border", "─".repeat(Math.max(0, width)));
16
+ const contentPadding = Math.min(1, Math.max(0, width));
17
+ const contentWidth = Math.max(0, width - contentPadding);
18
+ const inset = " ".repeat(contentPadding);
19
+ const contentRow = (painted, raw) => `${inset}${pad(truncateToWidth(painted, contentWidth), contentWidth, raw)}`;
20
+ const rows = state.rows.map((row, index) => {
21
+ const selected = index === state.index;
22
+ const padded = `${row.label}${" ".repeat(Math.max(0, labelColumn - displayWidth(row.label)))}`;
23
+ const cursor = selected ? "→ " : " ";
24
+ const raw = `${cursor}${padded} ${row.value}`;
25
+ // Compatibility: match pinned SettingsList: selected cursor, label, and value all use the
26
+ // accent role; an unselected label is plain and its value is muted.
27
+ const painted = selected
28
+ ? `${theme.fg("accent", cursor)}${theme.fg("accent", padded)} ${theme.fg("accent", row.value)}`
29
+ : `${cursor}${padded} ${theme.fg("muted", row.value)}`;
30
+ return contentRow(painted, raw);
31
+ });
32
+ const description = state.rows[state.index]?.description ?? "";
33
+ const hint = typeof state.hint === "string"
34
+ ? theme.fg("dim", state.hint)
35
+ : renderShortcutHints(state.hint, theme, 0);
36
+ const plainHint = typeof state.hint === "string" ? state.hint : shortcutHintsText(state.hint, 0);
37
+ return [
38
+ rule,
39
+ ...rows,
40
+ "",
41
+ contentRow(theme.fg("dim", ` ${description}`), ` ${description}`),
42
+ "",
43
+ contentRow(hint, plainHint),
44
+ rule,
45
+ ];
46
+ }
47
+ /** The row a pointer report lands on, or null when it is not on one. */
48
+ export function dialogRowAt(frame, row, column, valueWidth) {
49
+ const at = row - frame.firstRow;
50
+ if (at < 0 || at >= frame.rows)
51
+ return null;
52
+ const start = frame.valueColumn + 1;
53
+ return column >= start && column < start + valueWidth ? at : null;
54
+ }
55
+ function pad(line, width, raw) {
56
+ const visible = displayWidth(raw);
57
+ return visible >= width ? line : line + " ".repeat(width - visible);
58
+ }
@@ -0,0 +1,22 @@
1
+ export interface PaneRect {
2
+ readonly width: number;
3
+ readonly height: number;
4
+ }
5
+ /** Identifies the pane whose bounded frame geometry or rendered rows violated the contract. */
6
+ export declare class FrameContractError extends Error {
7
+ readonly pane: string;
8
+ constructor(pane: string, message: string);
9
+ }
10
+ export declare function assertPaneRect(rect: PaneRect, pane?: string): void;
11
+ /**
12
+ * A pane owns its rectangle exactly: one row per row of height, each within
13
+ * width, and never an embedded newline — the host counts rows to place
14
+ * everything below, so a miscount corrupts the surrounding layout.
15
+ */
16
+ export declare function validateFrame(lines: readonly string[], rect: PaneRect, pane?: string): void;
17
+ /**
18
+ * Brings a rendered body up to the contract: truncates overlong rows, pads a
19
+ * short body with blank rows, and drops rows beyond the rectangle. Panes that
20
+ * compose other panes use this so one child cannot break the parent's layout.
21
+ */
22
+ export declare function finalizeFrame(lines: readonly string[], rect: PaneRect, pane?: string): readonly string[];
@@ -0,0 +1,55 @@
1
+ import { displayWidth, truncateToWidth } from "./text.js";
2
+ /** Identifies the pane whose bounded frame geometry or rendered rows violated the contract. */
3
+ export class FrameContractError extends Error {
4
+ pane;
5
+ constructor(pane, message) {
6
+ super(`${pane}: ${message}`);
7
+ this.pane = pane;
8
+ this.name = "FrameContractError";
9
+ }
10
+ }
11
+ const MAX_DIMENSION = 10_000;
12
+ export function assertPaneRect(rect, pane = "pane") {
13
+ for (const [name, value] of [["width", rect.width], ["height", rect.height]]) {
14
+ if (!Number.isInteger(value) || value < 0 || value > MAX_DIMENSION) {
15
+ throw new FrameContractError(pane, `${name} must be an integer between 0 and ${MAX_DIMENSION}, received ${value}`);
16
+ }
17
+ }
18
+ }
19
+ /**
20
+ * A pane owns its rectangle exactly: one row per row of height, each within
21
+ * width, and never an embedded newline — the host counts rows to place
22
+ * everything below, so a miscount corrupts the surrounding layout.
23
+ */
24
+ export function validateFrame(lines, rect, pane = "pane") {
25
+ assertPaneRect(rect, pane);
26
+ if (lines.length !== rect.height) {
27
+ throw new FrameContractError(pane, `rendered ${lines.length} rows for a height of ${rect.height}`);
28
+ }
29
+ lines.forEach((line, index) => {
30
+ if (line.includes("\n") || line.includes("\r")) {
31
+ throw new FrameContractError(pane, `row ${index} contains a line break`);
32
+ }
33
+ const width = displayWidth(line);
34
+ if (width > rect.width) {
35
+ throw new FrameContractError(pane, `row ${index} is ${width} columns wide for a width of ${rect.width}`);
36
+ }
37
+ });
38
+ }
39
+ /**
40
+ * Brings a rendered body up to the contract: truncates overlong rows, pads a
41
+ * short body with blank rows, and drops rows beyond the rectangle. Panes that
42
+ * compose other panes use this so one child cannot break the parent's layout.
43
+ */
44
+ export function finalizeFrame(lines, rect, pane = "pane") {
45
+ assertPaneRect(rect, pane);
46
+ const rows = [];
47
+ for (let index = 0; index < rect.height; index++) {
48
+ const line = lines[index] ?? "";
49
+ if (line.includes("\n") || line.includes("\r")) {
50
+ throw new FrameContractError(pane, `row ${index} contains a line break`);
51
+ }
52
+ rows.push(displayWidth(line) > rect.width ? truncateToWidth(line, rect.width) : line);
53
+ }
54
+ return Object.freeze(rows);
55
+ }
@@ -0,0 +1,50 @@
1
+ export { dialogRowAt, dialogValueColumn, renderDialogPanel } from "./dialog-panel.js";
2
+ export type { DialogPanelFrame, DialogPanelState, DialogRow } from "./dialog-panel.js";
3
+ export { FrameContractError, assertPaneRect, finalizeFrame, validateFrame } from "./frame.js";
4
+ export type { PaneRect } from "./frame.js";
5
+ export { humanizeLabel, humanizeTitle } from "./label.js";
6
+ export { LineInput, caretCell, handleLineInputKey, renderInputRow, wordLeft, wordRight } from "./line-input.js";
7
+ export type { InputRow, InputRowOptions, LineInputOutcome, LineInputView } from "./line-input.js";
8
+ export { PROMPT_GLYPH, PROMPT_PREFIX_WIDTH, PromptInput, promptArrow, promptRule, promptRuleText } from "./prompt-input.js";
9
+ export type { PromptInputBody, PromptInputMetrics } from "./prompt-input.js";
10
+ export { blockJumpTarget, blockRowSpan, clampScroll, indexOfKey, layoutList, maxScrollFor, moveSelection, rowKey, scrollForSelection, selectableIndexes, stickyHeaderFor, topPaddingRows, visibleRowCount, } from "./list-block.js";
11
+ export type { ListLayout, ListLayoutOptions, ListRow, ListRowSpan } from "./list-block.js";
12
+ export { STEPPER_RESERVE, placementFor, regionAt, renderGroupHeader, renderListRow, renderNote, valueColumnFor } from "./list-view.js";
13
+ export type { ListRegion, ListRowPlacement, ListRowState, ListViewRow } from "./list-view.js";
14
+ export { MOUSE_TRACKING_OFF, MOUSE_TRACKING_ON, parseMouseInput, routeMouseInput } from "./mouse.js";
15
+ export type { ParsedMouseInput, RoutedMouseInput } from "./mouse.js";
16
+ export { isInsidePane, toPaneLocalMouse } from "./pane.js";
17
+ export type { Pane, PaneInputResult, PaneMouseEvent } from "./pane.js";
18
+ export { progressStatusFrame, progressStatusText } from "./progress-status.js";
19
+ export type { ProgressStatusFrameStyles, ProgressStatusMarker } from "./progress-status.js";
20
+ export { FrameCache, RENDER_REVISION_KINDS, RenderRevisionTracker, ZERO_REVISIONS, normalizeRevisions, revisionsEqual } from "./revision.js";
21
+ export type { RenderCacheContract, RenderRevisionKind, RenderRevisions } from "./revision.js";
22
+ export { MAX_COPY_ROWS, MAX_COPY_SOURCE_UNITS, selectionCopyLineContent, selectionCopyRowText } from "./selection-copy.js";
23
+ export type { SelectionCopyPrompt, SelectionCopyRow, SelectionCopySnapshot } from "./selection-copy.js";
24
+ export { ScrollbarRails, isThumbRow, scrollForThumbRow, scrollForTrackPage, scrollbarGeometry, scrollbarPresentation, scrollbarReservesSpace, scrollbarSelectionRows, scrollbarWheelRows, } from "./scrollbar.js";
25
+ export type { RailPointer, RailPosition, ScrollbarAppearance, ScrollbarGeometry, ScrollbarInput, ScrollbarPresentation, ScrollbarPresentationInput, ScrollbarSpeed, ScrollbarStyle, } from "./scrollbar.js";
26
+ export { renderShortcutHints } from "./shortcut-hints.js";
27
+ export type { ShortcutHintEntry } from "./shortcut-hints.js";
28
+ export { GLOBAL_SCOPE, ShortcutRegistry, assembleShortcuts, assertNoShortcutConflicts } from "./shortcuts.js";
29
+ export type { ShortcutConflict, ShortcutDeclaration, ShortcutRegistryResult } from "./shortcuts.js";
30
+ export { backgroundSgrSpan, heldNativeHyperlinkStyle, hyperlinkSgrSpan, hyperlinkTargetAtColumn, nativeHyperlinkStyle, overlaySpan } from "./spans.js";
31
+ export { readVisibleHyperlinks } from "./visible-hyperlinks.js";
32
+ export type { VisibleHyperlinkRange, VisibleHyperlinkRow } from "./visible-hyperlinks.js";
33
+ export { renderStatusLine, statusText } from "./status-line.js";
34
+ export type { StatusLineInput } from "./status-line.js";
35
+ export { SUBMITTED_PROMPT_PREFIX_WIDTH, composeSubmittedPromptRows, formatSubmittedPromptTime, submittedPromptLayout } from "./submitted-prompt.js";
36
+ export type { SubmittedPromptLayout, SubmittedPromptStyle } from "./submitted-prompt.js";
37
+ export { numericValues, steppedValue, stepperEnds } from "./stepper.js";
38
+ export type { NumericRange } from "./stepper.js";
39
+ export { TranscriptViewport, assertTranscriptViewportFrameDescriptor } from "./transcript-viewport.js";
40
+ export type { TranscriptPromptAnchor, TranscriptViewportConfig, TranscriptViewportFrame, TranscriptViewportFrameDescriptor, TranscriptViewportFrameInput, TranscriptViewportHitRegions, TranscriptViewportTheme, } from "./transcript-viewport.js";
41
+ export { RAIL_COLUMNS, renderEmptyState, withScrollbarRail } from "./surface.js";
42
+ export type { RailOptions } from "./surface.js";
43
+ export { displayColumnSlice, displayWidth, displayWordColumnRange, faint, padToWidth, stripAnsi, truncateToWidth } from "./text.js";
44
+ export type { DisplayColumnRange, DisplayColumnSlice } from "./text.js";
45
+ export { TEXT_SELECTION_MULTI_CLICK_MS, extendTextSelection, orderedTextSelection, plainTextBetweenColumns, pressTextSelection, releaseTextSelection, textSelectionLineExtendColumn, textSelectionPointAt, textSelectionText, usefulTextLineContent, } from "./text-selection.js";
46
+ export type { OrderedTextSelection, TextSelection, TextSelectionClick, TextSelectionLineContent, TextSelectionPoint, TextSelectionPressInput, } from "./text-selection.js";
47
+ export { PLAIN_THEME } from "./theme.js";
48
+ export type { UiTheme, UiThemeToken } from "./theme.js";
49
+ export { menuRowAt, renderValueMenu, valueMenuFrame } from "./value-menu.js";
50
+ export type { ValueMenuAnchor, ValueMenuFrame, ValueMenuLayout, ValueMenuState } from "./value-menu.js";
@@ -0,0 +1,26 @@
1
+ export { dialogRowAt, dialogValueColumn, renderDialogPanel } from "./dialog-panel.js";
2
+ export { FrameContractError, assertPaneRect, finalizeFrame, validateFrame } from "./frame.js";
3
+ export { humanizeLabel, humanizeTitle } from "./label.js";
4
+ export { LineInput, caretCell, handleLineInputKey, renderInputRow, wordLeft, wordRight } from "./line-input.js";
5
+ export { PROMPT_GLYPH, PROMPT_PREFIX_WIDTH, PromptInput, promptArrow, promptRule, promptRuleText } from "./prompt-input.js";
6
+ export { blockJumpTarget, blockRowSpan, clampScroll, indexOfKey, layoutList, maxScrollFor, moveSelection, rowKey, scrollForSelection, selectableIndexes, stickyHeaderFor, topPaddingRows, visibleRowCount, } from "./list-block.js";
7
+ export { STEPPER_RESERVE, placementFor, regionAt, renderGroupHeader, renderListRow, renderNote, valueColumnFor } from "./list-view.js";
8
+ export { MOUSE_TRACKING_OFF, MOUSE_TRACKING_ON, parseMouseInput, routeMouseInput } from "./mouse.js";
9
+ export { isInsidePane, toPaneLocalMouse } from "./pane.js";
10
+ export { progressStatusFrame, progressStatusText } from "./progress-status.js";
11
+ export { FrameCache, RENDER_REVISION_KINDS, RenderRevisionTracker, ZERO_REVISIONS, normalizeRevisions, revisionsEqual } from "./revision.js";
12
+ export { MAX_COPY_ROWS, MAX_COPY_SOURCE_UNITS, selectionCopyLineContent, selectionCopyRowText } from "./selection-copy.js";
13
+ export { ScrollbarRails, isThumbRow, scrollForThumbRow, scrollForTrackPage, scrollbarGeometry, scrollbarPresentation, scrollbarReservesSpace, scrollbarSelectionRows, scrollbarWheelRows, } from "./scrollbar.js";
14
+ export { renderShortcutHints } from "./shortcut-hints.js";
15
+ export { GLOBAL_SCOPE, ShortcutRegistry, assembleShortcuts, assertNoShortcutConflicts } from "./shortcuts.js";
16
+ export { backgroundSgrSpan, heldNativeHyperlinkStyle, hyperlinkSgrSpan, hyperlinkTargetAtColumn, nativeHyperlinkStyle, overlaySpan } from "./spans.js";
17
+ export { readVisibleHyperlinks } from "./visible-hyperlinks.js";
18
+ export { renderStatusLine, statusText } from "./status-line.js";
19
+ export { SUBMITTED_PROMPT_PREFIX_WIDTH, composeSubmittedPromptRows, formatSubmittedPromptTime, submittedPromptLayout } from "./submitted-prompt.js";
20
+ export { numericValues, steppedValue, stepperEnds } from "./stepper.js";
21
+ export { TranscriptViewport, assertTranscriptViewportFrameDescriptor } from "./transcript-viewport.js";
22
+ export { RAIL_COLUMNS, renderEmptyState, withScrollbarRail } from "./surface.js";
23
+ export { displayColumnSlice, displayWidth, displayWordColumnRange, faint, padToWidth, stripAnsi, truncateToWidth } from "./text.js";
24
+ export { TEXT_SELECTION_MULTI_CLICK_MS, extendTextSelection, orderedTextSelection, plainTextBetweenColumns, pressTextSelection, releaseTextSelection, textSelectionLineExtendColumn, textSelectionPointAt, textSelectionText, usefulTextLineContent, } from "./text-selection.js";
25
+ export { PLAIN_THEME } from "./theme.js";
26
+ export { menuRowAt, renderValueMenu, valueMenuFrame } from "./value-menu.js";
@@ -0,0 +1,68 @@
1
+ import type { UiTheme } from "./theme.js";
2
+ export type LineInputOutcome = {
3
+ readonly kind: "editing";
4
+ } | {
5
+ readonly kind: "accepted";
6
+ readonly value: string;
7
+ } | {
8
+ readonly kind: "cancelled";
9
+ };
10
+ export interface LineInputView {
11
+ /** Visible slice of the value, already fitted to the width. */
12
+ readonly text: string;
13
+ /** Zero-based column of the caret within the visible slice. */
14
+ readonly caretColumn: number;
15
+ }
16
+ /**
17
+ * Where a word jump to the left lands: past any whitespace, then past the run of
18
+ * characters of one class, so a word and a run of punctuation each count as one.
19
+ */
20
+ export declare function wordLeft(text: string, from: number): number;
21
+ /** Where a word jump to the right lands, by the same rules mirrored. */
22
+ export declare function wordRight(text: string, from: number): number;
23
+ /**
24
+ * A single-line editable value with a caret and horizontal scrolling. Accept and
25
+ * cancel are reported distinctly so a caller can commit or discard; cancelling
26
+ * never changes the caller's value.
27
+ */
28
+ export declare class LineInput {
29
+ #private;
30
+ constructor(value?: string);
31
+ get value(): string;
32
+ get caret(): number;
33
+ setValue(value: string): void;
34
+ insert(text: string): void;
35
+ backspace(): void;
36
+ deleteForward(): void;
37
+ moveCaret(delta: number): void;
38
+ /** Moves the caret one word, in whichever direction the sign says. */
39
+ moveCaretByWord(direction: -1 | 1): void;
40
+ /** Removes the word before the caret, leaving the caret where it began. */
41
+ deleteWordBefore(): void;
42
+ /** Removes the word after the caret, leaving the caret where it is. */
43
+ deleteWordAfter(): void;
44
+ moveCaretToStart(): void;
45
+ moveCaretToEnd(): void;
46
+ /** Visible slice for a width, scrolled so the caret stays on screen. */
47
+ view(width: number): LineInputView;
48
+ }
49
+ /** Applies one key to the input and reports whether the caller should commit. */
50
+ export declare function handleLineInputKey(input: LineInput, data: string): LineInputOutcome;
51
+ /**
52
+ * The caret the reference draws: the cell under it is reversed rather than given
53
+ * a colour of its own, so it reads as a block in whatever theme is in use.
54
+ */
55
+ export declare function caretCell(text: string): string;
56
+ export interface InputRowOptions {
57
+ /** Shown quietly while nothing has been typed, with the caret on its first cell. */
58
+ readonly placeholder?: string;
59
+ /** Rules above and below, in the prompt's own grey. Default true. */
60
+ readonly ruled?: boolean;
61
+ readonly theme?: Pick<UiTheme, "fg">;
62
+ }
63
+ export interface InputRow {
64
+ /** The rows to draw, already padded to the width. */
65
+ readonly lines: readonly string[];
66
+ }
67
+ /** The input row as the reference draws one, padded to exactly the width. */
68
+ export declare function renderInputRow(input: LineInput, width: number, options?: InputRowOptions): InputRow;