@eminent337/aery 0.1.65 → 0.1.67

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 (555) hide show
  1. package/dist/bun/cli.d.ts +3 -0
  2. package/dist/bun/cli.d.ts.map +1 -0
  3. package/dist/bun/cli.js +8 -0
  4. package/dist/bun/cli.js.map +1 -0
  5. package/dist/bun/register-bedrock.d.ts +2 -0
  6. package/dist/bun/register-bedrock.d.ts.map +1 -0
  7. package/dist/bun/register-bedrock.js +4 -0
  8. package/dist/bun/register-bedrock.js.map +1 -0
  9. package/dist/bun/restore-sandbox-env.d.ts +13 -0
  10. package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
  11. package/dist/bun/restore-sandbox-env.js +32 -0
  12. package/dist/bun/restore-sandbox-env.js.map +1 -0
  13. package/dist/cli/args.d.ts +53 -0
  14. package/dist/cli/args.d.ts.map +1 -0
  15. package/dist/cli/args.js +329 -0
  16. package/dist/cli/args.js.map +1 -0
  17. package/dist/cli/config-selector.d.ts +14 -0
  18. package/dist/cli/config-selector.d.ts.map +1 -0
  19. package/dist/cli/config-selector.js +31 -0
  20. package/dist/cli/config-selector.js.map +1 -0
  21. package/dist/cli/file-processor.d.ts +15 -0
  22. package/dist/cli/file-processor.d.ts.map +1 -0
  23. package/dist/cli/file-processor.js +83 -0
  24. package/dist/cli/file-processor.js.map +1 -0
  25. package/dist/cli/initial-message.d.ts +18 -0
  26. package/dist/cli/initial-message.d.ts.map +1 -0
  27. package/dist/cli/initial-message.js +22 -0
  28. package/dist/cli/initial-message.js.map +1 -0
  29. package/dist/cli/list-models.d.ts +9 -0
  30. package/dist/cli/list-models.d.ts.map +1 -0
  31. package/dist/cli/list-models.js +98 -0
  32. package/dist/cli/list-models.js.map +1 -0
  33. package/dist/cli/session-picker.d.ts +9 -0
  34. package/dist/cli/session-picker.d.ts.map +1 -0
  35. package/dist/cli/session-picker.js +35 -0
  36. package/dist/cli/session-picker.js.map +1 -0
  37. package/dist/cli.d.ts +3 -0
  38. package/dist/cli.d.ts.map +1 -0
  39. package/dist/cli.js +19 -0
  40. package/dist/cli.js.map +1 -0
  41. package/dist/config.d.ts +86 -0
  42. package/dist/config.d.ts.map +1 -0
  43. package/dist/config.js +373 -0
  44. package/dist/config.js.map +1 -0
  45. package/dist/core/agent-session-runtime.d.ts +117 -0
  46. package/dist/core/agent-session-runtime.d.ts.map +1 -0
  47. package/dist/core/agent-session-runtime.js +300 -0
  48. package/dist/core/agent-session-runtime.js.map +1 -0
  49. package/dist/core/agent-session-services.d.ts +86 -0
  50. package/dist/core/agent-session-services.d.ts.map +1 -0
  51. package/dist/core/agent-session-services.js +117 -0
  52. package/dist/core/agent-session-services.js.map +1 -0
  53. package/dist/core/agent-session.d.ts +595 -0
  54. package/dist/core/agent-session.d.ts.map +1 -0
  55. package/dist/core/agent-session.js +2520 -0
  56. package/dist/core/agent-session.js.map +1 -0
  57. package/dist/core/auth-guidance.d.ts +5 -0
  58. package/dist/core/auth-guidance.d.ts.map +1 -0
  59. package/dist/core/auth-guidance.js +21 -0
  60. package/dist/core/auth-guidance.js.map +1 -0
  61. package/dist/core/auth-storage.d.ts +141 -0
  62. package/dist/core/auth-storage.d.ts.map +1 -0
  63. package/dist/core/auth-storage.js +441 -0
  64. package/dist/core/auth-storage.js.map +1 -0
  65. package/dist/core/bash-executor.d.ts +32 -0
  66. package/dist/core/bash-executor.d.ts.map +1 -0
  67. package/dist/core/bash-executor.js +111 -0
  68. package/dist/core/bash-executor.js.map +1 -0
  69. package/dist/core/compaction/branch-summarization.d.ts +88 -0
  70. package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
  71. package/dist/core/compaction/branch-summarization.js +243 -0
  72. package/dist/core/compaction/branch-summarization.js.map +1 -0
  73. package/dist/core/compaction/compaction.d.ts +121 -0
  74. package/dist/core/compaction/compaction.d.ts.map +1 -0
  75. package/dist/core/compaction/compaction.js +615 -0
  76. package/dist/core/compaction/compaction.js.map +1 -0
  77. package/dist/core/compaction/index.d.ts +7 -0
  78. package/dist/core/compaction/index.d.ts.map +1 -0
  79. package/dist/core/compaction/index.js +7 -0
  80. package/dist/core/compaction/index.js.map +1 -0
  81. package/dist/core/compaction/utils.d.ts +38 -0
  82. package/dist/core/compaction/utils.d.ts.map +1 -0
  83. package/dist/core/compaction/utils.js +153 -0
  84. package/dist/core/compaction/utils.js.map +1 -0
  85. package/dist/core/defaults.d.ts +3 -0
  86. package/dist/core/defaults.d.ts.map +1 -0
  87. package/dist/core/defaults.js +2 -0
  88. package/dist/core/defaults.js.map +1 -0
  89. package/dist/core/diagnostics.d.ts +15 -0
  90. package/dist/core/diagnostics.d.ts.map +1 -0
  91. package/dist/core/diagnostics.js +2 -0
  92. package/dist/core/diagnostics.js.map +1 -0
  93. package/dist/core/event-bus.d.ts +9 -0
  94. package/dist/core/event-bus.d.ts.map +1 -0
  95. package/dist/core/event-bus.js +25 -0
  96. package/dist/core/event-bus.js.map +1 -0
  97. package/dist/core/exec.d.ts +29 -0
  98. package/dist/core/exec.d.ts.map +1 -0
  99. package/dist/core/exec.js +75 -0
  100. package/dist/core/exec.js.map +1 -0
  101. package/dist/core/export-html/ansi-to-html.d.ts +22 -0
  102. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
  103. package/dist/core/export-html/ansi-to-html.js +249 -0
  104. package/dist/core/export-html/ansi-to-html.js.map +1 -0
  105. package/dist/core/export-html/index.d.ts +37 -0
  106. package/dist/core/export-html/index.d.ts.map +1 -0
  107. package/dist/core/export-html/index.js +224 -0
  108. package/dist/core/export-html/index.js.map +1 -0
  109. package/dist/core/export-html/template.css +1022 -0
  110. package/dist/core/export-html/template.html +55 -0
  111. package/dist/core/export-html/template.js +1770 -0
  112. package/dist/core/export-html/tool-renderer.d.ts +34 -0
  113. package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
  114. package/dist/core/export-html/tool-renderer.js +108 -0
  115. package/dist/core/export-html/tool-renderer.js.map +1 -0
  116. package/dist/core/export-html/vendor/highlight.min.js +1213 -0
  117. package/dist/core/export-html/vendor/marked.min.js +6 -0
  118. package/dist/core/extensions/index.d.ts +12 -0
  119. package/dist/core/extensions/index.d.ts.map +1 -0
  120. package/dist/core/extensions/index.js +9 -0
  121. package/dist/core/extensions/index.js.map +1 -0
  122. package/dist/core/extensions/loader.d.ts +25 -0
  123. package/dist/core/extensions/loader.d.ts.map +1 -0
  124. package/dist/core/extensions/loader.js +476 -0
  125. package/dist/core/extensions/loader.js.map +1 -0
  126. package/dist/core/extensions/runner.d.ts +158 -0
  127. package/dist/core/extensions/runner.d.ts.map +1 -0
  128. package/dist/core/extensions/runner.js +784 -0
  129. package/dist/core/extensions/runner.js.map +1 -0
  130. package/dist/core/extensions/types.d.ts +1153 -0
  131. package/dist/core/extensions/types.d.ts.map +1 -0
  132. package/dist/core/extensions/types.js +45 -0
  133. package/dist/core/extensions/types.js.map +1 -0
  134. package/dist/core/extensions/wrapper.d.ts +20 -0
  135. package/dist/core/extensions/wrapper.d.ts.map +1 -0
  136. package/dist/core/extensions/wrapper.js +22 -0
  137. package/dist/core/extensions/wrapper.js.map +1 -0
  138. package/dist/core/footer-data-provider.d.ts +52 -0
  139. package/dist/core/footer-data-provider.d.ts.map +1 -0
  140. package/dist/core/footer-data-provider.js +310 -0
  141. package/dist/core/footer-data-provider.js.map +1 -0
  142. package/dist/core/index.d.ts +12 -0
  143. package/dist/core/index.d.ts.map +1 -0
  144. package/dist/core/index.js +12 -0
  145. package/dist/core/index.js.map +1 -0
  146. package/dist/core/keybindings.d.ts +353 -0
  147. package/dist/core/keybindings.d.ts.map +1 -0
  148. package/dist/core/keybindings.js +295 -0
  149. package/dist/core/keybindings.js.map +1 -0
  150. package/dist/core/messages.d.ts +77 -0
  151. package/dist/core/messages.d.ts.map +1 -0
  152. package/dist/core/messages.js +123 -0
  153. package/dist/core/messages.js.map +1 -0
  154. package/dist/core/model-registry.d.ts +144 -0
  155. package/dist/core/model-registry.d.ts.map +1 -0
  156. package/dist/core/model-registry.js +699 -0
  157. package/dist/core/model-registry.js.map +1 -0
  158. package/dist/core/model-resolver.d.ts +110 -0
  159. package/dist/core/model-resolver.d.ts.map +1 -0
  160. package/dist/core/model-resolver.js +489 -0
  161. package/dist/core/model-resolver.js.map +1 -0
  162. package/dist/core/output-guard.d.ts +6 -0
  163. package/dist/core/output-guard.d.ts.map +1 -0
  164. package/dist/core/output-guard.js +59 -0
  165. package/dist/core/output-guard.js.map +1 -0
  166. package/dist/core/package-manager.d.ts +198 -0
  167. package/dist/core/package-manager.d.ts.map +1 -0
  168. package/dist/core/package-manager.js +1961 -0
  169. package/dist/core/package-manager.js.map +1 -0
  170. package/dist/core/prompt-templates.d.ts +52 -0
  171. package/dist/core/prompt-templates.d.ts.map +1 -0
  172. package/dist/core/prompt-templates.js +250 -0
  173. package/dist/core/prompt-templates.js.map +1 -0
  174. package/dist/core/resolve-config-value.d.ts +23 -0
  175. package/dist/core/resolve-config-value.d.ts.map +1 -0
  176. package/dist/core/resolve-config-value.js +126 -0
  177. package/dist/core/resolve-config-value.js.map +1 -0
  178. package/dist/core/resource-loader.d.ts +194 -0
  179. package/dist/core/resource-loader.d.ts.map +1 -0
  180. package/dist/core/resource-loader.js +727 -0
  181. package/dist/core/resource-loader.js.map +1 -0
  182. package/dist/core/sdk.d.ts +107 -0
  183. package/dist/core/sdk.d.ts.map +1 -0
  184. package/dist/core/sdk.js +274 -0
  185. package/dist/core/sdk.js.map +1 -0
  186. package/dist/core/session-cwd.d.ts +19 -0
  187. package/dist/core/session-cwd.d.ts.map +1 -0
  188. package/dist/core/session-cwd.js +38 -0
  189. package/dist/core/session-cwd.js.map +1 -0
  190. package/dist/core/session-manager.d.ts +333 -0
  191. package/dist/core/session-manager.d.ts.map +1 -0
  192. package/dist/core/session-manager.js +1109 -0
  193. package/dist/core/session-manager.js.map +1 -0
  194. package/dist/core/settings-manager.d.ts +261 -0
  195. package/dist/core/settings-manager.d.ts.map +1 -0
  196. package/dist/core/settings-manager.js +782 -0
  197. package/dist/core/settings-manager.js.map +1 -0
  198. package/dist/core/skills.d.ts +60 -0
  199. package/dist/core/skills.d.ts.map +1 -0
  200. package/dist/core/skills.js +404 -0
  201. package/dist/core/skills.js.map +1 -0
  202. package/dist/core/slash-commands.d.ts +14 -0
  203. package/dist/core/slash-commands.d.ts.map +1 -0
  204. package/dist/core/slash-commands.js +25 -0
  205. package/dist/core/slash-commands.js.map +1 -0
  206. package/dist/core/source-info.d.ts +18 -0
  207. package/dist/core/source-info.d.ts.map +1 -0
  208. package/dist/core/source-info.js +19 -0
  209. package/dist/core/source-info.js.map +1 -0
  210. package/dist/core/system-prompt.d.ts +28 -0
  211. package/dist/core/system-prompt.d.ts.map +1 -0
  212. package/dist/core/system-prompt.js +120 -0
  213. package/dist/core/system-prompt.js.map +1 -0
  214. package/dist/core/telemetry.d.ts +3 -0
  215. package/dist/core/telemetry.d.ts.map +1 -0
  216. package/dist/core/telemetry.js +9 -0
  217. package/dist/core/telemetry.js.map +1 -0
  218. package/dist/core/timings.d.ts +8 -0
  219. package/dist/core/timings.d.ts.map +1 -0
  220. package/dist/core/timings.js +31 -0
  221. package/dist/core/timings.js.map +1 -0
  222. package/dist/core/tools/bash.d.ts +68 -0
  223. package/dist/core/tools/bash.d.ts.map +1 -0
  224. package/dist/core/tools/bash.js +355 -0
  225. package/dist/core/tools/bash.js.map +1 -0
  226. package/dist/core/tools/edit-diff.d.ts +85 -0
  227. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  228. package/dist/core/tools/edit-diff.js +338 -0
  229. package/dist/core/tools/edit-diff.js.map +1 -0
  230. package/dist/core/tools/edit.d.ts +49 -0
  231. package/dist/core/tools/edit.d.ts.map +1 -0
  232. package/dist/core/tools/edit.js +324 -0
  233. package/dist/core/tools/edit.js.map +1 -0
  234. package/dist/core/tools/file-mutation-queue.d.ts +6 -0
  235. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
  236. package/dist/core/tools/file-mutation-queue.js +37 -0
  237. package/dist/core/tools/file-mutation-queue.js.map +1 -0
  238. package/dist/core/tools/find.d.ts +35 -0
  239. package/dist/core/tools/find.d.ts.map +1 -0
  240. package/dist/core/tools/find.js +298 -0
  241. package/dist/core/tools/find.js.map +1 -0
  242. package/dist/core/tools/grep.d.ts +37 -0
  243. package/dist/core/tools/grep.d.ts.map +1 -0
  244. package/dist/core/tools/grep.js +304 -0
  245. package/dist/core/tools/grep.js.map +1 -0
  246. package/dist/core/tools/index.d.ts +40 -0
  247. package/dist/core/tools/index.d.ts.map +1 -0
  248. package/dist/core/tools/index.js +112 -0
  249. package/dist/core/tools/index.js.map +1 -0
  250. package/dist/core/tools/ls.d.ts +37 -0
  251. package/dist/core/tools/ls.d.ts.map +1 -0
  252. package/dist/core/tools/ls.js +169 -0
  253. package/dist/core/tools/ls.js.map +1 -0
  254. package/dist/core/tools/path-utils.d.ts +8 -0
  255. package/dist/core/tools/path-utils.d.ts.map +1 -0
  256. package/dist/core/tools/path-utils.js +81 -0
  257. package/dist/core/tools/path-utils.js.map +1 -0
  258. package/dist/core/tools/read.d.ts +35 -0
  259. package/dist/core/tools/read.d.ts.map +1 -0
  260. package/dist/core/tools/read.js +232 -0
  261. package/dist/core/tools/read.js.map +1 -0
  262. package/dist/core/tools/render-utils.d.ts +21 -0
  263. package/dist/core/tools/render-utils.d.ts.map +1 -0
  264. package/dist/core/tools/render-utils.js +49 -0
  265. package/dist/core/tools/render-utils.js.map +1 -0
  266. package/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
  267. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
  268. package/dist/core/tools/tool-definition-wrapper.js +34 -0
  269. package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
  270. package/dist/core/tools/truncate.d.ts +70 -0
  271. package/dist/core/tools/truncate.d.ts.map +1 -0
  272. package/dist/core/tools/truncate.js +205 -0
  273. package/dist/core/tools/truncate.js.map +1 -0
  274. package/dist/core/tools/write.d.ts +26 -0
  275. package/dist/core/tools/write.d.ts.map +1 -0
  276. package/dist/core/tools/write.js +213 -0
  277. package/dist/core/tools/write.js.map +1 -0
  278. package/dist/index.d.ts +28 -0
  279. package/dist/index.d.ts.map +1 -0
  280. package/dist/index.js +41 -0
  281. package/dist/index.js.map +1 -0
  282. package/dist/main.d.ts +12 -0
  283. package/dist/main.d.ts.map +1 -0
  284. package/dist/main.js +589 -0
  285. package/dist/main.js.map +1 -0
  286. package/dist/migrations.d.ts +33 -0
  287. package/dist/migrations.d.ts.map +1 -0
  288. package/dist/migrations.js +281 -0
  289. package/dist/migrations.js.map +1 -0
  290. package/dist/modes/index.d.ts +9 -0
  291. package/dist/modes/index.d.ts.map +1 -0
  292. package/dist/modes/index.js +8 -0
  293. package/dist/modes/index.js.map +1 -0
  294. package/dist/modes/interactive/assets/clankolas.png +0 -0
  295. package/dist/modes/interactive/components/armin.d.ts +34 -0
  296. package/dist/modes/interactive/components/armin.d.ts.map +1 -0
  297. package/dist/modes/interactive/components/armin.js +333 -0
  298. package/dist/modes/interactive/components/armin.js.map +1 -0
  299. package/dist/modes/interactive/components/assistant-message.d.ts +20 -0
  300. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
  301. package/dist/modes/interactive/components/assistant-message.js +121 -0
  302. package/dist/modes/interactive/components/assistant-message.js.map +1 -0
  303. package/dist/modes/interactive/components/bash-execution.d.ts +34 -0
  304. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
  305. package/dist/modes/interactive/components/bash-execution.js +175 -0
  306. package/dist/modes/interactive/components/bash-execution.js.map +1 -0
  307. package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  308. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
  309. package/dist/modes/interactive/components/bordered-loader.js +54 -0
  310. package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
  311. package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  312. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
  313. package/dist/modes/interactive/components/branch-summary-message.js +44 -0
  314. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
  315. package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  316. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
  317. package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
  318. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
  319. package/dist/modes/interactive/components/config-selector.d.ts +71 -0
  320. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
  321. package/dist/modes/interactive/components/config-selector.js +481 -0
  322. package/dist/modes/interactive/components/config-selector.js.map +1 -0
  323. package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  324. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
  325. package/dist/modes/interactive/components/countdown-timer.js +33 -0
  326. package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
  327. package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
  328. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
  329. package/dist/modes/interactive/components/custom-editor.js +70 -0
  330. package/dist/modes/interactive/components/custom-editor.js.map +1 -0
  331. package/dist/modes/interactive/components/custom-message.d.ts +20 -0
  332. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
  333. package/dist/modes/interactive/components/custom-message.js +79 -0
  334. package/dist/modes/interactive/components/custom-message.js.map +1 -0
  335. package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  336. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
  337. package/dist/modes/interactive/components/daxnuts.js +140 -0
  338. package/dist/modes/interactive/components/daxnuts.js.map +1 -0
  339. package/dist/modes/interactive/components/diff.d.ts +12 -0
  340. package/dist/modes/interactive/components/diff.d.ts.map +1 -0
  341. package/dist/modes/interactive/components/diff.js +133 -0
  342. package/dist/modes/interactive/components/diff.js.map +1 -0
  343. package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  344. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
  345. package/dist/modes/interactive/components/dynamic-border.js +21 -0
  346. package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
  347. package/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
  348. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -0
  349. package/dist/modes/interactive/components/earendil-announcement.js +40 -0
  350. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -0
  351. package/dist/modes/interactive/components/extension-editor.d.ts +20 -0
  352. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
  353. package/dist/modes/interactive/components/extension-editor.js +111 -0
  354. package/dist/modes/interactive/components/extension-editor.js.map +1 -0
  355. package/dist/modes/interactive/components/extension-input.d.ts +23 -0
  356. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
  357. package/dist/modes/interactive/components/extension-input.js +61 -0
  358. package/dist/modes/interactive/components/extension-input.js.map +1 -0
  359. package/dist/modes/interactive/components/extension-selector.d.ts +24 -0
  360. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
  361. package/dist/modes/interactive/components/extension-selector.js +78 -0
  362. package/dist/modes/interactive/components/extension-selector.js.map +1 -0
  363. package/dist/modes/interactive/components/footer.d.ts +27 -0
  364. package/dist/modes/interactive/components/footer.d.ts.map +1 -0
  365. package/dist/modes/interactive/components/footer.js +201 -0
  366. package/dist/modes/interactive/components/footer.js.map +1 -0
  367. package/dist/modes/interactive/components/index.d.ts +32 -0
  368. package/dist/modes/interactive/components/index.d.ts.map +1 -0
  369. package/dist/modes/interactive/components/index.js +33 -0
  370. package/dist/modes/interactive/components/index.js.map +1 -0
  371. package/dist/modes/interactive/components/keybinding-hints.d.ts +8 -0
  372. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
  373. package/dist/modes/interactive/components/keybinding-hints.js +22 -0
  374. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
  375. package/dist/modes/interactive/components/login-dialog.d.ts +46 -0
  376. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
  377. package/dist/modes/interactive/components/login-dialog.js +158 -0
  378. package/dist/modes/interactive/components/login-dialog.js.map +1 -0
  379. package/dist/modes/interactive/components/model-selector.d.ts +47 -0
  380. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
  381. package/dist/modes/interactive/components/model-selector.js +278 -0
  382. package/dist/modes/interactive/components/model-selector.js.map +1 -0
  383. package/dist/modes/interactive/components/oauth-selector.d.ts +29 -0
  384. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
  385. package/dist/modes/interactive/components/oauth-selector.js +141 -0
  386. package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
  387. package/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
  388. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
  389. package/dist/modes/interactive/components/scoped-models-selector.js +290 -0
  390. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
  391. package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
  392. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
  393. package/dist/modes/interactive/components/session-selector-search.js +155 -0
  394. package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
  395. package/dist/modes/interactive/components/session-selector.d.ts +96 -0
  396. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
  397. package/dist/modes/interactive/components/session-selector.js +861 -0
  398. package/dist/modes/interactive/components/session-selector.js.map +1 -0
  399. package/dist/modes/interactive/components/settings-selector.d.ts +67 -0
  400. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
  401. package/dist/modes/interactive/components/settings-selector.js +373 -0
  402. package/dist/modes/interactive/components/settings-selector.js.map +1 -0
  403. package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  404. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
  405. package/dist/modes/interactive/components/show-images-selector.js +39 -0
  406. package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
  407. package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  408. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
  409. package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
  410. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
  411. package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  412. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
  413. package/dist/modes/interactive/components/theme-selector.js +50 -0
  414. package/dist/modes/interactive/components/theme-selector.js.map +1 -0
  415. package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  416. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
  417. package/dist/modes/interactive/components/thinking-selector.js +51 -0
  418. package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
  419. package/dist/modes/interactive/components/tool-execution.d.ts +63 -0
  420. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
  421. package/dist/modes/interactive/components/tool-execution.js +295 -0
  422. package/dist/modes/interactive/components/tool-execution.js.map +1 -0
  423. package/dist/modes/interactive/components/tree-selector.d.ts +89 -0
  424. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
  425. package/dist/modes/interactive/components/tree-selector.js +1092 -0
  426. package/dist/modes/interactive/components/tree-selector.js.map +1 -0
  427. package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  428. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
  429. package/dist/modes/interactive/components/user-message-selector.js +114 -0
  430. package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
  431. package/dist/modes/interactive/components/user-message.d.ts +10 -0
  432. package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
  433. package/dist/modes/interactive/components/user-message.js +29 -0
  434. package/dist/modes/interactive/components/user-message.js.map +1 -0
  435. package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  436. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
  437. package/dist/modes/interactive/components/visual-truncate.js +33 -0
  438. package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
  439. package/dist/modes/interactive/interactive-mode.d.ts +359 -0
  440. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
  441. package/dist/modes/interactive/interactive-mode.js +4573 -0
  442. package/dist/modes/interactive/interactive-mode.js.map +1 -0
  443. package/dist/modes/interactive/theme/aery.json +84 -0
  444. package/dist/modes/interactive/theme/catppuccin-mocha.json +81 -0
  445. package/dist/modes/interactive/theme/dark.json +85 -0
  446. package/dist/modes/interactive/theme/dracula.json +81 -0
  447. package/dist/modes/interactive/theme/light.json +84 -0
  448. package/dist/modes/interactive/theme/nord.json +81 -0
  449. package/dist/modes/interactive/theme/theme-schema.json +335 -0
  450. package/dist/modes/interactive/theme/theme.d.ts +81 -0
  451. package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
  452. package/dist/modes/interactive/theme/theme.js +975 -0
  453. package/dist/modes/interactive/theme/theme.js.map +1 -0
  454. package/dist/modes/interactive/theme/tokyo-night.json +81 -0
  455. package/dist/modes/print-mode.d.ts +28 -0
  456. package/dist/modes/print-mode.d.ts.map +1 -0
  457. package/dist/modes/print-mode.js +131 -0
  458. package/dist/modes/print-mode.js.map +1 -0
  459. package/dist/modes/rpc/jsonl.d.ts +17 -0
  460. package/dist/modes/rpc/jsonl.d.ts.map +1 -0
  461. package/dist/modes/rpc/jsonl.js +49 -0
  462. package/dist/modes/rpc/jsonl.js.map +1 -0
  463. package/dist/modes/rpc/rpc-client.d.ts +224 -0
  464. package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
  465. package/dist/modes/rpc/rpc-client.js +410 -0
  466. package/dist/modes/rpc/rpc-client.js.map +1 -0
  467. package/dist/modes/rpc/rpc-mode.d.ts +20 -0
  468. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
  469. package/dist/modes/rpc/rpc-mode.js +597 -0
  470. package/dist/modes/rpc/rpc-mode.js.map +1 -0
  471. package/dist/modes/rpc/rpc-types.d.ts +419 -0
  472. package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
  473. package/dist/modes/rpc/rpc-types.js +8 -0
  474. package/dist/modes/rpc/rpc-types.js.map +1 -0
  475. package/dist/package-manager-cli.d.ts +4 -0
  476. package/dist/package-manager-cli.d.ts.map +1 -0
  477. package/dist/package-manager-cli.js +457 -0
  478. package/dist/package-manager-cli.js.map +1 -0
  479. package/dist/utils/aery-user-agent.d.ts +2 -0
  480. package/dist/utils/aery-user-agent.d.ts.map +1 -0
  481. package/dist/utils/aery-user-agent.js +5 -0
  482. package/dist/utils/aery-user-agent.js.map +1 -0
  483. package/dist/utils/changelog.d.ts +21 -0
  484. package/dist/utils/changelog.d.ts.map +1 -0
  485. package/dist/utils/changelog.js +87 -0
  486. package/dist/utils/changelog.js.map +1 -0
  487. package/dist/utils/child-process.d.ts +12 -0
  488. package/dist/utils/child-process.d.ts.map +1 -0
  489. package/dist/utils/child-process.js +86 -0
  490. package/dist/utils/child-process.js.map +1 -0
  491. package/dist/utils/clipboard-image.d.ts +11 -0
  492. package/dist/utils/clipboard-image.d.ts.map +1 -0
  493. package/dist/utils/clipboard-image.js +245 -0
  494. package/dist/utils/clipboard-image.js.map +1 -0
  495. package/dist/utils/clipboard-native.d.ts +8 -0
  496. package/dist/utils/clipboard-native.d.ts.map +1 -0
  497. package/dist/utils/clipboard-native.js +14 -0
  498. package/dist/utils/clipboard-native.js.map +1 -0
  499. package/dist/utils/clipboard.d.ts +2 -0
  500. package/dist/utils/clipboard.d.ts.map +1 -0
  501. package/dist/utils/clipboard.js +110 -0
  502. package/dist/utils/clipboard.js.map +1 -0
  503. package/dist/utils/exif-orientation.d.ts +5 -0
  504. package/dist/utils/exif-orientation.d.ts.map +1 -0
  505. package/dist/utils/exif-orientation.js +158 -0
  506. package/dist/utils/exif-orientation.js.map +1 -0
  507. package/dist/utils/frontmatter.d.ts +8 -0
  508. package/dist/utils/frontmatter.d.ts.map +1 -0
  509. package/dist/utils/frontmatter.js +26 -0
  510. package/dist/utils/frontmatter.js.map +1 -0
  511. package/dist/utils/fs-watch.d.ts +5 -0
  512. package/dist/utils/fs-watch.d.ts.map +1 -0
  513. package/dist/utils/fs-watch.js +25 -0
  514. package/dist/utils/fs-watch.js.map +1 -0
  515. package/dist/utils/git.d.ts +26 -0
  516. package/dist/utils/git.d.ts.map +1 -0
  517. package/dist/utils/git.js +163 -0
  518. package/dist/utils/git.js.map +1 -0
  519. package/dist/utils/image-convert.d.ts +9 -0
  520. package/dist/utils/image-convert.d.ts.map +1 -0
  521. package/dist/utils/image-convert.js +39 -0
  522. package/dist/utils/image-convert.js.map +1 -0
  523. package/dist/utils/image-resize.d.ts +36 -0
  524. package/dist/utils/image-resize.d.ts.map +1 -0
  525. package/dist/utils/image-resize.js +137 -0
  526. package/dist/utils/image-resize.js.map +1 -0
  527. package/dist/utils/mime.d.ts +2 -0
  528. package/dist/utils/mime.d.ts.map +1 -0
  529. package/dist/utils/mime.js +26 -0
  530. package/dist/utils/mime.js.map +1 -0
  531. package/dist/utils/paths.d.ts +14 -0
  532. package/dist/utils/paths.d.ts.map +1 -0
  533. package/dist/utils/paths.js +34 -0
  534. package/dist/utils/paths.js.map +1 -0
  535. package/dist/utils/photon.d.ts +21 -0
  536. package/dist/utils/photon.d.ts.map +1 -0
  537. package/dist/utils/photon.js +121 -0
  538. package/dist/utils/photon.js.map +1 -0
  539. package/dist/utils/shell.d.ts +30 -0
  540. package/dist/utils/shell.d.ts.map +1 -0
  541. package/dist/utils/shell.js +190 -0
  542. package/dist/utils/shell.js.map +1 -0
  543. package/dist/utils/sleep.d.ts +5 -0
  544. package/dist/utils/sleep.d.ts.map +1 -0
  545. package/dist/utils/sleep.js +17 -0
  546. package/dist/utils/sleep.js.map +1 -0
  547. package/dist/utils/tools-manager.d.ts +3 -0
  548. package/dist/utils/tools-manager.d.ts.map +1 -0
  549. package/dist/utils/tools-manager.js +256 -0
  550. package/dist/utils/tools-manager.js.map +1 -0
  551. package/dist/utils/version-check.d.ts +7 -0
  552. package/dist/utils/version-check.d.ts.map +1 -0
  553. package/dist/utils/version-check.js +70 -0
  554. package/dist/utils/version-check.js.map +1 -0
  555. package/package.json +1 -1
