meetsoma 0.3.2 → 0.3.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 (516) hide show
  1. package/CHANGELOG.md +26 -194
  2. package/dist/thin-cli.js +1587 -392
  3. package/package.json +12 -59
  4. package/bin/gum +0 -0
  5. package/dist/bun/cli.d.ts +0 -3
  6. package/dist/bun/cli.d.ts.map +0 -1
  7. package/dist/bun/cli.js +0 -7
  8. package/dist/bun/cli.js.map +0 -1
  9. package/dist/bun/register-bedrock.d.ts +0 -2
  10. package/dist/bun/register-bedrock.d.ts.map +0 -1
  11. package/dist/bun/register-bedrock.js +0 -4
  12. package/dist/bun/register-bedrock.js.map +0 -1
  13. package/dist/cli/args.d.ts +0 -49
  14. package/dist/cli/args.d.ts.map +0 -1
  15. package/dist/cli/args.js +0 -304
  16. package/dist/cli/args.js.map +0 -1
  17. package/dist/cli/config-selector.d.ts +0 -14
  18. package/dist/cli/config-selector.d.ts.map +0 -1
  19. package/dist/cli/config-selector.js +0 -31
  20. package/dist/cli/config-selector.js.map +0 -1
  21. package/dist/cli/file-processor.d.ts +0 -15
  22. package/dist/cli/file-processor.d.ts.map +0 -1
  23. package/dist/cli/file-processor.js +0 -83
  24. package/dist/cli/file-processor.js.map +0 -1
  25. package/dist/cli/initial-message.d.ts +0 -18
  26. package/dist/cli/initial-message.d.ts.map +0 -1
  27. package/dist/cli/initial-message.js +0 -22
  28. package/dist/cli/initial-message.js.map +0 -1
  29. package/dist/cli/list-models.d.ts +0 -9
  30. package/dist/cli/list-models.d.ts.map +0 -1
  31. package/dist/cli/list-models.js +0 -92
  32. package/dist/cli/list-models.js.map +0 -1
  33. package/dist/cli/session-picker.d.ts +0 -9
  34. package/dist/cli/session-picker.d.ts.map +0 -1
  35. package/dist/cli/session-picker.js +0 -35
  36. package/dist/cli/session-picker.js.map +0 -1
  37. package/dist/cli.d.ts +0 -3
  38. package/dist/cli.d.ts.map +0 -1
  39. package/dist/cli.js +0 -601
  40. package/dist/cli.js.map +0 -1
  41. package/dist/config.d.ts +0 -68
  42. package/dist/config.d.ts.map +0 -1
  43. package/dist/config.js +0 -203
  44. package/dist/config.js.map +0 -1
  45. package/dist/core/agent-session-runtime.d.ts +0 -134
  46. package/dist/core/agent-session-runtime.d.ts.map +0 -1
  47. package/dist/core/agent-session-runtime.js +0 -264
  48. package/dist/core/agent-session-runtime.js.map +0 -1
  49. package/dist/core/agent-session.d.ts +0 -585
  50. package/dist/core/agent-session.d.ts.map +0 -1
  51. package/dist/core/agent-session.js +0 -2497
  52. package/dist/core/agent-session.js.map +0 -1
  53. package/dist/core/auth-storage.d.ts +0 -132
  54. package/dist/core/auth-storage.d.ts.map +0 -1
  55. package/dist/core/auth-storage.js +0 -422
  56. package/dist/core/auth-storage.js.map +0 -1
  57. package/dist/core/bash-executor.d.ts +0 -46
  58. package/dist/core/bash-executor.d.ts.map +0 -1
  59. package/dist/core/bash-executor.js +0 -113
  60. package/dist/core/bash-executor.js.map +0 -1
  61. package/dist/core/compaction/branch-summarization.d.ts +0 -88
  62. package/dist/core/compaction/branch-summarization.d.ts.map +0 -1
  63. package/dist/core/compaction/branch-summarization.js +0 -243
  64. package/dist/core/compaction/branch-summarization.js.map +0 -1
  65. package/dist/core/compaction/compaction.d.ts +0 -121
  66. package/dist/core/compaction/compaction.d.ts.map +0 -1
  67. package/dist/core/compaction/compaction.js +0 -613
  68. package/dist/core/compaction/compaction.js.map +0 -1
  69. package/dist/core/compaction/index.d.ts +0 -7
  70. package/dist/core/compaction/index.d.ts.map +0 -1
  71. package/dist/core/compaction/index.js +0 -7
  72. package/dist/core/compaction/index.js.map +0 -1
  73. package/dist/core/compaction/utils.d.ts +0 -38
  74. package/dist/core/compaction/utils.d.ts.map +0 -1
  75. package/dist/core/compaction/utils.js +0 -153
  76. package/dist/core/compaction/utils.js.map +0 -1
  77. package/dist/core/defaults.d.ts +0 -3
  78. package/dist/core/defaults.d.ts.map +0 -1
  79. package/dist/core/defaults.js +0 -2
  80. package/dist/core/defaults.js.map +0 -1
  81. package/dist/core/diagnostics.d.ts +0 -15
  82. package/dist/core/diagnostics.d.ts.map +0 -1
  83. package/dist/core/diagnostics.js +0 -2
  84. package/dist/core/diagnostics.js.map +0 -1
  85. package/dist/core/event-bus.d.ts +0 -9
  86. package/dist/core/event-bus.d.ts.map +0 -1
  87. package/dist/core/event-bus.js +0 -25
  88. package/dist/core/event-bus.js.map +0 -1
  89. package/dist/core/exec.d.ts +0 -29
  90. package/dist/core/exec.d.ts.map +0 -1
  91. package/dist/core/exec.js +0 -75
  92. package/dist/core/exec.js.map +0 -1
  93. package/dist/core/export-html/ansi-to-html.d.ts +0 -22
  94. package/dist/core/export-html/ansi-to-html.d.ts.map +0 -1
  95. package/dist/core/export-html/ansi-to-html.js +0 -249
  96. package/dist/core/export-html/ansi-to-html.js.map +0 -1
  97. package/dist/core/export-html/index.d.ts +0 -37
  98. package/dist/core/export-html/index.d.ts.map +0 -1
  99. package/dist/core/export-html/index.js +0 -224
  100. package/dist/core/export-html/index.js.map +0 -1
  101. package/dist/core/export-html/template.css +0 -1001
  102. package/dist/core/export-html/template.html +0 -55
  103. package/dist/core/export-html/template.js +0 -1690
  104. package/dist/core/export-html/tool-renderer.d.ts +0 -40
  105. package/dist/core/export-html/tool-renderer.d.ts.map +0 -1
  106. package/dist/core/export-html/tool-renderer.js +0 -95
  107. package/dist/core/export-html/tool-renderer.js.map +0 -1
  108. package/dist/core/export-html/vendor/highlight.min.js +0 -1213
  109. package/dist/core/export-html/vendor/marked.min.js +0 -6
  110. package/dist/core/extensions/index.d.ts +0 -12
  111. package/dist/core/extensions/index.d.ts.map +0 -1
  112. package/dist/core/extensions/index.js +0 -9
  113. package/dist/core/extensions/index.js.map +0 -1
  114. package/dist/core/extensions/loader.d.ts +0 -25
  115. package/dist/core/extensions/loader.d.ts.map +0 -1
  116. package/dist/core/extensions/loader.js +0 -436
  117. package/dist/core/extensions/loader.js.map +0 -1
  118. package/dist/core/extensions/runner.d.ts +0 -148
  119. package/dist/core/extensions/runner.d.ts.map +0 -1
  120. package/dist/core/extensions/runner.js +0 -700
  121. package/dist/core/extensions/runner.js.map +0 -1
  122. package/dist/core/extensions/types.d.ts +0 -1076
  123. package/dist/core/extensions/types.d.ts.map +0 -1
  124. package/dist/core/extensions/types.js +0 -35
  125. package/dist/core/extensions/types.js.map +0 -1
  126. package/dist/core/extensions/wrapper.d.ts +0 -20
  127. package/dist/core/extensions/wrapper.d.ts.map +0 -1
  128. package/dist/core/extensions/wrapper.js +0 -22
  129. package/dist/core/extensions/wrapper.js.map +0 -1
  130. package/dist/core/footer-data-provider.d.ts +0 -48
  131. package/dist/core/footer-data-provider.d.ts.map +0 -1
  132. package/dist/core/footer-data-provider.js +0 -314
  133. package/dist/core/footer-data-provider.js.map +0 -1
  134. package/dist/core/index.d.ts +0 -11
  135. package/dist/core/index.d.ts.map +0 -1
  136. package/dist/core/index.js +0 -11
  137. package/dist/core/index.js.map +0 -1
  138. package/dist/core/keybindings.d.ts +0 -285
  139. package/dist/core/keybindings.d.ts.map +0 -1
  140. package/dist/core/keybindings.js +0 -251
  141. package/dist/core/keybindings.js.map +0 -1
  142. package/dist/core/messages.d.ts +0 -77
  143. package/dist/core/messages.d.ts.map +0 -1
  144. package/dist/core/messages.js +0 -123
  145. package/dist/core/messages.js.map +0 -1
  146. package/dist/core/model-registry.d.ts +0 -132
  147. package/dist/core/model-registry.d.ts.map +0 -1
  148. package/dist/core/model-registry.js +0 -583
  149. package/dist/core/model-registry.js.map +0 -1
  150. package/dist/core/model-resolver.d.ts +0 -110
  151. package/dist/core/model-resolver.d.ts.map +0 -1
  152. package/dist/core/model-resolver.js +0 -486
  153. package/dist/core/model-resolver.js.map +0 -1
  154. package/dist/core/output-guard.d.ts +0 -6
  155. package/dist/core/output-guard.d.ts.map +0 -1
  156. package/dist/core/output-guard.js +0 -59
  157. package/dist/core/output-guard.js.map +0 -1
  158. package/dist/core/package-manager.d.ts +0 -172
  159. package/dist/core/package-manager.d.ts.map +0 -1
  160. package/dist/core/package-manager.js +0 -1783
  161. package/dist/core/package-manager.js.map +0 -1
  162. package/dist/core/prompt-templates.d.ts +0 -51
  163. package/dist/core/prompt-templates.d.ts.map +0 -1
  164. package/dist/core/prompt-templates.js +0 -249
  165. package/dist/core/prompt-templates.js.map +0 -1
  166. package/dist/core/resolve-config-value.d.ts +0 -23
  167. package/dist/core/resolve-config-value.d.ts.map +0 -1
  168. package/dist/core/resolve-config-value.js +0 -126
  169. package/dist/core/resolve-config-value.js.map +0 -1
  170. package/dist/core/resource-loader.d.ts +0 -185
  171. package/dist/core/resource-loader.d.ts.map +0 -1
  172. package/dist/core/resource-loader.js +0 -698
  173. package/dist/core/resource-loader.js.map +0 -1
  174. package/dist/core/sdk.d.ts +0 -93
  175. package/dist/core/sdk.d.ts.map +0 -1
  176. package/dist/core/sdk.js +0 -236
  177. package/dist/core/sdk.js.map +0 -1
  178. package/dist/core/session-manager.d.ts +0 -332
  179. package/dist/core/session-manager.d.ts.map +0 -1
  180. package/dist/core/session-manager.js +0 -1104
  181. package/dist/core/session-manager.js.map +0 -1
  182. package/dist/core/settings-manager.d.ts +0 -237
  183. package/dist/core/settings-manager.d.ts.map +0 -1
  184. package/dist/core/settings-manager.js +0 -702
  185. package/dist/core/settings-manager.js.map +0 -1
  186. package/dist/core/skills.d.ts +0 -60
  187. package/dist/core/skills.d.ts.map +0 -1
  188. package/dist/core/skills.js +0 -409
  189. package/dist/core/skills.js.map +0 -1
  190. package/dist/core/slash-commands.d.ts +0 -14
  191. package/dist/core/slash-commands.d.ts.map +0 -1
  192. package/dist/core/slash-commands.js +0 -23
  193. package/dist/core/slash-commands.js.map +0 -1
  194. package/dist/core/source-info.d.ts +0 -18
  195. package/dist/core/source-info.d.ts.map +0 -1
  196. package/dist/core/source-info.js +0 -19
  197. package/dist/core/source-info.js.map +0 -1
  198. package/dist/core/system-prompt.d.ts +0 -28
  199. package/dist/core/system-prompt.d.ts.map +0 -1
  200. package/dist/core/system-prompt.js +0 -116
  201. package/dist/core/system-prompt.js.map +0 -1
  202. package/dist/core/timings.d.ts +0 -8
  203. package/dist/core/timings.d.ts.map +0 -1
  204. package/dist/core/timings.js +0 -31
  205. package/dist/core/timings.js.map +0 -1
  206. package/dist/core/tools/bash.d.ts +0 -73
  207. package/dist/core/tools/bash.d.ts.map +0 -1
  208. package/dist/core/tools/bash.js +0 -342
  209. package/dist/core/tools/bash.js.map +0 -1
  210. package/dist/core/tools/edit-diff.d.ts +0 -85
  211. package/dist/core/tools/edit-diff.d.ts.map +0 -1
  212. package/dist/core/tools/edit-diff.js +0 -337
  213. package/dist/core/tools/edit-diff.js.map +0 -1
  214. package/dist/core/tools/edit.d.ts +0 -53
  215. package/dist/core/tools/edit.d.ts.map +0 -1
  216. package/dist/core/tools/edit.js +0 -196
  217. package/dist/core/tools/edit.js.map +0 -1
  218. package/dist/core/tools/file-mutation-queue.d.ts +0 -6
  219. package/dist/core/tools/file-mutation-queue.d.ts.map +0 -1
  220. package/dist/core/tools/file-mutation-queue.js +0 -37
  221. package/dist/core/tools/file-mutation-queue.js.map +0 -1
  222. package/dist/core/tools/find.d.ts +0 -46
  223. package/dist/core/tools/find.d.ts.map +0 -1
  224. package/dist/core/tools/find.js +0 -258
  225. package/dist/core/tools/find.js.map +0 -1
  226. package/dist/core/tools/grep.d.ts +0 -56
  227. package/dist/core/tools/grep.d.ts.map +0 -1
  228. package/dist/core/tools/grep.js +0 -293
  229. package/dist/core/tools/grep.js.map +0 -1
  230. package/dist/core/tools/index.d.ts +0 -115
  231. package/dist/core/tools/index.d.ts.map +0 -1
  232. package/dist/core/tools/index.js +0 -86
  233. package/dist/core/tools/index.js.map +0 -1
  234. package/dist/core/tools/ls.d.ts +0 -46
  235. package/dist/core/tools/ls.d.ts.map +0 -1
  236. package/dist/core/tools/ls.js +0 -172
  237. package/dist/core/tools/ls.js.map +0 -1
  238. package/dist/core/tools/path-utils.d.ts +0 -8
  239. package/dist/core/tools/path-utils.d.ts.map +0 -1
  240. package/dist/core/tools/path-utils.js +0 -81
  241. package/dist/core/tools/path-utils.js.map +0 -1
  242. package/dist/core/tools/read.d.ts +0 -46
  243. package/dist/core/tools/read.d.ts.map +0 -1
  244. package/dist/core/tools/read.js +0 -225
  245. package/dist/core/tools/read.js.map +0 -1
  246. package/dist/core/tools/render-utils.d.ts +0 -21
  247. package/dist/core/tools/render-utils.d.ts.map +0 -1
  248. package/dist/core/tools/render-utils.js +0 -49
  249. package/dist/core/tools/render-utils.js.map +0 -1
  250. package/dist/core/tools/tool-definition-wrapper.d.ts +0 -14
  251. package/dist/core/tools/tool-definition-wrapper.d.ts.map +0 -1
  252. package/dist/core/tools/tool-definition-wrapper.js +0 -32
  253. package/dist/core/tools/tool-definition-wrapper.js.map +0 -1
  254. package/dist/core/tools/truncate.d.ts +0 -70
  255. package/dist/core/tools/truncate.d.ts.map +0 -1
  256. package/dist/core/tools/truncate.js +0 -205
  257. package/dist/core/tools/truncate.js.map +0 -1
  258. package/dist/core/tools/write.d.ts +0 -35
  259. package/dist/core/tools/write.d.ts.map +0 -1
  260. package/dist/core/tools/write.js +0 -216
  261. package/dist/core/tools/write.js.map +0 -1
  262. package/dist/index.d.ts +0 -28
  263. package/dist/index.d.ts.map +0 -1
  264. package/dist/index.js +0 -43
  265. package/dist/index.js.map +0 -1
  266. package/dist/lib/config.js +0 -22
  267. package/dist/lib/detect.js +0 -94
  268. package/dist/lib/display.js +0 -182
  269. package/dist/main.d.ts +0 -8
  270. package/dist/main.d.ts.map +0 -1
  271. package/dist/main.js +0 -806
  272. package/dist/main.js.map +0 -1
  273. package/dist/migrations.d.ts +0 -33
  274. package/dist/migrations.d.ts.map +0 -1
  275. package/dist/migrations.js +0 -261
  276. package/dist/migrations.js.map +0 -1
  277. package/dist/modes/index.d.ts +0 -9
  278. package/dist/modes/index.d.ts.map +0 -1
  279. package/dist/modes/index.js +0 -8
  280. package/dist/modes/index.js.map +0 -1
  281. package/dist/modes/interactive/components/armin.d.ts +0 -34
  282. package/dist/modes/interactive/components/armin.d.ts.map +0 -1
  283. package/dist/modes/interactive/components/armin.js +0 -333
  284. package/dist/modes/interactive/components/armin.js.map +0 -1
  285. package/dist/modes/interactive/components/assistant-message.d.ts +0 -18
  286. package/dist/modes/interactive/components/assistant-message.d.ts.map +0 -1
  287. package/dist/modes/interactive/components/assistant-message.js +0 -107
  288. package/dist/modes/interactive/components/assistant-message.js.map +0 -1
  289. package/dist/modes/interactive/components/bash-execution.d.ts +0 -34
  290. package/dist/modes/interactive/components/bash-execution.d.ts.map +0 -1
  291. package/dist/modes/interactive/components/bash-execution.js +0 -175
  292. package/dist/modes/interactive/components/bash-execution.js.map +0 -1
  293. package/dist/modes/interactive/components/bordered-loader.d.ts +0 -16
  294. package/dist/modes/interactive/components/bordered-loader.d.ts.map +0 -1
  295. package/dist/modes/interactive/components/bordered-loader.js +0 -51
  296. package/dist/modes/interactive/components/bordered-loader.js.map +0 -1
  297. package/dist/modes/interactive/components/branch-summary-message.d.ts +0 -16
  298. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +0 -1
  299. package/dist/modes/interactive/components/branch-summary-message.js +0 -44
  300. package/dist/modes/interactive/components/branch-summary-message.js.map +0 -1
  301. package/dist/modes/interactive/components/compaction-summary-message.d.ts +0 -16
  302. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +0 -1
  303. package/dist/modes/interactive/components/compaction-summary-message.js +0 -45
  304. package/dist/modes/interactive/components/compaction-summary-message.js.map +0 -1
  305. package/dist/modes/interactive/components/config-selector.d.ts +0 -71
  306. package/dist/modes/interactive/components/config-selector.d.ts.map +0 -1
  307. package/dist/modes/interactive/components/config-selector.js +0 -479
  308. package/dist/modes/interactive/components/config-selector.js.map +0 -1
  309. package/dist/modes/interactive/components/countdown-timer.d.ts +0 -14
  310. package/dist/modes/interactive/components/countdown-timer.d.ts.map +0 -1
  311. package/dist/modes/interactive/components/countdown-timer.js +0 -33
  312. package/dist/modes/interactive/components/countdown-timer.js.map +0 -1
  313. package/dist/modes/interactive/components/custom-editor.d.ts +0 -21
  314. package/dist/modes/interactive/components/custom-editor.d.ts.map +0 -1
  315. package/dist/modes/interactive/components/custom-editor.js +0 -70
  316. package/dist/modes/interactive/components/custom-editor.js.map +0 -1
  317. package/dist/modes/interactive/components/custom-message.d.ts +0 -20
  318. package/dist/modes/interactive/components/custom-message.d.ts.map +0 -1
  319. package/dist/modes/interactive/components/custom-message.js +0 -79
  320. package/dist/modes/interactive/components/custom-message.js.map +0 -1
  321. package/dist/modes/interactive/components/daxnuts.d.ts +0 -23
  322. package/dist/modes/interactive/components/daxnuts.d.ts.map +0 -1
  323. package/dist/modes/interactive/components/daxnuts.js +0 -140
  324. package/dist/modes/interactive/components/daxnuts.js.map +0 -1
  325. package/dist/modes/interactive/components/diff.d.ts +0 -12
  326. package/dist/modes/interactive/components/diff.d.ts.map +0 -1
  327. package/dist/modes/interactive/components/diff.js +0 -133
  328. package/dist/modes/interactive/components/diff.js.map +0 -1
  329. package/dist/modes/interactive/components/dynamic-border.d.ts +0 -15
  330. package/dist/modes/interactive/components/dynamic-border.d.ts.map +0 -1
  331. package/dist/modes/interactive/components/dynamic-border.js +0 -21
  332. package/dist/modes/interactive/components/dynamic-border.js.map +0 -1
  333. package/dist/modes/interactive/components/extension-editor.d.ts +0 -20
  334. package/dist/modes/interactive/components/extension-editor.d.ts.map +0 -1
  335. package/dist/modes/interactive/components/extension-editor.js +0 -111
  336. package/dist/modes/interactive/components/extension-editor.js.map +0 -1
  337. package/dist/modes/interactive/components/extension-input.d.ts +0 -23
  338. package/dist/modes/interactive/components/extension-input.d.ts.map +0 -1
  339. package/dist/modes/interactive/components/extension-input.js +0 -61
  340. package/dist/modes/interactive/components/extension-input.js.map +0 -1
  341. package/dist/modes/interactive/components/extension-selector.d.ts +0 -24
  342. package/dist/modes/interactive/components/extension-selector.d.ts.map +0 -1
  343. package/dist/modes/interactive/components/extension-selector.js +0 -78
  344. package/dist/modes/interactive/components/extension-selector.js.map +0 -1
  345. package/dist/modes/interactive/components/footer.d.ts +0 -27
  346. package/dist/modes/interactive/components/footer.d.ts.map +0 -1
  347. package/dist/modes/interactive/components/footer.js +0 -201
  348. package/dist/modes/interactive/components/footer.js.map +0 -1
  349. package/dist/modes/interactive/components/index.d.ts +0 -32
  350. package/dist/modes/interactive/components/index.d.ts.map +0 -1
  351. package/dist/modes/interactive/components/index.js +0 -33
  352. package/dist/modes/interactive/components/index.js.map +0 -1
  353. package/dist/modes/interactive/components/keybinding-hints.d.ts +0 -8
  354. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +0 -1
  355. package/dist/modes/interactive/components/keybinding-hints.js +0 -22
  356. package/dist/modes/interactive/components/keybinding-hints.js.map +0 -1
  357. package/dist/modes/interactive/components/login-dialog.d.ts +0 -42
  358. package/dist/modes/interactive/components/login-dialog.d.ts.map +0 -1
  359. package/dist/modes/interactive/components/login-dialog.js +0 -145
  360. package/dist/modes/interactive/components/login-dialog.js.map +0 -1
  361. package/dist/modes/interactive/components/model-selector.d.ts +0 -47
  362. package/dist/modes/interactive/components/model-selector.d.ts.map +0 -1
  363. package/dist/modes/interactive/components/model-selector.js +0 -275
  364. package/dist/modes/interactive/components/model-selector.js.map +0 -1
  365. package/dist/modes/interactive/components/oauth-selector.d.ts +0 -19
  366. package/dist/modes/interactive/components/oauth-selector.d.ts.map +0 -1
  367. package/dist/modes/interactive/components/oauth-selector.js +0 -97
  368. package/dist/modes/interactive/components/oauth-selector.js.map +0 -1
  369. package/dist/modes/interactive/components/scoped-models-selector.d.ts +0 -49
  370. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +0 -1
  371. package/dist/modes/interactive/components/scoped-models-selector.js +0 -275
  372. package/dist/modes/interactive/components/scoped-models-selector.js.map +0 -1
  373. package/dist/modes/interactive/components/session-selector-search.d.ts +0 -23
  374. package/dist/modes/interactive/components/session-selector-search.d.ts.map +0 -1
  375. package/dist/modes/interactive/components/session-selector-search.js +0 -155
  376. package/dist/modes/interactive/components/session-selector-search.js.map +0 -1
  377. package/dist/modes/interactive/components/session-selector.d.ts +0 -95
  378. package/dist/modes/interactive/components/session-selector.d.ts.map +0 -1
  379. package/dist/modes/interactive/components/session-selector.js +0 -848
  380. package/dist/modes/interactive/components/session-selector.js.map +0 -1
  381. package/dist/modes/interactive/components/settings-selector.d.ts +0 -58
  382. package/dist/modes/interactive/components/settings-selector.d.ts.map +0 -1
  383. package/dist/modes/interactive/components/settings-selector.js +0 -301
  384. package/dist/modes/interactive/components/settings-selector.js.map +0 -1
  385. package/dist/modes/interactive/components/show-images-selector.d.ts +0 -10
  386. package/dist/modes/interactive/components/show-images-selector.d.ts.map +0 -1
  387. package/dist/modes/interactive/components/show-images-selector.js +0 -39
  388. package/dist/modes/interactive/components/show-images-selector.js.map +0 -1
  389. package/dist/modes/interactive/components/skill-invocation-message.d.ts +0 -17
  390. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +0 -1
  391. package/dist/modes/interactive/components/skill-invocation-message.js +0 -47
  392. package/dist/modes/interactive/components/skill-invocation-message.js.map +0 -1
  393. package/dist/modes/interactive/components/theme-selector.d.ts +0 -11
  394. package/dist/modes/interactive/components/theme-selector.d.ts.map +0 -1
  395. package/dist/modes/interactive/components/theme-selector.js +0 -50
  396. package/dist/modes/interactive/components/theme-selector.js.map +0 -1
  397. package/dist/modes/interactive/components/thinking-selector.d.ts +0 -11
  398. package/dist/modes/interactive/components/thinking-selector.d.ts.map +0 -1
  399. package/dist/modes/interactive/components/thinking-selector.js +0 -51
  400. package/dist/modes/interactive/components/thinking-selector.js.map +0 -1
  401. package/dist/modes/interactive/components/tool-execution.d.ts +0 -58
  402. package/dist/modes/interactive/components/tool-execution.d.ts.map +0 -1
  403. package/dist/modes/interactive/components/tool-execution.js +0 -274
  404. package/dist/modes/interactive/components/tool-execution.js.map +0 -1
  405. package/dist/modes/interactive/components/tree-selector.d.ts +0 -89
  406. package/dist/modes/interactive/components/tree-selector.d.ts.map +0 -1
  407. package/dist/modes/interactive/components/tree-selector.js +0 -1084
  408. package/dist/modes/interactive/components/tree-selector.js.map +0 -1
  409. package/dist/modes/interactive/components/user-message-selector.d.ts +0 -30
  410. package/dist/modes/interactive/components/user-message-selector.d.ts.map +0 -1
  411. package/dist/modes/interactive/components/user-message-selector.js +0 -113
  412. package/dist/modes/interactive/components/user-message-selector.js.map +0 -1
  413. package/dist/modes/interactive/components/user-message.d.ts +0 -9
  414. package/dist/modes/interactive/components/user-message.d.ts.map +0 -1
  415. package/dist/modes/interactive/components/user-message.js +0 -28
  416. package/dist/modes/interactive/components/user-message.js.map +0 -1
  417. package/dist/modes/interactive/components/visual-truncate.d.ts +0 -24
  418. package/dist/modes/interactive/components/visual-truncate.d.ts.map +0 -1
  419. package/dist/modes/interactive/components/visual-truncate.js +0 -33
  420. package/dist/modes/interactive/components/visual-truncate.js.map +0 -1
  421. package/dist/modes/interactive/interactive-mode.d.ts +0 -318
  422. package/dist/modes/interactive/interactive-mode.d.ts.map +0 -1
  423. package/dist/modes/interactive/interactive-mode.js +0 -3907
  424. package/dist/modes/interactive/interactive-mode.js.map +0 -1
  425. package/dist/modes/interactive/theme/dark.json +0 -85
  426. package/dist/modes/interactive/theme/light.json +0 -84
  427. package/dist/modes/interactive/theme/theme-schema.json +0 -335
  428. package/dist/modes/interactive/theme/theme.d.ts +0 -81
  429. package/dist/modes/interactive/theme/theme.d.ts.map +0 -1
  430. package/dist/modes/interactive/theme/theme.js +0 -970
  431. package/dist/modes/interactive/theme/theme.js.map +0 -1
  432. package/dist/modes/print-mode.d.ts +0 -28
  433. package/dist/modes/print-mode.d.ts.map +0 -1
  434. package/dist/modes/print-mode.js +0 -108
  435. package/dist/modes/print-mode.js.map +0 -1
  436. package/dist/modes/rpc/jsonl.d.ts +0 -17
  437. package/dist/modes/rpc/jsonl.d.ts.map +0 -1
  438. package/dist/modes/rpc/jsonl.js +0 -49
  439. package/dist/modes/rpc/jsonl.js.map +0 -1
  440. package/dist/modes/rpc/rpc-client.d.ts +0 -217
  441. package/dist/modes/rpc/rpc-client.d.ts.map +0 -1
  442. package/dist/modes/rpc/rpc-client.js +0 -401
  443. package/dist/modes/rpc/rpc-client.js.map +0 -1
  444. package/dist/modes/rpc/rpc-mode.d.ts +0 -20
  445. package/dist/modes/rpc/rpc-mode.d.ts.map +0 -1
  446. package/dist/modes/rpc/rpc-mode.js +0 -542
  447. package/dist/modes/rpc/rpc-mode.js.map +0 -1
  448. package/dist/modes/rpc/rpc-types.d.ts +0 -408
  449. package/dist/modes/rpc/rpc-types.d.ts.map +0 -1
  450. package/dist/modes/rpc/rpc-types.js +0 -8
  451. package/dist/modes/rpc/rpc-types.js.map +0 -1
  452. package/dist/utils/changelog.d.ts +0 -21
  453. package/dist/utils/changelog.d.ts.map +0 -1
  454. package/dist/utils/changelog.js +0 -87
  455. package/dist/utils/changelog.js.map +0 -1
  456. package/dist/utils/child-process.d.ts +0 -11
  457. package/dist/utils/child-process.d.ts.map +0 -1
  458. package/dist/utils/child-process.js +0 -78
  459. package/dist/utils/child-process.js.map +0 -1
  460. package/dist/utils/clipboard-image.d.ts +0 -11
  461. package/dist/utils/clipboard-image.d.ts.map +0 -1
  462. package/dist/utils/clipboard-image.js +0 -245
  463. package/dist/utils/clipboard-image.js.map +0 -1
  464. package/dist/utils/clipboard-native.d.ts +0 -8
  465. package/dist/utils/clipboard-native.d.ts.map +0 -1
  466. package/dist/utils/clipboard-native.js +0 -14
  467. package/dist/utils/clipboard-native.js.map +0 -1
  468. package/dist/utils/clipboard.d.ts +0 -2
  469. package/dist/utils/clipboard.d.ts.map +0 -1
  470. package/dist/utils/clipboard.js +0 -78
  471. package/dist/utils/clipboard.js.map +0 -1
  472. package/dist/utils/exif-orientation.d.ts +0 -5
  473. package/dist/utils/exif-orientation.d.ts.map +0 -1
  474. package/dist/utils/exif-orientation.js +0 -158
  475. package/dist/utils/exif-orientation.js.map +0 -1
  476. package/dist/utils/frontmatter.d.ts +0 -8
  477. package/dist/utils/frontmatter.d.ts.map +0 -1
  478. package/dist/utils/frontmatter.js +0 -26
  479. package/dist/utils/frontmatter.js.map +0 -1
  480. package/dist/utils/git.d.ts +0 -26
  481. package/dist/utils/git.d.ts.map +0 -1
  482. package/dist/utils/git.js +0 -163
  483. package/dist/utils/git.js.map +0 -1
  484. package/dist/utils/image-convert.d.ts +0 -9
  485. package/dist/utils/image-convert.d.ts.map +0 -1
  486. package/dist/utils/image-convert.js +0 -39
  487. package/dist/utils/image-convert.js.map +0 -1
  488. package/dist/utils/image-resize.d.ts +0 -36
  489. package/dist/utils/image-resize.d.ts.map +0 -1
  490. package/dist/utils/image-resize.js +0 -137
  491. package/dist/utils/image-resize.js.map +0 -1
  492. package/dist/utils/mime.d.ts +0 -2
  493. package/dist/utils/mime.d.ts.map +0 -1
  494. package/dist/utils/mime.js +0 -26
  495. package/dist/utils/mime.js.map +0 -1
  496. package/dist/utils/photon.d.ts +0 -21
  497. package/dist/utils/photon.d.ts.map +0 -1
  498. package/dist/utils/photon.js +0 -121
  499. package/dist/utils/photon.js.map +0 -1
  500. package/dist/utils/shell.d.ts +0 -26
  501. package/dist/utils/shell.d.ts.map +0 -1
  502. package/dist/utils/shell.js +0 -186
  503. package/dist/utils/shell.js.map +0 -1
  504. package/dist/utils/sleep.d.ts +0 -5
  505. package/dist/utils/sleep.d.ts.map +0 -1
  506. package/dist/utils/sleep.js +0 -17
  507. package/dist/utils/sleep.js.map +0 -1
  508. package/dist/utils/tools-manager.d.ts +0 -3
  509. package/dist/utils/tools-manager.d.ts.map +0 -1
  510. package/dist/utils/tools-manager.js +0 -252
  511. package/dist/utils/tools-manager.js.map +0 -1
  512. package/dist/welcome/about.js +0 -50
  513. package/dist/welcome/auth.js +0 -126
  514. package/dist/welcome/intro.js +0 -90
  515. package/dist/welcome/qa.js +0 -131
  516. package/scripts/install-gum.sh +0 -141
