@bastani/atomic 0.9.11-alpha.2 → 0.9.11-alpha.4

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 (495) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/builtin/cursor/package.json +2 -2
  3. package/dist/builtin/intercom/package.json +1 -1
  4. package/dist/builtin/mcp/package.json +1 -1
  5. package/dist/builtin/subagents/CHANGELOG.md +6 -0
  6. package/dist/builtin/subagents/package.json +1 -1
  7. package/dist/builtin/subagents/src/runs/background/notify.ts +3 -1
  8. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +5 -2
  9. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +2 -1
  10. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +5 -2
  11. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +34 -0
  12. package/dist/builtin/web-access/package.json +1 -1
  13. package/dist/builtin/workflows/CHANGELOG.md +20 -0
  14. package/dist/builtin/workflows/builtin/goal-prompts.ts +8 -3
  15. package/dist/builtin/workflows/builtin/goal.ts +4 -4
  16. package/dist/builtin/workflows/builtin/ralph-forked-prompts.ts +1 -1
  17. package/dist/builtin/workflows/builtin/ralph-reviewer-prompt.ts +3 -1
  18. package/dist/builtin/workflows/builtin/ralph-runner.ts +2 -0
  19. package/dist/builtin/workflows/builtin/ralph.ts +4 -4
  20. package/dist/builtin/workflows/builtin/shared-prompts.ts +16 -0
  21. package/dist/builtin/workflows/package.json +2 -2
  22. package/dist/builtin/workflows/src/authoring/workflow.ts +1 -0
  23. package/dist/builtin/workflows/src/durable/dbos-lifecycle.ts +27 -1
  24. package/dist/builtin/workflows/src/durable/factory.ts +29 -3
  25. package/dist/builtin/workflows/src/durable/index.ts +2 -0
  26. package/dist/builtin/workflows/src/engine/run-durable-admission.ts +50 -0
  27. package/dist/builtin/workflows/src/engine/run.ts +12 -17
  28. package/dist/builtin/workflows/src/extension/extension-factory.ts +16 -1
  29. package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +16 -2
  30. package/dist/builtin/workflows/src/extension/index.bundle.mjs +71724 -0
  31. package/dist/builtin/workflows/src/extension/runtime.ts +5 -3
  32. package/dist/builtin/workflows/src/extension/ui-surface.ts +4 -0
  33. package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +4 -1
  34. package/dist/builtin/workflows/src/extension/workflow-prompts.ts +3 -1
  35. package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +1 -0
  36. package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +1 -0
  37. package/dist/builtin/workflows/src/shared/types.ts +7 -0
  38. package/dist/builtin/workflows/src/shared/workflow-authoring-types.d.ts +1 -0
  39. package/dist/builtin/workflows/src/shared/workflow-authoring-types.ts +1 -0
  40. package/dist/builtin/workflows/src/tui/host-input-form.ts +1 -1
  41. package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +6 -8
  42. package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +2 -0
  43. package/dist/builtin/workflows/src/tui/stage-chat-view.ts +4 -0
  44. package/dist/cli/args.d.ts +8 -0
  45. package/dist/cli/args.d.ts.map +1 -1
  46. package/dist/cli/args.js +18 -2
  47. package/dist/cli/args.js.map +1 -1
  48. package/dist/cli/config-selector.d.ts +4 -2
  49. package/dist/cli/config-selector.d.ts.map +1 -1
  50. package/dist/cli/config-selector.js +1 -1
  51. package/dist/cli/config-selector.js.map +1 -1
  52. package/dist/cli/startup-ui.d.ts +3 -0
  53. package/dist/cli/startup-ui.d.ts.map +1 -1
  54. package/dist/cli/startup-ui.js +50 -1
  55. package/dist/cli/startup-ui.js.map +1 -1
  56. package/dist/cli.js +2 -0
  57. package/dist/cli.js.map +1 -1
  58. package/dist/config-command-parser.d.ts +9 -0
  59. package/dist/config-command-parser.d.ts.map +1 -0
  60. package/dist/config-command-parser.js +22 -0
  61. package/dist/config-command-parser.js.map +1 -0
  62. package/dist/config-self-update.d.ts +6 -2
  63. package/dist/config-self-update.d.ts.map +1 -1
  64. package/dist/config-self-update.js +17 -10
  65. package/dist/config-self-update.js.map +1 -1
  66. package/dist/config.d.ts +3 -3
  67. package/dist/config.d.ts.map +1 -1
  68. package/dist/config.js +4 -4
  69. package/dist/config.js.map +1 -1
  70. package/dist/core/agent-session-export.d.ts.map +1 -1
  71. package/dist/core/agent-session-export.js +32 -25
  72. package/dist/core/agent-session-export.js.map +1 -1
  73. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  74. package/dist/core/agent-session-extension-bindings.js +9 -3
  75. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  76. package/dist/core/agent-session-prompt.d.ts.map +1 -1
  77. package/dist/core/agent-session-prompt.js +5 -0
  78. package/dist/core/agent-session-prompt.js.map +1 -1
  79. package/dist/core/agent-session-services.d.ts +2 -0
  80. package/dist/core/agent-session-services.d.ts.map +1 -1
  81. package/dist/core/agent-session-services.js +8 -5
  82. package/dist/core/agent-session-services.js.map +1 -1
  83. package/dist/core/agent-session-tree.d.ts.map +1 -1
  84. package/dist/core/agent-session-tree.js +3 -1
  85. package/dist/core/agent-session-tree.js.map +1 -1
  86. package/dist/core/agent-session-types.d.ts +5 -0
  87. package/dist/core/agent-session-types.d.ts.map +1 -1
  88. package/dist/core/agent-session-types.js.map +1 -1
  89. package/dist/core/auth-storage.d.ts +6 -2
  90. package/dist/core/auth-storage.d.ts.map +1 -1
  91. package/dist/core/auth-storage.js +5 -1
  92. package/dist/core/auth-storage.js.map +1 -1
  93. package/dist/core/cache-stats.d.ts +25 -0
  94. package/dist/core/cache-stats.d.ts.map +1 -0
  95. package/dist/core/cache-stats.js +68 -0
  96. package/dist/core/cache-stats.js.map +1 -0
  97. package/dist/core/compaction/branch-summarization.d.ts +2 -1
  98. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  99. package/dist/core/compaction/branch-summarization.js +1 -0
  100. package/dist/core/compaction/branch-summarization.js.map +1 -1
  101. package/dist/core/extensions/agent-events.d.ts +10 -0
  102. package/dist/core/extensions/agent-events.d.ts.map +1 -1
  103. package/dist/core/extensions/agent-events.js.map +1 -1
  104. package/dist/core/extensions/api-types.d.ts +8 -2
  105. package/dist/core/extensions/api-types.d.ts.map +1 -1
  106. package/dist/core/extensions/api-types.js.map +1 -1
  107. package/dist/core/extensions/event-types.d.ts +2 -2
  108. package/dist/core/extensions/event-types.d.ts.map +1 -1
  109. package/dist/core/extensions/event-types.js.map +1 -1
  110. package/dist/core/extensions/index.d.ts +1 -1
  111. package/dist/core/extensions/index.d.ts.map +1 -1
  112. package/dist/core/extensions/index.js.map +1 -1
  113. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  114. package/dist/core/extensions/loader-api.js +13 -2
  115. package/dist/core/extensions/loader-api.js.map +1 -1
  116. package/dist/core/extensions/loader-core.d.ts.map +1 -1
  117. package/dist/core/extensions/loader-core.js +1 -0
  118. package/dist/core/extensions/loader-core.js.map +1 -1
  119. package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
  120. package/dist/core/extensions/loader-runtime.js +15 -7
  121. package/dist/core/extensions/loader-runtime.js.map +1 -1
  122. package/dist/core/extensions/message-types.d.ts +5 -0
  123. package/dist/core/extensions/message-types.d.ts.map +1 -1
  124. package/dist/core/extensions/message-types.js.map +1 -1
  125. package/dist/core/extensions/provider-types.d.ts +46 -0
  126. package/dist/core/extensions/provider-types.d.ts.map +1 -1
  127. package/dist/core/extensions/provider-types.js.map +1 -1
  128. package/dist/core/extensions/runner-registries.d.ts +2 -1
  129. package/dist/core/extensions/runner-registries.d.ts.map +1 -1
  130. package/dist/core/extensions/runner-registries.js +8 -0
  131. package/dist/core/extensions/runner-registries.js.map +1 -1
  132. package/dist/core/extensions/runner.d.ts +5 -2
  133. package/dist/core/extensions/runner.d.ts.map +1 -1
  134. package/dist/core/extensions/runner.js +35 -13
  135. package/dist/core/extensions/runner.js.map +1 -1
  136. package/dist/core/extensions/runtime-types.d.ts +8 -2
  137. package/dist/core/extensions/runtime-types.d.ts.map +1 -1
  138. package/dist/core/extensions/runtime-types.js.map +1 -1
  139. package/dist/core/extensions/ui-types.d.ts +4 -0
  140. package/dist/core/extensions/ui-types.d.ts.map +1 -1
  141. package/dist/core/extensions/ui-types.js.map +1 -1
  142. package/dist/core/http-dispatcher.d.ts +1 -0
  143. package/dist/core/http-dispatcher.d.ts.map +1 -1
  144. package/dist/core/http-dispatcher.js +16 -2
  145. package/dist/core/http-dispatcher.js.map +1 -1
  146. package/dist/core/keybindings.d.ts +6 -1
  147. package/dist/core/keybindings.d.ts.map +1 -1
  148. package/dist/core/keybindings.js +3 -1
  149. package/dist/core/keybindings.js.map +1 -1
  150. package/dist/core/model-registry-auth.d.ts +2 -0
  151. package/dist/core/model-registry-auth.d.ts.map +1 -1
  152. package/dist/core/model-registry-auth.js +18 -1
  153. package/dist/core/model-registry-auth.js.map +1 -1
  154. package/dist/core/model-registry-custom-loader.d.ts.map +1 -1
  155. package/dist/core/model-registry-custom-loader.js +14 -2
  156. package/dist/core/model-registry-custom-loader.js.map +1 -1
  157. package/dist/core/model-registry-dynamic.js +2 -2
  158. package/dist/core/model-registry-dynamic.js.map +1 -1
  159. package/dist/core/model-registry-loader.d.ts.map +1 -1
  160. package/dist/core/model-registry-loader.js +2 -1
  161. package/dist/core/model-registry-loader.js.map +1 -1
  162. package/dist/core/model-registry-schemas.d.ts +17 -0
  163. package/dist/core/model-registry-schemas.d.ts.map +1 -1
  164. package/dist/core/model-registry-schemas.js +2 -0
  165. package/dist/core/model-registry-schemas.js.map +1 -1
  166. package/dist/core/model-registry-types.d.ts +10 -1
  167. package/dist/core/model-registry-types.d.ts.map +1 -1
  168. package/dist/core/model-registry-types.js.map +1 -1
  169. package/dist/core/model-registry.d.ts +26 -36
  170. package/dist/core/model-registry.d.ts.map +1 -1
  171. package/dist/core/model-registry.js +72 -67
  172. package/dist/core/model-registry.js.map +1 -1
  173. package/dist/core/model-resolver-defaults.d.ts.map +1 -1
  174. package/dist/core/model-resolver-defaults.js +3 -0
  175. package/dist/core/model-resolver-defaults.js.map +1 -1
  176. package/dist/core/model-runtime.d.ts +52 -0
  177. package/dist/core/model-runtime.d.ts.map +1 -0
  178. package/dist/core/model-runtime.js +120 -0
  179. package/dist/core/model-runtime.js.map +1 -0
  180. package/dist/core/oauth-provider-bridge.d.ts +3 -1
  181. package/dist/core/oauth-provider-bridge.d.ts.map +1 -1
  182. package/dist/core/oauth-provider-bridge.js +6 -4
  183. package/dist/core/oauth-provider-bridge.js.map +1 -1
  184. package/dist/core/package-manager-resolver.js +22 -11
  185. package/dist/core/package-manager-resolver.js.map +1 -1
  186. package/dist/core/package-manager-resource-collector.d.ts.map +1 -1
  187. package/dist/core/package-manager-resource-collector.js +8 -2
  188. package/dist/core/package-manager-resource-collector.js.map +1 -1
  189. package/dist/core/package-manager-resource-patterns.d.ts +1 -0
  190. package/dist/core/package-manager-resource-patterns.d.ts.map +1 -1
  191. package/dist/core/package-manager-resource-patterns.js +15 -0
  192. package/dist/core/package-manager-resource-patterns.js.map +1 -1
  193. package/dist/core/package-manager-source.d.ts.map +1 -1
  194. package/dist/core/package-manager-source.js +15 -8
  195. package/dist/core/package-manager-source.js.map +1 -1
  196. package/dist/core/package-manager-types.d.ts +1 -0
  197. package/dist/core/package-manager-types.d.ts.map +1 -1
  198. package/dist/core/package-manager-types.js.map +1 -1
  199. package/dist/core/provider-display-names.d.ts.map +1 -1
  200. package/dist/core/provider-display-names.js +4 -0
  201. package/dist/core/provider-display-names.js.map +1 -1
  202. package/dist/core/resource-loader-core.d.ts.map +1 -1
  203. package/dist/core/resource-loader-core.js.map +1 -1
  204. package/dist/core/resource-loader-extensions.d.ts.map +1 -1
  205. package/dist/core/resource-loader-extensions.js +5 -2
  206. package/dist/core/resource-loader-extensions.js.map +1 -1
  207. package/dist/core/resource-loader-helpers.d.ts.map +1 -1
  208. package/dist/core/resource-loader-helpers.js +1 -0
  209. package/dist/core/resource-loader-helpers.js.map +1 -1
  210. package/dist/core/resource-loader-internals.d.ts +2 -2
  211. package/dist/core/resource-loader-internals.d.ts.map +1 -1
  212. package/dist/core/resource-loader-internals.js.map +1 -1
  213. package/dist/core/resource-loader-types.d.ts +3 -3
  214. package/dist/core/resource-loader-types.d.ts.map +1 -1
  215. package/dist/core/resource-loader-types.js.map +1 -1
  216. package/dist/core/sdk-exports.d.ts +1 -1
  217. package/dist/core/sdk-exports.d.ts.map +1 -1
  218. package/dist/core/sdk-exports.js.map +1 -1
  219. package/dist/core/sdk-types.d.ts +3 -0
  220. package/dist/core/sdk-types.d.ts.map +1 -1
  221. package/dist/core/sdk-types.js.map +1 -1
  222. package/dist/core/sdk.js +6 -2
  223. package/dist/core/sdk.js.map +1 -1
  224. package/dist/core/session-manager-core.d.ts +1 -1
  225. package/dist/core/session-manager-core.d.ts.map +1 -1
  226. package/dist/core/session-manager-core.js +2 -2
  227. package/dist/core/session-manager-core.js.map +1 -1
  228. package/dist/core/session-manager-entries.d.ts +2 -2
  229. package/dist/core/session-manager-entries.d.ts.map +1 -1
  230. package/dist/core/session-manager-entries.js +2 -1
  231. package/dist/core/session-manager-entries.js.map +1 -1
  232. package/dist/core/session-manager-history.d.ts +5 -0
  233. package/dist/core/session-manager-history.d.ts.map +1 -1
  234. package/dist/core/session-manager-history.js +33 -0
  235. package/dist/core/session-manager-history.js.map +1 -1
  236. package/dist/core/session-manager-types.d.ts +4 -2
  237. package/dist/core/session-manager-types.d.ts.map +1 -1
  238. package/dist/core/session-manager-types.js.map +1 -1
  239. package/dist/core/session-manager.d.ts +1 -1
  240. package/dist/core/session-manager.d.ts.map +1 -1
  241. package/dist/core/session-manager.js +1 -1
  242. package/dist/core/session-manager.js.map +1 -1
  243. package/dist/core/settings-manager-basic-accessors.d.ts +7 -0
  244. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
  245. package/dist/core/settings-manager-basic-accessors.js +35 -0
  246. package/dist/core/settings-manager-basic-accessors.js.map +1 -1
  247. package/dist/core/settings-manager-resource-accessors.d.ts +3 -0
  248. package/dist/core/settings-manager-resource-accessors.d.ts.map +1 -1
  249. package/dist/core/settings-manager-resource-accessors.js +16 -0
  250. package/dist/core/settings-manager-resource-accessors.js.map +1 -1
  251. package/dist/core/settings-types.d.ts +8 -2
  252. package/dist/core/settings-types.d.ts.map +1 -1
  253. package/dist/core/settings-types.js.map +1 -1
  254. package/dist/core/slash-commands.d.ts +1 -0
  255. package/dist/core/slash-commands.d.ts.map +1 -1
  256. package/dist/core/slash-commands.js +1 -1
  257. package/dist/core/slash-commands.js.map +1 -1
  258. package/dist/core/usage-totals.d.ts +18 -0
  259. package/dist/core/usage-totals.d.ts.map +1 -0
  260. package/dist/core/usage-totals.js +40 -0
  261. package/dist/core/usage-totals.js.map +1 -0
  262. package/dist/extensions/index.d.ts +3 -0
  263. package/dist/extensions/index.d.ts.map +1 -0
  264. package/dist/extensions/index.js +5 -0
  265. package/dist/extensions/index.js.map +1 -0
  266. package/dist/extensions/llama/client.d.ts +61 -0
  267. package/dist/extensions/llama/client.d.ts.map +1 -0
  268. package/dist/extensions/llama/client.js +300 -0
  269. package/dist/extensions/llama/client.js.map +1 -0
  270. package/dist/extensions/llama/huggingface-ui.d.ts +33 -0
  271. package/dist/extensions/llama/huggingface-ui.d.ts.map +1 -0
  272. package/dist/extensions/llama/huggingface-ui.js +166 -0
  273. package/dist/extensions/llama/huggingface-ui.js.map +1 -0
  274. package/dist/extensions/llama/huggingface.d.ts +23 -0
  275. package/dist/extensions/llama/huggingface.d.ts.map +1 -0
  276. package/dist/extensions/llama/huggingface.js +139 -0
  277. package/dist/extensions/llama/huggingface.js.map +1 -0
  278. package/dist/extensions/llama/index.d.ts +3 -0
  279. package/dist/extensions/llama/index.d.ts.map +1 -0
  280. package/dist/extensions/llama/index.js +208 -0
  281. package/dist/extensions/llama/index.js.map +1 -0
  282. package/dist/extensions/llama/provider.d.ts +11 -0
  283. package/dist/extensions/llama/provider.d.ts.map +1 -0
  284. package/dist/extensions/llama/provider.js +93 -0
  285. package/dist/extensions/llama/provider.js.map +1 -0
  286. package/dist/extensions/llama/ui.d.ts +42 -0
  287. package/dist/extensions/llama/ui.d.ts.map +1 -0
  288. package/dist/extensions/llama/ui.js +237 -0
  289. package/dist/extensions/llama/ui.js.map +1 -0
  290. package/dist/index-extensions.d.ts +1 -1
  291. package/dist/index-extensions.d.ts.map +1 -1
  292. package/dist/index-extensions.js.map +1 -1
  293. package/dist/index.d.ts +4 -3
  294. package/dist/index.d.ts.map +1 -1
  295. package/dist/index.js +4 -3
  296. package/dist/index.js.map +1 -1
  297. package/dist/main-first-time-setup.d.ts +6 -0
  298. package/dist/main-first-time-setup.d.ts.map +1 -0
  299. package/dist/main-first-time-setup.js +10 -0
  300. package/dist/main-first-time-setup.js.map +1 -0
  301. package/dist/main-types.d.ts +2 -2
  302. package/dist/main-types.d.ts.map +1 -1
  303. package/dist/main-types.js.map +1 -1
  304. package/dist/main.d.ts.map +1 -1
  305. package/dist/main.js +17 -7
  306. package/dist/main.js.map +1 -1
  307. package/dist/modes/interactive/chat-input-actions.d.ts.map +1 -1
  308. package/dist/modes/interactive/chat-input-actions.js +14 -2
  309. package/dist/modes/interactive/chat-input-actions.js.map +1 -1
  310. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
  311. package/dist/modes/interactive/components/chat-session-host-rendering.js +5 -1
  312. package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
  313. package/dist/modes/interactive/components/config-selector-list.d.ts +6 -6
  314. package/dist/modes/interactive/components/config-selector-list.d.ts.map +1 -1
  315. package/dist/modes/interactive/components/config-selector-list.js +64 -125
  316. package/dist/modes/interactive/components/config-selector-list.js.map +1 -1
  317. package/dist/modes/interactive/components/config-selector-project-scope.d.ts +4 -0
  318. package/dist/modes/interactive/components/config-selector-project-scope.d.ts.map +1 -0
  319. package/dist/modes/interactive/components/config-selector-project-scope.js +61 -0
  320. package/dist/modes/interactive/components/config-selector-project-scope.js.map +1 -0
  321. package/dist/modes/interactive/components/config-selector.d.ts +8 -5
  322. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  323. package/dist/modes/interactive/components/config-selector.js +46 -22
  324. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  325. package/dist/modes/interactive/components/custom-entry.d.ts +16 -0
  326. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
  327. package/dist/modes/interactive/components/custom-entry.js +45 -0
  328. package/dist/modes/interactive/components/custom-entry.js.map +1 -0
  329. package/dist/modes/interactive/components/first-time-setup.d.ts +24 -0
  330. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
  331. package/dist/modes/interactive/components/first-time-setup.js +69 -0
  332. package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
  333. package/dist/modes/interactive/components/footer.d.ts +7 -1
  334. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  335. package/dist/modes/interactive/components/footer.js +55 -27
  336. package/dist/modes/interactive/components/footer.js.map +1 -1
  337. package/dist/modes/interactive/components/host-input-form.d.ts +2 -0
  338. package/dist/modes/interactive/components/host-input-form.d.ts.map +1 -1
  339. package/dist/modes/interactive/components/host-input-form.js +6 -3
  340. package/dist/modes/interactive/components/host-input-form.js.map +1 -1
  341. package/dist/modes/interactive/components/idle-status.d.ts +8 -0
  342. package/dist/modes/interactive/components/idle-status.d.ts.map +1 -0
  343. package/dist/modes/interactive/components/idle-status.js +13 -0
  344. package/dist/modes/interactive/components/idle-status.js.map +1 -0
  345. package/dist/modes/interactive/components/index.d.ts +3 -0
  346. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  347. package/dist/modes/interactive/components/index.js +3 -0
  348. package/dist/modes/interactive/components/index.js.map +1 -1
  349. package/dist/modes/interactive/components/login-dialog.d.ts +5 -5
  350. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  351. package/dist/modes/interactive/components/login-dialog.js +14 -6
  352. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  353. package/dist/modes/interactive/components/oauth-selector.d.ts +1 -1
  354. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  355. package/dist/modes/interactive/components/oauth-selector.js +10 -6
  356. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  357. package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -1
  358. package/dist/modes/interactive/components/settings-selector-handlers.js +6 -0
  359. package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -1
  360. package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -1
  361. package/dist/modes/interactive/components/settings-selector-items.js +14 -0
  362. package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
  363. package/dist/modes/interactive/components/settings-selector-types.d.ts +4 -0
  364. package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -1
  365. package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
  366. package/dist/modes/interactive/interactive-agent-events.js +21 -0
  367. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  368. package/dist/modes/interactive/interactive-auth-login.js +17 -8
  369. package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
  370. package/dist/modes/interactive/interactive-auth-routing.d.ts +2 -0
  371. package/dist/modes/interactive/interactive-auth-routing.d.ts.map +1 -1
  372. package/dist/modes/interactive/interactive-auth-routing.js +88 -40
  373. package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
  374. package/dist/modes/interactive/interactive-autocomplete.js +6 -0
  375. package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
  376. package/dist/modes/interactive/interactive-extension-runtime.js +4 -0
  377. package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
  378. package/dist/modes/interactive/interactive-global-clear.d.ts +10 -2
  379. package/dist/modes/interactive/interactive-global-clear.d.ts.map +1 -1
  380. package/dist/modes/interactive/interactive-global-clear.js +3 -1
  381. package/dist/modes/interactive/interactive-global-clear.js.map +1 -1
  382. package/dist/modes/interactive/interactive-input-handling.js +6 -4
  383. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  384. package/dist/modes/interactive/interactive-mode-helpers.d.ts +2 -1
  385. package/dist/modes/interactive/interactive-mode-helpers.d.ts.map +1 -1
  386. package/dist/modes/interactive/interactive-mode-helpers.js +6 -10
  387. package/dist/modes/interactive/interactive-mode-helpers.js.map +1 -1
  388. package/dist/modes/interactive/interactive-mode-surface.d.ts +11 -2
  389. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  390. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  391. package/dist/modes/interactive/interactive-render-chat.js +69 -12
  392. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  393. package/dist/modes/interactive/interactive-resource-rendering.js +1 -1
  394. package/dist/modes/interactive/interactive-resource-rendering.js.map +1 -1
  395. package/dist/modes/interactive/interactive-selectors.js +10 -0
  396. package/dist/modes/interactive/interactive-selectors.js.map +1 -1
  397. package/dist/modes/interactive/interactive-session-routing.js +3 -0
  398. package/dist/modes/interactive/interactive-session-routing.js.map +1 -1
  399. package/dist/modes/interactive/interactive-slash-commands.js +14 -0
  400. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
  401. package/dist/modes/interactive/login-provider-options.d.ts +21 -0
  402. package/dist/modes/interactive/login-provider-options.d.ts.map +1 -0
  403. package/dist/modes/interactive/login-provider-options.js +51 -0
  404. package/dist/modes/interactive/login-provider-options.js.map +1 -0
  405. package/dist/modes/interactive-engine/engine-input-form.d.ts +1 -1
  406. package/dist/modes/interactive-engine/engine-input-form.d.ts.map +1 -1
  407. package/dist/modes/interactive-engine/engine-input-form.js +10 -2
  408. package/dist/modes/interactive-engine/engine-input-form.js.map +1 -1
  409. package/dist/modes/interactive-engine/engine-monitor.d.ts +8 -1
  410. package/dist/modes/interactive-engine/engine-monitor.d.ts.map +1 -1
  411. package/dist/modes/interactive-engine/engine-monitor.js +13 -15
  412. package/dist/modes/interactive-engine/engine-monitor.js.map +1 -1
  413. package/dist/modes/interactive-engine/input-form-host.d.ts.map +1 -1
  414. package/dist/modes/interactive-engine/input-form-host.js +7 -2
  415. package/dist/modes/interactive-engine/input-form-host.js.map +1 -1
  416. package/dist/modes/interactive-engine/isolated-runtime.js +1 -1
  417. package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
  418. package/dist/modes/interactive-engine/protocol.d.ts +5 -0
  419. package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
  420. package/dist/modes/interactive-engine/protocol.js +9 -1
  421. package/dist/modes/interactive-engine/protocol.js.map +1 -1
  422. package/dist/modes/interactive-engine/remote-model-catalog.d.ts +2 -0
  423. package/dist/modes/interactive-engine/remote-model-catalog.d.ts.map +1 -1
  424. package/dist/modes/interactive-engine/remote-model-catalog.js +33 -0
  425. package/dist/modes/interactive-engine/remote-model-catalog.js.map +1 -1
  426. package/dist/modes/rpc/rpc-client-api.d.ts +3 -1
  427. package/dist/modes/rpc/rpc-client-api.d.ts.map +1 -1
  428. package/dist/modes/rpc/rpc-client-api.js +15 -0
  429. package/dist/modes/rpc/rpc-client-api.js.map +1 -1
  430. package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
  431. package/dist/modes/rpc/rpc-client-process.js +3 -0
  432. package/dist/modes/rpc/rpc-client-process.js.map +1 -1
  433. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  434. package/dist/modes/rpc/rpc-client.js +1 -0
  435. package/dist/modes/rpc/rpc-client.js.map +1 -1
  436. package/dist/modes/rpc/rpc-command-handler.d.ts +5 -1
  437. package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
  438. package/dist/modes/rpc/rpc-command-handler.js +62 -2
  439. package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
  440. package/dist/modes/rpc/rpc-extension-ui.d.ts +3 -1
  441. package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -1
  442. package/dist/modes/rpc/rpc-extension-ui.js +7 -2
  443. package/dist/modes/rpc/rpc-extension-ui.js.map +1 -1
  444. package/dist/modes/rpc/rpc-input-scheduler.d.ts.map +1 -1
  445. package/dist/modes/rpc/rpc-input-scheduler.js +1 -0
  446. package/dist/modes/rpc/rpc-input-scheduler.js.map +1 -1
  447. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  448. package/dist/modes/rpc/rpc-mode.js +1 -0
  449. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  450. package/dist/modes/rpc/rpc-session-binding.d.ts +1 -0
  451. package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
  452. package/dist/modes/rpc/rpc-session-binding.js +66 -43
  453. package/dist/modes/rpc/rpc-session-binding.js.map +1 -1
  454. package/dist/modes/rpc/rpc-types.d.ts +31 -0
  455. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  456. package/dist/modes/rpc/rpc-types.js.map +1 -1
  457. package/dist/package-manager-cli.d.ts +3 -3
  458. package/dist/package-manager-cli.d.ts.map +1 -1
  459. package/dist/package-manager-cli.js +55 -51
  460. package/dist/package-manager-cli.js.map +1 -1
  461. package/dist/rpc-entry.js +6 -2
  462. package/dist/rpc-entry.js.map +1 -1
  463. package/dist/self-update-plan.d.ts +12 -0
  464. package/dist/self-update-plan.d.ts.map +1 -0
  465. package/dist/self-update-plan.js +42 -0
  466. package/dist/self-update-plan.js.map +1 -0
  467. package/dist/utils/clipboard-native.d.ts +1 -0
  468. package/dist/utils/clipboard-native.d.ts.map +1 -1
  469. package/dist/utils/clipboard-native.js.map +1 -1
  470. package/dist/utils/clipboard.d.ts +3 -0
  471. package/dist/utils/clipboard.d.ts.map +1 -1
  472. package/dist/utils/clipboard.js +10 -0
  473. package/dist/utils/clipboard.js.map +1 -1
  474. package/dist/utils/compile-cache.d.ts +8 -0
  475. package/dist/utils/compile-cache.d.ts.map +1 -0
  476. package/dist/utils/compile-cache.js +31 -0
  477. package/dist/utils/compile-cache.js.map +1 -0
  478. package/dist/utils/version-check.d.ts +1 -0
  479. package/dist/utils/version-check.d.ts.map +1 -1
  480. package/dist/utils/version-check.js +3 -3
  481. package/dist/utils/version-check.js.map +1 -1
  482. package/docs/docs.json +2 -1
  483. package/docs/extensions.md +56 -4
  484. package/docs/keybindings.md +3 -0
  485. package/docs/llama-cpp.md +70 -0
  486. package/docs/models.md +8 -3
  487. package/docs/packages.md +4 -2
  488. package/docs/providers.md +37 -3
  489. package/docs/sdk.md +18 -0
  490. package/docs/settings.md +19 -3
  491. package/docs/tui.md +2 -0
  492. package/docs/usage.md +7 -0
  493. package/docs/workflows.md +34 -11
  494. package/npm-shrinkwrap.json +23 -23
  495. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"settings-manager-resource-accessors.js","sourceRoot":"","sources":["../../src/core/settings-manager-resource-accessors.ts"],"names":[],"mappings":"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","sourcesContent":["import { SettingsManager } from \"./settings-manager-core.ts\";\nimport { settingsInternals } from \"./settings-manager-internals.ts\";\nimport type { DefaultProjectTrust, PackageSource, ThinkingBudgetsSettings } from \"./settings-types.ts\";\n\ninterface SettingsManagerResourceAccessors {\n\tgetHideThinkingBlock(): boolean;\n\tgetExternalEditorCommand(): string | undefined;\n\tsetHideThinkingBlock(hide: boolean): void;\n\tgetShellPath(): string | undefined;\n\tsetShellPath(path: string | undefined): void;\n\tgetDefaultProjectTrust(): DefaultProjectTrust;\n\tsetDefaultProjectTrust(defaultProjectTrust: DefaultProjectTrust): void;\n\tgetQuietStartup(): boolean;\n\tsetQuietStartup(quiet: boolean): void;\n\tgetShellCommandPrefix(): string | undefined;\n\tsetShellCommandPrefix(prefix: string | undefined): void;\n\tgetBashInterceptorEnabled(): boolean;\n\tsetBashInterceptorEnabled(enabled: boolean): void;\n\tgetSearchContextBefore(): number;\n\tgetSearchContextAfter(): number;\n\tgetNpmCommand(): string[] | undefined;\n\tsetNpmCommand(command: string[] | undefined): void;\n\tgetCollapseChangelog(): boolean;\n\tsetCollapseChangelog(collapse: boolean): void;\n\tgetEnableInstallTelemetry(): boolean;\n\tsetEnableInstallTelemetry(enabled: boolean): void;\n\tgetPackages(): PackageSource[];\n\tsetPackages(packages: PackageSource[]): void;\n\tsetProjectPackages(packages: PackageSource[]): void;\n\tgetExtensionPaths(): string[];\n\tsetExtensionPaths(paths: string[]): void;\n\tsetProjectExtensionPaths(paths: string[]): void;\n\tgetSkillPaths(): string[];\n\tsetSkillPaths(paths: string[]): void;\n\tsetProjectSkillPaths(paths: string[]): void;\n\tgetPromptTemplatePaths(): string[];\n\tsetPromptTemplatePaths(paths: string[]): void;\n\tsetProjectPromptTemplatePaths(paths: string[]): void;\n\tgetThemePaths(): string[];\n\tsetThemePaths(paths: string[]): void;\n\tsetProjectThemePaths(paths: string[]): void;\n\tgetEnableSkillCommands(): boolean;\n\tsetEnableSkillCommands(enabled: boolean): void;\n\tgetThinkingBudgets(): ThinkingBudgetsSettings | undefined;\n}\n\ndeclare module \"./settings-manager-core.ts\" {\n\tinterface SettingsManager extends SettingsManagerResourceAccessors {}\n}\n\nconst resourceAccessors: SettingsManagerResourceAccessors = {\n\tgetHideThinkingBlock() {\n\t\treturn settingsInternals(this).settings.hideThinkingBlock ?? false;\n\t},\n\n\tgetExternalEditorCommand() {\n\t\tconst configuredEditor = settingsInternals(this).settings.externalEditor;\n\t\tif (typeof configuredEditor === \"string\" && configuredEditor.trim() !== \"\") {\n\t\t\treturn configuredEditor;\n\t\t}\n\t\tconst environmentEditor = process.env.VISUAL || process.env.EDITOR;\n\t\tif (environmentEditor) {\n\t\t\treturn environmentEditor;\n\t\t}\n\t\treturn process.platform === \"win32\" ? \"notepad\" : \"nano\";\n\t},\n\n\tsetHideThinkingBlock(hide) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.hideThinkingBlock = hide;\n\t\tstate.markModified(\"hideThinkingBlock\");\n\t\tstate.save();\n\t},\n\n\tgetShellPath() {\n\t\treturn settingsInternals(this).settings.shellPath;\n\t},\n\n\tsetShellPath(path) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.shellPath = path;\n\t\tstate.markModified(\"shellPath\");\n\t\tstate.save();\n\t},\n\n\tgetDefaultProjectTrust() {\n\t\tconst value = settingsInternals(this).globalSettings.defaultProjectTrust;\n\t\treturn value === \"always\" || value === \"never\" ? value : \"ask\";\n\t},\n\n\tsetDefaultProjectTrust(defaultProjectTrust) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.defaultProjectTrust = defaultProjectTrust;\n\t\tstate.markModified(\"defaultProjectTrust\");\n\t\tstate.save();\n\t},\n\n\tgetQuietStartup() {\n\t\treturn settingsInternals(this).settings.quietStartup ?? false;\n\t},\n\n\tsetQuietStartup(quiet) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.quietStartup = quiet;\n\t\tstate.markModified(\"quietStartup\");\n\t\tstate.save();\n\t},\n\n\tgetShellCommandPrefix() {\n\t\treturn settingsInternals(this).settings.shellCommandPrefix;\n\t},\n\n\tsetShellCommandPrefix(prefix) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.shellCommandPrefix = prefix;\n\t\tstate.markModified(\"shellCommandPrefix\");\n\t\tstate.save();\n\t},\n\n\tgetBashInterceptorEnabled() {\n\t\treturn settingsInternals(this).settings.bashInterceptor?.enabled ?? false;\n\t},\n\n\tsetBashInterceptorEnabled(enabled) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.bashInterceptor = { ...(state.globalSettings.bashInterceptor ?? {}), enabled };\n\t\tstate.markModified(\"bashInterceptor\");\n\t\tstate.save();\n\t},\n\n\tgetSearchContextBefore() {\n\t\treturn settingsInternals(this).settings.search?.contextBefore ?? 1;\n\t},\n\n\tgetSearchContextAfter() {\n\t\treturn settingsInternals(this).settings.search?.contextAfter ?? 3;\n\t},\n\n\tgetNpmCommand() {\n\t\tconst command = settingsInternals(this).settings.npmCommand;\n\t\treturn command ? [...command] : undefined;\n\t},\n\n\tsetNpmCommand(command) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.npmCommand = command ? [...command] : undefined;\n\t\tstate.markModified(\"npmCommand\");\n\t\tstate.save();\n\t},\n\n\tgetCollapseChangelog() {\n\t\treturn settingsInternals(this).settings.collapseChangelog ?? false;\n\t},\n\n\tsetCollapseChangelog(collapse) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.collapseChangelog = collapse;\n\t\tstate.markModified(\"collapseChangelog\");\n\t\tstate.save();\n\t},\n\n\tgetEnableInstallTelemetry() {\n\t\treturn settingsInternals(this).settings.enableInstallTelemetry ?? true;\n\t},\n\n\tsetEnableInstallTelemetry(enabled) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.enableInstallTelemetry = enabled;\n\t\tstate.markModified(\"enableInstallTelemetry\");\n\t\tstate.save();\n\t},\n\n\tgetPackages() {\n\t\treturn [...(settingsInternals(this).settings.packages ?? [])];\n\t},\n\n\tsetPackages(packages) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.packages = packages;\n\t\tstate.markModified(\"packages\");\n\t\tstate.save();\n\t},\n\n\tsetProjectPackages(packages) {\n\t\tconst state = settingsInternals(this);\n\t\tconst projectSettings = structuredClone(state.projectSettings);\n\t\tprojectSettings.packages = packages;\n\t\tstate.markProjectModified(\"packages\");\n\t\tstate.saveProjectSettings(projectSettings);\n\t},\n\n\tgetExtensionPaths() {\n\t\treturn [...(settingsInternals(this).settings.extensions ?? [])];\n\t},\n\n\tsetExtensionPaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.extensions = paths;\n\t\tstate.markModified(\"extensions\");\n\t\tstate.save();\n\t},\n\n\tsetProjectExtensionPaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tconst projectSettings = structuredClone(state.projectSettings);\n\t\tprojectSettings.extensions = paths;\n\t\tstate.markProjectModified(\"extensions\");\n\t\tstate.saveProjectSettings(projectSettings);\n\t},\n\n\tgetSkillPaths() {\n\t\treturn [...(settingsInternals(this).settings.skills ?? [])];\n\t},\n\n\tsetSkillPaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.skills = paths;\n\t\tstate.markModified(\"skills\");\n\t\tstate.save();\n\t},\n\n\tsetProjectSkillPaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tconst projectSettings = structuredClone(state.projectSettings);\n\t\tprojectSettings.skills = paths;\n\t\tstate.markProjectModified(\"skills\");\n\t\tstate.saveProjectSettings(projectSettings);\n\t},\n\n\tgetPromptTemplatePaths() {\n\t\treturn [...(settingsInternals(this).settings.prompts ?? [])];\n\t},\n\n\tsetPromptTemplatePaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.prompts = paths;\n\t\tstate.markModified(\"prompts\");\n\t\tstate.save();\n\t},\n\n\tsetProjectPromptTemplatePaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tconst projectSettings = structuredClone(state.projectSettings);\n\t\tprojectSettings.prompts = paths;\n\t\tstate.markProjectModified(\"prompts\");\n\t\tstate.saveProjectSettings(projectSettings);\n\t},\n\n\tgetThemePaths() {\n\t\treturn [...(settingsInternals(this).settings.themes ?? [])];\n\t},\n\n\tsetThemePaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.themes = paths;\n\t\tstate.markModified(\"themes\");\n\t\tstate.save();\n\t},\n\n\tsetProjectThemePaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tconst projectSettings = structuredClone(state.projectSettings);\n\t\tprojectSettings.themes = paths;\n\t\tstate.markProjectModified(\"themes\");\n\t\tstate.saveProjectSettings(projectSettings);\n\t},\n\n\tgetEnableSkillCommands() {\n\t\treturn settingsInternals(this).settings.enableSkillCommands ?? true;\n\t},\n\n\tsetEnableSkillCommands(enabled) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.enableSkillCommands = enabled;\n\t\tstate.markModified(\"enableSkillCommands\");\n\t\tstate.save();\n\t},\n\n\tgetThinkingBudgets() {\n\t\treturn settingsInternals(this).settings.thinkingBudgets;\n\t},\n};\n\nObject.assign(SettingsManager.prototype, resourceAccessors);\n"]}
