@eminent337/aery 0.1.11 → 1.0.0

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