@timurproko/a1 0.1.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 (455) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +68 -0
  3. package/bin/addone-supervisor.js +7 -0
  4. package/bin/addone-ui.js +20 -0
  5. package/bin/addone.js +26 -0
  6. package/dist/src/cli/dispatch.d.ts +26 -0
  7. package/dist/src/cli/dispatch.d.ts.map +1 -0
  8. package/dist/src/cli/dispatch.js +35 -0
  9. package/dist/src/cli/dispatch.js.map +1 -0
  10. package/dist/src/cli/index.d.ts +4 -0
  11. package/dist/src/cli/index.d.ts.map +1 -0
  12. package/dist/src/cli/index.js +4 -0
  13. package/dist/src/cli/index.js.map +1 -0
  14. package/dist/src/cli/version-stats.d.ts +17 -0
  15. package/dist/src/cli/version-stats.d.ts.map +1 -0
  16. package/dist/src/cli/version-stats.js +68 -0
  17. package/dist/src/cli/version-stats.js.map +1 -0
  18. package/dist/src/cli/version.d.ts +3 -0
  19. package/dist/src/cli/version.d.ts.map +1 -0
  20. package/dist/src/cli/version.js +23 -0
  21. package/dist/src/cli/version.js.map +1 -0
  22. package/dist/src/features/launch/development-launch.d.ts +9 -0
  23. package/dist/src/features/launch/development-launch.d.ts.map +1 -0
  24. package/dist/src/features/launch/development-launch.js +27 -0
  25. package/dist/src/features/launch/development-launch.js.map +1 -0
  26. package/dist/src/features/launch/index.d.ts +8 -0
  27. package/dist/src/features/launch/index.d.ts.map +1 -0
  28. package/dist/src/features/launch/index.js +8 -0
  29. package/dist/src/features/launch/index.js.map +1 -0
  30. package/dist/src/features/launch/initialize-profile.d.ts +7 -0
  31. package/dist/src/features/launch/initialize-profile.d.ts.map +1 -0
  32. package/dist/src/features/launch/initialize-profile.js +59 -0
  33. package/dist/src/features/launch/initialize-profile.js.map +1 -0
  34. package/dist/src/features/launch/intent.d.ts +8 -0
  35. package/dist/src/features/launch/intent.d.ts.map +1 -0
  36. package/dist/src/features/launch/intent.js +5 -0
  37. package/dist/src/features/launch/intent.js.map +1 -0
  38. package/dist/src/features/launch/prepare-launch.d.ts +14 -0
  39. package/dist/src/features/launch/prepare-launch.d.ts.map +1 -0
  40. package/dist/src/features/launch/prepare-launch.js +22 -0
  41. package/dist/src/features/launch/prepare-launch.js.map +1 -0
  42. package/dist/src/features/launch/profile-paths.d.ts +16 -0
  43. package/dist/src/features/launch/profile-paths.d.ts.map +1 -0
  44. package/dist/src/features/launch/profile-paths.js +30 -0
  45. package/dist/src/features/launch/profile-paths.js.map +1 -0
  46. package/dist/src/features/launch/profiles.d.ts +13 -0
  47. package/dist/src/features/launch/profiles.d.ts.map +1 -0
  48. package/dist/src/features/launch/profiles.js +27 -0
  49. package/dist/src/features/launch/profiles.js.map +1 -0
  50. package/dist/src/features/launch/runtime-selection.d.ts +15 -0
  51. package/dist/src/features/launch/runtime-selection.d.ts.map +1 -0
  52. package/dist/src/features/launch/runtime-selection.js +14 -0
  53. package/dist/src/features/launch/runtime-selection.js.map +1 -0
  54. package/dist/src/features/owned-ui/customization.d.ts +36 -0
  55. package/dist/src/features/owned-ui/customization.d.ts.map +1 -0
  56. package/dist/src/features/owned-ui/customization.js +110 -0
  57. package/dist/src/features/owned-ui/customization.js.map +1 -0
  58. package/dist/src/features/owned-ui/diagnostics.d.ts +34 -0
  59. package/dist/src/features/owned-ui/diagnostics.d.ts.map +1 -0
  60. package/dist/src/features/owned-ui/diagnostics.js +95 -0
  61. package/dist/src/features/owned-ui/diagnostics.js.map +1 -0
  62. package/dist/src/features/owned-ui/index.d.ts +5 -0
  63. package/dist/src/features/owned-ui/index.d.ts.map +1 -0
  64. package/dist/src/features/owned-ui/index.js +5 -0
  65. package/dist/src/features/owned-ui/index.js.map +1 -0
  66. package/dist/src/features/owned-ui/pi-session-shell.d.ts +97 -0
  67. package/dist/src/features/owned-ui/pi-session-shell.d.ts.map +1 -0
  68. package/dist/src/features/owned-ui/pi-session-shell.js +1437 -0
  69. package/dist/src/features/owned-ui/pi-session-shell.js.map +1 -0
  70. package/dist/src/features/owned-ui/run.d.ts +9 -0
  71. package/dist/src/features/owned-ui/run.d.ts.map +1 -0
  72. package/dist/src/features/owned-ui/run.js +21 -0
  73. package/dist/src/features/owned-ui/run.js.map +1 -0
  74. package/dist/src/features/workspace/capabilities.d.ts +32 -0
  75. package/dist/src/features/workspace/capabilities.d.ts.map +1 -0
  76. package/dist/src/features/workspace/capabilities.js +76 -0
  77. package/dist/src/features/workspace/capabilities.js.map +1 -0
  78. package/dist/src/features/workspace/index.d.ts +7 -0
  79. package/dist/src/features/workspace/index.d.ts.map +1 -0
  80. package/dist/src/features/workspace/index.js +7 -0
  81. package/dist/src/features/workspace/index.js.map +1 -0
  82. package/dist/src/features/workspace/presentation.d.ts +31 -0
  83. package/dist/src/features/workspace/presentation.d.ts.map +1 -0
  84. package/dist/src/features/workspace/presentation.js +69 -0
  85. package/dist/src/features/workspace/presentation.js.map +1 -0
  86. package/dist/src/features/workspace/reconciliation.d.ts +16 -0
  87. package/dist/src/features/workspace/reconciliation.d.ts.map +1 -0
  88. package/dist/src/features/workspace/reconciliation.js +83 -0
  89. package/dist/src/features/workspace/reconciliation.js.map +1 -0
  90. package/dist/src/features/workspace/reducer.d.ts +43 -0
  91. package/dist/src/features/workspace/reducer.d.ts.map +1 -0
  92. package/dist/src/features/workspace/reducer.js +214 -0
  93. package/dist/src/features/workspace/reducer.js.map +1 -0
  94. package/dist/src/features/workspace/router.d.ts +32 -0
  95. package/dist/src/features/workspace/router.d.ts.map +1 -0
  96. package/dist/src/features/workspace/router.js +125 -0
  97. package/dist/src/features/workspace/router.js.map +1 -0
  98. package/dist/src/features/workspace/store.d.ts +18 -0
  99. package/dist/src/features/workspace/store.d.ts.map +1 -0
  100. package/dist/src/features/workspace/store.js +55 -0
  101. package/dist/src/features/workspace/store.js.map +1 -0
  102. package/dist/src/foundation/lifecycle/index.d.ts +3 -0
  103. package/dist/src/foundation/lifecycle/index.d.ts.map +1 -0
  104. package/dist/src/foundation/lifecycle/index.js +3 -0
  105. package/dist/src/foundation/lifecycle/index.js.map +1 -0
  106. package/dist/src/foundation/lifecycle/model.d.ts +101 -0
  107. package/dist/src/foundation/lifecycle/model.d.ts.map +1 -0
  108. package/dist/src/foundation/lifecycle/model.js +40 -0
  109. package/dist/src/foundation/lifecycle/model.js.map +1 -0
  110. package/dist/src/foundation/lifecycle/paths.d.ts +11 -0
  111. package/dist/src/foundation/lifecycle/paths.d.ts.map +1 -0
  112. package/dist/src/foundation/lifecycle/paths.js +26 -0
  113. package/dist/src/foundation/lifecycle/paths.js.map +1 -0
  114. package/dist/src/foundation/native-host-protocol/codec.d.ts +12 -0
  115. package/dist/src/foundation/native-host-protocol/codec.d.ts.map +1 -0
  116. package/dist/src/foundation/native-host-protocol/codec.js +57 -0
  117. package/dist/src/foundation/native-host-protocol/codec.js.map +1 -0
  118. package/dist/src/foundation/native-host-protocol/evidence.d.ts +68 -0
  119. package/dist/src/foundation/native-host-protocol/evidence.d.ts.map +1 -0
  120. package/dist/src/foundation/native-host-protocol/evidence.js +141 -0
  121. package/dist/src/foundation/native-host-protocol/evidence.js.map +1 -0
  122. package/dist/src/foundation/native-host-protocol/index.d.ts +5 -0
  123. package/dist/src/foundation/native-host-protocol/index.d.ts.map +1 -0
  124. package/dist/src/foundation/native-host-protocol/index.js +5 -0
  125. package/dist/src/foundation/native-host-protocol/index.js.map +1 -0
  126. package/dist/src/foundation/native-host-protocol/messages.d.ts +57 -0
  127. package/dist/src/foundation/native-host-protocol/messages.d.ts.map +1 -0
  128. package/dist/src/foundation/native-host-protocol/messages.js +149 -0
  129. package/dist/src/foundation/native-host-protocol/messages.js.map +1 -0
  130. package/dist/src/foundation/native-host-protocol/proof-gate.d.ts +14 -0
  131. package/dist/src/foundation/native-host-protocol/proof-gate.d.ts.map +1 -0
  132. package/dist/src/foundation/native-host-protocol/proof-gate.js +34 -0
  133. package/dist/src/foundation/native-host-protocol/proof-gate.js.map +1 -0
  134. package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts +303 -0
  135. package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts.map +1 -0
  136. package/dist/src/foundation/owned-ui-contracts/extension-ui.js +69 -0
  137. package/dist/src/foundation/owned-ui-contracts/extension-ui.js.map +1 -0
  138. package/dist/src/foundation/owned-ui-contracts/index.d.ts +4 -0
  139. package/dist/src/foundation/owned-ui-contracts/index.d.ts.map +1 -0
  140. package/dist/src/foundation/owned-ui-contracts/index.js +4 -0
  141. package/dist/src/foundation/owned-ui-contracts/index.js.map +1 -0
  142. package/dist/src/foundation/owned-ui-contracts/model.d.ts +242 -0
  143. package/dist/src/foundation/owned-ui-contracts/model.d.ts.map +1 -0
  144. package/dist/src/foundation/owned-ui-contracts/model.js +2 -0
  145. package/dist/src/foundation/owned-ui-contracts/model.js.map +1 -0
  146. package/dist/src/foundation/owned-ui-contracts/validation.d.ts +12 -0
  147. package/dist/src/foundation/owned-ui-contracts/validation.d.ts.map +1 -0
  148. package/dist/src/foundation/owned-ui-contracts/validation.js +396 -0
  149. package/dist/src/foundation/owned-ui-contracts/validation.js.map +1 -0
  150. package/dist/src/foundation/pi-component-adapter/components.d.ts +5 -0
  151. package/dist/src/foundation/pi-component-adapter/components.d.ts.map +1 -0
  152. package/dist/src/foundation/pi-component-adapter/components.js +65 -0
  153. package/dist/src/foundation/pi-component-adapter/components.js.map +1 -0
  154. package/dist/src/foundation/pi-component-adapter/conformance.d.ts +17 -0
  155. package/dist/src/foundation/pi-component-adapter/conformance.d.ts.map +1 -0
  156. package/dist/src/foundation/pi-component-adapter/conformance.js +63 -0
  157. package/dist/src/foundation/pi-component-adapter/conformance.js.map +1 -0
  158. package/dist/src/foundation/pi-component-adapter/index.d.ts +13 -0
  159. package/dist/src/foundation/pi-component-adapter/index.d.ts.map +1 -0
  160. package/dist/src/foundation/pi-component-adapter/index.js +13 -0
  161. package/dist/src/foundation/pi-component-adapter/index.js.map +1 -0
  162. package/dist/src/foundation/pi-component-adapter/shell-components.d.ts +7 -0
  163. package/dist/src/foundation/pi-component-adapter/shell-components.d.ts.map +1 -0
  164. package/dist/src/foundation/pi-component-adapter/shell-components.js +7 -0
  165. package/dist/src/foundation/pi-component-adapter/shell-components.js.map +1 -0
  166. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.d.ts +12 -0
  167. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.d.ts.map +1 -0
  168. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js +165 -0
  169. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js.map +1 -0
  170. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts +36 -0
  171. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts.map +1 -0
  172. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js +280 -0
  173. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js.map +1 -0
  174. package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts +8 -0
  175. package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts.map +1 -0
  176. package/dist/src/foundation/pi-component-adapter/shell-footer-status.js +246 -0
  177. package/dist/src/foundation/pi-component-adapter/shell-footer-status.js.map +1 -0
  178. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts +43 -0
  179. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts.map +1 -0
  180. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js +397 -0
  181. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js.map +1 -0
  182. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts +106 -0
  183. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts.map +1 -0
  184. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js +234 -0
  185. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js.map +1 -0
  186. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts +117 -0
  187. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts.map +1 -0
  188. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js +88 -0
  189. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js.map +1 -0
  190. package/dist/src/foundation/pi-component-adapter/theme.d.ts +2 -0
  191. package/dist/src/foundation/pi-component-adapter/theme.d.ts.map +1 -0
  192. package/dist/src/foundation/pi-component-adapter/theme.js +2 -0
  193. package/dist/src/foundation/pi-component-adapter/theme.js.map +1 -0
  194. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts +423 -0
  195. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts.map +1 -0
  196. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js +297 -0
  197. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js.map +1 -0
  198. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts +11 -0
  199. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts.map +1 -0
  200. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.js +30 -0
  201. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.js.map +1 -0
  202. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts +18 -0
  203. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts.map +1 -0
  204. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js +52 -0
  205. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js.map +1 -0
  206. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts +23 -0
  207. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts.map +1 -0
  208. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js +143 -0
  209. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js.map +1 -0
  210. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts +5 -0
  211. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts.map +1 -0
  212. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js +43 -0
  213. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js.map +1 -0
  214. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts +18 -0
  215. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts.map +1 -0
  216. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js +82 -0
  217. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js.map +1 -0
  218. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts +25 -0
  219. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts.map +1 -0
  220. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js +106 -0
  221. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js.map +1 -0
  222. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts +3 -0
  223. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts.map +1 -0
  224. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js +19 -0
  225. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js.map +1 -0
  226. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.d.ts +10 -0
  227. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.d.ts.map +1 -0
  228. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js +78 -0
  229. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js.map +1 -0
  230. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts +56 -0
  231. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts.map +1 -0
  232. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js +343 -0
  233. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js.map +1 -0
  234. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.d.ts +23 -0
  235. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.d.ts.map +1 -0
  236. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js +160 -0
  237. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js.map +1 -0
  238. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts +96 -0
  239. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts.map +1 -0
  240. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js +890 -0
  241. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js.map +1 -0
  242. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts +20 -0
  243. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts.map +1 -0
  244. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js +45 -0
  245. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js.map +1 -0
  246. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts +31 -0
  247. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts.map +1 -0
  248. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js +60 -0
  249. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js.map +1 -0
  250. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts +99 -0
  251. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts.map +1 -0
  252. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js +1273 -0
  253. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js.map +1 -0
  254. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts +34 -0
  255. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts.map +1 -0
  256. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js +77 -0
  257. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js.map +1 -0
  258. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.d.ts +10 -0
  259. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.d.ts.map +1 -0
  260. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js +40 -0
  261. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js.map +1 -0
  262. package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts +16 -0
  263. package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts.map +1 -0
  264. package/dist/src/foundation/pi-component-adapter/upstream/model-search.js +15 -0
  265. package/dist/src/foundation/pi-component-adapter/upstream/model-search.js.map +1 -0
  266. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts +26 -0
  267. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts.map +1 -0
  268. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js +118 -0
  269. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js.map +1 -0
  270. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts +54 -0
  271. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts.map +1 -0
  272. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js +311 -0
  273. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js.map +1 -0
  274. package/dist/src/foundation/pi-engine-adapter/adapter.d.ts +343 -0
  275. package/dist/src/foundation/pi-engine-adapter/adapter.d.ts.map +1 -0
  276. package/dist/src/foundation/pi-engine-adapter/adapter.js +2365 -0
  277. package/dist/src/foundation/pi-engine-adapter/adapter.js.map +1 -0
  278. package/dist/src/foundation/pi-engine-adapter/conformance.d.ts +14 -0
  279. package/dist/src/foundation/pi-engine-adapter/conformance.d.ts.map +1 -0
  280. package/dist/src/foundation/pi-engine-adapter/conformance.js +85 -0
  281. package/dist/src/foundation/pi-engine-adapter/conformance.js.map +1 -0
  282. package/dist/src/foundation/pi-engine-adapter/index.d.ts +4 -0
  283. package/dist/src/foundation/pi-engine-adapter/index.d.ts.map +1 -0
  284. package/dist/src/foundation/pi-engine-adapter/index.js +4 -0
  285. package/dist/src/foundation/pi-engine-adapter/index.js.map +1 -0
  286. package/dist/src/foundation/pi-engine-adapter/workflows.d.ts +165 -0
  287. package/dist/src/foundation/pi-engine-adapter/workflows.d.ts.map +1 -0
  288. package/dist/src/foundation/pi-engine-adapter/workflows.js +61 -0
  289. package/dist/src/foundation/pi-engine-adapter/workflows.js.map +1 -0
  290. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts +34 -0
  291. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts.map +1 -0
  292. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js +485 -0
  293. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js.map +1 -0
  294. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts +14 -0
  295. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts.map +1 -0
  296. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js +132 -0
  297. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js.map +1 -0
  298. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts +122 -0
  299. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts.map +1 -0
  300. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.js +2 -0
  301. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.js.map +1 -0
  302. package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts +4 -0
  303. package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts.map +1 -0
  304. package/dist/src/foundation/pi-tui-runtime-adapter/index.js +4 -0
  305. package/dist/src/foundation/pi-tui-runtime-adapter/index.js.map +1 -0
  306. package/dist/src/foundation/protocol/client.d.ts +17 -0
  307. package/dist/src/foundation/protocol/client.d.ts.map +1 -0
  308. package/dist/src/foundation/protocol/client.js +127 -0
  309. package/dist/src/foundation/protocol/client.js.map +1 -0
  310. package/dist/src/foundation/protocol/index.d.ts +3 -0
  311. package/dist/src/foundation/protocol/index.d.ts.map +1 -0
  312. package/dist/src/foundation/protocol/index.js +3 -0
  313. package/dist/src/foundation/protocol/index.js.map +1 -0
  314. package/dist/src/foundation/protocol/messages.d.ts +90 -0
  315. package/dist/src/foundation/protocol/messages.d.ts.map +1 -0
  316. package/dist/src/foundation/protocol/messages.js +99 -0
  317. package/dist/src/foundation/protocol/messages.js.map +1 -0
  318. package/dist/src/foundation/release/bootstrap.d.ts +30 -0
  319. package/dist/src/foundation/release/bootstrap.d.ts.map +1 -0
  320. package/dist/src/foundation/release/bootstrap.js +283 -0
  321. package/dist/src/foundation/release/bootstrap.js.map +1 -0
  322. package/dist/src/foundation/release/cohort-selection.d.ts +40 -0
  323. package/dist/src/foundation/release/cohort-selection.d.ts.map +1 -0
  324. package/dist/src/foundation/release/cohort-selection.js +76 -0
  325. package/dist/src/foundation/release/cohort-selection.js.map +1 -0
  326. package/dist/src/foundation/release/cohort-state.d.ts +68 -0
  327. package/dist/src/foundation/release/cohort-state.d.ts.map +1 -0
  328. package/dist/src/foundation/release/cohort-state.js +201 -0
  329. package/dist/src/foundation/release/cohort-state.js.map +1 -0
  330. package/dist/src/foundation/release/development-preview-release.d.ts +49 -0
  331. package/dist/src/foundation/release/development-preview-release.d.ts.map +1 -0
  332. package/dist/src/foundation/release/development-preview-release.js +113 -0
  333. package/dist/src/foundation/release/development-preview-release.js.map +1 -0
  334. package/dist/src/foundation/release/index.d.ts +12 -0
  335. package/dist/src/foundation/release/index.d.ts.map +1 -0
  336. package/dist/src/foundation/release/index.js +12 -0
  337. package/dist/src/foundation/release/index.js.map +1 -0
  338. package/dist/src/foundation/release/process-cleanup.d.ts +15 -0
  339. package/dist/src/foundation/release/process-cleanup.d.ts.map +1 -0
  340. package/dist/src/foundation/release/process-cleanup.js +67 -0
  341. package/dist/src/foundation/release/process-cleanup.js.map +1 -0
  342. package/dist/src/foundation/release/release-gc.d.ts +6 -0
  343. package/dist/src/foundation/release/release-gc.d.ts.map +1 -0
  344. package/dist/src/foundation/release/release-gc.js +17 -0
  345. package/dist/src/foundation/release/release-gc.js.map +1 -0
  346. package/dist/src/foundation/release/release-store.d.ts +11 -0
  347. package/dist/src/foundation/release/release-store.d.ts.map +1 -0
  348. package/dist/src/foundation/release/release-store.js +115 -0
  349. package/dist/src/foundation/release/release-store.js.map +1 -0
  350. package/dist/src/foundation/release/release.d.ts +24 -0
  351. package/dist/src/foundation/release/release.d.ts.map +1 -0
  352. package/dist/src/foundation/release/release.js +151 -0
  353. package/dist/src/foundation/release/release.js.map +1 -0
  354. package/dist/src/foundation/release/stable-release.d.ts +30 -0
  355. package/dist/src/foundation/release/stable-release.d.ts.map +1 -0
  356. package/dist/src/foundation/release/stable-release.js +38 -0
  357. package/dist/src/foundation/release/stable-release.js.map +1 -0
  358. package/dist/src/foundation/release/update-transaction.d.ts +31 -0
  359. package/dist/src/foundation/release/update-transaction.d.ts.map +1 -0
  360. package/dist/src/foundation/release/update-transaction.js +88 -0
  361. package/dist/src/foundation/release/update-transaction.js.map +1 -0
  362. package/dist/src/foundation/release/update.d.ts +55 -0
  363. package/dist/src/foundation/release/update.d.ts.map +1 -0
  364. package/dist/src/foundation/release/update.js +316 -0
  365. package/dist/src/foundation/release/update.js.map +1 -0
  366. package/dist/src/foundation/storage/control-store.d.ts +61 -0
  367. package/dist/src/foundation/storage/control-store.d.ts.map +1 -0
  368. package/dist/src/foundation/storage/control-store.js +459 -0
  369. package/dist/src/foundation/storage/control-store.js.map +1 -0
  370. package/dist/src/foundation/storage/index.d.ts +2 -0
  371. package/dist/src/foundation/storage/index.d.ts.map +1 -0
  372. package/dist/src/foundation/storage/index.js +2 -0
  373. package/dist/src/foundation/storage/index.js.map +1 -0
  374. package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts +47 -0
  375. package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts.map +1 -0
  376. package/dist/src/foundation/structured-agent-runtime/backpressure.js +119 -0
  377. package/dist/src/foundation/structured-agent-runtime/backpressure.js.map +1 -0
  378. package/dist/src/foundation/structured-agent-runtime/commands.d.ts +53 -0
  379. package/dist/src/foundation/structured-agent-runtime/commands.d.ts.map +1 -0
  380. package/dist/src/foundation/structured-agent-runtime/commands.js +165 -0
  381. package/dist/src/foundation/structured-agent-runtime/commands.js.map +1 -0
  382. package/dist/src/foundation/structured-agent-runtime/handshake.d.ts +42 -0
  383. package/dist/src/foundation/structured-agent-runtime/handshake.d.ts.map +1 -0
  384. package/dist/src/foundation/structured-agent-runtime/handshake.js +151 -0
  385. package/dist/src/foundation/structured-agent-runtime/handshake.js.map +1 -0
  386. package/dist/src/foundation/structured-agent-runtime/index.d.ts +6 -0
  387. package/dist/src/foundation/structured-agent-runtime/index.d.ts.map +1 -0
  388. package/dist/src/foundation/structured-agent-runtime/index.js +6 -0
  389. package/dist/src/foundation/structured-agent-runtime/index.js.map +1 -0
  390. package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts +38 -0
  391. package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts.map +1 -0
  392. package/dist/src/foundation/structured-agent-runtime/reconnection.js +130 -0
  393. package/dist/src/foundation/structured-agent-runtime/reconnection.js.map +1 -0
  394. package/dist/src/foundation/structured-agent-runtime/state.d.ts +57 -0
  395. package/dist/src/foundation/structured-agent-runtime/state.d.ts.map +1 -0
  396. package/dist/src/foundation/structured-agent-runtime/state.js +119 -0
  397. package/dist/src/foundation/structured-agent-runtime/state.js.map +1 -0
  398. package/dist/src/foundation/supervision/index.d.ts +4 -0
  399. package/dist/src/foundation/supervision/index.d.ts.map +1 -0
  400. package/dist/src/foundation/supervision/index.js +4 -0
  401. package/dist/src/foundation/supervision/index.js.map +1 -0
  402. package/dist/src/foundation/supervision/main.d.ts +2 -0
  403. package/dist/src/foundation/supervision/main.d.ts.map +1 -0
  404. package/dist/src/foundation/supervision/main.js +40 -0
  405. package/dist/src/foundation/supervision/main.js.map +1 -0
  406. package/dist/src/foundation/supervision/paths.d.ts +2 -0
  407. package/dist/src/foundation/supervision/paths.d.ts.map +1 -0
  408. package/dist/src/foundation/supervision/paths.js +2 -0
  409. package/dist/src/foundation/supervision/paths.js.map +1 -0
  410. package/dist/src/foundation/supervision/server.d.ts +21 -0
  411. package/dist/src/foundation/supervision/server.d.ts.map +1 -0
  412. package/dist/src/foundation/supervision/server.js +283 -0
  413. package/dist/src/foundation/supervision/server.js.map +1 -0
  414. package/dist/src/foundation/transparent-terminal/command-resolution.d.ts +14 -0
  415. package/dist/src/foundation/transparent-terminal/command-resolution.d.ts.map +1 -0
  416. package/dist/src/foundation/transparent-terminal/command-resolution.js +70 -0
  417. package/dist/src/foundation/transparent-terminal/command-resolution.js.map +1 -0
  418. package/dist/src/foundation/transparent-terminal/foreground-broker.d.ts +33 -0
  419. package/dist/src/foundation/transparent-terminal/foreground-broker.d.ts.map +1 -0
  420. package/dist/src/foundation/transparent-terminal/foreground-broker.js +88 -0
  421. package/dist/src/foundation/transparent-terminal/foreground-broker.js.map +1 -0
  422. package/dist/src/foundation/transparent-terminal/index.d.ts +4 -0
  423. package/dist/src/foundation/transparent-terminal/index.d.ts.map +1 -0
  424. package/dist/src/foundation/transparent-terminal/index.js +4 -0
  425. package/dist/src/foundation/transparent-terminal/index.js.map +1 -0
  426. package/dist/src/foundation/transparent-terminal/main.d.ts +10 -0
  427. package/dist/src/foundation/transparent-terminal/main.d.ts.map +1 -0
  428. package/dist/src/foundation/transparent-terminal/main.js +107 -0
  429. package/dist/src/foundation/transparent-terminal/main.js.map +1 -0
  430. package/dist/src/foundation/transparent-terminal/native-launcher.d.ts +26 -0
  431. package/dist/src/foundation/transparent-terminal/native-launcher.d.ts.map +1 -0
  432. package/dist/src/foundation/transparent-terminal/native-launcher.js +147 -0
  433. package/dist/src/foundation/transparent-terminal/native-launcher.js.map +1 -0
  434. package/dist/src/foundation/workspace-contracts/index.d.ts +3 -0
  435. package/dist/src/foundation/workspace-contracts/index.d.ts.map +1 -0
  436. package/dist/src/foundation/workspace-contracts/index.js +3 -0
  437. package/dist/src/foundation/workspace-contracts/index.js.map +1 -0
  438. package/dist/src/foundation/workspace-contracts/model.d.ts +249 -0
  439. package/dist/src/foundation/workspace-contracts/model.d.ts.map +1 -0
  440. package/dist/src/foundation/workspace-contracts/model.js +3 -0
  441. package/dist/src/foundation/workspace-contracts/model.js.map +1 -0
  442. package/dist/src/foundation/workspace-contracts/validation.d.ts +14 -0
  443. package/dist/src/foundation/workspace-contracts/validation.d.ts.map +1 -0
  444. package/dist/src/foundation/workspace-contracts/validation.js +336 -0
  445. package/dist/src/foundation/workspace-contracts/validation.js.map +1 -0
  446. package/docs/architecture/boundaries.md +46 -0
  447. package/docs/architecture/project-structure.md +81 -0
  448. package/docs/architecture/resource-and-data-policy.md +55 -0
  449. package/docs/architecture/terminal-host-proof-gate.md +32 -0
  450. package/docs/architecture/terminal-host-provenance.md +69 -0
  451. package/docs/architecture/terminal-host-spike-evidence.md +39 -0
  452. package/docs/architecture/toolchain.md +66 -0
  453. package/docs/features/launch-profiles.md +50 -0
  454. package/docs/manual-transparent-checkpoint.md +53 -0
  455. package/package.json +73 -0