@@ -0,0 +1,457 @@
1
+ import chalk from "chalk";
2
+ import { spawn } from "child_process";
3
+ import { selectConfig } from "./cli/config-selector.js";
4
+ import { APP_NAME, getAgentDir, getSelfUpdateCommand, getSelfUpdateUnavailableInstruction, PACKAGE_NAME, VERSION, } from "./config.js";
5
+ import { DefaultPackageManager } from "./core/package-manager.js";
6
+ import { SettingsManager } from "./core/settings-manager.js";
7
+ import { shouldUseWindowsShell } from "./utils/child-process.js";
8
+ import { getLatestPiVersion, isNewerPackageVersion } from "./utils/version-check.js";
9
+ function reportSettingsErrors(settingsManager, context) {
10
+ const errors = settingsManager.drainErrors();
11
+ for (const { scope, error } of errors) {
12
+ console.error(chalk.yellow(`Warning (${context}, ${scope} settings): ${error.message}`));
13
+ if (error.stack) {
14
+ console.error(chalk.dim(error.stack));
15
+ }
16
+ }
17
+ }
18
+ function getPackageCommandUsage(command) {
19
+ switch (command) {
20
+ case "install":
21
+ return `${APP_NAME} install <source> [-l]`;
22
+ case "remove":
23
+ return `${APP_NAME} remove <source> [-l]`;
24
+ case "update":
25
+ return `${APP_NAME} update [source|self|aery] [--self] [--extensions] [--extension <source>] [--force]`;
26
+ case "list":
27
+ return `${APP_NAME} list`;
28
+ }
29
+ }
30
+ function printPackageCommandHelp(command) {
31
+ switch (command) {
32
+ case "install":
33
+ console.log(`${chalk.bold("Usage:")}
34
+ ${getPackageCommandUsage("install")}
35
+
36
+ Install a package and add it to settings.
37
+
38
+ Options:
39
+ -l, --local Install project-locally (.aery/settings.json)
40
+
41
+ Examples:
42
+ ${APP_NAME} install npm:@foo/bar
43
+ ${APP_NAME} install git:github.com/user/repo
44
+ ${APP_NAME} install git:git@github.com:user/repo
45
+ ${APP_NAME} install https://github.com/user/repo
46
+ ${APP_NAME} install ssh://git@github.com/user/repo
47
+ ${APP_NAME} install ./local/path
48
+ `);
49
+ return;
50
+ case "remove":
51
+ console.log(`${chalk.bold("Usage:")}
52
+ ${getPackageCommandUsage("remove")}
53
+
54
+ Remove a package and its source from settings.
55
+ Alias: ${APP_NAME} uninstall <source> [-l]
56
+
57
+ Options:
58
+ -l, --local Remove from project settings (.aery/settings.json)
59
+
60
+ Examples:
61
+ ${APP_NAME} remove npm:@foo/bar
62
+ ${APP_NAME} uninstall npm:@foo/bar
63
+ `);
64
+ return;
65
+ case "update":
66
+ console.log(`${chalk.bold("Usage:")}
67
+ ${getPackageCommandUsage("update")}
68
+
69
+ Update aery and installed packages.
70
+
71
+ Options:
72
+ --self Update aery only
73
+ --extensions Update installed packages only
74
+ --extension <source> Update one package only
75
+ --force Reinstall aery even if the current version is latest
76
+
77
+ Short forms:
78
+ ${APP_NAME} update Update aery and all extensions
79
+ ${APP_NAME} update <source> Update one package
80
+ ${APP_NAME} update aery Update aery only (self works as alias to aery)
81
+ `);
82
+ return;
83
+ case "list":
84
+ console.log(`${chalk.bold("Usage:")}
85
+ ${getPackageCommandUsage("list")}
86
+
87
+ List installed packages from user and project settings.
88
+ `);
89
+ return;
90
+ }
91
+ }
92
+ function parsePackageCommand(args) {
93
+ const [rawCommand, ...rest] = args;
94
+ let command;
95
+ if (rawCommand === "uninstall") {
96
+ command = "remove";
97
+ }
98
+ else if (rawCommand === "install" || rawCommand === "remove" || rawCommand === "update" || rawCommand === "list") {
99
+ command = rawCommand;
100
+ }
101
+ if (!command) {
102
+ return undefined;
103
+ }
104
+ let local = false;
105
+ let force = false;
106
+ let help = false;
107
+ let invalidOption;
108
+ let invalidArgument;
109
+ let missingOptionValue;
110
+ let conflictingOptions;
111
+ let source;
112
+ let selfFlag = false;
113
+ let extensionsFlag = false;
114
+ let extensionFlagSource;
115
+ for (let index = 0; index < rest.length; index++) {
116
+ const arg = rest[index];
117
+ if (arg === "-h" || arg === "--help") {
118
+ help = true;
119
+ continue;
120
+ }
121
+ if (arg === "-l" || arg === "--local") {
122
+ if (command === "install" || command === "remove") {
123
+ local = true;
124
+ }
125
+ else {
126
+ invalidOption = invalidOption ?? arg;
127
+ }
128
+ continue;
129
+ }
130
+ if (arg === "--self") {
131
+ if (command === "update") {
132
+ selfFlag = true;
133
+ }
134
+ else {
135
+ invalidOption = invalidOption ?? arg;
136
+ }
137
+ continue;
138
+ }
139
+ if (arg === "--extensions") {
140
+ if (command === "update") {
141
+ extensionsFlag = true;
142
+ }
143
+ else {
144
+ invalidOption = invalidOption ?? arg;
145
+ }
146
+ continue;
147
+ }
148
+ if (arg === "--force") {
149
+ if (command === "update") {
150
+ force = true;
151
+ }
152
+ else {
153
+ invalidOption = invalidOption ?? arg;
154
+ }
155
+ continue;
156
+ }
157
+ if (arg === "--extension") {
158
+ if (command !== "update") {
159
+ invalidOption = invalidOption ?? arg;
160
+ continue;
161
+ }
162
+ const value = rest[index + 1];
163
+ if (!value || value.startsWith("-")) {
164
+ missingOptionValue = missingOptionValue ?? arg;
165
+ }
166
+ else if (extensionFlagSource) {
167
+ conflictingOptions = conflictingOptions ?? "--extension can only be provided once";
168
+ index++;
169
+ }
170
+ else {
171
+ extensionFlagSource = value;
172
+ index++;
173
+ }
174
+ continue;
175
+ }
176
+ if (arg.startsWith("-")) {
177
+ invalidOption = invalidOption ?? arg;
178
+ continue;
179
+ }
180
+ if (!source) {
181
+ source = arg;
182
+ }
183
+ else {
184
+ invalidArgument = invalidArgument ?? arg;
185
+ }
186
+ }
187
+ let updateTarget;
188
+ if (command === "update") {
189
+ if (extensionFlagSource) {
190
+ if (selfFlag || extensionsFlag) {
191
+ conflictingOptions = conflictingOptions ?? "--extension cannot be combined with --self or --extensions";
192
+ }
193
+ if (source) {
194
+ conflictingOptions = conflictingOptions ?? "--extension cannot be combined with a positional source";
195
+ }
196
+ updateTarget = { type: "extensions", source: extensionFlagSource };
197
+ }
198
+ else if (source) {
199
+ const sourceIsSelf = source === "self" || source === "aery" || source === "pi";
200
+ if (sourceIsSelf) {
201
+ updateTarget = extensionsFlag ? { type: "all" } : { type: "self" };
202
+ }
203
+ else {
204
+ if (extensionsFlag || selfFlag) {
205
+ conflictingOptions =
206
+ conflictingOptions ?? "positional update targets cannot be combined with --self or --extensions";
207
+ }
208
+ updateTarget = { type: "extensions", source };
209
+ }
210
+ }
211
+ else if (selfFlag && extensionsFlag) {
212
+ updateTarget = { type: "all" };
213
+ }
214
+ else if (selfFlag) {
215
+ updateTarget = { type: "self" };
216
+ }
217
+ else if (extensionsFlag) {
218
+ updateTarget = { type: "extensions" };
219
+ }
220
+ else {
221
+ updateTarget = { type: "all" };
222
+ }
223
+ }
224
+ return {
225
+ command,
226
+ source,
227
+ updateTarget,
228
+ local,
229
+ force,
230
+ help,
231
+ invalidOption,
232
+ invalidArgument,
233
+ missingOptionValue,
234
+ conflictingOptions,
235
+ };
236
+ }
237
+ function updateTargetIncludesSelf(target) {
238
+ return target.type === "all" || target.type === "self";
239
+ }
240
+ function updateTargetIncludesExtensions(target) {
241
+ return target.type === "all" || target.type === "extensions";
242
+ }
243
+ function printSelfUpdateUnavailable(npmCommand) {
244
+ console.error(`error: ${APP_NAME} cannot self-update this installation.`);
245
+ console.error(getSelfUpdateUnavailableInstruction(PACKAGE_NAME, npmCommand));
246
+ const entrypoint = process.argv[1];
247
+ if (entrypoint) {
248
+ console.error("");
249
+ console.error(`Location of aery executable: ${entrypoint}`);
250
+ }
251
+ }
252
+ function printSelfUpdateFallback(command) {
253
+ console.error(chalk.dim(`If this keeps failing, run this command yourself: ${command.display}`));
254
+ }
255
+ async function shouldRunSelfUpdate(force) {
256
+ if (force) {
257
+ return true;
258
+ }
259
+ let latestVersion;
260
+ try {
261
+ latestVersion = await getLatestPiVersion(VERSION);
262
+ }
263
+ catch {
264
+ return true;
265
+ }
266
+ if (!latestVersion || isNewerPackageVersion(latestVersion, VERSION)) {
267
+ return true;
268
+ }
269
+ console.log(chalk.green(`${APP_NAME} is already up to date (v${VERSION})`));
270
+ return false;
271
+ }
272
+ async function runSelfUpdate(command) {
273
+ console.log(chalk.dim(`Updating ${APP_NAME} with ${command.display}...`));
274
+ await new Promise((resolve, reject) => {
275
+ // Windows package managers are commonly .cmd shims. Use the shell so Node can execute them.
276
+ const child = spawn(command.command, command.args, {
277
+ stdio: "inherit",
278
+ shell: shouldUseWindowsShell(command.command),
279
+ });
280
+ child.on("error", (error) => {
281
+ reject(error);
282
+ });
283
+ child.on("close", (code, signal) => {
284
+ if (code === 0) {
285
+ resolve();
286
+ }
287
+ else if (signal) {
288
+ reject(new Error(`${command.display} terminated by signal ${signal}`));
289
+ }
290
+ else {
291
+ reject(new Error(`${command.display} exited with code ${code ?? "unknown"}`));
292
+ }
293
+ });
294
+ });
295
+ }
296
+ export async function handleConfigCommand(args) {
297
+ if (args[0] !== "config") {
298
+ return false;
299
+ }
300
+ const cwd = process.cwd();
301
+ const agentDir = getAgentDir();
302
+ const settingsManager = SettingsManager.create(cwd, agentDir);
303
+ reportSettingsErrors(settingsManager, "config command");
304
+ const packageManager = new DefaultPackageManager({ cwd, agentDir, settingsManager });
305
+ const resolvedPaths = await packageManager.resolve();
306
+ await selectConfig({
307
+ resolvedPaths,
308
+ settingsManager,
309
+ cwd,
310
+ agentDir,
311
+ });
312
+ process.exit(0);
313
+ }
314
+ export async function handlePackageCommand(args) {
315
+ const options = parsePackageCommand(args);
316
+ if (!options) {
317
+ return false;
318
+ }
319
+ if (options.help) {
320
+ printPackageCommandHelp(options.command);
321
+ return true;
322
+ }
323
+ if (options.invalidOption) {
324
+ console.error(chalk.red(`Unknown option ${options.invalidOption} for "${options.command}".`));
325
+ console.error(chalk.dim(`Use "${APP_NAME} --help" or "${getPackageCommandUsage(options.command)}".`));
326
+ process.exitCode = 1;
327
+ return true;
328
+ }
329
+ if (options.missingOptionValue) {
330
+ console.error(chalk.red(`Missing value for ${options.missingOptionValue}.`));
331
+ console.error(chalk.dim(`Usage: ${getPackageCommandUsage(options.command)}`));
332
+ process.exitCode = 1;
333
+ return true;
334
+ }
335
+ if (options.invalidArgument) {
336
+ console.error(chalk.red(`Unexpected argument ${options.invalidArgument}.`));
337
+ console.error(chalk.dim(`Usage: ${getPackageCommandUsage(options.command)}`));
338
+ process.exitCode = 1;
339
+ return true;
340
+ }
341
+ if (options.conflictingOptions) {
342
+ console.error(chalk.red(options.conflictingOptions));
343
+ console.error(chalk.dim(`Usage: ${getPackageCommandUsage(options.command)}`));
344
+ process.exitCode = 1;
345
+ return true;
346
+ }
347
+ const source = options.source;
348
+ if ((options.command === "install" || options.command === "remove") && !source) {
349
+ console.error(chalk.red(`Missing ${options.command} source.`));
350
+ console.error(chalk.dim(`Usage: ${getPackageCommandUsage(options.command)}`));
351
+ process.exitCode = 1;
352
+ return true;
353
+ }
354
+ const cwd = process.cwd();
355
+ const agentDir = getAgentDir();
356
+ const settingsManager = SettingsManager.create(cwd, agentDir);
357
+ reportSettingsErrors(settingsManager, "package command");
358
+ const selfUpdateNpmCommand = settingsManager.getGlobalSettings().npmCommand;
359
+ const packageManager = new DefaultPackageManager({ cwd, agentDir, settingsManager });
360
+ packageManager.setProgressCallback((event) => {
361
+ if (event.type === "start") {
362
+ process.stdout.write(chalk.dim(`${event.message}\n`));
363
+ }
364
+ });
365
+ try {
366
+ switch (options.command) {
367
+ case "install":
368
+ await packageManager.installAndPersist(source, { local: options.local });
369
+ console.log(chalk.green(`Installed ${source}`));
370
+ return true;
371
+ case "remove": {
372
+ const removed = await packageManager.removeAndPersist(source, { local: options.local });
373
+ if (!removed) {
374
+ console.error(chalk.red(`No matching package found for ${source}`));
375
+ process.exitCode = 1;
376
+ return true;
377
+ }
378
+ console.log(chalk.green(`Removed ${source}`));
379
+ return true;
380
+ }
381
+ case "list": {
382
+ const configuredPackages = packageManager.listConfiguredPackages();
383
+ const userPackages = configuredPackages.filter((pkg) => pkg.scope === "user");
384
+ const projectPackages = configuredPackages.filter((pkg) => pkg.scope === "project");
385
+ if (configuredPackages.length === 0) {
386
+ console.log(chalk.dim("No packages installed."));
387
+ return true;
388
+ }
389
+ const formatPackage = (pkg) => {
390
+ const display = pkg.filtered ? `${pkg.source} (filtered)` : pkg.source;
391
+ console.log(` ${display}`);
392
+ if (pkg.installedPath) {
393
+ console.log(chalk.dim(` ${pkg.installedPath}`));
394
+ }
395
+ };
396
+ if (userPackages.length > 0) {
397
+ console.log(chalk.bold("User packages:"));
398
+ for (const pkg of userPackages) {
399
+ formatPackage(pkg);
400
+ }
401
+ }
402
+ if (projectPackages.length > 0) {
403
+ if (userPackages.length > 0)
404
+ console.log();
405
+ console.log(chalk.bold("Project packages:"));
406
+ for (const pkg of projectPackages) {
407
+ formatPackage(pkg);
408
+ }
409
+ }
410
+ return true;
411
+ }
412
+ case "update": {
413
+ const target = options.updateTarget ?? { type: "all" };
414
+ if (updateTargetIncludesExtensions(target)) {
415
+ const updateSource = target.type === "extensions" ? target.source : undefined;
416
+ await packageManager.update(updateSource);
417
+ if (updateSource) {
418
+ console.log(chalk.green(`Updated ${updateSource}`));
419
+ }
420
+ else {
421
+ console.log(chalk.green("Updated packages"));
422
+ }
423
+ }
424
+ if (updateTargetIncludesSelf(target)) {
425
+ const selfUpdateCommand = getSelfUpdateCommand(PACKAGE_NAME, selfUpdateNpmCommand);
426
+ if (!selfUpdateCommand) {
427
+ printSelfUpdateUnavailable(selfUpdateNpmCommand);
428
+ process.exitCode = 1;
429
+ return true;
430
+ }
431
+ if (!(await shouldRunSelfUpdate(options.force))) {
432
+ return true;
433
+ }
434
+ try {
435
+ await runSelfUpdate(selfUpdateCommand);
436
+ }
437
+ catch (error) {
438
+ const message = error instanceof Error ? error.message : "Unknown package command error";
439
+ console.error(chalk.red(`Error: ${message}`));
440
+ printSelfUpdateFallback(selfUpdateCommand);
441
+ process.exitCode = 1;
442
+ return true;
443
+ }
444
+ console.log(chalk.green(`Updated ${APP_NAME}`));
445
+ }
446
+ return true;
447
+ }
448
+ }
449
+ }
450
+ catch (error) {
451
+ const message = error instanceof Error ? error.message : "Unknown package command error";
452
+ console.error(chalk.red(`Error: ${message}`));
453
+ process.exitCode = 1;
454
+ return true;
455
+ }
456
+ }
457
+ //# sourceMappingURL=package-manager-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-manager-cli.js","sourceRoot":"","sources":["../src/package-manager-cli.ts"],"names":[],"mappings":"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","sourcesContent":["import chalk from \"chalk\";\nimport { spawn } from \"child_process\";\nimport { selectConfig } from \"./cli/config-selector.js\";\nimport {\n\tAPP_NAME,\n\tgetAgentDir,\n\tgetSelfUpdateCommand,\n\tgetSelfUpdateUnavailableInstruction,\n\tPACKAGE_NAME,\n\ttype SelfUpdateCommand,\n\tVERSION,\n} from \"./config.js\";\nimport { DefaultPackageManager } from \"./core/package-manager.js\";\nimport { SettingsManager } from \"./core/settings-manager.js\";\nimport { shouldUseWindowsShell } from \"./utils/child-process.js\";\nimport { getLatestPiVersion, isNewerPackageVersion } from \"./utils/version-check.js\";\n\nexport type PackageCommand = \"install\" | \"remove\" | \"update\" | \"list\";\n\ntype UpdateTarget = { type: \"all\" } | { type: \"self\" } | { type: \"extensions\"; source?: string };\n\ninterface PackageCommandOptions {\n\tcommand: PackageCommand;\n\tsource?: string;\n\tupdateTarget?: UpdateTarget;\n\tlocal: boolean;\n\tforce: boolean;\n\thelp: boolean;\n\tinvalidOption?: string;\n\tinvalidArgument?: string;\n\tmissingOptionValue?: string;\n\tconflictingOptions?: string;\n}\n\nfunction reportSettingsErrors(settingsManager: SettingsManager, context: string): void {\n\tconst errors = settingsManager.drainErrors();\n\tfor (const { scope, error } of errors) {\n\t\tconsole.error(chalk.yellow(`Warning (${context}, ${scope} settings): ${error.message}`));\n\t\tif (error.stack) {\n\t\t\tconsole.error(chalk.dim(error.stack));\n\t\t}\n\t}\n}\n\nfunction getPackageCommandUsage(command: PackageCommand): string {\n\tswitch (command) {\n\t\tcase \"install\":\n\t\t\treturn `${APP_NAME} install <source> [-l]`;\n\t\tcase \"remove\":\n\t\t\treturn `${APP_NAME} remove <source> [-l]`;\n\t\tcase \"update\":\n\t\t\treturn `${APP_NAME} update [source|self|aery] [--self] [--extensions] [--extension <source>] [--force]`;\n\t\tcase \"list\":\n\t\t\treturn `${APP_NAME} list`;\n\t}\n}\n\nfunction printPackageCommandHelp(command: PackageCommand): void {\n\tswitch (command) {\n\t\tcase \"install\":\n\t\t\tconsole.log(`${chalk.bold(\"Usage:\")}\n ${getPackageCommandUsage(\"install\")}\n\nInstall a package and add it to settings.\n\nOptions:\n -l, --local Install project-locally (.aery/settings.json)\n\nExamples:\n ${APP_NAME} install npm:@foo/bar\n ${APP_NAME} install git:github.com/user/repo\n ${APP_NAME} install git:git@github.com:user/repo\n ${APP_NAME} install https://github.com/user/repo\n ${APP_NAME} install ssh://git@github.com/user/repo\n ${APP_NAME} install ./local/path\n`);\n\t\t\treturn;\n\n\t\tcase \"remove\":\n\t\t\tconsole.log(`${chalk.bold(\"Usage:\")}\n ${getPackageCommandUsage(\"remove\")}\n\nRemove a package and its source from settings.\nAlias: ${APP_NAME} uninstall <source> [-l]\n\nOptions:\n -l, --local Remove from project settings (.aery/settings.json)\n\nExamples:\n ${APP_NAME} remove npm:@foo/bar\n ${APP_NAME} uninstall npm:@foo/bar\n`);\n\t\t\treturn;\n\n\t\tcase \"update\":\n\t\t\tconsole.log(`${chalk.bold(\"Usage:\")}\n ${getPackageCommandUsage(\"update\")}\n\nUpdate aery and installed packages.\n\nOptions:\n --self Update aery only\n --extensions Update installed packages only\n --extension <source> Update one package only\n --force Reinstall aery even if the current version is latest\n\nShort forms:\n ${APP_NAME} update Update aery and all extensions\n ${APP_NAME} update <source> Update one package\n ${APP_NAME} update aery Update aery only (self works as alias to aery)\n`);\n\t\t\treturn;\n\n\t\tcase \"list\":\n\t\t\tconsole.log(`${chalk.bold(\"Usage:\")}\n ${getPackageCommandUsage(\"list\")}\n\nList installed packages from user and project settings.\n`);\n\t\t\treturn;\n\t}\n}\n\nfunction parsePackageCommand(args: string[]): PackageCommandOptions | undefined {\n\tconst [rawCommand, ...rest] = args;\n\tlet command: PackageCommand | undefined;\n\tif (rawCommand === \"uninstall\") {\n\t\tcommand = \"remove\";\n\t} else if (rawCommand === \"install\" || rawCommand === \"remove\" || rawCommand === \"update\" || rawCommand === \"list\") {\n\t\tcommand = rawCommand;\n\t}\n\tif (!command) {\n\t\treturn undefined;\n\t}\n\n\tlet local = false;\n\tlet force = false;\n\tlet help = false;\n\tlet invalidOption: string | undefined;\n\tlet invalidArgument: string | undefined;\n\tlet missingOptionValue: string | undefined;\n\tlet conflictingOptions: string | undefined;\n\tlet source: string | undefined;\n\tlet selfFlag = false;\n\tlet extensionsFlag = false;\n\tlet extensionFlagSource: string | undefined;\n\n\tfor (let index = 0; index < rest.length; index++) {\n\t\tconst arg = rest[index];\n\t\tif (arg === \"-h\" || arg === \"--help\") {\n\t\t\thelp = true;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (arg === \"-l\" || arg === \"--local\") {\n\t\t\tif (command === \"install\" || command === \"remove\") {\n\t\t\t\tlocal = true;\n\t\t\t} else {\n\t\t\t\tinvalidOption = invalidOption ?? arg;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (arg === \"--self\") {\n\t\t\tif (command === \"update\") {\n\t\t\t\tselfFlag = true;\n\t\t\t} else {\n\t\t\t\tinvalidOption = invalidOption ?? arg;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (arg === \"--extensions\") {\n\t\t\tif (command === \"update\") {\n\t\t\t\textensionsFlag = true;\n\t\t\t} else {\n\t\t\t\tinvalidOption = invalidOption ?? arg;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (arg === \"--force\") {\n\t\t\tif (command === \"update\") {\n\t\t\t\tforce = true;\n\t\t\t} else {\n\t\t\t\tinvalidOption = invalidOption ?? arg;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (arg === \"--extension\") {\n\t\t\tif (command !== \"update\") {\n\t\t\t\tinvalidOption = invalidOption ?? arg;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst value = rest[index + 1];\n\t\t\tif (!value || value.startsWith(\"-\")) {\n\t\t\t\tmissingOptionValue = missingOptionValue ?? arg;\n\t\t\t} else if (extensionFlagSource) {\n\t\t\t\tconflictingOptions = conflictingOptions ?? \"--extension can only be provided once\";\n\t\t\t\tindex++;\n\t\t\t} else {\n\t\t\t\textensionFlagSource = value;\n\t\t\t\tindex++;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (arg.startsWith(\"-\")) {\n\t\t\tinvalidOption = invalidOption ?? arg;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!source) {\n\t\t\tsource = arg;\n\t\t} else {\n\t\t\tinvalidArgument = invalidArgument ?? arg;\n\t\t}\n\t}\n\n\tlet updateTarget: UpdateTarget | undefined;\n\tif (command === \"update\") {\n\t\tif (extensionFlagSource) {\n\t\t\tif (selfFlag || extensionsFlag) {\n\t\t\t\tconflictingOptions = conflictingOptions ?? \"--extension cannot be combined with --self or --extensions\";\n\t\t\t}\n\t\t\tif (source) {\n\t\t\t\tconflictingOptions = conflictingOptions ?? \"--extension cannot be combined with a positional source\";\n\t\t\t}\n\t\t\tupdateTarget = { type: \"extensions\", source: extensionFlagSource };\n\t\t} else if (source) {\n\t\t\tconst sourceIsSelf = source === \"self\" || source === \"aery\" || source === \"pi\";\n\t\t\tif (sourceIsSelf) {\n\t\t\t\tupdateTarget = extensionsFlag ? { type: \"all\" } : { type: \"self\" };\n\t\t\t} else {\n\t\t\t\tif (extensionsFlag || selfFlag) {\n\t\t\t\t\tconflictingOptions =\n\t\t\t\t\t\tconflictingOptions ?? \"positional update targets cannot be combined with --self or --extensions\";\n\t\t\t\t}\n\t\t\t\tupdateTarget = { type: \"extensions\", source };\n\t\t\t}\n\t\t} else if (selfFlag && extensionsFlag) {\n\t\t\tupdateTarget = { type: \"all\" };\n\t\t} else if (selfFlag) {\n\t\t\tupdateTarget = { type: \"self\" };\n\t\t} else if (extensionsFlag) {\n\t\t\tupdateTarget = { type: \"extensions\" };\n\t\t} else {\n\t\t\tupdateTarget = { type: \"all\" };\n\t\t}\n\t}\n\n\treturn {\n\t\tcommand,\n\t\tsource,\n\t\tupdateTarget,\n\t\tlocal,\n\t\tforce,\n\t\thelp,\n\t\tinvalidOption,\n\t\tinvalidArgument,\n\t\tmissingOptionValue,\n\t\tconflictingOptions,\n\t};\n}\n\nfunction updateTargetIncludesSelf(target: UpdateTarget): boolean {\n\treturn target.type === \"all\" || target.type === \"self\";\n}\n\nfunction updateTargetIncludesExtensions(target: UpdateTarget): boolean {\n\treturn target.type === \"all\" || target.type === \"extensions\";\n}\n\nfunction printSelfUpdateUnavailable(npmCommand?: string[]): void {\n\tconsole.error(`error: ${APP_NAME} cannot self-update this installation.`);\n\tconsole.error(getSelfUpdateUnavailableInstruction(PACKAGE_NAME, npmCommand));\n\n\tconst entrypoint = process.argv[1];\n\tif (entrypoint) {\n\t\tconsole.error(\"\");\n\t\tconsole.error(`Location of aery executable: ${entrypoint}`);\n\t}\n}\n\nfunction printSelfUpdateFallback(command: SelfUpdateCommand): void {\n\tconsole.error(chalk.dim(`If this keeps failing, run this command yourself: ${command.display}`));\n}\n\nasync function shouldRunSelfUpdate(force: boolean): Promise<boolean> {\n\tif (force) {\n\t\treturn true;\n\t}\n\n\tlet latestVersion: string | undefined;\n\ttry {\n\t\tlatestVersion = await getLatestPiVersion(VERSION);\n\t} catch {\n\t\treturn true;\n\t}\n\n\tif (!latestVersion || isNewerPackageVersion(latestVersion, VERSION)) {\n\t\treturn true;\n\t}\n\n\tconsole.log(chalk.green(`${APP_NAME} is already up to date (v${VERSION})`));\n\treturn false;\n}\n\nasync function runSelfUpdate(command: SelfUpdateCommand): Promise<void> {\n\tconsole.log(chalk.dim(`Updating ${APP_NAME} with ${command.display}...`));\n\tawait new Promise<void>((resolve, reject) => {\n\t\t// Windows package managers are commonly .cmd shims. Use the shell so Node can execute them.\n\t\tconst child = spawn(command.command, command.args, {\n\t\t\tstdio: \"inherit\",\n\t\t\tshell: shouldUseWindowsShell(command.command),\n\t\t});\n\t\tchild.on(\"error\", (error) => {\n\t\t\treject(error);\n\t\t});\n\t\tchild.on(\"close\", (code, signal) => {\n\t\t\tif (code === 0) {\n\t\t\t\tresolve();\n\t\t\t} else if (signal) {\n\t\t\t\treject(new Error(`${command.display} terminated by signal ${signal}`));\n\t\t\t} else {\n\t\t\t\treject(new Error(`${command.display} exited with code ${code ?? \"unknown\"}`));\n\t\t\t}\n\t\t});\n\t});\n}\n\nexport async function handleConfigCommand(args: string[]): Promise<boolean> {\n\tif (args[0] !== \"config\") {\n\t\treturn false;\n\t}\n\n\tconst cwd = process.cwd();\n\tconst agentDir = getAgentDir();\n\tconst settingsManager = SettingsManager.create(cwd, agentDir);\n\treportSettingsErrors(settingsManager, \"config command\");\n\tconst packageManager = new DefaultPackageManager({ cwd, agentDir, settingsManager });\n\tconst resolvedPaths = await packageManager.resolve();\n\n\tawait selectConfig({\n\t\tresolvedPaths,\n\t\tsettingsManager,\n\t\tcwd,\n\t\tagentDir,\n\t});\n\n\tprocess.exit(0);\n}\n\nexport async function handlePackageCommand(args: string[]): Promise<boolean> {\n\tconst options = parsePackageCommand(args);\n\tif (!options) {\n\t\treturn false;\n\t}\n\n\tif (options.help) {\n\t\tprintPackageCommandHelp(options.command);\n\t\treturn true;\n\t}\n\n\tif (options.invalidOption) {\n\t\tconsole.error(chalk.red(`Unknown option ${options.invalidOption} for \"${options.command}\".`));\n\t\tconsole.error(chalk.dim(`Use \"${APP_NAME} --help\" or \"${getPackageCommandUsage(options.command)}\".`));\n\t\tprocess.exitCode = 1;\n\t\treturn true;\n\t}\n\n\tif (options.missingOptionValue) {\n\t\tconsole.error(chalk.red(`Missing value for ${options.missingOptionValue}.`));\n\t\tconsole.error(chalk.dim(`Usage: ${getPackageCommandUsage(options.command)}`));\n\t\tprocess.exitCode = 1;\n\t\treturn true;\n\t}\n\n\tif (options.invalidArgument) {\n\t\tconsole.error(chalk.red(`Unexpected argument ${options.invalidArgument}.`));\n\t\tconsole.error(chalk.dim(`Usage: ${getPackageCommandUsage(options.command)}`));\n\t\tprocess.exitCode = 1;\n\t\treturn true;\n\t}\n\n\tif (options.conflictingOptions) {\n\t\tconsole.error(chalk.red(options.conflictingOptions));\n\t\tconsole.error(chalk.dim(`Usage: ${getPackageCommandUsage(options.command)}`));\n\t\tprocess.exitCode = 1;\n\t\treturn true;\n\t}\n\n\tconst source = options.source;\n\tif ((options.command === \"install\" || options.command === \"remove\") && !source) {\n\t\tconsole.error(chalk.red(`Missing ${options.command} source.`));\n\t\tconsole.error(chalk.dim(`Usage: ${getPackageCommandUsage(options.command)}`));\n\t\tprocess.exitCode = 1;\n\t\treturn true;\n\t}\n\n\tconst cwd = process.cwd();\n\tconst agentDir = getAgentDir();\n\tconst settingsManager = SettingsManager.create(cwd, agentDir);\n\treportSettingsErrors(settingsManager, \"package command\");\n\tconst selfUpdateNpmCommand = settingsManager.getGlobalSettings().npmCommand;\n\n\tconst packageManager = new DefaultPackageManager({ cwd, agentDir, settingsManager });\n\n\tpackageManager.setProgressCallback((event) => {\n\t\tif (event.type === \"start\") {\n\t\t\tprocess.stdout.write(chalk.dim(`${event.message}\\n`));\n\t\t}\n\t});\n\n\ttry {\n\t\tswitch (options.command) {\n\t\t\tcase \"install\":\n\t\t\t\tawait packageManager.installAndPersist(source!, { local: options.local });\n\t\t\t\tconsole.log(chalk.green(`Installed ${source}`));\n\t\t\t\treturn true;\n\n\t\t\tcase \"remove\": {\n\t\t\t\tconst removed = await packageManager.removeAndPersist(source!, { local: options.local });\n\t\t\t\tif (!removed) {\n\t\t\t\t\tconsole.error(chalk.red(`No matching package found for ${source}`));\n\t\t\t\t\tprocess.exitCode = 1;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tconsole.log(chalk.green(`Removed ${source}`));\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tcase \"list\": {\n\t\t\t\tconst configuredPackages = packageManager.listConfiguredPackages();\n\t\t\t\tconst userPackages = configuredPackages.filter((pkg) => pkg.scope === \"user\");\n\t\t\t\tconst projectPackages = configuredPackages.filter((pkg) => pkg.scope === \"project\");\n\n\t\t\t\tif (configuredPackages.length === 0) {\n\t\t\t\t\tconsole.log(chalk.dim(\"No packages installed.\"));\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tconst formatPackage = (pkg: (typeof configuredPackages)[number]) => {\n\t\t\t\t\tconst display = pkg.filtered ? `${pkg.source} (filtered)` : pkg.source;\n\t\t\t\t\tconsole.log(` ${display}`);\n\t\t\t\t\tif (pkg.installedPath) {\n\t\t\t\t\t\tconsole.log(chalk.dim(` ${pkg.installedPath}`));\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tif (userPackages.length > 0) {\n\t\t\t\t\tconsole.log(chalk.bold(\"User packages:\"));\n\t\t\t\t\tfor (const pkg of userPackages) {\n\t\t\t\t\t\tformatPackage(pkg);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (projectPackages.length > 0) {\n\t\t\t\t\tif (userPackages.length > 0) console.log();\n\t\t\t\t\tconsole.log(chalk.bold(\"Project packages:\"));\n\t\t\t\t\tfor (const pkg of projectPackages) {\n\t\t\t\t\t\tformatPackage(pkg);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tcase \"update\": {\n\t\t\t\tconst target = options.updateTarget ?? { type: \"all\" };\n\t\t\t\tif (updateTargetIncludesExtensions(target)) {\n\t\t\t\t\tconst updateSource = target.type === \"extensions\" ? target.source : undefined;\n\t\t\t\t\tawait packageManager.update(updateSource);\n\t\t\t\t\tif (updateSource) {\n\t\t\t\t\t\tconsole.log(chalk.green(`Updated ${updateSource}`));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.log(chalk.green(\"Updated packages\"));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (updateTargetIncludesSelf(target)) {\n\t\t\t\t\tconst selfUpdateCommand = getSelfUpdateCommand(PACKAGE_NAME, selfUpdateNpmCommand);\n\t\t\t\t\tif (!selfUpdateCommand) {\n\t\t\t\t\t\tprintSelfUpdateUnavailable(selfUpdateNpmCommand);\n\t\t\t\t\t\tprocess.exitCode = 1;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (!(await shouldRunSelfUpdate(options.force))) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait runSelfUpdate(selfUpdateCommand);\n\t\t\t\t\t} catch (error: unknown) {\n\t\t\t\t\t\tconst message = error instanceof Error ? error.message : \"Unknown package command error\";\n\t\t\t\t\t\tconsole.error(chalk.red(`Error: ${message}`));\n\t\t\t\t\t\tprintSelfUpdateFallback(selfUpdateCommand);\n\t\t\t\t\t\tprocess.exitCode = 1;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tconsole.log(chalk.green(`Updated ${APP_NAME}`));\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t} catch (error: unknown) {\n\t\tconst message = error instanceof Error ? error.message : \"Unknown package command error\";\n\t\tconsole.error(chalk.red(`Error: ${message}`));\n\t\tprocess.exitCode = 1;\n\t\treturn true;\n\t}\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare function getAeryUserAgent(version: string): string;
2
+ //# sourceMappingURL=aery-user-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aery-user-agent.d.ts","sourceRoot":"","sources":["../../src/utils/aery-user-agent.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxD","sourcesContent":["export function getAeryUserAgent(version: string): string {\n\tconst runtime = process.versions.bun ? `bun/${process.versions.bun}` : `node/${process.version}`;\n\treturn `aery/${version} (${process.platform}; ${runtime}; ${process.arch})`;\n}\n"]}
@@ -0,0 +1,5 @@
1
+ export function getAeryUserAgent(version) {
2
+ const runtime = process.versions.bun ? `bun/${process.versions.bun}` : `node/${process.version}`;
3
+ return `aery/${version} (${process.platform}; ${runtime}; ${process.arch})`;
4
+ }
5
+ //# sourceMappingURL=aery-user-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aery-user-agent.js","sourceRoot":"","sources":["../../src/utils/aery-user-agent.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAU;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC;IACjG,OAAO,QAAQ,OAAO,KAAK,OAAO,CAAC,QAAQ,KAAK,OAAO,KAAK,OAAO,CAAC,IAAI,GAAG,CAAC;AAAA,CAC5E","sourcesContent":["export function getAeryUserAgent(version: string): string {\n\tconst runtime = process.versions.bun ? `bun/${process.versions.bun}` : `node/${process.version}`;\n\treturn `aery/${version} (${process.platform}; ${runtime}; ${process.arch})`;\n}\n"]}
@@ -0,0 +1,21 @@
1
+ export interface ChangelogEntry {
2
+ major: number;
3
+ minor: number;
4
+ patch: number;
5
+ content: string;
6
+ }
7
+ /**
8
+ * Parse changelog entries from CHANGELOG.md
9
+ * Scans for ## lines and collects content until next ## or EOF
10
+ */
11
+ export declare function parseChangelog(changelogPath: string): ChangelogEntry[];
12
+ /**
13
+ * Compare versions. Returns: -1 if v1 < v2, 0 if v1 === v2, 1 if v1 > v2
14
+ */
15
+ export declare function compareVersions(v1: ChangelogEntry, v2: ChangelogEntry): number;
16
+ /**
17
+ * Get entries newer than lastVersion
18
+ */
19
+ export declare function getNewEntries(entries: ChangelogEntry[], lastVersion: string): ChangelogEntry[];
20
+ export { getChangelogPath } from "../config.js";
21
+ //# sourceMappingURL=changelog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../src/utils/changelog.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,cAAc,EAAE,CAyDtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,GAAG,MAAM,CAI9E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc,EAAE,CAW9F;AAGD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC","sourcesContent":["import { existsSync, readFileSync } from \"fs\";\n\nexport interface ChangelogEntry {\n\tmajor: number;\n\tminor: number;\n\tpatch: number;\n\tcontent: string;\n}\n\n/**\n * Parse changelog entries from CHANGELOG.md\n * Scans for ## lines and collects content until next ## or EOF\n */\nexport function parseChangelog(changelogPath: string): ChangelogEntry[] {\n\tif (!existsSync(changelogPath)) {\n\t\treturn [];\n\t}\n\n\ttry {\n\t\tconst content = readFileSync(changelogPath, \"utf-8\");\n\t\tconst lines = content.split(\"\\n\");\n\t\tconst entries: ChangelogEntry[] = [];\n\n\t\tlet currentLines: string[] = [];\n\t\tlet currentVersion: { major: number; minor: number; patch: number } | null = null;\n\n\t\tfor (const line of lines) {\n\t\t\t// Check if this is a version header (## [x.y.z] ...)\n\t\t\tif (line.startsWith(\"## \")) {\n\t\t\t\t// Save previous entry if exists\n\t\t\t\tif (currentVersion && currentLines.length > 0) {\n\t\t\t\t\tentries.push({\n\t\t\t\t\t\t...currentVersion,\n\t\t\t\t\t\tcontent: currentLines.join(\"\\n\").trim(),\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Try to parse version from this line\n\t\t\t\tconst versionMatch = line.match(/##\\s+\\[?(\\d+)\\.(\\d+)\\.(\\d+)\\]?/);\n\t\t\t\tif (versionMatch) {\n\t\t\t\t\tcurrentVersion = {\n\t\t\t\t\t\tmajor: Number.parseInt(versionMatch[1], 10),\n\t\t\t\t\t\tminor: Number.parseInt(versionMatch[2], 10),\n\t\t\t\t\t\tpatch: Number.parseInt(versionMatch[3], 10),\n\t\t\t\t\t};\n\t\t\t\t\tcurrentLines = [line];\n\t\t\t\t} else {\n\t\t\t\t\t// Reset if we can't parse version\n\t\t\t\t\tcurrentVersion = null;\n\t\t\t\t\tcurrentLines = [];\n\t\t\t\t}\n\t\t\t} else if (currentVersion) {\n\t\t\t\t// Collect lines for current version\n\t\t\t\tcurrentLines.push(line);\n\t\t\t}\n\t\t}\n\n\t\t// Save last entry\n\t\tif (currentVersion && currentLines.length > 0) {\n\t\t\tentries.push({\n\t\t\t\t...currentVersion,\n\t\t\t\tcontent: currentLines.join(\"\\n\").trim(),\n\t\t\t});\n\t\t}\n\n\t\treturn entries;\n\t} catch (error) {\n\t\tconsole.error(`Warning: Could not parse changelog: ${error}`);\n\t\treturn [];\n\t}\n}\n\n/**\n * Compare versions. Returns: -1 if v1 < v2, 0 if v1 === v2, 1 if v1 > v2\n */\nexport function compareVersions(v1: ChangelogEntry, v2: ChangelogEntry): number {\n\tif (v1.major !== v2.major) return v1.major - v2.major;\n\tif (v1.minor !== v2.minor) return v1.minor - v2.minor;\n\treturn v1.patch - v2.patch;\n}\n\n/**\n * Get entries newer than lastVersion\n */\nexport function getNewEntries(entries: ChangelogEntry[], lastVersion: string): ChangelogEntry[] {\n\t// Parse lastVersion\n\tconst parts = lastVersion.split(\".\").map(Number);\n\tconst last: ChangelogEntry = {\n\t\tmajor: parts[0] || 0,\n\t\tminor: parts[1] || 0,\n\t\tpatch: parts[2] || 0,\n\t\tcontent: \"\",\n\t};\n\n\treturn entries.filter((entry) => compareVersions(entry, last) > 0);\n}\n\n// Re-export getChangelogPath from paths.ts for convenience\nexport { getChangelogPath } from \"../config.js\";\n"]}
@@ -0,0 +1,87 @@
1
+ import { existsSync, readFileSync } from "fs";
2
+ /**
3
+ * Parse changelog entries from CHANGELOG.md
4
+ * Scans for ## lines and collects content until next ## or EOF
5
+ */
6
+ export function parseChangelog(changelogPath) {
7
+ if (!existsSync(changelogPath)) {
8
+ return [];
9
+ }
10
+ try {
11
+ const content = readFileSync(changelogPath, "utf-8");
12
+ const lines = content.split("\n");
13
+ const entries = [];
14
+ let currentLines = [];
15
+ let currentVersion = null;
16
+ for (const line of lines) {
17
+ // Check if this is a version header (## [x.y.z] ...)
18
+ if (line.startsWith("## ")) {
19
+ // Save previous entry if exists
20
+ if (currentVersion && currentLines.length > 0) {
21
+ entries.push({
22
+ ...currentVersion,
23
+ content: currentLines.join("\n").trim(),
24
+ });
25
+ }
26
+ // Try to parse version from this line
27
+ const versionMatch = line.match(/##\s+\[?(\d+)\.(\d+)\.(\d+)\]?/);
28
+ if (versionMatch) {
29
+ currentVersion = {
30
+ major: Number.parseInt(versionMatch[1], 10),
31
+ minor: Number.parseInt(versionMatch[2], 10),
32
+ patch: Number.parseInt(versionMatch[3], 10),
33
+ };
34
+ currentLines = [line];
35
+ }
36
+ else {
37
+ // Reset if we can't parse version
38
+ currentVersion = null;
39
+ currentLines = [];
40
+ }
41
+ }
42
+ else if (currentVersion) {
43
+ // Collect lines for current version
44
+ currentLines.push(line);
45
+ }
46
+ }
47
+ // Save last entry
48
+ if (currentVersion && currentLines.length > 0) {
49
+ entries.push({
50
+ ...currentVersion,
51
+ content: currentLines.join("\n").trim(),
52
+ });
53
+ }
54
+ return entries;
55
+ }
56
+ catch (error) {
57
+ console.error(`Warning: Could not parse changelog: ${error}`);
58
+ return [];
59
+ }
60
+ }
61
+ /**
62
+ * Compare versions. Returns: -1 if v1 < v2, 0 if v1 === v2, 1 if v1 > v2
63
+ */
64
+ export function compareVersions(v1, v2) {
65
+ if (v1.major !== v2.major)
66
+ return v1.major - v2.major;
67
+ if (v1.minor !== v2.minor)
68
+ return v1.minor - v2.minor;
69
+ return v1.patch - v2.patch;
70
+ }
71
+ /**
72
+ * Get entries newer than lastVersion
73
+ */
74
+ export function getNewEntries(entries, lastVersion) {
75
+ // Parse lastVersion
76
+ const parts = lastVersion.split(".").map(Number);
77
+ const last = {
78
+ major: parts[0] || 0,
79
+ minor: parts[1] || 0,
80
+ patch: parts[2] || 0,
81
+ content: "",
82
+ };
83
+ return entries.filter((entry) => compareVersions(entry, last) > 0);
84
+ }
85
+ // Re-export getChangelogPath from paths.ts for convenience
86
+ export { getChangelogPath } from "../config.js";
87
+ //# sourceMappingURL=changelog.js.map