1
+ {"version":3,"file":"settings-manager-resource-accessors.js","sourceRoot":"","sources":["../../src/core/settings-manager-resource-accessors.ts"],"names":[],"mappings":"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","sourcesContent":["import { SettingsManager } from \"./settings-manager-core.ts\";\nimport { settingsInternals } from \"./settings-manager-internals.ts\";\nimport type { DefaultProjectTrust, PackageSource, ThinkingBudgetsSettings } from \"./settings-types.ts\";\n\ninterface SettingsManagerResourceAccessors {\n\tgetHideThinkingBlock(): boolean;\n\tgetExternalEditorCommand(): string | undefined;\n\tsetHideThinkingBlock(hide: boolean): void;\n\tgetShellPath(): string | undefined;\n\tsetShellPath(path: string | undefined): void;\n\tgetDefaultProjectTrust(): DefaultProjectTrust;\n\tsetDefaultProjectTrust(defaultProjectTrust: DefaultProjectTrust): void;\n\tgetQuietStartup(): boolean;\n\tsetQuietStartup(quiet: boolean): void;\n\tgetShellCommandPrefix(): string | undefined;\n\tsetShellCommandPrefix(prefix: string | undefined): void;\n\tgetBashInterceptorEnabled(): boolean;\n\tsetBashInterceptorEnabled(enabled: boolean): void;\n\tgetSearchContextBefore(): number;\n\tgetSearchContextAfter(): number;\n\tgetNpmCommand(): string[] | undefined;\n\tsetNpmCommand(command: string[] | undefined): void;\n\tgetCollapseChangelog(): boolean;\n\tsetCollapseChangelog(collapse: boolean): void;\n\tgetEnableInstallTelemetry(): boolean;\n\tsetEnableInstallTelemetry(enabled: boolean): void;\n\tgetPackages(): PackageSource[];\n\tsetPackages(packages: PackageSource[]): void;\n\tsetProjectPackages(packages: PackageSource[]): void;\n\tgetExtensionPaths(): string[];\n\tsetExtensionPaths(paths: string[]): void;\n\tsetProjectExtensionPaths(paths: string[]): void;\n\tgetSkillPaths(): string[];\n\tsetSkillPaths(paths: string[]): void;\n\tsetProjectSkillPaths(paths: string[]): void;\n\tgetPromptTemplatePaths(): string[];\n\tsetPromptTemplatePaths(paths: string[]): void;\n\tsetProjectPromptTemplatePaths(paths: string[]): void;\n\tgetThemePaths(): string[];\n\tsetThemePaths(paths: string[]): void;\n\tsetProjectThemePaths(paths: string[]): void;\n\tgetWorkflowPaths(): string[];\n\tsetWorkflowPaths(paths: string[]): void;\n\tsetProjectWorkflowPaths(paths: string[]): void;\n\tgetEnableSkillCommands(): boolean;\n\tsetEnableSkillCommands(enabled: boolean): void;\n\tgetThinkingBudgets(): ThinkingBudgetsSettings | undefined;\n}\n\ndeclare module \"./settings-manager-core.ts\" {\n\tinterface SettingsManager extends SettingsManagerResourceAccessors {}\n}\n\nconst resourceAccessors: SettingsManagerResourceAccessors = {\n\tgetHideThinkingBlock() {\n\t\treturn settingsInternals(this).settings.hideThinkingBlock ?? false;\n\t},\n\n\tgetExternalEditorCommand() {\n\t\tconst configuredEditor = settingsInternals(this).settings.externalEditor;\n\t\tif (typeof configuredEditor === \"string\" && configuredEditor.trim() !== \"\") {\n\t\t\treturn configuredEditor;\n\t\t}\n\t\tconst environmentEditor = process.env.VISUAL || process.env.EDITOR;\n\t\tif (environmentEditor) {\n\t\t\treturn environmentEditor;\n\t\t}\n\t\treturn process.platform === \"win32\" ? \"notepad\" : \"nano\";\n\t},\n\n\tsetHideThinkingBlock(hide) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.hideThinkingBlock = hide;\n\t\tstate.markModified(\"hideThinkingBlock\");\n\t\tstate.save();\n\t},\n\n\tgetShellPath() {\n\t\treturn settingsInternals(this).settings.shellPath;\n\t},\n\n\tsetShellPath(path) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.shellPath = path;\n\t\tstate.markModified(\"shellPath\");\n\t\tstate.save();\n\t},\n\n\tgetDefaultProjectTrust() {\n\t\tconst value = settingsInternals(this).globalSettings.defaultProjectTrust;\n\t\treturn value === \"always\" || value === \"never\" ? value : \"ask\";\n\t},\n\n\tsetDefaultProjectTrust(defaultProjectTrust) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.defaultProjectTrust = defaultProjectTrust;\n\t\tstate.markModified(\"defaultProjectTrust\");\n\t\tstate.save();\n\t},\n\n\tgetQuietStartup() {\n\t\treturn settingsInternals(this).settings.quietStartup ?? false;\n\t},\n\n\tsetQuietStartup(quiet) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.quietStartup = quiet;\n\t\tstate.markModified(\"quietStartup\");\n\t\tstate.save();\n\t},\n\n\tgetShellCommandPrefix() {\n\t\treturn settingsInternals(this).settings.shellCommandPrefix;\n\t},\n\n\tsetShellCommandPrefix(prefix) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.shellCommandPrefix = prefix;\n\t\tstate.markModified(\"shellCommandPrefix\");\n\t\tstate.save();\n\t},\n\n\tgetBashInterceptorEnabled() {\n\t\treturn settingsInternals(this).settings.bashInterceptor?.enabled ?? false;\n\t},\n\n\tsetBashInterceptorEnabled(enabled) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.bashInterceptor = { ...(state.globalSettings.bashInterceptor ?? {}), enabled };\n\t\tstate.markModified(\"bashInterceptor\");\n\t\tstate.save();\n\t},\n\n\tgetSearchContextBefore() {\n\t\treturn settingsInternals(this).settings.search?.contextBefore ?? 1;\n\t},\n\n\tgetSearchContextAfter() {\n\t\treturn settingsInternals(this).settings.search?.contextAfter ?? 3;\n\t},\n\n\tgetNpmCommand() {\n\t\tconst command = settingsInternals(this).settings.npmCommand;\n\t\treturn command ? [...command] : undefined;\n\t},\n\n\tsetNpmCommand(command) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.npmCommand = command ? [...command] : undefined;\n\t\tstate.markModified(\"npmCommand\");\n\t\tstate.save();\n\t},\n\n\tgetCollapseChangelog() {\n\t\treturn settingsInternals(this).settings.collapseChangelog ?? false;\n\t},\n\n\tsetCollapseChangelog(collapse) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.collapseChangelog = collapse;\n\t\tstate.markModified(\"collapseChangelog\");\n\t\tstate.save();\n\t},\n\n\tgetEnableInstallTelemetry() {\n\t\treturn settingsInternals(this).settings.enableInstallTelemetry ?? true;\n\t},\n\n\tsetEnableInstallTelemetry(enabled) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.enableInstallTelemetry = enabled;\n\t\tstate.markModified(\"enableInstallTelemetry\");\n\t\tstate.save();\n\t},\n\n\tgetPackages() {\n\t\treturn [...(settingsInternals(this).settings.packages ?? [])];\n\t},\n\n\tsetPackages(packages) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.packages = packages;\n\t\tstate.markModified(\"packages\");\n\t\tstate.save();\n\t},\n\n\tsetProjectPackages(packages) {\n\t\tconst state = settingsInternals(this);\n\t\tconst projectSettings = structuredClone(state.projectSettings);\n\t\tprojectSettings.packages = packages;\n\t\tstate.markProjectModified(\"packages\");\n\t\tstate.saveProjectSettings(projectSettings);\n\t},\n\n\tgetExtensionPaths() {\n\t\treturn [...(settingsInternals(this).settings.extensions ?? [])];\n\t},\n\n\tsetExtensionPaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.extensions = paths;\n\t\tstate.markModified(\"extensions\");\n\t\tstate.save();\n\t},\n\n\tsetProjectExtensionPaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tconst projectSettings = structuredClone(state.projectSettings);\n\t\tprojectSettings.extensions = paths;\n\t\tstate.markProjectModified(\"extensions\");\n\t\tstate.saveProjectSettings(projectSettings);\n\t},\n\n\tgetSkillPaths() {\n\t\treturn [...(settingsInternals(this).settings.skills ?? [])];\n\t},\n\n\tsetSkillPaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.skills = paths;\n\t\tstate.markModified(\"skills\");\n\t\tstate.save();\n\t},\n\n\tsetProjectSkillPaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tconst projectSettings = structuredClone(state.projectSettings);\n\t\tprojectSettings.skills = paths;\n\t\tstate.markProjectModified(\"skills\");\n\t\tstate.saveProjectSettings(projectSettings);\n\t},\n\n\tgetPromptTemplatePaths() {\n\t\treturn [...(settingsInternals(this).settings.prompts ?? [])];\n\t},\n\n\tsetPromptTemplatePaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.prompts = paths;\n\t\tstate.markModified(\"prompts\");\n\t\tstate.save();\n\t},\n\n\tsetProjectPromptTemplatePaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tconst projectSettings = structuredClone(state.projectSettings);\n\t\tprojectSettings.prompts = paths;\n\t\tstate.markProjectModified(\"prompts\");\n\t\tstate.saveProjectSettings(projectSettings);\n\t},\n\n\tgetThemePaths() {\n\t\treturn [...(settingsInternals(this).settings.themes ?? [])];\n\t},\n\n\tsetThemePaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.themes = paths;\n\t\tstate.markModified(\"themes\");\n\t\tstate.save();\n\t},\n\n\tsetProjectThemePaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tconst projectSettings = structuredClone(state.projectSettings);\n\t\tprojectSettings.themes = paths;\n\t\tstate.markProjectModified(\"themes\");\n\t\tstate.saveProjectSettings(projectSettings);\n\t},\n\n\tgetWorkflowPaths() {\n\t\treturn [...(settingsInternals(this).settings.workflows ?? [])];\n\t},\n\n\tsetWorkflowPaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.workflows = paths;\n\t\tstate.markModified(\"workflows\");\n\t\tstate.save();\n\t},\n\n\tsetProjectWorkflowPaths(paths) {\n\t\tconst state = settingsInternals(this);\n\t\tconst projectSettings = structuredClone(state.projectSettings);\n\t\tprojectSettings.workflows = paths;\n\t\tstate.markProjectModified(\"workflows\");\n\t\tstate.saveProjectSettings(projectSettings);\n\t},\n\n\tgetEnableSkillCommands() {\n\t\treturn settingsInternals(this).settings.enableSkillCommands ?? true;\n\t},\n\n\tsetEnableSkillCommands(enabled) {\n\t\tconst state = settingsInternals(this);\n\t\tstate.globalSettings.enableSkillCommands = enabled;\n\t\tstate.markModified(\"enableSkillCommands\");\n\t\tstate.save();\n\t},\n\n\tgetThinkingBudgets() {\n\t\treturn settingsInternals(this).settings.thinkingBudgets;\n\t},\n};\n\nObject.assign(SettingsManager.prototype, resourceAccessors);\n"]}
@@ -59,9 +59,11 @@ export type ModelContextWindowSettings = Record<string, ContextWindowSetting>;
59
59
  * Package source for npm/git packages.