@@ -0,0 +1,7 @@
1
+ export * from "./shell-shared-facade.js";
2
+ export * from "./shell-editor-autocomplete.js";
3
+ export * from "./shell-selectors-dialogs.js";
4
+ export * from "./shell-presenters-transcript.js";
5
+ export * from "./shell-footer-status.js";
6
+ export * from "./shell-extension-ui.js";
7
+ //# sourceMappingURL=shell-components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-components.d.ts","sourceRoot":"","sources":["../../../../src/foundation/pi-component-adapter/shell-components.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from "./shell-shared-facade.js";
2
+ export * from "./shell-editor-autocomplete.js";
3
+ export * from "./shell-selectors-dialogs.js";
4
+ export * from "./shell-presenters-transcript.js";
5
+ export * from "./shell-footer-status.js";
6
+ export * from "./shell-extension-ui.js";
7
+ //# sourceMappingURL=shell-components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-components.js","sourceRoot":"","sources":["../../../../src/foundation/pi-component-adapter/shell-components.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type PiShellEditorPort, type PiShellEditorOptions } from "./shell-shared-facade.js";
2
+ export declare const PINNED_PI_BUILTIN_SLASH_COMMANDS: ({
3
+ name: string;
4
+ description: string;
5
+ argumentHint?: never;
6
+ } | {
7
+ name: string;
8
+ description: string;
9
+ argumentHint: string;
10
+ })[];
11
+ export declare function createPiShellEditor(options: PiShellEditorOptions): PiShellEditorPort;
12
+ //# sourceMappingURL=shell-editor-autocomplete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-editor-autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/foundation/pi-component-adapter/shell-editor-autocomplete.ts"],"names":[],"mappings":"AAmBA,OAAO,EAIL,KAAK,iBAAiB,EAEtB,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,gCAAgC;;;;;;;;IAuB5C,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,iBAAiB,CAuGpF"}
@@ -0,0 +1,165 @@
1
+ import { CustomEditor, getSelectListTheme, } from "@earendil-works/pi-coding-agent";
2
+ import { CombinedAutocompleteProvider, setKeybindings, } from "@earendil-works/pi-tui";
3
+ import { KeybindingsManager, } from "./upstream/adjacent/core/keybindings.js";
4
+ import { PINNED_PI_LAYOUT, piTheme, } from "./theme.js";
5
+ import { createTuiFacade, ensureTheme, isAutocompleteProvider, } from "./shell-shared-facade.js";
6
+ export const PINNED_PI_BUILTIN_SLASH_COMMANDS = [
7
+ { name: "settings", description: "Open settings menu" },
8
+ { name: "model", description: "Select model (opens selector UI)", argumentHint: "<provider/model>" },
9
+ { name: "scoped-models", description: "Enable/disable models for Ctrl+P cycling" },
10
+ { name: "export", description: "Export session (HTML default, or specify path: .html/.jsonl)" },
11
+ { name: "import", description: "Import and resume a session from a JSONL file" },
12
+ { name: "share", description: "Share session as a secret GitHub gist" },
13
+ { name: "copy", description: "Copy last agent message to clipboard" },
14
+ { name: "name", description: "Set session display name" },
15
+ { name: "session", description: "Show session info and stats" },
16
+ { name: "changelog", description: "Show changelog entries" },
17
+ { name: "hotkeys", description: "Show all keyboard shortcuts" },
18
+ { name: "fork", description: "Create a new fork from a previous user message" },
19
+ { name: "clone", description: "Duplicate the current session at the current position" },
20
+ { name: "tree", description: "Navigate session tree (switch branches)" },
21
+ { name: "trust", description: "Save project trust decision for future sessions" },
22
+ { name: "login", description: "Configure provider authentication", argumentHint: "<provider>" },
23
+ { name: "logout", description: "Remove provider authentication" },
24
+ { name: "new", description: "Start a new session" },
25
+ { name: "compact", description: "Manually compact the session context" },
26
+ { name: "resume", description: "Resume a different session" },
27
+ { name: "reload", description: "Reload keybindings, extensions, skills, prompts, themes, and context files" },
28
+ { name: "quit", description: "Quit pi" },
29
+ ];
30
+ export function createPiShellEditor(options) {
31
+ ensureTheme();
32
+ const tui = createTuiFacade(options);
33
+ const keybindings = KeybindingsManager.create(options.agentDir);
34
+ setKeybindings(keybindings);
35
+ const editorCandidate = Reflect.construct(CustomEditor, [tui, {
36
+ borderColor: (value) => piTheme().fg("borderMuted", value),
37
+ selectList: getSelectListTheme(),
38
+ }, keybindings, {
39
+ paddingX: PINNED_PI_LAYOUT.editorPaddingX,
40
+ autocompleteMaxVisible: PINNED_PI_LAYOUT.autocompleteMaxVisible,
41
+ }]);
42
+ if (!(editorCandidate instanceof CustomEditor))
43
+ throw new TypeError("Pi editor façade returned an incompatible component");
44
+ const editor = editorCandidate;
45
+ let thinkingLevel = "off";
46
+ let isBashMode = false;
47
+ const updateBorderColor = () => {
48
+ editor.borderColor = isBashMode
49
+ ? piTheme().getBashModeBorderColor()
50
+ : piTheme().getThinkingBorderColor(thinkingLevel);
51
+ tui.requestRender();
52
+ };
53
+ let autocompleteProvider;
54
+ const setAutocompleteCommands = (commands) => {
55
+ const additions = new Map(commands.map(command => [command.name, command]));
56
+ const builtInNames = new Set(PINNED_PI_BUILTIN_SLASH_COMMANDS.map(command => command.name));
57
+ const builtIns = PINNED_PI_BUILTIN_SLASH_COMMANDS.map(command => autocompleteCommand(command, additions.get(command.name)));
58
+ const resources = commands.filter(command => !builtInNames.has(command.name)).map(command => autocompleteCommand(command));
59
+ autocompleteProvider = new CombinedAutocompleteProvider([...builtIns, ...resources], options.cwd ?? process.cwd());
60
+ editor.setAutocompleteProvider(autocompleteProvider);
61
+ };
62
+ setAutocompleteCommands(options.autocompleteCommands ?? []);
63
+ let submitHandler = options.onSubmit;
64
+ let interruptHandler = options.onInterrupt ?? (() => { });
65
+ editor.onSubmit = text => submitHandler(text);
66
+ editor.onChange = text => {
67
+ const nextBashMode = text.trimStart().startsWith("!");
68
+ if (nextBashMode !== isBashMode) {
69
+ isBashMode = nextBashMode;
70
+ updateBorderColor();
71
+ }
72
+ options.onChange?.(text);
73
+ };
74
+ if (options.onInterrupt !== undefined) {
75
+ editor.onEscape = () => interruptHandler();
76
+ editor.onAction("app.interrupt", () => interruptHandler());
77
+ }
78
+ if (options.onClear !== undefined)
79
+ editor.onAction("app.clear", options.onClear);
80
+ if (options.onExit !== undefined) {
81
+ editor.onCtrlD = options.onExit;
82
+ editor.onAction("app.exit", options.onExit);
83
+ }
84
+ if (options.onSuspend !== undefined)
85
+ editor.onAction("app.suspend", options.onSuspend);
86
+ if (options.onExternalEditor !== undefined)
87
+ editor.onAction("app.editor.external", options.onExternalEditor);
88
+ if (options.onPasteImage !== undefined) {
89
+ editor.onPasteImage = options.onPasteImage;
90
+ editor.onAction("app.clipboard.pasteImage", options.onPasteImage);
91
+ }
92
+ if (options.onExtensionShortcut !== undefined)
93
+ editor.onExtensionShortcut = options.onExtensionShortcut;
94
+ if (options.onModelSelect !== undefined)
95
+ editor.onAction("app.model.select", options.onModelSelect);
96
+ if (options.onModelCycle !== undefined) {
97
+ editor.onAction("app.model.cycleForward", () => options.onModelCycle?.("forward"));
98
+ editor.onAction("app.model.cycleBackward", () => options.onModelCycle?.("backward"));
99
+ }
100
+ if (options.onThinkingCycle !== undefined)
101
+ editor.onAction("app.thinking.cycle", options.onThinkingCycle);
102
+ if (options.onThinkingToggle !== undefined)
103
+ editor.onAction("app.thinking.toggle", options.onThinkingToggle);
104
+ if (options.onToolsExpand !== undefined)
105
+ editor.onAction("app.tools.expand", options.onToolsExpand);
106
+ if (options.onMessageCopy !== undefined)
107
+ editor.onAction("app.message.copy", options.onMessageCopy);
108
+ if (options.onFollowUp !== undefined)
109
+ editor.onAction("app.message.followUp", options.onFollowUp);
110
+ if (options.onDequeue !== undefined)
111
+ editor.onAction("app.message.dequeue", options.onDequeue);
112
+ return {
113
+ render: width => editor.render(width),
114
+ handleInput: data => editor.handleInput(data),
115
+ invalidate: () => editor.invalidate(),
116
+ setFocused: focused => {
117
+ editor.focused = focused;
118
+ },
119
+ getText: () => editor.getExpandedText(),
120
+ setText: text => editor.setText(text),
121
+ insertText: text => editor.insertTextAtCursor(text),
122
+ addToHistory: text => editor.addToHistory(text),
123
+ setSubmitEnabled: enabled => {
124
+ editor.disableSubmit = !enabled;
125
+ },
126
+ setSubmitHandler: handler => { submitHandler = handler; },
127
+ setInterruptHandler: handler => { interruptHandler = handler; },
128
+ setAutocompleteCommands,
129
+ addAutocompleteProvider(factory) {
130
+ if (typeof factory !== "function")
131
+ throw new TypeError("extension autocomplete factory must be a function");
132
+ const candidate = Reflect.apply(factory, undefined, [autocompleteProvider]);
133
+ if (!isAutocompleteProvider(candidate))
134
+ throw new TypeError("extension autocomplete factory returned a malformed provider");
135
+ autocompleteProvider = candidate;
136
+ editor.setAutocompleteProvider(autocompleteProvider);
137
+ },
138
+ setThinkingLevel(level) {
139
+ if (thinkingLevel === level)
140
+ return;
141
+ thinkingLevel = level;
142
+ updateBorderColor();
143
+ },
144
+ };
145
+ }
146
+ function autocompleteCommand(command, addition) {
147
+ const argumentOptions = addition?.argumentOptions ?? command.argumentOptions;
148
+ return {
149
+ ...command,
150
+ ...addition,
151
+ ...(argumentOptions === undefined ? {} : {
152
+ getArgumentCompletions: (prefix) => {
153
+ const normalized = prefix.toLowerCase();
154
+ return argumentOptions
155
+ .filter(option => option.id.toLowerCase().includes(normalized) || option.label.toLowerCase().includes(normalized))
156
+ .map(option => ({
157
+ value: option.id,
158
+ label: option.label,
159
+ ...(option.description === undefined ? {} : { description: option.description }),
160
+ }));
161
+ },
162
+ }),
163
+ };
164
+ }
165
+ //# sourceMappingURL=shell-editor-autocomplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-editor-autocomplete.js","sourceRoot":"","sources":["../../../../src/foundation/pi-component-adapter/shell-editor-autocomplete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { type ExtensionUIContext } from "@earendil-works/pi-coding-agent";
2
+ import type { OwnedUiExtensionOverlayHandle, OwnedUiExtensionOverlayOptions } from "../owned-ui-contracts/index.js";
3
+ import { type PiShellComponentPort, type PiShellEditorOptions } from "./shell-shared-facade.js";
4
+ export interface PiExtensionUiBridgeHost {
5
+ readonly runtime: Pick<PiShellEditorOptions, "getColumns" | "getRows" | "requestRender">;
6
+ readonly agentDir?: string;
7
+ setInputSurface(component: PiShellComponentPort | null): void;
8
+ showOverlay(component: PiShellComponentPort, options?: OwnedUiExtensionOverlayOptions): OwnedUiExtensionOverlayHandle;
9
+ listenInput(handler: (data: string) => {
10
+ readonly consume?: boolean;
11
+ readonly data?: string;
12
+ } | undefined): () => void;
13
+ replaceWidget(key: string, component: PiShellComponentPort | null, placement: "aboveEditor" | "belowEditor"): void;
14
+ replaceHeader(component: PiShellComponentPort | null): void;
15
+ replaceFooter(component: PiShellComponentPort | null): void;
16
+ setStatus(key: string, text: string | undefined): void;
17
+ setWorking(message: string | undefined, visible?: boolean): void;
18
+ notify(message: string, type: "info" | "warning" | "error"): void;
19
+ setTitle(title: string): void;
20
+ getEditorText(): string;
21
+ setEditorText(text: string): void;
22
+ pasteToEditor(text: string): void;
23
+ addAutocompleteProvider(factory: unknown): void;
24
+ setCustomEditor(component: PiShellComponentPort | null): void;
25
+ getFooterData(): unknown;
26
+ getToolsExpanded(): boolean;
27
+ setToolsExpanded(expanded: boolean): void;
28
+ }
29
+ export interface PiExtensionUiBridge {
30
+ readonly context: ExtensionUIContext;
31
+ reset(): void;
32
+ dispose(): void;
33
+ }
34
+ /** Public ExtensionUIContext ported from pinned InteractiveMode without constructing it. */
35
+ export declare function createPiExtensionUiBridge(host: PiExtensionUiBridgeHost): PiExtensionUiBridge;
36
+ //# sourceMappingURL=shell-extension-ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-extension-ui.d.ts","sourceRoot":"","sources":["../../../../src/foundation/pi-component-adapter/shell-extension-ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,iCAAiC,CAAC;AAUzC,OAAO,KAAK,EACV,6BAA6B,EAC7B,8BAA8B,EAC/B,MAAM,gCAAgC,CAAC;AAYxC,OAAO,EAKL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAIlC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,YAAY,GAAG,SAAS,GAAG,eAAe,CAAC,CAAC;IACzF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9D,WAAW,CAAC,SAAS,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,8BAA8B,GAAG,6BAA6B,CAAC;IACtH,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,GAAG,MAAM,IAAI,CAAC;IACvH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,GAAG,IAAI,EAAE,SAAS,EAAE,aAAa,GAAG,aAAa,GAAG,IAAI,CAAC;IACnH,aAAa,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5D,aAAa,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5D,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACvD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACjE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC;IAClE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,IAAI,MAAM,CAAC;IACxB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAChD,eAAe,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9D,aAAa,IAAI,OAAO,CAAC;IACzB,gBAAgB,IAAI,OAAO,CAAC;IAC5B,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,4FAA4F;AAC5F,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,CAiO5F"}
@@ -0,0 +1,280 @@
1
+ import { ExtensionInputComponent, ExtensionSelectorComponent, getSelectListTheme, } from "@earendil-works/pi-coding-agent";
2
+ import { ExtensionEditorComponent, } from "./upstream/components/extension-editor.js";
3
+ import { setKeybindings, Text, } from "@earendil-works/pi-tui";
4
+ import { KeybindingsManager, } from "./upstream/adjacent/core/keybindings.js";
5
+ import { PINNED_PI_LAYOUT, applyPiTheme, applyPiThemeInstance, getAvailablePiThemes, loadPiTheme, piTheme, } from "./theme.js";
6
+ import { componentPort, createTuiFacade, ensureTheme, isRecord, } from "./shell-shared-facade.js";
7
+ /** Public ExtensionUIContext ported from pinned InteractiveMode without constructing it. */
8
+ export function createPiExtensionUiBridge(host) {
9
+ ensureTheme();
10
+ const tui = createTuiFacade(host.runtime);
11
+ const keybindings = KeybindingsManager.create(host.agentDir);
12
+ setKeybindings(keybindings);
13
+ const disposers = new Set();
14
+ let customEditorFactory;
15
+ let activeSurface;
16
+ let activeCancel;
17
+ const closeSurface = (surface) => {
18
+ if (surface !== undefined && activeSurface !== surface)
19
+ return;
20
+ activeSurface = undefined;
21
+ host.setInputSurface(null);
22
+ host.runtime.requestRender();
23
+ };
24
+ const mountSurface = (surface) => {
25
+ if (activeSurface !== undefined && activeSurface !== surface)
26
+ activeSurface.dispose?.();
27
+ activeSurface = surface;
28
+ host.setInputSurface(surface);
29
+ host.runtime.requestRender();
30
+ };
31
+ const trackAbort = (signal, cancel) => {
32
+ if (signal === undefined)
33
+ return () => { };
34
+ if (signal.aborted) {
35
+ cancel();
36
+ return () => { };
37
+ }
38
+ signal.addEventListener("abort", cancel, { once: true });
39
+ const dispose = () => signal.removeEventListener("abort", cancel);
40
+ disposers.add(dispose);
41
+ return () => {
42
+ dispose();
43
+ disposers.delete(dispose);
44
+ };
45
+ };
46
+ const showInput = (create, options) => new Promise(resolve => {
47
+ let settled = false;
48
+ let surface;
49
+ let untrack = () => { };
50
+ const finish = (value) => {
51
+ if (settled)
52
+ return;
53
+ settled = true;
54
+ if (activeCancel === cancel)
55
+ activeCancel = undefined;
56
+ untrack();
57
+ closeSurface(surface);
58
+ resolve(value);
59
+ };
60
+ const cancel = () => finish(undefined);
61
+ surface = create(finish, cancel);
62
+ untrack = trackAbort(options?.signal, cancel);
63
+ if (!settled) {
64
+ activeCancel = cancel;
65
+ mountSurface(surface);
66
+ }
67
+ });
68
+ const createFactoryComponent = (factory, ...arguments_) => {
69
+ if (typeof factory !== "function")
70
+ throw new TypeError("extension component factory must be a function");
71
+ const component = factory(...arguments_);
72
+ if (isPromiseLike(component))
73
+ throw new TypeError("synchronous extension surface factory returned a promise");
74
+ if (!isComponent(component))
75
+ throw new TypeError("extension factory returned a malformed component");
76
+ return componentPort(component);
77
+ };
78
+ const context = {
79
+ select: (title, options, opts) => showInput((resolve, cancel) => componentPort(new ExtensionSelectorComponent(title, [...options], resolve, cancel, {
80
+ tui,
81
+ ...(opts?.timeout === undefined ? {} : { timeout: opts.timeout }),
82
+ onToggleToolsExpanded: () => host.setToolsExpanded(!host.getToolsExpanded()),
83
+ })), opts),
84
+ async confirm(title, message, opts) {
85
+ return (await context.select(`${title}\n${message}`, ["Yes", "No"], opts)) === "Yes";
86
+ },
87
+ input: (title, placeholder, opts) => showInput((resolve, cancel) => componentPort(new ExtensionInputComponent(title, placeholder, resolve, cancel, {
88
+ tui,
89
+ ...(opts?.timeout === undefined ? {} : { timeout: opts.timeout }),
90
+ })), opts),
91
+ notify: (message, type = "info") => host.notify(message, type),
92
+ onTerminalInput: handler => host.listenInput(handler),
93
+ setStatus: (key, text) => host.setStatus(key, text),
94
+ setWorkingMessage: message => host.setWorking(message),
95
+ setWorkingVisible: visible => host.setWorking(undefined, visible),
96
+ setWorkingIndicator: options => host.setWorking(options?.frames?.[0]),
97
+ setHiddenThinkingLabel: () => host.runtime.requestRender(),
98
+ setWidget(key, content, options) {
99
+ if (content === undefined) {
100
+ host.replaceWidget(key, null, options?.placement ?? "aboveEditor");
101
+ return;
102
+ }
103
+ try {
104
+ const component = Array.isArray(content)
105
+ ? componentPort(new Text(content.join("\n"), PINNED_PI_LAYOUT.contentPaddingX, 0))
106
+ : createFactoryComponent(content, tui, piTheme());
107
+ host.replaceWidget(key, component, options?.placement ?? "aboveEditor");
108
+ }
109
+ catch (error) {
110
+ host.notify(extensionError("widget", error), "error");
111
+ }
112
+ },
113
+ setFooter(factory) {
114
+ try {
115
+ host.replaceFooter(factory === undefined ? null : createFactoryComponent(factory, tui, piTheme(), host.getFooterData()));
116
+ }
117
+ catch (error) {
118
+ host.replaceFooter(null);
119
+ host.notify(extensionError("footer", error), "error");
120
+ }
121
+ },
122
+ setHeader(factory) {
123
+ try {
124
+ host.replaceHeader(factory === undefined ? null : createFactoryComponent(factory, tui, piTheme()));
125
+ }
126
+ catch (error) {
127
+ host.replaceHeader(null);
128
+ host.notify(extensionError("header", error), "error");
129
+ }
130
+ },
131
+ setTitle: title => host.setTitle(title),
132
+ custom: (factory, options) => new Promise((resolve, reject) => {
133
+ let settled = false;
134
+ let surface;
135
+ let overlay;
136
+ const done = (value) => {
137
+ if (settled)
138
+ return;
139
+ settled = true;
140
+ if (activeCancel === cancelCustom)
141
+ activeCancel = undefined;
142
+ overlay?.hide();
143
+ if (surface !== undefined)
144
+ closeSurface(surface);
145
+ resolve(value);
146
+ };
147
+ const cancelCustom = () => {
148
+ if (settled)
149
+ return;
150
+ settled = true;
151
+ if (activeCancel === cancelCustom)
152
+ activeCancel = undefined;
153
+ overlay?.hide();
154
+ if (surface !== undefined)
155
+ closeSurface(surface);
156
+ Reflect.apply(resolve, undefined, []);
157
+ };
158
+ let created;
159
+ try {
160
+ created = Reflect.apply(factory, undefined, [tui, piTheme(), keybindings, done]);
161
+ }
162
+ catch (error) {
163
+ reject(error);
164
+ return;
165
+ }
166
+ void Promise.resolve(created).then(component => {
167
+ if (!isComponent(component))
168
+ throw new TypeError("extension custom factory returned a malformed component");
169
+ if (settled) {
170
+ if ("dispose" in component && typeof component.dispose === "function")
171
+ component.dispose();
172
+ return;
173
+ }
174
+ surface = componentPort(component);
175
+ activeCancel = cancelCustom;
176
+ if (options?.overlay) {
177
+ const overlayOptions = typeof options.overlayOptions === "function" ? options.overlayOptions() : options.overlayOptions;
178
+ overlay = host.showOverlay(surface, overlayOptions);
179
+ options.onHandle?.(publicOverlayHandle(overlay));
180
+ }
181
+ else
182
+ mountSurface(surface);
183
+ }).catch(error => {
184
+ if (activeCancel === cancelCustom)
185
+ activeCancel = undefined;
186
+ if (surface !== undefined)
187
+ closeSurface(surface);
188
+ reject(error);
189
+ });
190
+ }),
191
+ pasteToEditor: text => host.pasteToEditor(text),
192
+ setEditorText: text => host.setEditorText(text),
193
+ getEditorText: () => host.getEditorText(),
194
+ editor: (title, prefill) => showInput((resolve, cancel) => componentPort(new ExtensionEditorComponent(tui, keybindings, title, prefill, resolve, cancel))),
195
+ addAutocompleteProvider: factory => host.addAutocompleteProvider(factory),
196
+ setEditorComponent(factory) {
197
+ customEditorFactory = factory;
198
+ if (factory === undefined) {
199
+ host.setCustomEditor(null);
200
+ return;
201
+ }
202
+ try {
203
+ const editor = Reflect.apply(factory, undefined, [tui, {
204
+ borderColor: (text) => piTheme().fg("borderMuted", text),
205
+ selectList: getSelectListTheme(),
206
+ }, keybindings]);
207
+ if (!isComponent(editor))
208
+ throw new TypeError("extension editor factory returned a malformed editor");
209
+ host.setCustomEditor(componentPort(editor));
210
+ }
211
+ catch (error) {
212
+ customEditorFactory = undefined;
213
+ host.setCustomEditor(null);
214
+ host.notify(extensionError("editor", error), "error");
215
+ }
216
+ },
217
+ getEditorComponent: () => customEditorFactory,
218
+ get theme() { return piTheme(); },
219
+ getAllThemes: () => getAvailablePiThemes().map(theme => ({ name: theme.name, path: theme.path })),
220
+ getTheme(name) {
221
+ try {
222
+ return loadPiTheme(name);
223
+ }
224
+ catch {
225
+ return undefined;
226
+ }
227
+ },
228
+ setTheme(theme) {
229
+ const result = typeof theme === "string" ? applyPiTheme(theme, true) : applyPiThemeInstance(theme);
230
+ host.runtime.requestRender();
231
+ return result.success
232
+ ? { success: true }
233
+ : { success: false, ...(result.error === undefined ? {} : { error: result.error }) };
234
+ },
235
+ getToolsExpanded: () => host.getToolsExpanded(),
236
+ setToolsExpanded: expanded => host.setToolsExpanded(expanded),
237
+ };
238
+ const reset = () => {
239
+ const cancel = activeCancel;
240
+ activeCancel = undefined;
241
+ cancel?.();
242
+ activeSurface?.dispose?.();
243
+ activeSurface = undefined;
244
+ host.setInputSurface(null);
245
+ };
246
+ return {
247
+ context,
248
+ reset,
249
+ dispose() {
250
+ reset();
251
+ for (const dispose of disposers)
252
+ dispose();
253
+ disposers.clear();
254
+ host.replaceHeader(null);
255
+ host.replaceFooter(null);
256
+ },
257
+ };
258
+ }
259
+ function extensionError(surface, error) {
260
+ return `Extension ${surface} failed: ${error instanceof Error ? error.message : String(error)}`;
261
+ }
262
+ function isPromiseLike(value) {
263
+ return isRecord(value) && typeof value.then === "function";
264
+ }
265
+ function isComponent(value) {
266
+ return isRecord(value) && typeof value.render === "function" && typeof value.invalidate === "function";
267
+ }
268
+ function publicOverlayHandle(handle) {
269
+ return {
270
+ hide: () => handle.hide(),
271
+ setHidden: hidden => handle.setHidden(hidden),
272
+ isHidden: () => handle.isHidden(),
273
+ focus: () => handle.focus(),
274
+ unfocus: options => handle.unfocus(options?.target === undefined
275
+ ? undefined
276
+ : { target: options.target === null ? null : componentPort(options.target) }),
277
+ isFocused: () => handle.isFocused(),
278
+ };
279
+ }
280
+ //# sourceMappingURL=shell-extension-ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-extension-ui.js","sourceRoot":"","sources":["../../../../src/foundation/pi-component-adapter/shell-extension-ui.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { OwnedUiSessionViewModel } from "../owned-ui-contracts/index.js";
2
+ import { type PiShellViewComponentPort, type PiShellStatusPort, type PiShellQueuedInputPort, type PiShellHeaderPort, type PiShellResourceEntry, type PiShellLoadedResourcesPort, type PiShellHeaderOptions, type PiShellEditorOptions } from "./shell-shared-facade.js";
3
+ export declare function createPiShellHeader(options?: PiShellHeaderOptions): PiShellHeaderPort;
4
+ export declare function createPiShellLoadedResources(resources: readonly PiShellResourceEntry[], initialExpanded?: boolean): PiShellLoadedResourcesPort;
5
+ export declare function createPiShellStatus(view: OwnedUiSessionViewModel, runtime?: Pick<PiShellEditorOptions, "getColumns" | "getRows" | "requestRender">): PiShellStatusPort;
6
+ export declare function createPiShellFooter(view: OwnedUiSessionViewModel, cwd: string): PiShellViewComponentPort;
7
+ export declare function createPiQueuedInputStatus(submissions: readonly string[]): PiShellQueuedInputPort;
8
+ //# sourceMappingURL=shell-footer-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-footer-status.d.ts","sourceRoot":"","sources":["../../../../src/foundation/pi-component-adapter/shell-footer-status.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,uBAAuB,EACxB,MAAM,gCAAgC,CAAC;AAQxC,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EAEtB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAE/B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,iBAAiB,CAwBzF;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,SAAS,oBAAoB,EAAE,EAC1C,eAAe,UAAQ,GACtB,0BAA0B,CAgC5B;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,uBAAuB,EAC7B,OAAO,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,YAAY,GAAG,SAAS,GAAG,eAAe,CAAC,GAC/E,iBAAiB,CA6BnB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAiDxG;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,sBAAsB,CAUhG"}