@@ -1,702 +0,0 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
2
- import { dirname, join } from "path";
3
- import lockfile from "proper-lockfile";
4
- import { CONFIG_DIR_NAME, getAgentDir } from "../config.js";
5
- /** Deep merge settings: project/overrides take precedence, nested objects merge recursively */
6
- function deepMergeSettings(base, overrides) {
7
- const result = { ...base };
8
- for (const key of Object.keys(overrides)) {
9
- const overrideValue = overrides[key];
10
- const baseValue = base[key];
11
- if (overrideValue === undefined) {
12
- continue;
13
- }
14
- // For nested objects, merge recursively
15
- if (typeof overrideValue === "object" &&
16
- overrideValue !== null &&
17
- !Array.isArray(overrideValue) &&
18
- typeof baseValue === "object" &&
19
- baseValue !== null &&
20
- !Array.isArray(baseValue)) {
21
- result[key] = { ...baseValue, ...overrideValue };
22
- }
23
- else {
24
- // For primitives and arrays, override value wins
25
- result[key] = overrideValue;
26
- }
27
- }
28
- return result;
29
- }
30
- export class FileSettingsStorage {
31
- globalSettingsPath;
32
- projectSettingsPath;
33
- constructor(cwd = process.cwd(), agentDir = getAgentDir()) {
34
- this.globalSettingsPath = join(agentDir, "settings.json");
35
- this.projectSettingsPath = join(cwd, CONFIG_DIR_NAME, "settings.json");
36
- }
37
- acquireLockSyncWithRetry(path) {
38
- const maxAttempts = 10;
39
- const delayMs = 20;
40
- let lastError;
41
- for (let attempt = 1; attempt <= maxAttempts; attempt++) {
42
- try {
43
- return lockfile.lockSync(path, { realpath: false });
44
- }
45
- catch (error) {
46
- const code = typeof error === "object" && error !== null && "code" in error
47
- ? String(error.code)
48
- : undefined;
49
- if (code !== "ELOCKED" || attempt === maxAttempts) {
50
- throw error;
51
- }
52
- lastError = error;
53
- const start = Date.now();
54
- while (Date.now() - start < delayMs) {
55
- // Sleep synchronously to avoid changing callers to async.
56
- }
57
- }
58
- }
59
- throw lastError ?? new Error("Failed to acquire settings lock");
60
- }
61
- withLock(scope, fn) {
62
- const path = scope === "global" ? this.globalSettingsPath : this.projectSettingsPath;
63
- const dir = dirname(path);
64
- let release;
65
- try {
66
- // Only create directory and lock if file exists or we need to write
67
- const fileExists = existsSync(path);
68
- if (fileExists) {
69
- release = this.acquireLockSyncWithRetry(path);
70
- }
71
- const current = fileExists ? readFileSync(path, "utf-8") : undefined;
72
- const next = fn(current);
73
- if (next !== undefined) {
74
- // Only create directory when we actually need to write
75
- if (!existsSync(dir)) {
76
- mkdirSync(dir, { recursive: true });
77
- }
78
- if (!release) {
79
- release = this.acquireLockSyncWithRetry(path);
80
- }
81
- writeFileSync(path, next, "utf-8");
82
- }
83
- }
84
- finally {
85
- if (release) {
86
- release();
87
- }
88
- }
89
- }
90
- }
91
- export class InMemorySettingsStorage {
92
- global;
93
- project;
94
- withLock(scope, fn) {
95
- const current = scope === "global" ? this.global : this.project;
96
- const next = fn(current);
97
- if (next !== undefined) {
98
- if (scope === "global") {
99
- this.global = next;
100
- }
101
- else {
102
- this.project = next;
103
- }
104
- }
105
- }
106
- }
107
- export class SettingsManager {
108
- storage;
109
- globalSettings;
110
- projectSettings;
111
- settings;
112
- modifiedFields = new Set(); // Track global fields modified during session
113
- modifiedNestedFields = new Map(); // Track global nested field modifications
114
- modifiedProjectFields = new Set(); // Track project fields modified during session
115
- modifiedProjectNestedFields = new Map(); // Track project nested field modifications
116
- globalSettingsLoadError = null; // Track if global settings file had parse errors
117
- projectSettingsLoadError = null; // Track if project settings file had parse errors
118
- writeQueue = Promise.resolve();
119
- errors;
120
- constructor(storage, initialGlobal, initialProject, globalLoadError = null, projectLoadError = null, initialErrors = []) {
121
- this.storage = storage;
122
- this.globalSettings = initialGlobal;
123
- this.projectSettings = initialProject;
124
- this.globalSettingsLoadError = globalLoadError;
125
- this.projectSettingsLoadError = projectLoadError;
126
- this.errors = [...initialErrors];
127
- this.settings = deepMergeSettings(this.globalSettings, this.projectSettings);
128
- }
129
- /** Create a SettingsManager that loads from files */
130
- static create(cwd = process.cwd(), agentDir = getAgentDir()) {
131
- const storage = new FileSettingsStorage(cwd, agentDir);
132
- return SettingsManager.fromStorage(storage);
133
- }
134
- /** Create a SettingsManager from an arbitrary storage backend */
135
- static fromStorage(storage) {
136
- const globalLoad = SettingsManager.tryLoadFromStorage(storage, "global");
137
- const projectLoad = SettingsManager.tryLoadFromStorage(storage, "project");
138
- const initialErrors = [];
139
- if (globalLoad.error) {
140
- initialErrors.push({ scope: "global", error: globalLoad.error });
141
- }
142
- if (projectLoad.error) {
143
- initialErrors.push({ scope: "project", error: projectLoad.error });
144
- }
145
- return new SettingsManager(storage, globalLoad.settings, projectLoad.settings, globalLoad.error, projectLoad.error, initialErrors);
146
- }
147
- /** Create an in-memory SettingsManager (no file I/O) */
148
- static inMemory(settings = {}) {
149
- const storage = new InMemorySettingsStorage();
150
- return new SettingsManager(storage, settings, {});
151
- }
152
- static loadFromStorage(storage, scope) {
153
- let content;
154
- storage.withLock(scope, (current) => {
155
- content = current;
156
- return undefined;
157
- });
158
- if (!content) {
159
- return {};
160
- }
161
- const settings = JSON.parse(content);
162
- return SettingsManager.migrateSettings(settings);
163
- }
164
- static tryLoadFromStorage(storage, scope) {
165
- try {
166
- return { settings: SettingsManager.loadFromStorage(storage, scope), error: null };
167
- }
168
- catch (error) {
169
- return { settings: {}, error: error };
170
- }
171
- }
172
- /** Migrate old settings format to new format */
173
- static migrateSettings(settings) {
174
- // Migrate queueMode -> steeringMode
175
- if ("queueMode" in settings && !("steeringMode" in settings)) {
176
- settings.steeringMode = settings.queueMode;
177
- delete settings.queueMode;
178
- }
179
- // Migrate legacy websockets boolean -> transport enum
180
- if (!("transport" in settings) && typeof settings.websockets === "boolean") {
181
- settings.transport = settings.websockets ? "websocket" : "sse";
182
- delete settings.websockets;
183
- }
184
- // Migrate old skills object format to new array format
185
- if ("skills" in settings &&
186
- typeof settings.skills === "object" &&
187
- settings.skills !== null &&
188
- !Array.isArray(settings.skills)) {
189
- const skillsSettings = settings.skills;
190
- if (skillsSettings.enableSkillCommands !== undefined && settings.enableSkillCommands === undefined) {
191
- settings.enableSkillCommands = skillsSettings.enableSkillCommands;
192
- }
193
- if (Array.isArray(skillsSettings.customDirectories) && skillsSettings.customDirectories.length > 0) {
194
- settings.skills = skillsSettings.customDirectories;
195
- }
196
- else {
197
- delete settings.skills;
198
- }
199
- }
200
- return settings;
201
- }
202
- getGlobalSettings() {
203
- return structuredClone(this.globalSettings);
204
- }
205
- getProjectSettings() {
206
- return structuredClone(this.projectSettings);
207
- }
208
- reload() {
209
- const globalLoad = SettingsManager.tryLoadFromStorage(this.storage, "global");
210
- if (!globalLoad.error) {
211
- this.globalSettings = globalLoad.settings;
212
- this.globalSettingsLoadError = null;
213
- }
214
- else {
215
- this.globalSettingsLoadError = globalLoad.error;
216
- this.recordError("global", globalLoad.error);
217
- }
218
- this.modifiedFields.clear();
219
- this.modifiedNestedFields.clear();
220
- this.modifiedProjectFields.clear();
221
- this.modifiedProjectNestedFields.clear();
222
- const projectLoad = SettingsManager.tryLoadFromStorage(this.storage, "project");
223
- if (!projectLoad.error) {
224
- this.projectSettings = projectLoad.settings;
225
- this.projectSettingsLoadError = null;
226
- }
227
- else {
228
- this.projectSettingsLoadError = projectLoad.error;
229
- this.recordError("project", projectLoad.error);
230
- }
231
- this.settings = deepMergeSettings(this.globalSettings, this.projectSettings);
232
- }
233
- /** Apply additional overrides on top of current settings */
234
- applyOverrides(overrides) {
235
- this.settings = deepMergeSettings(this.settings, overrides);
236
- }
237
- /** Mark a global field as modified during this session */
238
- markModified(field, nestedKey) {
239
- this.modifiedFields.add(field);
240
- if (nestedKey) {
241
- if (!this.modifiedNestedFields.has(field)) {
242
- this.modifiedNestedFields.set(field, new Set());
243
- }
244
- this.modifiedNestedFields.get(field).add(nestedKey);
245
- }
246
- }
247
- /** Mark a project field as modified during this session */
248
- markProjectModified(field, nestedKey) {
249
- this.modifiedProjectFields.add(field);
250
- if (nestedKey) {
251
- if (!this.modifiedProjectNestedFields.has(field)) {
252
- this.modifiedProjectNestedFields.set(field, new Set());
253
- }
254
- this.modifiedProjectNestedFields.get(field).add(nestedKey);
255
- }
256
- }
257
- recordError(scope, error) {
258
- const normalizedError = error instanceof Error ? error : new Error(String(error));
259
- this.errors.push({ scope, error: normalizedError });
260
- }
261
- clearModifiedScope(scope) {
262
- if (scope === "global") {
263
- this.modifiedFields.clear();
264
- this.modifiedNestedFields.clear();
265
- return;
266
- }
267
- this.modifiedProjectFields.clear();
268
- this.modifiedProjectNestedFields.clear();
269
- }
270
- enqueueWrite(scope, task) {
271
- this.writeQueue = this.writeQueue
272
- .then(() => {
273
- task();
274
- this.clearModifiedScope(scope);
275
- })
276
- .catch((error) => {
277
- this.recordError(scope, error);
278
- });
279
- }
280
- cloneModifiedNestedFields(source) {
281
- const snapshot = new Map();
282
- for (const [key, value] of source.entries()) {
283
- snapshot.set(key, new Set(value));
284
- }
285
- return snapshot;
286
- }
287
- persistScopedSettings(scope, snapshotSettings, modifiedFields, modifiedNestedFields) {
288
- this.storage.withLock(scope, (current) => {
289
- const currentFileSettings = current
290
- ? SettingsManager.migrateSettings(JSON.parse(current))
291
- : {};
292
- const mergedSettings = { ...currentFileSettings };
293
- for (const field of modifiedFields) {
294
- const value = snapshotSettings[field];
295
- if (modifiedNestedFields.has(field) && typeof value === "object" && value !== null) {
296
- const nestedModified = modifiedNestedFields.get(field);
297
- const baseNested = currentFileSettings[field] ?? {};
298
- const inMemoryNested = value;
299
- const mergedNested = { ...baseNested };
300
- for (const nestedKey of nestedModified) {
301
- mergedNested[nestedKey] = inMemoryNested[nestedKey];
302
- }
303
- mergedSettings[field] = mergedNested;
304
- }
305
- else {
306
- mergedSettings[field] = value;
307
- }
308
- }
309
- return JSON.stringify(mergedSettings, null, 2);
310
- });
311
- }
312
- save() {
313
- this.settings = deepMergeSettings(this.globalSettings, this.projectSettings);
314
- if (this.globalSettingsLoadError) {
315
- return;
316
- }
317
- const snapshotGlobalSettings = structuredClone(this.globalSettings);
318
- const modifiedFields = new Set(this.modifiedFields);
319
- const modifiedNestedFields = this.cloneModifiedNestedFields(this.modifiedNestedFields);
320
- this.enqueueWrite("global", () => {
321
- this.persistScopedSettings("global", snapshotGlobalSettings, modifiedFields, modifiedNestedFields);
322
- });
323
- }
324
- saveProjectSettings(settings) {
325
- this.projectSettings = structuredClone(settings);
326
- this.settings = deepMergeSettings(this.globalSettings, this.projectSettings);
327
- if (this.projectSettingsLoadError) {
328
- return;
329
- }
330
- const snapshotProjectSettings = structuredClone(this.projectSettings);
331
- const modifiedFields = new Set(this.modifiedProjectFields);
332
- const modifiedNestedFields = this.cloneModifiedNestedFields(this.modifiedProjectNestedFields);
333
- this.enqueueWrite("project", () => {
334
- this.persistScopedSettings("project", snapshotProjectSettings, modifiedFields, modifiedNestedFields);
335
- });
336
- }
337
- async flush() {
338
- await this.writeQueue;
339
- }
340
- drainErrors() {
341
- const drained = [...this.errors];
342
- this.errors = [];
343
- return drained;
344
- }
345
- getLastChangelogVersion() {
346
- return this.settings.lastChangelogVersion;
347
- }
348
- setLastChangelogVersion(version) {
349
- this.globalSettings.lastChangelogVersion = version;
350
- this.markModified("lastChangelogVersion");
351
- this.save();
352
- }
353
- getSessionDir() {
354
- return this.settings.sessionDir;
355
- }
356
- getDefaultProvider() {
357
- return this.settings.defaultProvider;
358
- }
359
- getDefaultModel() {
360
- return this.settings.defaultModel;
361
- }
362
- setDefaultProvider(provider) {
363
- this.globalSettings.defaultProvider = provider;
364
- this.markModified("defaultProvider");
365
- this.save();
366
- }
367
- setDefaultModel(modelId) {
368
- this.globalSettings.defaultModel = modelId;
369
- this.markModified("defaultModel");
370
- this.save();
371
- }
372
- setDefaultModelAndProvider(provider, modelId) {
373
- this.globalSettings.defaultProvider = provider;
374
- this.globalSettings.defaultModel = modelId;
375
- this.markModified("defaultProvider");
376
- this.markModified("defaultModel");
377
- this.save();
378
- }
379
- getSteeringMode() {
380
- return this.settings.steeringMode || "one-at-a-time";
381
- }
382
- setSteeringMode(mode) {
383
- this.globalSettings.steeringMode = mode;
384
- this.markModified("steeringMode");
385
- this.save();
386
- }
387
- getFollowUpMode() {
388
- return this.settings.followUpMode || "one-at-a-time";
389
- }
390
- setFollowUpMode(mode) {
391
- this.globalSettings.followUpMode = mode;
392
- this.markModified("followUpMode");
393
- this.save();
394
- }
395
- getTheme() {
396
- return this.settings.theme;
397
- }
398
- setTheme(theme) {
399
- this.globalSettings.theme = theme;
400
- this.markModified("theme");
401
- this.save();
402
- }
403
- getDefaultThinkingLevel() {
404
- return this.settings.defaultThinkingLevel;
405
- }
406
- setDefaultThinkingLevel(level) {
407
- this.globalSettings.defaultThinkingLevel = level;
408
- this.markModified("defaultThinkingLevel");
409
- this.save();
410
- }
411
- getTransport() {
412
- return this.settings.transport ?? "sse";
413
- }
414
- setTransport(transport) {
415
- this.globalSettings.transport = transport;
416
- this.markModified("transport");
417
- this.save();
418
- }
419
- getCompactionEnabled() {
420
- return this.settings.compaction?.enabled ?? true;
421
- }
422
- setCompactionEnabled(enabled) {
423
- if (!this.globalSettings.compaction) {
424
- this.globalSettings.compaction = {};
425
- }
426
- this.globalSettings.compaction.enabled = enabled;
427
- this.markModified("compaction", "enabled");
428
- this.save();
429
- }
430
- getCompactionReserveTokens() {
431
- return this.settings.compaction?.reserveTokens ?? 16384;
432
- }
433
- getCompactionKeepRecentTokens() {
434
- return this.settings.compaction?.keepRecentTokens ?? 20000;
435
- }
436
- getCompactionSettings() {
437
- return {
438
- enabled: this.getCompactionEnabled(),
439
- reserveTokens: this.getCompactionReserveTokens(),
440
- keepRecentTokens: this.getCompactionKeepRecentTokens(),
441
- };
442
- }
443
- getBranchSummarySettings() {
444
- return {
445
- reserveTokens: this.settings.branchSummary?.reserveTokens ?? 16384,
446
- skipPrompt: this.settings.branchSummary?.skipPrompt ?? false,
447
- };
448
- }
449
- getBranchSummarySkipPrompt() {
450
- return this.settings.branchSummary?.skipPrompt ?? false;
451
- }
452
- getRetryEnabled() {
453
- return this.settings.retry?.enabled ?? true;
454
- }
455
- setRetryEnabled(enabled) {
456
- if (!this.globalSettings.retry) {
457
- this.globalSettings.retry = {};
458
- }
459
- this.globalSettings.retry.enabled = enabled;
460
- this.markModified("retry", "enabled");
461
- this.save();
462
- }
463
- getRetrySettings() {
464
- return {
465
- enabled: this.getRetryEnabled(),
466
- maxRetries: this.settings.retry?.maxRetries ?? 3,
467
- baseDelayMs: this.settings.retry?.baseDelayMs ?? 2000,
468
- maxDelayMs: this.settings.retry?.maxDelayMs ?? 60000,
469
- };
470
- }
471
- getHideThinkingBlock() {
472
- return this.settings.hideThinkingBlock ?? false;
473
- }
474
- setHideThinkingBlock(hide) {
475
- this.globalSettings.hideThinkingBlock = hide;
476
- this.markModified("hideThinkingBlock");
477
- this.save();
478
- }
479
- getShellPath() {
480
- return this.settings.shellPath;
481
- }
482
- setShellPath(path) {
483
- this.globalSettings.shellPath = path;
484
- this.markModified("shellPath");
485
- this.save();
486
- }
487
- getQuietStartup() {
488
- return this.settings.quietStartup ?? false;
489
- }
490
- setQuietStartup(quiet) {
491
- this.globalSettings.quietStartup = quiet;
492
- this.markModified("quietStartup");
493
- this.save();
494
- }
495
- getShellCommandPrefix() {
496
- return this.settings.shellCommandPrefix;
497
- }
498
- setShellCommandPrefix(prefix) {
499
- this.globalSettings.shellCommandPrefix = prefix;
500
- this.markModified("shellCommandPrefix");
501
- this.save();
502
- }
503
- getNpmCommand() {
504
- return this.settings.npmCommand ? [...this.settings.npmCommand] : undefined;
505
- }
506
- setNpmCommand(command) {
507
- this.globalSettings.npmCommand = command ? [...command] : undefined;
508
- this.markModified("npmCommand");
509
- this.save();
510
- }
511
- getCollapseChangelog() {
512
- return this.settings.collapseChangelog ?? false;
513
- }
514
- setCollapseChangelog(collapse) {
515
- this.globalSettings.collapseChangelog = collapse;
516
- this.markModified("collapseChangelog");
517
- this.save();
518
- }
519
- getPackages() {
520
- return [...(this.settings.packages ?? [])];
521
- }
522
- setPackages(packages) {
523
- this.globalSettings.packages = packages;
524
- this.markModified("packages");
525
- this.save();
526
- }
527
- setProjectPackages(packages) {
528
- const projectSettings = structuredClone(this.projectSettings);
529
- projectSettings.packages = packages;
530
- this.markProjectModified("packages");
531
- this.saveProjectSettings(projectSettings);
532
- }
533
- getExtensionPaths() {
534
- return [...(this.settings.extensions ?? [])];
535
- }
536
- setExtensionPaths(paths) {
537
- this.globalSettings.extensions = paths;
538
- this.markModified("extensions");
539
- this.save();
540
- }
541
- setProjectExtensionPaths(paths) {
542
- const projectSettings = structuredClone(this.projectSettings);
543
- projectSettings.extensions = paths;
544
- this.markProjectModified("extensions");
545
- this.saveProjectSettings(projectSettings);
546
- }
547
- getSkillPaths() {
548
- return [...(this.settings.skills ?? [])];
549
- }
550
- setSkillPaths(paths) {
551
- this.globalSettings.skills = paths;
552
- this.markModified("skills");
553
- this.save();
554
- }
555
- setProjectSkillPaths(paths) {
556
- const projectSettings = structuredClone(this.projectSettings);
557
- projectSettings.skills = paths;
558
- this.markProjectModified("skills");
559
- this.saveProjectSettings(projectSettings);
560
- }
561
- getPromptTemplatePaths() {
562
- return [...(this.settings.prompts ?? [])];
563
- }
564
- setPromptTemplatePaths(paths) {
565
- this.globalSettings.prompts = paths;
566
- this.markModified("prompts");
567
- this.save();
568
- }
569
- setProjectPromptTemplatePaths(paths) {
570
- const projectSettings = structuredClone(this.projectSettings);
571
- projectSettings.prompts = paths;
572
- this.markProjectModified("prompts");
573
- this.saveProjectSettings(projectSettings);
574
- }
575
- getThemePaths() {
576
- return [...(this.settings.themes ?? [])];
577
- }
578
- setThemePaths(paths) {
579
- this.globalSettings.themes = paths;
580
- this.markModified("themes");
581
- this.save();
582
- }
583
- setProjectThemePaths(paths) {
584
- const projectSettings = structuredClone(this.projectSettings);
585
- projectSettings.themes = paths;
586
- this.markProjectModified("themes");
587
- this.saveProjectSettings(projectSettings);
588
- }
589
- getEnableSkillCommands() {
590
- return this.settings.enableSkillCommands ?? true;
591
- }
592
- setEnableSkillCommands(enabled) {
593
- this.globalSettings.enableSkillCommands = enabled;
594
- this.markModified("enableSkillCommands");
595
- this.save();
596
- }
597
- getThinkingBudgets() {
598
- return this.settings.thinkingBudgets;
599
- }
600
- getShowImages() {
601
- return this.settings.terminal?.showImages ?? true;
602
- }
603
- setShowImages(show) {
604
- if (!this.globalSettings.terminal) {
605
- this.globalSettings.terminal = {};
606
- }
607
- this.globalSettings.terminal.showImages = show;
608
- this.markModified("terminal", "showImages");
609
- this.save();
610
- }
611
- getClearOnShrink() {
612
- // Settings takes precedence, then env var, then default false
613
- if (this.settings.terminal?.clearOnShrink !== undefined) {
614
- return this.settings.terminal.clearOnShrink;
615
- }
616
- return process.env.PI_CLEAR_ON_SHRINK === "1";
617
- }
618
- setClearOnShrink(enabled) {
619
- if (!this.globalSettings.terminal) {
620
- this.globalSettings.terminal = {};
621
- }
622
- this.globalSettings.terminal.clearOnShrink = enabled;
623
- this.markModified("terminal", "clearOnShrink");
624
- this.save();
625
- }
626
- getImageAutoResize() {
627
- return this.settings.images?.autoResize ?? true;
628
- }
629
- setImageAutoResize(enabled) {
630
- if (!this.globalSettings.images) {
631
- this.globalSettings.images = {};
632
- }
633
- this.globalSettings.images.autoResize = enabled;
634
- this.markModified("images", "autoResize");
635
- this.save();
636
- }
637
- getBlockImages() {
638
- return this.settings.images?.blockImages ?? false;
639
- }
640
- setBlockImages(blocked) {
641
- if (!this.globalSettings.images) {
642
- this.globalSettings.images = {};
643
- }
644
- this.globalSettings.images.blockImages = blocked;
645
- this.markModified("images", "blockImages");
646
- this.save();
647
- }
648
- getEnabledModels() {
649
- return this.settings.enabledModels;
650
- }
651
- setEnabledModels(patterns) {
652
- this.globalSettings.enabledModels = patterns;
653
- this.markModified("enabledModels");
654
- this.save();
655
- }
656
- getDoubleEscapeAction() {
657
- return this.settings.doubleEscapeAction ?? "tree";
658
- }
659
- setDoubleEscapeAction(action) {
660
- this.globalSettings.doubleEscapeAction = action;
661
- this.markModified("doubleEscapeAction");
662
- this.save();
663
- }
664
- getTreeFilterMode() {
665
- const mode = this.settings.treeFilterMode;
666
- const valid = ["default", "no-tools", "user-only", "labeled-only", "all"];
667
- return mode && valid.includes(mode) ? mode : "default";
668
- }
669
- setTreeFilterMode(mode) {
670
- this.globalSettings.treeFilterMode = mode;
671
- this.markModified("treeFilterMode");
672
- this.save();
673
- }
674
- getShowHardwareCursor() {
675
- return this.settings.showHardwareCursor ?? process.env.PI_HARDWARE_CURSOR === "1";
676
- }
677
- setShowHardwareCursor(enabled) {
678
- this.globalSettings.showHardwareCursor = enabled;
679
- this.markModified("showHardwareCursor");
680
- this.save();
681
- }
682
- getEditorPaddingX() {
683
- return this.settings.editorPaddingX ?? 0;
684
- }
685
- setEditorPaddingX(padding) {
686
- this.globalSettings.editorPaddingX = Math.max(0, Math.min(3, Math.floor(padding)));
687
- this.markModified("editorPaddingX");
688
- this.save();
689
- }
690
- getAutocompleteMaxVisible() {
691
- return this.settings.autocompleteMaxVisible ?? 5;
692
- }
693
- setAutocompleteMaxVisible(maxVisible) {
694
- this.globalSettings.autocompleteMaxVisible = Math.max(3, Math.min(20, Math.floor(maxVisible)));
695
- this.markModified("autocompleteMaxVisible");
696
- this.save();
697
- }
698
- getCodeBlockIndent() {
699
- return this.settings.markdown?.codeBlockIndent ?? " ";
700
- }
701
- }
702
- //# sourceMappingURL=settings-manager.js.map