60
60
  * - String form: load all resources from the package
61
61
  * - Object form: filter which resources to load
62
+ * - autoload=false: start empty and apply only explicit resource patterns
62
63
  */
63
64
  export type PackageSource = string | {
64
65
  source: string;
66
+ autoload?: boolean;
65
67
  extensions?: string[];
66
68
  skills?: string[];
67
69
  prompts?: string[];
@@ -85,6 +87,9 @@ export interface Settings {
85
87
  steeringMode?: "all" | "one-at-a-time";
86
88
  followUpMode?: "all" | "one-at-a-time";
87
89
  theme?: string;
90
+ enableAnalytics?: boolean;
91
+ trackingId?: string;
92
+ showCacheMissNotices?: boolean;
88
93
  compaction?: CompactionSettings;
89
94
  branchSummary?: BranchSummarySettings;
90
95
  retry?: RetrySettings;
@@ -120,8 +125,9 @@ export interface Settings {
120
125
  warnings?: WarningSettings;
121
126
  codexFastMode?: CodexFastModeSettings;
122
127
  sessionDir?: string;
123
- httpIdleTimeoutMs?: number;
124
- websocketConnectTimeoutMs?: number;
128
+ httpProxy?: string;
129
+ httpIdleTimeoutMs?: number | string;
130
+ websocketConnectTimeoutMs?: number | string;
125
131
  }
126
132
  export type SettingsScope = "global" | "project";
127
133
  export interface SettingsManagerCreateOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"settings-types.d.ts","sourceRoot":"","sources":["../../src/core/settings-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAAG,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE;AACjF,MAAM,WAAW,uBAAuB;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEzC,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,CAAC;AACnD,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;AAE9E;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACtB,MAAM,GACN;IACA,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEL,MAAM,WAAW,uBAAuB;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IACvF,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,qBAAqB,CAAC,EAAE,0BAA0B,CAAC;IACnD,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,YAAY,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC;IACvC,YAAY,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9C,cAAc,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,GAAG,KAAK,CAAC;IAC/E,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,MAAM,WAAW,4BAA4B;IAC5C,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;CAC9F;AAED,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;CACb"}
1
+ {"version":3,"file":"settings-types.d.ts","sourceRoot":"","sources":["../../src/core/settings-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings-types.js","sourceRoot":"","sources":["../../src/core/settings-types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Transport } from \"@earendil-works/pi-ai/compat\";\n\nexport interface CompactionSettings {\n\tenabled?: boolean; // default: true\n\treserveTokens?: number; // default: 16384\n\tcompression_ratio?: number; // default: 0.5 (fraction of compactable context to keep)\n\tpreserve_recent?: number; // default: 2 (recent context-eligible messages to keep)\n\tquery?: string; // default: auto-detected from session context\n}\n\nexport interface BranchSummarySettings {\n\treserveTokens?: number; // default: 16384 (tokens reserved for prompt + LLM response)\n\tskipPrompt?: boolean; // default: false - when true, skips \"Summarize branch?\" prompt and defaults to no summary\n}\n\nexport interface ProviderRetrySettings {\n\ttimeoutMs?: number; // SDK/provider request timeout in milliseconds\n\tmaxRetries?: number; // SDK/provider retry attempts\n\tmaxRetryDelayMs?: number; // default: 60000 (max server-requested delay before failing)\n}\n\nexport interface RetrySettings {\n\tenabled?: boolean; // default: true\n\tmaxRetries?: number; // default: 3\n\tbaseDelayMs?: number; // default: 2000 (exponential backoff: 2s, 4s, 8s)\n\tprovider?: ProviderRetrySettings;\n}\n\nexport interface TerminalSettings {\n\tshowImages?: boolean; // default: true (only relevant if terminal supports images)\n\timageWidthCells?: number; // default: 60 (preferred inline image width in terminal cells)\n\tclearOnShrink?: boolean; // default: false (clear empty rows when content shrinks)\n\tshowTerminalProgress?: boolean; // default: false (OSC 9;4 terminal progress indicators)\n}\n\nexport interface ImageSettings {\n\tautoResize?: boolean; // default: true (resize images to 2000x2000 max for better model compatibility)\n\tblockImages?: boolean; // default: false - when true, prevents all images from being sent to LLM providers\n}\n\nexport interface SearchSettings { contextBefore?: number; contextAfter?: number }\nexport interface ThinkingBudgetsSettings {\n\tminimal?: number;\n\tlow?: number;\n\tmedium?: number;\n\thigh?: number;\n}\n\nexport interface MarkdownSettings {\n\tcodeBlockIndent?: string; // default: \" \"\n}\n\nexport interface WarningSettings {\n\tanthropicExtraUsage?: boolean; // default: true\n}\n\nexport interface CodexFastModeSettings {\n\tchat?: boolean; // default: false\n\tworkflow?: boolean; // default: false\n}\n\nexport type DefaultProjectTrust = \"ask\" | \"always\" | \"never\";\n\nexport type TransportSetting = Transport;\n\nexport type ContextWindowSetting = number | string;\nexport type ModelContextWindowSettings = Record<string, ContextWindowSetting>;\n\n/**\n * Package source for npm/git packages.\n * - String form: load all resources from the package\n * - Object form: filter which resources to load\n */\nexport type PackageSource =\n\t| string\n\t| {\n\t\t\tsource: string;\n\t\t\textensions?: string[];\n\t\t\tskills?: string[];\n\t\t\tprompts?: string[];\n\t\t\tthemes?: string[];\n\t\t\tworkflows?: string[];\n\t };\n\nexport interface BashInterceptorSettings {\n\tenabled?: boolean; // default: false\n}\n\nexport interface Settings {\n\tlastChangelogVersion?: string;\n\tfirstRunOnboardingStartedVersion?: string;\n\tonboardedVersion?: string;\n\tdefaultProvider?: string;\n\tdefaultModel?: string;\n\tdefaultThinkingLevel?: \"off\" | \"minimal\" | \"low\" | \"medium\" | \"high\" | \"xhigh\" | \"max\";\n\tfallbackModels?: string[]; // Ordered main-chat fallback models, optionally suffixed with :thinkingLevel\n\tdefaultContextWindow?: ContextWindowSetting; // Optional global fallback; model picker writes defaultContextWindows instead.\n\tdefaultContextWindows?: ModelContextWindowSettings; // Per-model defaults keyed as \"provider/modelId\".\n\ttransport?: TransportSetting; // default: \"auto\"\n\tsteeringMode?: \"all\" | \"one-at-a-time\";\n\tfollowUpMode?: \"all\" | \"one-at-a-time\";\n\ttheme?: string;\n\tcompaction?: CompactionSettings;\n\tbranchSummary?: BranchSummarySettings;\n\tretry?: RetrySettings;\n\thideThinkingBlock?: boolean;\n\texternalEditor?: string; // Command for Ctrl+G external editor; takes precedence over VISUAL/EDITOR\n\tshellPath?: string; // Custom shell path (e.g., for Cygwin users on Windows)\n\tquietStartup?: boolean;\n\tdefaultProjectTrust?: DefaultProjectTrust; // default: \"ask\"; global setting only\n\tshellCommandPrefix?: string; // Prefix prepended to every bash command (e.g., \"shopt -s expand_aliases\" for alias support)\n\tbashInterceptor?: BashInterceptorSettings; // default: disabled; when enabled, user_bash handlers can intercept bash tool execution\n\tsearch?: SearchSettings; // Context lines for search results; defaults: before=1, after=3\n\tnpmCommand?: string[]; // Command used for npm package lookup/install operations, argv-style (e.g., [\"mise\", \"exec\", \"node@20\", \"--\", \"npm\"])\n\tcollapseChangelog?: boolean; // Show condensed changelog after update (use /changelog for full)\n\tenableInstallTelemetry?: boolean; // default: true - anonymous version/update ping after changelog-detected updates\n\tpackages?: PackageSource[]; // Array of npm/git package sources (string or object with filtering)\n\textensions?: string[]; // Array of local extension file paths or directories\n\tskills?: string[]; // Array of local skill file paths or directories\n\tprompts?: string[]; // Array of local prompt template paths or directories\n\tthemes?: string[]; // Array of local theme file paths or directories\n\tworkflows?: string[]; // Array of local workflow file paths or directories\n\tenableSkillCommands?: boolean; // default: true - register skills as /skill:name commands\n\tterminal?: TerminalSettings;\n\timages?: ImageSettings;\n\tenabledModels?: string[]; // Model patterns for cycling (same format as --models CLI flag)\n\tdoubleEscapeAction?: \"fork\" | \"tree\" | \"none\"; // Action for double-escape with empty editor (default: \"tree\")\n\ttreeFilterMode?: \"default\" | \"no-tools\" | \"user-only\" | \"labeled-only\" | \"all\"; // Default filter when opening /tree\n\tthinkingBudgets?: ThinkingBudgetsSettings; // Custom token budgets for thinking levels\n\teditorPaddingX?: number; // Horizontal padding for input editor (default: 0)\n\toutputPad?: 0 | 1; // Horizontal padding for chat message output (default: 1)\n\tautocompleteMaxVisible?: number; // Max visible items in autocomplete dropdown (default: 5)\n\tshowHardwareCursor?: boolean; // Show terminal cursor while still positioning it for IME\n\tmarkdown?: MarkdownSettings;\n\twarnings?: WarningSettings;\n\tcodexFastMode?: CodexFastModeSettings; // OpenAI priority service tier toggles for chat/workflow\n\tsessionDir?: string; // Custom session storage directory (same format as --session-dir CLI flag)\n\thttpIdleTimeoutMs?: number; // HTTP header/body idle timeout in milliseconds; 0 disables it\n\twebsocketConnectTimeoutMs?: number; // WebSocket connect/open handshake timeout in milliseconds; 0 disables it\n}\n\nexport type SettingsScope = \"global\" | \"project\";\n\nexport interface SettingsManagerCreateOptions {\n\tprojectTrusted?: boolean;\n}\n\nexport interface SettingsStorage {\n\twithLock(scope: SettingsScope, fn: (current: string | undefined) => string | undefined): void;\n}\n\nexport interface SettingsError {\n\tscope: SettingsScope;\n\terror: Error;\n}\n"]}
1
+ {"version":3,"file":"settings-types.js","sourceRoot":"","sources":["../../src/core/settings-types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Transport } from \"@earendil-works/pi-ai/compat\";\n\nexport interface CompactionSettings {\n\tenabled?: boolean; // default: true\n\treserveTokens?: number; // default: 16384\n\tcompression_ratio?: number; // default: 0.5 (fraction of compactable context to keep)\n\tpreserve_recent?: number; // default: 2 (recent context-eligible messages to keep)\n\tquery?: string; // default: auto-detected from session context\n}\n\nexport interface BranchSummarySettings {\n\treserveTokens?: number; // default: 16384 (tokens reserved for prompt + LLM response)\n\tskipPrompt?: boolean; // default: false - when true, skips \"Summarize branch?\" prompt and defaults to no summary\n}\n\nexport interface ProviderRetrySettings {\n\ttimeoutMs?: number; // SDK/provider request timeout in milliseconds\n\tmaxRetries?: number; // SDK/provider retry attempts\n\tmaxRetryDelayMs?: number; // default: 60000 (max server-requested delay before failing)\n}\n\nexport interface RetrySettings {\n\tenabled?: boolean; // default: true\n\tmaxRetries?: number; // default: 3\n\tbaseDelayMs?: number; // default: 2000 (exponential backoff: 2s, 4s, 8s)\n\tprovider?: ProviderRetrySettings;\n}\n\nexport interface TerminalSettings {\n\tshowImages?: boolean; // default: true (only relevant if terminal supports images)\n\timageWidthCells?: number; // default: 60 (preferred inline image width in terminal cells)\n\tclearOnShrink?: boolean; // default: false (clear empty rows when content shrinks)\n\tshowTerminalProgress?: boolean; // default: false (OSC 9;4 terminal progress indicators)\n}\n\nexport interface ImageSettings {\n\tautoResize?: boolean; // default: true (resize images to 2000x2000 max for better model compatibility)\n\tblockImages?: boolean; // default: false - when true, prevents all images from being sent to LLM providers\n}\n\nexport interface SearchSettings { contextBefore?: number; contextAfter?: number }\nexport interface ThinkingBudgetsSettings {\n\tminimal?: number;\n\tlow?: number;\n\tmedium?: number;\n\thigh?: number;\n}\n\nexport interface MarkdownSettings {\n\tcodeBlockIndent?: string; // default: \" \"\n}\n\nexport interface WarningSettings {\n\tanthropicExtraUsage?: boolean; // default: true\n}\n\nexport interface CodexFastModeSettings {\n\tchat?: boolean; // default: false\n\tworkflow?: boolean; // default: false\n}\n\nexport type DefaultProjectTrust = \"ask\" | \"always\" | \"never\";\n\nexport type TransportSetting = Transport;\n\nexport type ContextWindowSetting = number | string;\nexport type ModelContextWindowSettings = Record<string, ContextWindowSetting>;\n\n/**\n * Package source for npm/git packages.\n * - String form: load all resources from the package\n * - Object form: filter which resources to load\n * - autoload=false: start empty and apply only explicit resource patterns\n */\nexport type PackageSource =\n\t| string\n\t| {\n\t\t\tsource: string;\n\t\t\tautoload?: boolean;\n\t\t\textensions?: string[];\n\t\t\tskills?: string[];\n\t\t\tprompts?: string[];\n\t\t\tthemes?: string[];\n\t\t\tworkflows?: string[];\n\t };\n\nexport interface BashInterceptorSettings {\n\tenabled?: boolean; // default: false\n}\n\nexport interface Settings {\n\tlastChangelogVersion?: string;\n\tfirstRunOnboardingStartedVersion?: string;\n\tonboardedVersion?: string;\n\tdefaultProvider?: string;\n\tdefaultModel?: string;\n\tdefaultThinkingLevel?: \"off\" | \"minimal\" | \"low\" | \"medium\" | \"high\" | \"xhigh\" | \"max\";\n\tfallbackModels?: string[]; // Ordered main-chat fallback models, optionally suffixed with :thinkingLevel\n\tdefaultContextWindow?: ContextWindowSetting; // Optional global fallback; model picker writes defaultContextWindows instead.\n\tdefaultContextWindows?: ModelContextWindowSettings; // Per-model defaults keyed as \"provider/modelId\".\n\ttransport?: TransportSetting; // default: \"auto\"\n\tsteeringMode?: \"all\" | \"one-at-a-time\";\n\tfollowUpMode?: \"all\" | \"one-at-a-time\";\n\ttheme?: string;\n\tenableAnalytics?: boolean; // storage only; no analytics transmission is performed\n\ttrackingId?: string; // stable UUID generated on first analytics opt-in\n\tshowCacheMissNotices?: boolean; // default: false\n\tcompaction?: CompactionSettings;\n\tbranchSummary?: BranchSummarySettings;\n\tretry?: RetrySettings;\n\thideThinkingBlock?: boolean;\n\texternalEditor?: string; // Command for Ctrl+G external editor; takes precedence over VISUAL/EDITOR\n\tshellPath?: string; // Custom shell path (e.g., for Cygwin users on Windows)\n\tquietStartup?: boolean;\n\tdefaultProjectTrust?: DefaultProjectTrust; // default: \"ask\"; global setting only\n\tshellCommandPrefix?: string; // Prefix prepended to every bash command (e.g., \"shopt -s expand_aliases\" for alias support)\n\tbashInterceptor?: BashInterceptorSettings; // default: disabled; when enabled, user_bash handlers can intercept bash tool execution\n\tsearch?: SearchSettings; // Context lines for search results; defaults: before=1, after=3\n\tnpmCommand?: string[]; // Command used for npm package lookup/install operations, argv-style (e.g., [\"mise\", \"exec\", \"node@20\", \"--\", \"npm\"])\n\tcollapseChangelog?: boolean; // Show condensed changelog after update (use /changelog for full)\n\tenableInstallTelemetry?: boolean; // default: true - anonymous version/update ping after changelog-detected updates\n\tpackages?: PackageSource[]; // Array of npm/git package sources (string or object with filtering)\n\textensions?: string[]; // Array of local extension file paths or directories\n\tskills?: string[]; // Array of local skill file paths or directories\n\tprompts?: string[]; // Array of local prompt template paths or directories\n\tthemes?: string[]; // Array of local theme file paths or directories\n\tworkflows?: string[]; // Array of local workflow file paths or directories\n\tenableSkillCommands?: boolean; // default: true - register skills as /skill:name commands\n\tterminal?: TerminalSettings;\n\timages?: ImageSettings;\n\tenabledModels?: string[]; // Model patterns for cycling (same format as --models CLI flag)\n\tdoubleEscapeAction?: \"fork\" | \"tree\" | \"none\"; // Action for double-escape with empty editor (default: \"tree\")\n\ttreeFilterMode?: \"default\" | \"no-tools\" | \"user-only\" | \"labeled-only\" | \"all\"; // Default filter when opening /tree\n\tthinkingBudgets?: ThinkingBudgetsSettings; // Custom token budgets for thinking levels\n\teditorPaddingX?: number; // Horizontal padding for input editor (default: 0)\n\toutputPad?: 0 | 1; // Horizontal padding for chat message output (default: 1)\n\tautocompleteMaxVisible?: number; // Max visible items in autocomplete dropdown (default: 5)\n\tshowHardwareCursor?: boolean; // Show terminal cursor while still positioning it for IME\n\tmarkdown?: MarkdownSettings;\n\twarnings?: WarningSettings;\n\tcodexFastMode?: CodexFastModeSettings; // OpenAI priority service tier toggles for chat/workflow\n\tsessionDir?: string; // Custom session storage directory (same format as --session-dir CLI flag)\n\thttpProxy?: string; // Proxy URL applied as HTTP_PROXY and HTTPS_PROXY; global setting only\n\thttpIdleTimeoutMs?: number | string; // HTTP idle timeout; 0 or \"disabled\" disables it\n\twebsocketConnectTimeoutMs?: number | string; // WebSocket connect timeout; 0 or \"disabled\" disables it\n}\n\nexport type SettingsScope = \"global\" | \"project\";\n\nexport interface SettingsManagerCreateOptions {\n\tprojectTrusted?: boolean;\n}\n\nexport interface SettingsStorage {\n\twithLock(scope: SettingsScope, fn: (current: string | undefined) => string | undefined): void;\n}\n\nexport interface SettingsError {\n\tscope: SettingsScope;\n\terror: Error;\n}\n"]}
@@ -10,6 +10,7 @@ export interface SlashCommandInfo {
10
10
  export interface BuiltinSlashCommand {
11
11
  name: string;
12
12
  description: string;
13
+ argumentHint?: string;
13
14
  getArgumentCompletions?: (argumentPrefix: string) => AutocompleteItem[] | null | Promise<AutocompleteItem[] | null>;
14
15
  }
15
16
  export declare function getBundledWorkflowArgumentCompletions(argumentPrefix: string): AutocompleteItem[] | null;
@@ -1 +1 @@
1
- {"version":3,"file":"slash-commands.d.ts","sourceRoot":"","sources":["../../src/core/slash-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,CAAC,EAAE,CACxB,cAAc,EAAE,MAAM,KAClB,gBAAgB,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC;CACpE;AA4FD,wBAAgB,qCAAqC,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,EAAE,GAAG,IAAI,CAgDvG;AAED,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,mBAAmB,CA8BrE,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,aAAa,CAAC,mBAAmB,CAkB/E,CAAC"}
1
+ {"version":3,"file":"slash-commands.d.ts","sourceRoot":"","sources":["../../src/core/slash-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,CACxB,cAAc,EAAE,MAAM,KAClB,gBAAgB,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC;CACpE;AA4FD,wBAAgB,qCAAqC,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,EAAE,GAAG,IAAI,CAgDvG;AAED,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,mBAAmB,CA8BrE,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,aAAa,CAAC,mBAAmB,CAkB/E,CAAC"}
@@ -148,7 +148,7 @@ export const BUILTIN_SLASH_COMMANDS = [
148
148
  { name: "clone", description: "Duplicate the current session at the current position" },
149
149
  { name: "tree", description: "Navigate session tree (switch branches)" },
150
150
  { name: "trust", description: "Save project trust decision for future sessions" },
151
- { name: "login", description: "Configure provider authentication" },
151
+ { name: "login", description: "Configure provider authentication", argumentHint: "<provider>" },
152
152
  { name: "logout", description: "Remove provider authentication" },
153
153
  { name: "new", description: "Start a new session" },
154
154
  { name: "compact", description: "Compact older context with verbatim line ranges" },
@@ -1 +1 @@
1
- {"version":3,"file":"slash-commands.js","sourceRoot":"","sources":["../../src/core/slash-commands.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AutocompleteItem } from \"@earendil-works/pi-tui\";\nimport { APP_NAME } from \"../config.ts\";\nimport {\n\tATOMIC_GUIDE_COMMAND_DESCRIPTION,\n\tATOMIC_GUIDE_COMMAND_NAME,\n\tgetAtomicGuideArgumentCompletions,\n} from \"./atomic-guide-command.ts\";\nimport type { SourceInfo } from \"./source-info.ts\";\n\nexport type SlashCommandSource = \"extension\" | \"prompt\" | \"skill\";\n\nexport interface SlashCommandInfo {\n\tname: string;\n\tdescription?: string;\n\tsource: SlashCommandSource;\n\tsourceInfo: SourceInfo;\n}\n\nexport interface BuiltinSlashCommand {\n\tname: string;\n\tdescription: string;\n\tgetArgumentCompletions?: (\n\t\targumentPrefix: string,\n\t) => AutocompleteItem[] | null | Promise<AutocompleteItem[] | null>;\n}\n\ntype WorkflowInputCompletionMetadata = {\n\tdescription: string;\n\tkind?: \"boolean\" | \"number\" | \"string\";\n};\n\ntype WorkflowCompletionMetadata = {\n\tname: string;\n\tdescription: string;\n\tinputs: Record<string, WorkflowInputCompletionMetadata>;\n};\n\nconst WORKFLOW_ADMIN_COMPLETIONS: AutocompleteItem[] = [\n\t{ value: \"connect \", label: \"connect\", description: \"Attach to a run (picker if no id)\" },\n\t{ value: \"attach \", label: \"attach\", description: \"Open the in-place attach pane on a node\" },\n\t{ value: \"list \", label: \"list\", description: \"List registered workflows\" },\n\t{ value: \"status \", label: \"status\", description: \"List current-session active and retained terminal runs\" },\n\t{ value: \"interrupt \", label: \"interrupt\", description: \"Interrupt a run\" },\n\t{ value: \"quit \", label: \"quit\", description: \"Quit a run and keep it resumable\" },\n\t{ value: \"pause \", label: \"pause\", description: \"Pause a run or stage\" },\n\t{ value: \"resume \", label: \"resume\", description: \"Re-open overlay for a run\" },\n\t{ value: \"inputs \", label: \"inputs\", description: \"Show a workflow's input schema\" },\n\t{ value: \"reload \", label: \"reload\", description: \"Reload workflow resources\" },\n];\n\nconst BUNDLED_WORKFLOW_COMPLETION_METADATA: WorkflowCompletionMetadata[] = [\n\t{\n\t\tname: \"deep-research-codebase\",\n\t\tdescription: \"Heavy research for tasks requiring comprehensive, whole-repository context.\",\n\t\tinputs: {\n\t\t\tprompt: { description: \"Research question or investigation focus for the codebase.\", kind: \"string\" },\n\t\t\tmax_partitions: { description: \"Maximum number of codebase partitions to explore in parallel.\", kind: \"number\" },\n\t\t\tmax_concurrency: { description: \"Maximum number of workflow stages to run concurrently during deep research.\", kind: \"number\" },\n\t\t},\n\t},\n\t{\n\t\tname: \"goal\",\n\t\tdescription: \"Goal Runner workflow with bounded LM turns, acceptance criteria, ledger artifacts, reviewers, and reducer-gated completion.\",\n\t\tinputs: {\n\t\t\tobjective: { description: \"The objective or delta for this Goal Runner workflow run.\", kind: \"string\" },\n\t\t\tacceptance_criteria: { description: \"Original immutable task contract this run must remain consistent with.\", kind: \"string\" },\n\t\t\tmax_turns: { description: \"Maximum worker/review turns before Goal Runner stops as needs_human.\", kind: \"number\" },\n\t\t\tbase_branch: { description: \"Optional branch reviewers compare the current code delta against.\", kind: \"string\" },\n\t\t\tgit_worktree_dir: { description: \"Optional Git worktree path.\", kind: \"string\" },\n\t\t\tcreate_pr: { description: \"Whether to run the final pull-request creation stage after approval.\", kind: \"boolean\" },\n\t\t},\n\t},\n\t{\n\t\tname: \"open-claude-design\",\n\t\tdescription: \"AI-powered design workflow: discovery, reference research, HTML generation, refinement, and handoff.\",\n\t\tinputs: {\n\t\t\tprompt: { description: \"What to design, such as a dashboard, page, component, or prototype.\", kind: \"string\" },\n\t\t\tdiscover_references: { description: \"Discover current reference designs and feed them to generation.\", kind: \"boolean\" },\n\t\t\tmax_refinements: { description: \"Maximum generate/user-feedback loop iterations.\", kind: \"number\" },\n\t\t},\n\t},\n\t{\n\t\tname: \"ralph\",\n\t\tdescription: \"Raw prompt → research → orchestrate → multi-model parallel review loop with bounded iteration.\",\n\t\tinputs: {\n\t\t\tprompt: { description: \"The task or goal to research, execute, and refine.\", kind: \"string\" },\n\t\t\tacceptance_criteria: { description: \"Original immutable task contract this run must remain consistent with.\", kind: \"string\" },\n\t\t\tmax_loops: { description: \"Maximum research/orchestrate/review iterations.\", kind: \"number\" },\n\t\t\tbase_branch: { description: \"Branch reviewers compare the current code delta against.\", kind: \"string\" },\n\t\t\tgit_worktree_dir: { description: \"Optional Git worktree path.\", kind: \"string\" },\n\t\t\tcreate_pr: { description: \"Whether to run the final pull-request creation stage.\", kind: \"boolean\" },\n\t\t},\n\t},\n];\n\nfunction completeWorkflowToken(argumentText: string, candidates: AutocompleteItem[]): AutocompleteItem[] | null {\n\tconst tokenStart = /\\s$/.test(argumentText)\n\t\t? argumentText.length\n\t\t: Math.max(argumentText.lastIndexOf(\" \"), argumentText.lastIndexOf(\"\\t\")) + 1;\n\tconst head = argumentText.slice(0, tokenStart);\n\tconst token = argumentText.slice(tokenStart);\n\tconst normalizedToken = token.trimEnd();\n\tconst filtered = candidates\n\t\t.filter((candidate) => candidate.value.startsWith(token) && candidate.value.trimEnd() !== normalizedToken)\n\t\t.map((candidate) => ({ ...candidate, value: `${head}${candidate.value}` }));\n\treturn filtered.length > 0 ? filtered : null;\n}\n\nfunction bundledWorkflowNameItems(): AutocompleteItem[] {\n\treturn BUNDLED_WORKFLOW_COMPLETION_METADATA.map((workflow) => ({\n\t\tvalue: `${workflow.name} `,\n\t\tlabel: workflow.name,\n\t\tdescription: `Run workflow: ${workflow.name}`,\n\t}));\n}\n\nexport function getBundledWorkflowArgumentCompletions(argumentPrefix: string): AutocompleteItem[] | null {\n\tconst parts = argumentPrefix.trim().split(/\\s+/).filter(Boolean);\n\tconst subcommand = parts[0] ?? \"\";\n\tconst workflowItems = bundledWorkflowNameItems();\n\tif (!argumentPrefix.includes(\" \")) {\n\t\treturn completeWorkflowToken(argumentPrefix, [...WORKFLOW_ADMIN_COMPLETIONS, ...workflowItems]);\n\t}\n\tif (subcommand === \"inputs\") return completeWorkflowToken(argumentPrefix, workflowItems);\n\tif (subcommand === \"interrupt\") {\n\t\treturn completeWorkflowToken(argumentPrefix, [\n\t\t\t{ value: \"--all \", label: \"--all\", description: \"Interrupt all in-flight runs\" },\n\t\t\t{ value: \"--yes \", label: \"--yes\", description: \"Skip confirmation\" },\n\t\t\t{ value: \"-y \", label: \"-y\", description: \"Skip confirmation\" },\n\t\t]);\n\t}\n\tif (subcommand === \"quit\") {\n\t\treturn completeWorkflowToken(argumentPrefix, [\n\t\t\t{ value: \"--all \", label: \"--all\", description: \"Quit and keep all in-flight runs resumable\" },\n\t\t]);\n\t}\n\tif (!subcommand) return completeWorkflowToken(argumentPrefix, [...WORKFLOW_ADMIN_COMPLETIONS, ...workflowItems]);\n\n\tconst workflow = BUNDLED_WORKFLOW_COMPLETION_METADATA.find((candidate) => candidate.name === subcommand);\n\tif (!workflow) return null;\n\tconst tokenStart = /\\s$/.test(argumentPrefix)\n\t\t? argumentPrefix.length\n\t\t: Math.max(argumentPrefix.lastIndexOf(\" \"), argumentPrefix.lastIndexOf(\"\\t\")) + 1;\n\tconst token = argumentPrefix.slice(tokenStart);\n\tconst equalsIndex = token.indexOf(\"=\");\n\tif (equalsIndex > 0) {\n\t\tconst inputName = token.slice(0, equalsIndex);\n\t\tconst input = workflow.inputs[inputName];\n\t\tif (input?.kind !== \"boolean\") return null;\n\t\treturn completeWorkflowToken(argumentPrefix, [\n\t\t\t{ value: `${inputName}=true `, label: \"true\", description: inputName },\n\t\t\t{ value: `${inputName}=false `, label: \"false\", description: inputName },\n\t\t]);\n\t}\n\n\treturn completeWorkflowToken(argumentPrefix, [\n\t\t{ value: \"--no-picker \", label: \"--no-picker\", description: \"Skip interactive input picker\" },\n\t\t{ value: \"--help \", label: \"--help\", description: \"Show this workflow's input schema\" },\n\t\t...Object.entries(workflow.inputs).map(([name, input]) => ({\n\t\t\tvalue: `${name}=`,\n\t\t\tlabel: name,\n\t\t\tdescription: input.description,\n\t\t})),\n\t]);\n}\n\nexport const BUILTIN_SLASH_COMMANDS: ReadonlyArray<BuiltinSlashCommand> = [\n\t{ name: \"settings\", description: \"Open settings menu\" },\n\t{ name: \"model\", description: \"Select model (opens selector UI)\" },\n\t{ name: \"scoped-models\", description: \"Enable/disable models for ctrl+p cycling\" },\n\t{ name: \"fast\", description: \"Configure Codex fast mode for chat and workflows\" },\n\t{ name: \"export\", description: \"Export session (HTML default, or specify path: .html/.jsonl)\" },\n\t{ name: \"import\", description: \"Import and resume a session from a JSONL file\" },\n\t{ name: \"share\", description: \"Share session as a secret GitHub gist\" },\n\t{ name: \"copy\", description: \"Copy last agent message to clipboard\" },\n\t{ name: \"name\", description: \"Set session display name\" },\n\t{ name: \"session\", description: \"Show session info and stats\" },\n\t{ name: \"changelog\", description: \"Show changelog entries\" },\n\t{\n\t\tname: ATOMIC_GUIDE_COMMAND_NAME,\n\t\tdescription: ATOMIC_GUIDE_COMMAND_DESCRIPTION,\n\t\tgetArgumentCompletions: getAtomicGuideArgumentCompletions,\n\t},\n\t{ name: \"hotkeys\", description: \"Show all keyboard shortcuts\" },\n\t{ name: \"fork\", description: \"Create a new fork from a previous user message\" },\n\t{ name: \"clone\", description: \"Duplicate the current session at the current position\" },\n\t{ name: \"tree\", description: \"Navigate session tree (switch branches)\" },\n\t{ name: \"trust\", description: \"Save project trust decision for future sessions\" },\n\t{ name: \"login\", description: \"Configure provider authentication\" },\n\t{ name: \"logout\", description: \"Remove provider authentication\" },\n\t{ name: \"new\", description: \"Start a new session\" },\n\t{ name: \"compact\", description: \"Compact older context with verbatim line ranges\" },\n\t{ name: \"resume\", description: \"Resume a different session\" },\n\t{ name: \"reload\", description: \"Reload keybindings, extensions, skills, prompts, and themes\" },\n\t{ name: \"exit\", description: `Exit ${APP_NAME}` },\n\t{ name: \"quit\", description: `Quit ${APP_NAME}` },\n];\n\nexport const BUNDLED_EXTENSION_SLASH_COMMANDS: ReadonlyArray<BuiltinSlashCommand> = [\n\t{\n\t\tname: \"workflow\",\n\t\tdescription: \"Run or inspect Atomic workflows. Usage: /workflow <name> [key=value…] | /workflow [list|status|connect|attach|interrupt|quit|pause|resume|inputs|reload] [args]\",\n\t\tgetArgumentCompletions: getBundledWorkflowArgumentCompletions,\n\t},\n\t{ name: \"run\", description: \"Run a subagent directly: /run agent[output=file] [task] [--bg] [--fork]\" },\n\t{ name: \"chain\", description: \"Run agents in sequence: /chain scout task -> planner [--bg] [--fork]\" },\n\t{ name: \"run-chain\", description: \"Run a saved chain: /run-chain chainName -- task [--bg] [--fork]\" },\n\t{ name: \"parallel\", description: \"Run agents in parallel: /parallel scout task1 -> reviewer task2 [--bg] [--fork]\" },\n\t{ name: \"subagents-doctor\", description: \"Show subagent diagnostics\" },\n\t{ name: \"mcp\", description: \"Show MCP server status\" },\n\t{ name: \"mcp-auth\", description: \"Authenticate with an MCP server (OAuth)\" },\n\t{ name: \"curator\", description: \"Toggle or configure the search curator workflow\" },\n\t{ name: \"google-account\", description: \"Show the active Google account for Gemini Web\" },\n\t{ name: \"search\", description: \"Browse stored web search results\" },\n\t{ name: \"websearch\", description: \"Open web search curator\" },\n\t{ name: \"intercom\", description: \"Open session intercom overlay\" },\n];\n"]}
1
+ {"version":3,"file":"slash-commands.js","sourceRoot":"","sources":["../../src/core/slash-commands.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AutocompleteItem } from \"@earendil-works/pi-tui\";\nimport { APP_NAME } from \"../config.ts\";\nimport {\n\tATOMIC_GUIDE_COMMAND_DESCRIPTION,\n\tATOMIC_GUIDE_COMMAND_NAME,\n\tgetAtomicGuideArgumentCompletions,\n} from \"./atomic-guide-command.ts\";\nimport type { SourceInfo } from \"./source-info.ts\";\n\nexport type SlashCommandSource = \"extension\" | \"prompt\" | \"skill\";\n\nexport interface SlashCommandInfo {\n\tname: string;\n\tdescription?: string;\n\tsource: SlashCommandSource;\n\tsourceInfo: SourceInfo;\n}\n\nexport interface BuiltinSlashCommand {\n\tname: string;\n\tdescription: string;\n\targumentHint?: string;\n\tgetArgumentCompletions?: (\n\t\targumentPrefix: string,\n\t) => AutocompleteItem[] | null | Promise<AutocompleteItem[] | null>;\n}\n\ntype WorkflowInputCompletionMetadata = {\n\tdescription: string;\n\tkind?: \"boolean\" | \"number\" | \"string\";\n};\n\ntype WorkflowCompletionMetadata = {\n\tname: string;\n\tdescription: string;\n\tinputs: Record<string, WorkflowInputCompletionMetadata>;\n};\n\nconst WORKFLOW_ADMIN_COMPLETIONS: AutocompleteItem[] = [\n\t{ value: \"connect \", label: \"connect\", description: \"Attach to a run (picker if no id)\" },\n\t{ value: \"attach \", label: \"attach\", description: \"Open the in-place attach pane on a node\" },\n\t{ value: \"list \", label: \"list\", description: \"List registered workflows\" },\n\t{ value: \"status \", label: \"status\", description: \"List current-session active and retained terminal runs\" },\n\t{ value: \"interrupt \", label: \"interrupt\", description: \"Interrupt a run\" },\n\t{ value: \"quit \", label: \"quit\", description: \"Quit a run and keep it resumable\" },\n\t{ value: \"pause \", label: \"pause\", description: \"Pause a run or stage\" },\n\t{ value: \"resume \", label: \"resume\", description: \"Re-open overlay for a run\" },\n\t{ value: \"inputs \", label: \"inputs\", description: \"Show a workflow's input schema\" },\n\t{ value: \"reload \", label: \"reload\", description: \"Reload workflow resources\" },\n];\n\nconst BUNDLED_WORKFLOW_COMPLETION_METADATA: WorkflowCompletionMetadata[] = [\n\t{\n\t\tname: \"deep-research-codebase\",\n\t\tdescription: \"Heavy research for tasks requiring comprehensive, whole-repository context.\",\n\t\tinputs: {\n\t\t\tprompt: { description: \"Research question or investigation focus for the codebase.\", kind: \"string\" },\n\t\t\tmax_partitions: { description: \"Maximum number of codebase partitions to explore in parallel.\", kind: \"number\" },\n\t\t\tmax_concurrency: { description: \"Maximum number of workflow stages to run concurrently during deep research.\", kind: \"number\" },\n\t\t},\n\t},\n\t{\n\t\tname: \"goal\",\n\t\tdescription: \"Goal Runner workflow with bounded LM turns, acceptance criteria, ledger artifacts, reviewers, and reducer-gated completion.\",\n\t\tinputs: {\n\t\t\tobjective: { description: \"The objective or delta for this Goal Runner workflow run.\", kind: \"string\" },\n\t\t\tacceptance_criteria: { description: \"Original immutable task contract this run must remain consistent with.\", kind: \"string\" },\n\t\t\tmax_turns: { description: \"Maximum worker/review turns before Goal Runner stops as needs_human.\", kind: \"number\" },\n\t\t\tbase_branch: { description: \"Optional branch reviewers compare the current code delta against.\", kind: \"string\" },\n\t\t\tgit_worktree_dir: { description: \"Optional Git worktree path.\", kind: \"string\" },\n\t\t\tcreate_pr: { description: \"Whether to run the final pull-request creation stage after approval.\", kind: \"boolean\" },\n\t\t},\n\t},\n\t{\n\t\tname: \"open-claude-design\",\n\t\tdescription: \"AI-powered design workflow: discovery, reference research, HTML generation, refinement, and handoff.\",\n\t\tinputs: {\n\t\t\tprompt: { description: \"What to design, such as a dashboard, page, component, or prototype.\", kind: \"string\" },\n\t\t\tdiscover_references: { description: \"Discover current reference designs and feed them to generation.\", kind: \"boolean\" },\n\t\t\tmax_refinements: { description: \"Maximum generate/user-feedback loop iterations.\", kind: \"number\" },\n\t\t},\n\t},\n\t{\n\t\tname: \"ralph\",\n\t\tdescription: \"Raw prompt → research → orchestrate → multi-model parallel review loop with bounded iteration.\",\n\t\tinputs: {\n\t\t\tprompt: { description: \"The task or goal to research, execute, and refine.\", kind: \"string\" },\n\t\t\tacceptance_criteria: { description: \"Original immutable task contract this run must remain consistent with.\", kind: \"string\" },\n\t\t\tmax_loops: { description: \"Maximum research/orchestrate/review iterations.\", kind: \"number\" },\n\t\t\tbase_branch: { description: \"Branch reviewers compare the current code delta against.\", kind: \"string\" },\n\t\t\tgit_worktree_dir: { description: \"Optional Git worktree path.\", kind: \"string\" },\n\t\t\tcreate_pr: { description: \"Whether to run the final pull-request creation stage.\", kind: \"boolean\" },\n\t\t},\n\t},\n];\n\nfunction completeWorkflowToken(argumentText: string, candidates: AutocompleteItem[]): AutocompleteItem[] | null {\n\tconst tokenStart = /\\s$/.test(argumentText)\n\t\t? argumentText.length\n\t\t: Math.max(argumentText.lastIndexOf(\" \"), argumentText.lastIndexOf(\"\\t\")) + 1;\n\tconst head = argumentText.slice(0, tokenStart);\n\tconst token = argumentText.slice(tokenStart);\n\tconst normalizedToken = token.trimEnd();\n\tconst filtered = candidates\n\t\t.filter((candidate) => candidate.value.startsWith(token) && candidate.value.trimEnd() !== normalizedToken)\n\t\t.map((candidate) => ({ ...candidate, value: `${head}${candidate.value}` }));\n\treturn filtered.length > 0 ? filtered : null;\n}\n\nfunction bundledWorkflowNameItems(): AutocompleteItem[] {\n\treturn BUNDLED_WORKFLOW_COMPLETION_METADATA.map((workflow) => ({\n\t\tvalue: `${workflow.name} `,\n\t\tlabel: workflow.name,\n\t\tdescription: `Run workflow: ${workflow.name}`,\n\t}));\n}\n\nexport function getBundledWorkflowArgumentCompletions(argumentPrefix: string): AutocompleteItem[] | null {\n\tconst parts = argumentPrefix.trim().split(/\\s+/).filter(Boolean);\n\tconst subcommand = parts[0] ?? \"\";\n\tconst workflowItems = bundledWorkflowNameItems();\n\tif (!argumentPrefix.includes(\" \")) {\n\t\treturn completeWorkflowToken(argumentPrefix, [...WORKFLOW_ADMIN_COMPLETIONS, ...workflowItems]);\n\t}\n\tif (subcommand === \"inputs\") return completeWorkflowToken(argumentPrefix, workflowItems);\n\tif (subcommand === \"interrupt\") {\n\t\treturn completeWorkflowToken(argumentPrefix, [\n\t\t\t{ value: \"--all \", label: \"--all\", description: \"Interrupt all in-flight runs\" },\n\t\t\t{ value: \"--yes \", label: \"--yes\", description: \"Skip confirmation\" },\n\t\t\t{ value: \"-y \", label: \"-y\", description: \"Skip confirmation\" },\n\t\t]);\n\t}\n\tif (subcommand === \"quit\") {\n\t\treturn completeWorkflowToken(argumentPrefix, [\n\t\t\t{ value: \"--all \", label: \"--all\", description: \"Quit and keep all in-flight runs resumable\" },\n\t\t]);\n\t}\n\tif (!subcommand) return completeWorkflowToken(argumentPrefix, [...WORKFLOW_ADMIN_COMPLETIONS, ...workflowItems]);\n\n\tconst workflow = BUNDLED_WORKFLOW_COMPLETION_METADATA.find((candidate) => candidate.name === subcommand);\n\tif (!workflow) return null;\n\tconst tokenStart = /\\s$/.test(argumentPrefix)\n\t\t? argumentPrefix.length\n\t\t: Math.max(argumentPrefix.lastIndexOf(\" \"), argumentPrefix.lastIndexOf(\"\\t\")) + 1;\n\tconst token = argumentPrefix.slice(tokenStart);\n\tconst equalsIndex = token.indexOf(\"=\");\n\tif (equalsIndex > 0) {\n\t\tconst inputName = token.slice(0, equalsIndex);\n\t\tconst input = workflow.inputs[inputName];\n\t\tif (input?.kind !== \"boolean\") return null;\n\t\treturn completeWorkflowToken(argumentPrefix, [\n\t\t\t{ value: `${inputName}=true `, label: \"true\", description: inputName },\n\t\t\t{ value: `${inputName}=false `, label: \"false\", description: inputName },\n\t\t]);\n\t}\n\n\treturn completeWorkflowToken(argumentPrefix, [\n\t\t{ value: \"--no-picker \", label: \"--no-picker\", description: \"Skip interactive input picker\" },\n\t\t{ value: \"--help \", label: \"--help\", description: \"Show this workflow's input schema\" },\n\t\t...Object.entries(workflow.inputs).map(([name, input]) => ({\n\t\t\tvalue: `${name}=`,\n\t\t\tlabel: name,\n\t\t\tdescription: input.description,\n\t\t})),\n\t]);\n}\n\nexport const BUILTIN_SLASH_COMMANDS: ReadonlyArray<BuiltinSlashCommand> = [\n\t{ name: \"settings\", description: \"Open settings menu\" },\n\t{ name: \"model\", description: \"Select model (opens selector UI)\" },\n\t{ name: \"scoped-models\", description: \"Enable/disable models for ctrl+p cycling\" },\n\t{ name: \"fast\", description: \"Configure Codex fast mode for chat and workflows\" },\n\t{ name: \"export\", description: \"Export session (HTML default, or specify path: .html/.jsonl)\" },\n\t{ name: \"import\", description: \"Import and resume a session from a JSONL file\" },\n\t{ name: \"share\", description: \"Share session as a secret GitHub gist\" },\n\t{ name: \"copy\", description: \"Copy last agent message to clipboard\" },\n\t{ name: \"name\", description: \"Set session display name\" },\n\t{ name: \"session\", description: \"Show session info and stats\" },\n\t{ name: \"changelog\", description: \"Show changelog entries\" },\n\t{\n\t\tname: ATOMIC_GUIDE_COMMAND_NAME,\n\t\tdescription: ATOMIC_GUIDE_COMMAND_DESCRIPTION,\n\t\tgetArgumentCompletions: getAtomicGuideArgumentCompletions,\n\t},\n\t{ name: \"hotkeys\", description: \"Show all keyboard shortcuts\" },\n\t{ name: \"fork\", description: \"Create a new fork from a previous user message\" },\n\t{ name: \"clone\", description: \"Duplicate the current session at the current position\" },\n\t{ name: \"tree\", description: \"Navigate session tree (switch branches)\" },\n\t{ name: \"trust\", description: \"Save project trust decision for future sessions\" },\n\t{ name: \"login\", description: \"Configure provider authentication\", argumentHint: \"<provider>\" },\n\t{ name: \"logout\", description: \"Remove provider authentication\" },\n\t{ name: \"new\", description: \"Start a new session\" },\n\t{ name: \"compact\", description: \"Compact older context with verbatim line ranges\" },\n\t{ name: \"resume\", description: \"Resume a different session\" },\n\t{ name: \"reload\", description: \"Reload keybindings, extensions, skills, prompts, and themes\" },\n\t{ name: \"exit\", description: `Exit ${APP_NAME}` },\n\t{ name: \"quit\", description: `Quit ${APP_NAME}` },\n];\n\nexport const BUNDLED_EXTENSION_SLASH_COMMANDS: ReadonlyArray<BuiltinSlashCommand> = [\n\t{\n\t\tname: \"workflow\",\n\t\tdescription: \"Run or inspect Atomic workflows. Usage: /workflow <name> [key=value…] | /workflow [list|status|connect|attach|interrupt|quit|pause|resume|inputs|reload] [args]\",\n\t\tgetArgumentCompletions: getBundledWorkflowArgumentCompletions,\n\t},\n\t{ name: \"run\", description: \"Run a subagent directly: /run agent[output=file] [task] [--bg] [--fork]\" },\n\t{ name: \"chain\", description: \"Run agents in sequence: /chain scout task -> planner [--bg] [--fork]\" },\n\t{ name: \"run-chain\", description: \"Run a saved chain: /run-chain chainName -- task [--bg] [--fork]\" },\n\t{ name: \"parallel\", description: \"Run agents in parallel: /parallel scout task1 -> reviewer task2 [--bg] [--fork]\" },\n\t{ name: \"subagents-doctor\", description: \"Show subagent diagnostics\" },\n\t{ name: \"mcp\", description: \"Show MCP server status\" },\n\t{ name: \"mcp-auth\", description: \"Authenticate with an MCP server (OAuth)\" },\n\t{ name: \"curator\", description: \"Toggle or configure the search curator workflow\" },\n\t{ name: \"google-account\", description: \"Show the active Google account for Gemini Web\" },\n\t{ name: \"search\", description: \"Browse stored web search results\" },\n\t{ name: \"websearch\", description: \"Open web search curator\" },\n\t{ name: \"intercom\", description: \"Open session intercom overlay\" },\n];\n"]}
@@ -0,0 +1,18 @@
1
+ import type { Usage } from "@earendil-works/pi-ai/compat";
2
+ import type { SessionEntry } from "./session-manager.ts";
3
+ export interface UsageTotals {
4
+ input: number;
5
+ output: number;
6
+ cacheRead: number;
7
+ cacheWrite: number;
8
+ cost: number;
9
+ }
10
+ export declare function createUsageTotals(): UsageTotals;
11
+ export declare function addUsageToTotals(totals: UsageTotals, usage: Usage): void;
12
+ export interface UsageCostBreakdownEntry {
13
+ key: string;
14
+ cost: number;
15
+ tokens: number;
16
+ }
17
+ export declare function getUsageCostBreakdown(entries: SessionEntry[]): UsageCostBreakdownEntry[];
18
+ //# sourceMappingURL=usage-totals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-totals.d.ts","sourceRoot":"","sources":["../../src/core/usage-totals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,iBAAiB,IAAI,WAAW,CAE/C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAMxE;AAED,MAAM,WAAW,uBAAuB;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAItF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,uBAAuB,EAAE,CAyBxF"}
@@ -0,0 +1,40 @@
1
+ export function createUsageTotals() {
2
+ return { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, cost: 0 };
3
+ }
4
+ export function addUsageToTotals(totals, usage) {
5
+ totals.input += usage.input;
6
+ totals.output += usage.output;
7
+ totals.cacheRead += usage.cacheRead;
8
+ totals.cacheWrite += usage.cacheWrite;
9
+ totals.cost += usage.cost.total;
10
+ }
11
+ export function getUsageCostBreakdown(entries) {
12
+ const totalsByKey = new Map();
13
+ for (const entry of entries) {
14
+ let key;
15
+ let usage;
16
+ if (entry.type === "message" && entry.message.role === "assistant") {
17
+ key = `${entry.message.provider}/${entry.message.responseModel ?? entry.message.model}`;
18
+ usage = entry.message.usage;
19
+ }
20
+ else if (entry.type === "message" && entry.message.role === "toolResult") {
21
+ usage = entry.message.usage;
22
+ key = usage ? "Tools/summaries" : undefined;
23
+ }
24
+ else if (entry.type === "branch_summary" && entry.usage) {
25
+ key = "Tools/summaries";
26
+ usage = entry.usage;
27
+ }
28
+ if (!key || !usage)
29
+ continue;
30
+ const totals = totalsByKey.get(key) ?? createUsageTotals();
31
+ addUsageToTotals(totals, usage);
32
+ totalsByKey.set(key, totals);
33
+ }
34
+ return [...totalsByKey].map(([key, totals]) => ({
35
+ key,
36
+ cost: totals.cost,
37
+ tokens: totals.input + totals.output + totals.cacheRead + totals.cacheWrite,
38
+ })).filter((entry) => entry.cost > 0 || entry.tokens > 0).sort((a, b) => b.cost - a.cost);
39
+ }
40
+ //# sourceMappingURL=usage-totals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-totals.js","sourceRoot":"","sources":["../../src/core/usage-totals.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,iBAAiB;IAChC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAmB,EAAE,KAAY;IACjE,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;IAC5B,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;IAC9B,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC;IACpC,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;IACtC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AACjC,CAAC;AAMD,MAAM,UAAU,qBAAqB,CAAC,OAAuB;IAC5D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;IACnD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,GAAuB,CAAC;QAC5B,IAAI,KAAwB,CAAC;QAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACpE,GAAG,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACxF,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7B,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC5E,KAAK,GAAI,KAAK,CAAC,OAA4B,CAAC,KAAK,CAAC;YAClD,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7C,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3D,GAAG,GAAG,iBAAiB,CAAC;YACxB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;YAAE,SAAS;QAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAC3D,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,GAAG;QACH,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU;KAC3E,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3F,CAAC","sourcesContent":["import type { Usage } from \"@earendil-works/pi-ai/compat\";\nimport type { SessionEntry } from \"./session-manager.ts\";\n\nexport interface UsageTotals {\n\tinput: number;\n\toutput: number;\n\tcacheRead: number;\n\tcacheWrite: number;\n\tcost: number;\n}\n\nexport function createUsageTotals(): UsageTotals {\n\treturn { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, cost: 0 };\n}\n\nexport function addUsageToTotals(totals: UsageTotals, usage: Usage): void {\n\ttotals.input += usage.input;\n\ttotals.output += usage.output;\n\ttotals.cacheRead += usage.cacheRead;\n\ttotals.cacheWrite += usage.cacheWrite;\n\ttotals.cost += usage.cost.total;\n}\n\nexport interface UsageCostBreakdownEntry { key: string; cost: number; tokens: number }\n\ntype MessageWithUsage = { role: \"toolResult\"; usage?: Usage };\n\nexport function getUsageCostBreakdown(entries: SessionEntry[]): UsageCostBreakdownEntry[] {\n\tconst totalsByKey = new Map<string, UsageTotals>();\n\tfor (const entry of entries) {\n\t\tlet key: string | undefined;\n\t\tlet usage: Usage | undefined;\n\t\tif (entry.type === \"message\" && entry.message.role === \"assistant\") {\n\t\t\tkey = `${entry.message.provider}/${entry.message.responseModel ?? entry.message.model}`;\n\t\t\tusage = entry.message.usage;\n\t\t} else if (entry.type === \"message\" && entry.message.role === \"toolResult\") {\n\t\t\tusage = (entry.message as MessageWithUsage).usage;\n\t\t\tkey = usage ? \"Tools/summaries\" : undefined;\n\t\t} else if (entry.type === \"branch_summary\" && entry.usage) {\n\t\t\tkey = \"Tools/summaries\";\n\t\t\tusage = entry.usage;\n\t\t}\n\t\tif (!key || !usage) continue;\n\t\tconst totals = totalsByKey.get(key) ?? createUsageTotals();\n\t\taddUsageToTotals(totals, usage);\n\t\ttotalsByKey.set(key, totals);\n\t}\n\treturn [...totalsByKey].map(([key, totals]) => ({\n\t\tkey,\n\t\tcost: totals.cost,\n\t\ttokens: totals.input + totals.output + totals.cacheRead + totals.cacheWrite,\n\t})).filter((entry) => entry.cost > 0 || entry.tokens > 0).sort((a, b) => b.cost - a.cost);\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import type { InlineExtension } from "../core/extensions/types.js";
2
+ export declare const builtInExtensions: InlineExtension[];
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAGnE,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAE9C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import llamaExtension from "./llama/index.js";
2
+ export const builtInExtensions = [
3
+ { name: "llama.cpp", factory: llamaExtension, hidden: true },
4
+ ];
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IACnD,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE;CAC5D,CAAC","sourcesContent":["import type { InlineExtension } from \"../core/extensions/types.js\";\nimport llamaExtension from \"./llama/index.js\";\n\nexport const builtInExtensions: InlineExtension[] = [\n\t{ name: \"llama.cpp\", factory: llamaExtension, hidden: true },\n];\n"]}
@@ -0,0 +1,61 @@
1
+ export type LlamaModelStatus = "unloaded" | "loading" | "loaded" | "downloading" | "sleeping";
2
+ export interface LlamaModelInfo {
3
+ id: string;
4
+ aliases?: string[];
5
+ status: {
6
+ value: LlamaModelStatus;
7
+ args?: string[];
8
+ failed?: boolean;
9
+ exit_code?: number;
10
+ progress?: Record<string, {
11
+ done: number;
12
+ total: number;
13
+ }>;
14
+ };
15
+ architecture?: {
16
+ input_modalities?: string[];
17
+ output_modalities?: string[];
18
+ };
19
+ source?: string;
20
+ meta?: {
21
+ n_ctx?: number;
22
+ n_ctx_train?: number;
23
+ size?: number;
24
+ ftype?: string;
25
+ };
26
+ }
27
+ export interface LlamaModelsResponse {
28
+ data: LlamaModelInfo[];
29
+ object?: string;
30
+ }
31
+ export interface LlamaModelEvent {
32
+ model: string;
33
+ event: string;
34
+ data?: unknown;
35
+ }
36
+ export interface LlamaProgress {
37
+ message: string;
38
+ ratio?: number;
39
+ detail?: string;
40
+ }
41
+ export declare function formatBytes(bytes: number): string;
42
+ export declare function normalizeLlamaServerUrl(value: string): string;
43
+ export declare function llamaInferenceUrl(serverUrl: string): string;
44
+ export declare class LlamaClient {
45
+ readonly serverUrl: string;
46
+ private readonly apiKey;
47
+ constructor(serverUrl: string, apiKey?: string);
48
+ private request;
49
+ list(options?: {
50
+ reload?: boolean;
51
+ signal?: AbortSignal;
52
+ }): Promise<LlamaModelInfo[]>;
53
+ load(model: string, signal?: AbortSignal): Promise<void>;
54
+ unload(model: string, signal?: AbortSignal): Promise<void>;
55
+ unloadAndWait(model: string, signal?: AbortSignal): Promise<void>;
56
+ download(model: string, signal?: AbortSignal): Promise<void>;
57
+ watch(onEvent: (event: LlamaModelEvent) => void, signal?: AbortSignal): Promise<void>;
58
+ loadAndWait(model: string, onProgress: (progress: LlamaProgress) => void, signal?: AbortSignal): Promise<LlamaModelInfo>;
59
+ downloadAndWait(model: string, onProgress: (progress: LlamaProgress) => void, signal?: AbortSignal): Promise<LlamaModelInfo[]>;
60
+ }
61
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/extensions/llama/client.ts"],"names":[],"mappings":"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"}