@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,311 @@
1
+ import { existsSync, readFileSync, readdirSync, watch } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { getAgentDir, getPackageDir, initTheme, Theme, } from "@earendil-works/pi-coding-agent";
4
+ import { getCapabilities } from "@earendil-works/pi-tui";
5
+ export const PINNED_PI_LAYOUT = Object.freeze({
6
+ editorPaddingX: 0,
7
+ outputPad: 1,
8
+ autocompleteMaxVisible: 5,
9
+ contentPaddingX: 1,
10
+ messagePaddingY: 1,
11
+ sectionSpacing: 1,
12
+ selectorMaxVisible: 10,
13
+ });
14
+ const FOREGROUND_COLORS = [
15
+ "accent", "border", "borderAccent", "borderMuted", "success", "error", "warning", "muted", "dim", "text",
16
+ "thinkingText", "userMessageText", "customMessageText", "customMessageLabel", "toolTitle", "toolOutput",
17
+ "mdHeading", "mdLink", "mdLinkUrl", "mdCode", "mdCodeBlock", "mdCodeBlockBorder", "mdQuote", "mdQuoteBorder",
18
+ "mdHr", "mdListBullet", "toolDiffAdded", "toolDiffRemoved", "toolDiffContext", "syntaxComment", "syntaxKeyword",
19
+ "syntaxFunction", "syntaxVariable", "syntaxString", "syntaxNumber", "syntaxType", "syntaxOperator", "syntaxPunctuation",
20
+ "thinkingOff", "thinkingMinimal", "thinkingLow", "thinkingMedium", "thinkingHigh", "thinkingXhigh", "thinkingMax", "bashMode",
21
+ ];
22
+ const BACKGROUND_COLORS = [
23
+ "selectedBg", "scrollbarThumb", "userMessageBg", "customMessageBg", "toolPendingBg", "toolSuccessBg", "toolErrorBg",
24
+ ];
25
+ let activeTheme;
26
+ let activeThemeName;
27
+ let activeThemeMode;
28
+ let themeWatcher;
29
+ let themeReloadTimer;
30
+ const themeChangeListeners = new Set();
31
+ export function ensurePiTheme() {
32
+ if (activeTheme)
33
+ return activeTheme;
34
+ const detected = detectPiTerminalBackgroundFromEnv();
35
+ applyPiTheme(detected.theme);
36
+ return activeTheme;
37
+ }
38
+ export function piTheme() {
39
+ return ensurePiTheme();
40
+ }
41
+ export function currentPiThemeName() {
42
+ ensurePiTheme();
43
+ return activeThemeName;
44
+ }
45
+ export function applyPiTheme(name, enableWatcher = false, mode) {
46
+ try {
47
+ const loaded = loadPiTheme(name, mode);
48
+ initTheme(name, false);
49
+ activeTheme = loaded;
50
+ activeThemeName = name;
51
+ activeThemeMode = mode;
52
+ if (enableWatcher)
53
+ startPiThemeWatcher(name);
54
+ notifyThemeChanged();
55
+ return { success: true, name };
56
+ }
57
+ catch (error) {
58
+ initTheme("dark", false);
59
+ activeTheme = loadPiTheme("dark", mode);
60
+ activeThemeName = "dark";
61
+ activeThemeMode = mode;
62
+ notifyThemeChanged();
63
+ return { success: false, name: "dark", error: error instanceof Error ? error.message : String(error) };
64
+ }
65
+ }
66
+ export function applyPiThemeInstance(theme) {
67
+ stopPiThemeWatcher();
68
+ activeTheme = theme;
69
+ activeThemeName = theme.name ?? "<in-memory>";
70
+ activeThemeMode = theme.getColorMode();
71
+ notifyThemeChanged();
72
+ return { success: true, name: activeThemeName };
73
+ }
74
+ export function onPiThemeChange(listener) {
75
+ themeChangeListeners.add(listener);
76
+ return () => themeChangeListeners.delete(listener);
77
+ }
78
+ export function stopPiThemeWatcher() {
79
+ if (themeReloadTimer !== undefined)
80
+ clearTimeout(themeReloadTimer);
81
+ themeReloadTimer = undefined;
82
+ themeWatcher?.close();
83
+ themeWatcher = undefined;
84
+ }
85
+ export function loadPiTheme(name, mode) {
86
+ if (!name || name.includes("/"))
87
+ throw new Error(`Invalid theme name: ${name}`);
88
+ const path = themePath(name);
89
+ const source = readFileSync(path, "utf8");
90
+ let parsed;
91
+ try {
92
+ parsed = JSON.parse(source);
93
+ }
94
+ catch (error) {
95
+ throw new Error(`Failed to parse theme ${path}: ${error instanceof Error ? error.message : String(error)}`);
96
+ }
97
+ const themeJson = validateThemeJson(path, parsed);
98
+ const vars = themeJson.vars ?? {};
99
+ const colors = { ...themeJson.colors };
100
+ const thinkingMax = colors.thinkingMax ?? colors.thinkingXhigh;
101
+ const scrollbarThumb = colors.scrollbarThumb ?? colors.selectedBg;
102
+ if (thinkingMax !== undefined)
103
+ colors.thinkingMax = thinkingMax;
104
+ if (scrollbarThumb !== undefined)
105
+ colors.scrollbarThumb = scrollbarThumb;
106
+ const resolved = Object.fromEntries(Object.entries(colors).map(([key, value]) => [key, resolveVariable(value, vars)]));
107
+ const foreground = Object.fromEntries(FOREGROUND_COLORS.map(key => [key, requiredColor(resolved, key, path)]));
108
+ const backgrounds = Object.fromEntries(BACKGROUND_COLORS.map(key => [key, requiredColor(resolved, key, path)]));
109
+ return new Theme(foreground, backgrounds, mode ?? (getCapabilities().trueColor ? "truecolor" : "256color"), {
110
+ name: themeJson.name,
111
+ sourcePath: path,
112
+ });
113
+ }
114
+ export function getAvailablePiThemes() {
115
+ const available = new Map();
116
+ for (const name of ["dark", "light"])
117
+ available.set(name, themePath(name));
118
+ const customDirectory = join(getAgentDir(), "themes");
119
+ if (existsSync(customDirectory)) {
120
+ for (const file of readdirSync(customDirectory)) {
121
+ if (!file.endsWith(".json"))
122
+ continue;
123
+ const path = join(customDirectory, file);
124
+ try {
125
+ const parsed = validateThemeJson(path, JSON.parse(readFileSync(path, "utf8")));
126
+ if (!available.has(parsed.name))
127
+ available.set(parsed.name, path);
128
+ }
129
+ catch { }
130
+ }
131
+ }
132
+ return [...available].map(([name, path]) => ({ name, path })).sort((left, right) => left.name.localeCompare(right.name));
133
+ }
134
+ export function parsePiAutoThemeSetting(setting) {
135
+ if (!setting)
136
+ return undefined;
137
+ const slashIndex = setting.indexOf("/");
138
+ if (slashIndex === -1 || setting.indexOf("/", slashIndex + 1) !== -1)
139
+ return undefined;
140
+ const lightTheme = setting.slice(0, slashIndex).trim();
141
+ const darkTheme = setting.slice(slashIndex + 1).trim();
142
+ return lightTheme && darkTheme ? { lightTheme, darkTheme } : undefined;
143
+ }
144
+ export function resolvePiThemeSetting(setting, terminalTheme) {
145
+ const automatic = parsePiAutoThemeSetting(setting);
146
+ if (automatic)
147
+ return terminalTheme === "light" ? automatic.lightTheme : automatic.darkTheme;
148
+ if (setting?.includes("/"))
149
+ return undefined;
150
+ return setting;
151
+ }
152
+ export function detectPiTerminalBackgroundFromEnv(environment = process.env) {
153
+ const parts = (environment.COLORFGBG ?? "").split(";");
154
+ for (let index = parts.length - 1; index >= 0; index -= 1) {
155
+ const background = Number.parseInt(parts[index].trim(), 10);
156
+ if (!Number.isInteger(background) || background < 0 || background > 255)
157
+ continue;
158
+ return {
159
+ theme: luminance(hexToRgb(ansi256ToHex(background))) >= 0.5 ? "light" : "dark",
160
+ source: "COLORFGBG",
161
+ detail: `background color index ${background}`,
162
+ confidence: "high",
163
+ };
164
+ }
165
+ return { theme: "dark", source: "fallback", detail: "no terminal background hint found", confidence: "low" };
166
+ }
167
+ export async function detectPiTerminalBackgroundTheme(ui, timeoutMs, environment = process.env) {
168
+ try {
169
+ const rgb = await ui.queryTerminalBackgroundColor({ timeoutMs });
170
+ if (rgb) {
171
+ return {
172
+ theme: luminance(rgb) >= 0.5 ? "light" : "dark",
173
+ source: "terminal background",
174
+ detail: `OSC 11 background rgb(${rgb.r}, ${rgb.g}, ${rgb.b})`,
175
+ confidence: "high",
176
+ };
177
+ }
178
+ }
179
+ catch { }
180
+ return detectPiTerminalBackgroundFromEnv(environment);
181
+ }
182
+ export async function detectPiTerminalThemeForAuto(ui, timeoutMs, environment = process.env) {
183
+ let scheme;
184
+ try {
185
+ scheme = ui.queryTerminalColorScheme?.({ timeoutMs });
186
+ }
187
+ catch { }
188
+ const background = detectPiTerminalBackgroundTheme(ui, timeoutMs, environment);
189
+ try {
190
+ const value = await scheme;
191
+ if (value)
192
+ return value;
193
+ }
194
+ catch { }
195
+ return (await background).theme;
196
+ }
197
+ function startPiThemeWatcher(name) {
198
+ stopPiThemeWatcher();
199
+ if (name === "dark" || name === "light")
200
+ return;
201
+ const path = themePath(name);
202
+ if (!existsSync(path))
203
+ return;
204
+ themeWatcher = watch(path, () => {
205
+ if (activeThemeName !== name)
206
+ return;
207
+ if (themeReloadTimer !== undefined)
208
+ clearTimeout(themeReloadTimer);
209
+ themeReloadTimer = setTimeout(() => {
210
+ themeReloadTimer = undefined;
211
+ if (activeThemeName !== name || !existsSync(path))
212
+ return;
213
+ try {
214
+ activeTheme = loadPiTheme(name, activeThemeMode);
215
+ notifyThemeChanged();
216
+ }
217
+ catch { }
218
+ }, 100);
219
+ });
220
+ themeWatcher.on("error", stopPiThemeWatcher);
221
+ }
222
+ function notifyThemeChanged() {
223
+ for (const listener of themeChangeListeners)
224
+ listener();
225
+ }
226
+ function themePath(name) {
227
+ if (name === "dark" || name === "light") {
228
+ return join(getPackageDir(), "dist", "modes", "interactive", "theme", `${name}.json`);
229
+ }
230
+ return join(getAgentDir(), "themes", `${name}.json`);
231
+ }
232
+ function validateThemeJson(label, value) {
233
+ if (!isRecord(value) || typeof value.name !== "string" || !isRecord(value.colors)
234
+ || (value.vars !== undefined && !isRecord(value.vars))) {
235
+ throw new Error(`Invalid theme "${label}": expected name, colors, and optional vars objects`);
236
+ }
237
+ if (value.name.includes("/"))
238
+ throw new Error(`Invalid theme name "${value.name}"`);
239
+ for (const key of FOREGROUND_COLORS) {
240
+ if (key !== "thinkingMax" && value.colors[key] === undefined)
241
+ throw new Error(`Invalid theme "${label}": missing required color ${key}`);
242
+ }
243
+ for (const key of BACKGROUND_COLORS) {
244
+ if (key !== "scrollbarThumb" && value.colors[key] === undefined)
245
+ throw new Error(`Invalid theme "${label}": missing required color ${key}`);
246
+ }
247
+ const colors = {};
248
+ for (const [key, color] of Object.entries(value.colors)) {
249
+ validateColor(color, `${label}.colors.${key}`);
250
+ colors[key] = color;
251
+ }
252
+ const vars = {};
253
+ for (const [key, color] of Object.entries(value.vars ?? {})) {
254
+ validateColor(color, `${label}.vars.${key}`);
255
+ vars[key] = color;
256
+ }
257
+ return { name: value.name, colors, ...(Object.keys(vars).length === 0 ? {} : { vars }) };
258
+ }
259
+ function validateColor(value, label) {
260
+ if (typeof value === "string")
261
+ return;
262
+ if (Number.isInteger(value) && value >= 0 && value <= 255)
263
+ return;
264
+ throw new Error(`Invalid theme color: ${label}`);
265
+ }
266
+ function resolveVariable(value, vars, visited = new Set()) {
267
+ if (typeof value === "number" || value === "" || value.startsWith("#"))
268
+ return value;
269
+ if (visited.has(value))
270
+ throw new Error(`Circular variable reference detected: ${value}`);
271
+ if (!(value in vars))
272
+ throw new Error(`Variable reference not found: ${value}`);
273
+ visited.add(value);
274
+ return resolveVariable(vars[value], vars, visited);
275
+ }
276
+ function requiredColor(colors, key, label) {
277
+ const value = colors[key];
278
+ if (value === undefined)
279
+ throw new Error(`Invalid theme "${label}": missing required color ${key}`);
280
+ return value;
281
+ }
282
+ function luminance({ r, g, b }) {
283
+ const linear = (channel) => {
284
+ const value = channel / 255;
285
+ return value <= 0.03928 ? value / 12.92 : ((value + 0.055) / 1.055) ** 2.4;
286
+ };
287
+ return 0.2126 * linear(r) + 0.7152 * linear(g) + 0.0722 * linear(b);
288
+ }
289
+ function hexToRgb(hex) {
290
+ const value = hex.slice(1);
291
+ return { r: Number.parseInt(value.slice(0, 2), 16), g: Number.parseInt(value.slice(2, 4), 16), b: Number.parseInt(value.slice(4, 6), 16) };
292
+ }
293
+ function ansi256ToHex(index) {
294
+ const basic = [
295
+ "#000000", "#800000", "#008000", "#808000", "#000080", "#800080", "#008080", "#c0c0c0",
296
+ "#808080", "#ff0000", "#00ff00", "#ffff00", "#0000ff", "#ff00ff", "#00ffff", "#ffffff",
297
+ ];
298
+ if (index < 16)
299
+ return basic[index];
300
+ if (index < 232) {
301
+ const cube = index - 16;
302
+ const toHex = (value) => (value === 0 ? 0 : 55 + value * 40).toString(16).padStart(2, "0");
303
+ return `#${toHex(Math.floor(cube / 36))}${toHex(Math.floor((cube % 36) / 6))}${toHex(cube % 6)}`;
304
+ }
305
+ const gray = (8 + (index - 232) * 10).toString(16).padStart(2, "0");
306
+ return `#${gray}${gray}${gray}`;
307
+ }
308
+ function isRecord(value) {
309
+ return typeof value === "object" && value !== null && !Array.isArray(value);
310
+ }
311
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../../../src/foundation/pi-component-adapter/upstream/theme/theme.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,343 @@
1
+ import { type ExtensionUIContext, type SessionInfo } from "@earendil-works/pi-coding-agent";
2
+ import { OWNED_UI_EXTENSION_CONTRACT_VERSION, OWNED_UI_EXTENSION_RENDER_CALLBACKS, OWNED_UI_EXTENSION_UI_CALLBACKS, OWNED_UI_EXTENSION_UI_PROPERTIES, type OwnedUiCommand, type OwnedUiCommandOutcome, type OwnedUiEvent, type OwnedUiSessionViewModel, type OwnedUiSnapshot } from "../owned-ui-contracts/index.js";
3
+ import { type PiBashWorkflowResult, type PiPinnedSettingsCallback, type PiPinnedSettingsSnapshot, type PiWorkflowAutocompleteCommand, type PiWorkflowHost, type PiWorkflowInteractionHost, type PiWorkflowOption, type PiWorkflowRequest, type PiWorkflowResult } from "./workflows.js";
4
+ export interface PiEngineRuntimeFactoryInput {
5
+ readonly cwd: string;
6
+ readonly agentDir: string;
7
+ readonly sessionId: string;
8
+ }
9
+ export interface PiScopedModelDescriptor {
10
+ readonly provider: string;
11
+ readonly id: string;
12
+ readonly name: string;
13
+ }
14
+ export interface PiScopedModelsContext {
15
+ readonly models: readonly PiScopedModelDescriptor[];
16
+ readonly enabledModelIds: readonly string[] | null;
17
+ }
18
+ export interface PiProjectTrustUpdate {
19
+ readonly path: string;
20
+ readonly decision: boolean | null;
21
+ }
22
+ export interface PiProjectTrustContext {
23
+ readonly cwd: string;
24
+ readonly savedDecision: {
25
+ readonly path: string;
26
+ readonly decision: boolean;
27
+ } | null;
28
+ readonly projectTrusted: boolean;
29
+ readonly trustOptions: readonly {
30
+ readonly label: string;
31
+ readonly trusted: boolean;
32
+ readonly updates: readonly PiProjectTrustUpdate[];
33
+ readonly savedPath?: string;
34
+ }[];
35
+ }
36
+ export interface PiTreeSelectorContext {
37
+ readonly tree: readonly unknown[];
38
+ readonly currentLeafId: string | null;
39
+ readonly filterMode: "default" | "no-tools" | "user-only" | "labeled-only" | "all";
40
+ readonly skipSummaryPrompt: boolean;
41
+ readonly appendLabelChange: (entryId: string, label: string | undefined) => void;
42
+ }
43
+ export interface PiSessionSelectorContext {
44
+ readonly currentSessionFilePath: string | undefined;
45
+ readonly loadCurrentSessions: (onProgress?: (loaded: number, total: number) => void) => Promise<SessionInfo[]>;
46
+ readonly loadAllSessions: (onProgress?: (loaded: number, total: number) => void) => Promise<SessionInfo[]>;
47
+ readonly renameSession: (sessionFilePath: string, nextName: string | undefined) => Promise<void>;
48
+ }
49
+ export interface PiScopedModelsRefreshResult extends PiScopedModelsContext {
50
+ readonly status: string;
51
+ readonly statusKind: "success" | "warning";
52
+ }
53
+ export interface PiSessionLike {
54
+ readonly sessionId: string;
55
+ readonly model: unknown;
56
+ readonly thinkingLevel: unknown;
57
+ readonly isStreaming: boolean;
58
+ readonly isIdle: boolean;
59
+ readonly isRetrying: boolean;
60
+ readonly isCompacting: boolean;
61
+ readonly messages: readonly unknown[];
62
+ readonly sessionManager?: {
63
+ getSessionName(): string | undefined;
64
+ getEntries(): readonly unknown[];
65
+ getCwd?(): string;
66
+ getSessionDir?(): string;
67
+ getSessionFile?(): string | undefined;
68
+ usesDefaultSessionDir?(): boolean;
69
+ getTree?(): readonly unknown[];
70
+ getLeafId?(): string | null | undefined;
71
+ appendLabelChange?(entryId: string, label: string | undefined): void;
72
+ };
73
+ readonly extensionRunner?: {
74
+ getCommands?(): readonly unknown[];
75
+ getMessageRenderer?(customType: string): unknown;
76
+ getToolDefinition?(toolName: string): unknown;
77
+ };
78
+ readonly scopedModels?: readonly unknown[];
79
+ readonly autoCompactionEnabled?: boolean;
80
+ readonly steeringMode?: PiPinnedSettingsSnapshot["steeringMode"];
81
+ readonly followUpMode?: PiPinnedSettingsSnapshot["followUpMode"];
82
+ getContextUsage?(): {
83
+ readonly tokens: number | null;
84
+ readonly contextWindow: number;
85
+ readonly percent: number | null;
86
+ } | undefined;
87
+ getScopedModels?(): readonly unknown[] | undefined;
88
+ setScopedModels?(models: readonly unknown[]): void;
89
+ cycleModel?(direction: "forward" | "backward"): Promise<unknown>;
90
+ getUserMessagesForForking?(): readonly unknown[];
91
+ getAvailableThinkingLevels?(): readonly unknown[];
92
+ cycleThinkingLevel?(): unknown;
93
+ setAutoCompactionEnabled?(enabled: unknown): void;
94
+ clearQueue?(): unknown;
95
+ abortBash?(): void;
96
+ executeBash?(command: string, onChunk: unknown, options: {
97
+ excludeFromContext: boolean;
98
+ }): Promise<unknown>;
99
+ exportToJsonl?(path?: string): string;
100
+ exportToHtml?(path?: string): Promise<string>;
101
+ getLastAssistantText?(): string | undefined;
102
+ setSessionName?(name: string): void;
103
+ getSessionStats?(): unknown;
104
+ navigateTree?(entryId: string, options?: {
105
+ summarize?: boolean;
106
+ customInstructions?: string;
107
+ }): Promise<unknown>;
108
+ reload?(): Promise<void>;
109
+ subscribe(listener: (event: unknown) => void): () => void;
110
+ prompt(text: string, options?: unknown): Promise<void>;
111
+ steer(text: string): Promise<void>;
112
+ followUp(text: string): Promise<void>;
113
+ abort(): Promise<void>;
114
+ abortRetry(): void;
115
+ abortCompaction(): void;
116
+ compact(customInstructions?: string): Promise<unknown>;
117
+ setModel(model: unknown): Promise<void>;
118
+ setThinkingLevel(level: unknown): void;
119
+ bindExtensions?(bindings: {
120
+ readonly uiContext?: ExtensionUIContext;
121
+ readonly mode?: "tui" | "print";
122
+ readonly shutdownHandler?: () => void | Promise<void>;
123
+ readonly onError?: (error: unknown) => void;
124
+ }): Promise<void>;
125
+ dispose(): void;
126
+ }
127
+ export interface PiServicesLike {
128
+ readonly modelRuntime: {
129
+ getModel(providerId: string, modelId: string): unknown;
130
+ isUsingSubscription?(providerId: string): boolean;
131
+ getAvailableSnapshot?(): readonly {
132
+ readonly provider?: string;
133
+ readonly id?: string;
134
+ readonly name?: string;
135
+ }[];
136
+ refresh?(options?: {
137
+ readonly signal?: AbortSignal;
138
+ }): Promise<unknown>;
139
+ getProviders?(): readonly unknown[];
140
+ getProvider?(providerId: string): unknown;
141
+ listCredentials?(options?: {
142
+ readonly signal?: AbortSignal;
143
+ }): Promise<readonly unknown[]>;
144
+ login?(providerId: string, authType: string, interaction: unknown, options?: {
145
+ readonly signal?: AbortSignal;
146
+ }): Promise<unknown>;
147
+ logout?(providerId: string, options?: {
148
+ readonly signal?: AbortSignal;
149
+ }): Promise<void>;
150
+ };
151
+ readonly settingsManager?: {
152
+ getCompactionEnabled?: () => boolean;
153
+ getEnabledModels?: () => readonly string[] | undefined;
154
+ setEnabledModels?: (patterns: string[] | undefined) => void;
155
+ isProjectTrusted?(): boolean;
156
+ setProjectTrusted?(trusted: boolean): void;
157
+ getTreeFilterMode?(): unknown;
158
+ getBranchSummarySkipPrompt?(): boolean;
159
+ setCompactionEnabled?(value: unknown): void;
160
+ getShowImages?(): unknown;
161
+ setShowImages?(value: unknown): void;
162
+ getImageWidthCells?(): unknown;
163
+ setImageWidthCells?(value: unknown): void;
164
+ getImageAutoResize?(): unknown;
165
+ setImageAutoResize?(value: unknown): void;
166
+ getBlockImages?(): unknown;
167
+ setBlockImages?(value: unknown): void;
168
+ getEnableSkillCommands?(): boolean;
169
+ setEnableSkillCommands?(value: unknown): void;
170
+ getSteeringMode?(): unknown;
171
+ setSteeringMode?(value: unknown): void;
172
+ getFollowUpMode?(): unknown;
173
+ setFollowUpMode?(value: unknown): void;
174
+ getTransport?(): unknown;
175
+ setTransport?(value: unknown): void;
176
+ getHttpIdleTimeoutMs?(): unknown;
177
+ setHttpIdleTimeoutMs?(value: unknown): void;
178
+ getTheme?(): unknown;
179
+ setTheme?(value: unknown): void;
180
+ getHideThinkingBlock?(): unknown;
181
+ setHideThinkingBlock?(value: unknown): void;
182
+ getMermaidRenderingMode?(): unknown;
183
+ setMermaidRenderingMode?(value: unknown): void;
184
+ getShowCacheMissNotices?(): unknown;
185
+ setShowCacheMissNotices?(value: unknown): void;
186
+ getCollapseChangelog?(): unknown;
187
+ setCollapseChangelog?(value: unknown): void;
188
+ getEnableInstallTelemetry?(): unknown;
189
+ setEnableInstallTelemetry?(value: unknown): void;
190
+ getQuietStartup?(): unknown;
191
+ setQuietStartup?(value: unknown): void;
192
+ getDefaultProjectTrust?(): unknown;
193
+ setDefaultProjectTrust?(value: unknown): void;
194
+ getDoubleEscapeAction?(): unknown;
195
+ setDoubleEscapeAction?(value: unknown): void;
196
+ setTreeFilterMode?(value: unknown): void;
197
+ getShowHardwareCursor?(): boolean;
198
+ setShowHardwareCursor?(value: unknown): void;
199
+ getEditorPaddingX?(): unknown;
200
+ setEditorPaddingX?(value: unknown): void;
201
+ getOutputPad?(): unknown;
202
+ setOutputPad?(value: unknown): void;
203
+ getAutocompleteMaxVisible?(): unknown;
204
+ setAutocompleteMaxVisible?(value: unknown): void;
205
+ getClearOnShrink?(): unknown;
206
+ setClearOnShrink?(value: unknown): void;
207
+ getShowTerminalProgress?(): unknown;
208
+ setShowTerminalProgress?(value: unknown): void;
209
+ getTuiMode?(): unknown;
210
+ setTuiMode?(value: unknown): void;
211
+ getFullscreenExitOutput?(): unknown;
212
+ setFullscreenExitOutput?(value: unknown): void;
213
+ getFullscreenScrollbar?(): unknown;
214
+ setFullscreenScrollbar?(value: unknown): void;
215
+ getWarnings?(): unknown;
216
+ setWarnings?(value: unknown): void;
217
+ getThemeSetting?(): unknown;
218
+ getTerminalTheme?(): unknown;
219
+ setDefaultModelAndProvider?(provider: string, model: string): void;
220
+ };
221
+ readonly resourceLoader?: {
222
+ getSkills(): unknown;
223
+ getPrompts(): unknown;
224
+ getAgentsFiles(): unknown;
225
+ getSystemPromptSource(): unknown;
226
+ getAppendSystemPromptSources(): unknown;
227
+ getExtensions?(): unknown;
228
+ getThemes?(): unknown;
229
+ };
230
+ readonly diagnostics: readonly {
231
+ readonly type: string;
232
+ readonly message: string;
233
+ }[];
234
+ }
235
+ export interface PiRuntimeLike {
236
+ readonly session: PiSessionLike;
237
+ readonly services: PiServicesLike;
238
+ readonly diagnostics: readonly {
239
+ readonly type: string;
240
+ readonly message: string;
241
+ }[];
242
+ setRebindSession(callback: (session: PiSessionLike) => Promise<void>): void;
243
+ listSessions?(): Promise<readonly unknown[]>;
244
+ newSession(options?: unknown): Promise<unknown>;
245
+ switchSession(sessionPath: string, options?: unknown): Promise<unknown>;
246
+ fork?(entryId: string, options?: {
247
+ position?: "before" | "at";
248
+ }): Promise<unknown>;
249
+ importFromJsonl?(path: string): Promise<unknown>;
250
+ dispose(): Promise<void>;
251
+ }
252
+ export type PiEngineRuntimeFactory = (input: PiEngineRuntimeFactoryInput) => Promise<PiRuntimeLike>;
253
+ export interface OwnedPiResourceSummary {
254
+ readonly kind: "skill" | "prompt-template" | "agent-context" | "system-prompt" | "theme";
255
+ readonly id: string;
256
+ readonly label: string;
257
+ readonly sourcePath: string | null;
258
+ readonly diagnostic: string | null;
259
+ }
260
+ export interface OwnedPiExtensionResourceSummary {
261
+ readonly kind: "extension";
262
+ readonly id: string;
263
+ readonly sourcePath: string | null;
264
+ readonly resolvedPath: string | null;
265
+ readonly loaded: boolean;
266
+ readonly hidden: boolean;
267
+ readonly diagnostic: string | null;
268
+ }
269
+ export interface OwnedPiVisualExtensionSupport {
270
+ readonly available: boolean;
271
+ readonly contractComplete: true;
272
+ readonly contractVersion: typeof OWNED_UI_EXTENSION_CONTRACT_VERSION;
273
+ readonly binding: "bound" | "unbound";
274
+ readonly uiCallbacks: typeof OWNED_UI_EXTENSION_UI_CALLBACKS;
275
+ readonly uiProperties: typeof OWNED_UI_EXTENSION_UI_PROPERTIES;
276
+ readonly renderCallbacks: typeof OWNED_UI_EXTENSION_RENDER_CALLBACKS;
277
+ readonly diagnostic: string;
278
+ }
279
+ export interface PiEngineAdapterOptions {
280
+ readonly cwd?: string;
281
+ readonly agentDir?: string;
282
+ readonly sessionId?: string;
283
+ readonly createRuntime?: PiEngineRuntimeFactory;
284
+ readonly workflowHost?: PiWorkflowHost;
285
+ }
286
+ export interface AdapterCommandResult {
287
+ readonly outcome: OwnedUiCommandOutcome;
288
+ readonly diagnostic: string | null;
289
+ }
290
+ export declare class PiEngineAdapter {
291
+ #private;
292
+ constructor(options?: PiEngineAdapterOptions);
293
+ setWorkflowInteractionHost(interaction: PiWorkflowInteractionHost): void;
294
+ get sessionId(): string;
295
+ get sessionGeneration(): number;
296
+ get agentDir(): string;
297
+ get disposed(): boolean;
298
+ start(): Promise<OwnedUiSessionViewModel>;
299
+ onEvent(listener: (event: OwnedUiEvent) => void): () => void;
300
+ flushEvents(): Promise<void>;
301
+ nonVisualResources(): readonly OwnedPiResourceSummary[];
302
+ extensionResources(): readonly OwnedPiExtensionResourceSummary[];
303
+ visualExtensionSupport(): OwnedPiVisualExtensionSupport;
304
+ bindExtensionUi(ui: unknown, shutdown?: () => void | Promise<void>): Promise<void>;
305
+ unbindExtensionUi(): Promise<void>;
306
+ workflowAutocompleteCommands(): readonly PiWorkflowAutocompleteCommand[];
307
+ cycleModelWorkflow(direction: "forward" | "backward"): Promise<PiWorkflowResult>;
308
+ pinnedModelSelectorContext(): {
309
+ readonly currentModel: unknown;
310
+ readonly settingsManager: unknown;
311
+ readonly modelRuntime: unknown;
312
+ readonly scopedModels: readonly unknown[];
313
+ };
314
+ pinnedProjectTrustContext(): PiProjectTrustContext;
315
+ persistProjectTrust(updates: readonly PiProjectTrustUpdate[]): void;
316
+ pinnedSessionSelectorContext(): PiSessionSelectorContext;
317
+ pinnedScopedModelsContext(): PiScopedModelsContext;
318
+ updateScopedModels(enabledModelIds: readonly string[] | null): void;
319
+ persistScopedModels(enabledModelIds: readonly string[] | null): void;
320
+ refreshScopedModels(signal: AbortSignal): Promise<PiScopedModelsRefreshResult>;
321
+ pinnedLoginOptions(authType?: "oauth" | "api_key"): readonly PiWorkflowOption[];
322
+ pinnedLoginMethodOptions(providerReference: string): {
323
+ readonly title: string;
324
+ readonly options: readonly PiWorkflowOption[];
325
+ };
326
+ pinnedLogoutOptions(): Promise<readonly PiWorkflowOption[]>;
327
+ pinnedForkOptions(): readonly PiWorkflowOption[];
328
+ pinnedTreeSelectorContext(): PiTreeSelectorContext;
329
+ pinnedSettingsSnapshot(): PiPinnedSettingsSnapshot;
330
+ pinnedMessageRenderer(customType: string): unknown;
331
+ pinnedToolDefinition(toolName: string): unknown;
332
+ clearQueuedWorkflows(): readonly string[];
333
+ abortBashWorkflow(): void;
334
+ executeBashWorkflow(command: string, excludeFromContext: boolean): Promise<PiBashWorkflowResult>;
335
+ applyPinnedSettingValue(callback: PiPinnedSettingsCallback, value: unknown): PiWorkflowResult;
336
+ executeWorkflow(request: PiWorkflowRequest): Promise<PiWorkflowResult>;
337
+ view(): OwnedUiSessionViewModel;
338
+ snapshot(): OwnedUiSnapshot;
339
+ execute(command: OwnedUiCommand): Promise<AdapterCommandResult>;
340
+ dispose(): Promise<void>;
341
+ }
342
+ export declare function createPiEngineAdapter(options?: PiEngineAdapterOptions): Promise<PiEngineAdapter>;
343
+ //# sourceMappingURL=adapter.d.ts.map