@eminent337/aery 0.1.62 → 0.1.64

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 (714) hide show
  1. package/CHANGELOG.md +0 -0
  2. package/README.md +0 -0
  3. package/docs/compaction.md +0 -0
  4. package/docs/custom-provider.md +1 -1
  5. package/docs/development.md +0 -0
  6. package/docs/docs.json +0 -0
  7. package/docs/extensions.md +18 -18
  8. package/docs/images/doom-extension.png +0 -0
  9. package/docs/images/exy.png +0 -0
  10. package/docs/images/interactive-mode.png +0 -0
  11. package/docs/images/tree-view.png +0 -0
  12. package/docs/index.md +5 -5
  13. package/docs/json.md +1 -1
  14. package/docs/keybindings.md +2 -2
  15. package/docs/models.md +2 -2
  16. package/docs/packages.md +13 -13
  17. package/docs/prompt-templates.md +0 -0
  18. package/docs/providers.md +5 -5
  19. package/docs/quickstart.md +19 -19
  20. package/docs/rpc.md +3 -3
  21. package/docs/sdk.md +1 -1
  22. package/docs/session-format.md +3 -3
  23. package/docs/sessions.md +10 -10
  24. package/docs/settings.md +7 -5
  25. package/docs/shell-aliases.md +0 -0
  26. package/docs/skills.md +2 -2
  27. package/docs/terminal-setup.md +6 -6
  28. package/docs/termux.md +3 -3
  29. package/docs/themes.md +3 -3
  30. package/docs/tmux.md +1 -1
  31. package/docs/tui.md +2 -2
  32. package/docs/usage.md +33 -33
  33. package/docs/windows.md +0 -0
  34. package/examples/README.md +0 -0
  35. package/examples/extensions/README.md +3 -3
  36. package/examples/extensions/antigravity-image-gen.ts +6 -6
  37. package/examples/extensions/auto-commit-on-exit.ts +1 -1
  38. package/examples/extensions/bash-spawn-hook.ts +1 -1
  39. package/examples/extensions/bookmark.ts +0 -0
  40. package/examples/extensions/border-status-editor.ts +0 -0
  41. package/examples/extensions/built-in-tool-renderer.ts +1 -1
  42. package/examples/extensions/claude-rules.ts +1 -1
  43. package/examples/extensions/commands.ts +1 -1
  44. package/examples/extensions/confirm-destructive.ts +0 -0
  45. package/examples/extensions/custom-compaction.ts +1 -1
  46. package/examples/extensions/custom-footer.ts +0 -0
  47. package/examples/extensions/custom-header.ts +2 -2
  48. package/examples/extensions/custom-provider-anthropic/index.ts +2 -2
  49. package/examples/extensions/custom-provider-anthropic/package-lock.json +0 -0
  50. package/examples/extensions/custom-provider-anthropic/package.json +0 -0
  51. package/examples/extensions/custom-provider-gitlab-duo/index.ts +2 -2
  52. package/examples/extensions/custom-provider-gitlab-duo/package.json +0 -0
  53. package/examples/extensions/custom-provider-gitlab-duo/test.ts +0 -0
  54. package/examples/extensions/custom-provider-qwen-cli/index.ts +1 -1
  55. package/examples/extensions/custom-provider-qwen-cli/package.json +0 -0
  56. package/examples/extensions/dirty-repo-guard.ts +0 -0
  57. package/examples/extensions/doom-overlay/README.md +2 -2
  58. package/examples/extensions/doom-overlay/doom/build/doom.js +0 -0
  59. package/examples/extensions/doom-overlay/doom/build.sh +2 -2
  60. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +0 -0
  61. package/examples/extensions/doom-overlay/doom-component.ts +0 -0
  62. package/examples/extensions/doom-overlay/doom-engine.ts +0 -0
  63. package/examples/extensions/doom-overlay/doom-keys.ts +0 -0
  64. package/examples/extensions/doom-overlay/index.ts +1 -1
  65. package/examples/extensions/doom-overlay/wad-finder.ts +0 -0
  66. package/examples/extensions/dynamic-resources/SKILL.md +0 -0
  67. package/examples/extensions/dynamic-resources/dynamic.json +0 -0
  68. package/examples/extensions/dynamic-resources/dynamic.md +0 -0
  69. package/examples/extensions/dynamic-resources/index.ts +0 -0
  70. package/examples/extensions/dynamic-tools.ts +0 -0
  71. package/examples/extensions/event-bus.ts +0 -0
  72. package/examples/extensions/file-trigger.ts +0 -0
  73. package/examples/extensions/git-checkpoint.ts +0 -0
  74. package/examples/extensions/github-issue-autocomplete.ts +0 -0
  75. package/examples/extensions/handoff.ts +0 -0
  76. package/examples/extensions/hello.ts +0 -0
  77. package/examples/extensions/hidden-thinking-label.ts +1 -1
  78. package/examples/extensions/inline-bash.ts +2 -2
  79. package/examples/extensions/input-transform.ts +3 -3
  80. package/examples/extensions/interactive-shell.ts +1 -1
  81. package/examples/extensions/mac-system-theme.ts +2 -2
  82. package/examples/extensions/message-renderer.ts +0 -0
  83. package/examples/extensions/minimal-mode.ts +1 -1
  84. package/examples/extensions/modal-editor.ts +1 -1
  85. package/examples/extensions/model-status.ts +1 -1
  86. package/examples/extensions/notify.ts +0 -0
  87. package/examples/extensions/overlay-qa-tests.ts +1 -1
  88. package/examples/extensions/overlay-test.ts +1 -1
  89. package/examples/extensions/permission-gate.ts +0 -0
  90. package/examples/extensions/pirate.ts +1 -1
  91. package/examples/extensions/plan-mode/README.md +0 -0
  92. package/examples/extensions/plan-mode/index.ts +0 -0
  93. package/examples/extensions/plan-mode/utils.ts +0 -0
  94. package/examples/extensions/preset.ts +12 -6
  95. package/examples/extensions/prompt-customizer.ts +1 -1
  96. package/examples/extensions/protected-paths.ts +0 -0
  97. package/examples/extensions/provider-payload.ts +1 -1
  98. package/examples/extensions/qna.ts +0 -0
  99. package/examples/extensions/question.ts +0 -0
  100. package/examples/extensions/questionnaire.ts +0 -0
  101. package/examples/extensions/rainbow-editor.ts +1 -1
  102. package/examples/extensions/reload-runtime.ts +0 -0
  103. package/examples/extensions/rpc-demo.ts +1 -1
  104. package/examples/extensions/sandbox/index.ts +8 -8
  105. package/examples/extensions/sandbox/package-lock.json +0 -0
  106. package/examples/extensions/sandbox/package.json +0 -0
  107. package/examples/extensions/send-user-message.ts +0 -0
  108. package/examples/extensions/session-name.ts +0 -0
  109. package/examples/extensions/shutdown-command.ts +5 -5
  110. package/examples/extensions/snake.ts +0 -0
  111. package/examples/extensions/space-invaders.ts +0 -0
  112. package/examples/extensions/ssh.ts +2 -2
  113. package/examples/extensions/status-line.ts +0 -0
  114. package/examples/extensions/structured-output.ts +0 -0
  115. package/examples/extensions/subagent/README.md +13 -13
  116. package/examples/extensions/subagent/agents/planner.md +0 -0
  117. package/examples/extensions/subagent/agents/reviewer.md +0 -0
  118. package/examples/extensions/subagent/agents/scout.md +0 -0
  119. package/examples/extensions/subagent/agents/worker.md +0 -0
  120. package/examples/extensions/subagent/agents.ts +1 -1
  121. package/examples/extensions/subagent/index.ts +5 -5
  122. package/examples/extensions/subagent/prompts/implement-and-review.md +0 -0
  123. package/examples/extensions/subagent/prompts/implement.md +0 -0
  124. package/examples/extensions/subagent/prompts/scout-and-plan.md +0 -0
  125. package/examples/extensions/summarize.ts +0 -0
  126. package/examples/extensions/system-prompt-header.ts +0 -0
  127. package/examples/extensions/tic-tac-toe.ts +0 -0
  128. package/examples/extensions/timed-confirm.ts +0 -0
  129. package/examples/extensions/titlebar-spinner.ts +1 -1
  130. package/examples/extensions/todo.ts +0 -0
  131. package/examples/extensions/tool-override.ts +2 -2
  132. package/examples/extensions/tools.ts +1 -1
  133. package/examples/extensions/trigger-compact.ts +0 -0
  134. package/examples/extensions/truncated-tool.ts +1 -1
  135. package/examples/extensions/widget-placement.ts +0 -0
  136. package/examples/extensions/with-deps/index.ts +0 -0
  137. package/examples/extensions/with-deps/package-lock.json +0 -0
  138. package/examples/extensions/with-deps/package.json +0 -0
  139. package/examples/extensions/working-indicator.ts +4 -4
  140. package/examples/extensions/working-message-test.ts +1 -1
  141. package/examples/rpc-extension-ui.ts +0 -0
  142. package/examples/sdk/01-minimal.ts +1 -1
  143. package/examples/sdk/02-custom-model.ts +0 -0
  144. package/examples/sdk/03-custom-prompt.ts +1 -1
  145. package/examples/sdk/04-skills.ts +1 -1
  146. package/examples/sdk/05-tools.ts +0 -0
  147. package/examples/sdk/06-extensions.ts +2 -2
  148. package/examples/sdk/07-context-files.ts +0 -0
  149. package/examples/sdk/08-prompt-templates.ts +1 -1
  150. package/examples/sdk/09-api-keys-and-oauth.ts +2 -2
  151. package/examples/sdk/10-settings.ts +0 -0
  152. package/examples/sdk/11-sessions.ts +0 -0
  153. package/examples/sdk/12-full-control.ts +0 -0
  154. package/examples/sdk/13-session-runtime.ts +0 -0
  155. package/examples/sdk/README.md +1 -1
  156. package/package.json +4 -4
  157. package/dist/bun/cli.d.ts +0 -3
  158. package/dist/bun/cli.d.ts.map +0 -1
  159. package/dist/bun/cli.js +0 -8
  160. package/dist/bun/cli.js.map +0 -1
  161. package/dist/bun/register-bedrock.d.ts +0 -2
  162. package/dist/bun/register-bedrock.d.ts.map +0 -1
  163. package/dist/bun/register-bedrock.js +0 -4
  164. package/dist/bun/register-bedrock.js.map +0 -1
  165. package/dist/bun/restore-sandbox-env.d.ts +0 -13
  166. package/dist/bun/restore-sandbox-env.d.ts.map +0 -1
  167. package/dist/bun/restore-sandbox-env.js +0 -32
  168. package/dist/bun/restore-sandbox-env.js.map +0 -1
  169. package/dist/cli/args.d.ts +0 -53
  170. package/dist/cli/args.d.ts.map +0 -1
  171. package/dist/cli/args.js +0 -329
  172. package/dist/cli/args.js.map +0 -1
  173. package/dist/cli/config-selector.d.ts +0 -14
  174. package/dist/cli/config-selector.d.ts.map +0 -1
  175. package/dist/cli/config-selector.js +0 -31
  176. package/dist/cli/config-selector.js.map +0 -1
  177. package/dist/cli/file-processor.d.ts +0 -15
  178. package/dist/cli/file-processor.d.ts.map +0 -1
  179. package/dist/cli/file-processor.js +0 -83
  180. package/dist/cli/file-processor.js.map +0 -1
  181. package/dist/cli/initial-message.d.ts +0 -18
  182. package/dist/cli/initial-message.d.ts.map +0 -1
  183. package/dist/cli/initial-message.js +0 -22
  184. package/dist/cli/initial-message.js.map +0 -1
  185. package/dist/cli/list-models.d.ts +0 -9
  186. package/dist/cli/list-models.d.ts.map +0 -1
  187. package/dist/cli/list-models.js +0 -98
  188. package/dist/cli/list-models.js.map +0 -1
  189. package/dist/cli/session-picker.d.ts +0 -9
  190. package/dist/cli/session-picker.d.ts.map +0 -1
  191. package/dist/cli/session-picker.js +0 -35
  192. package/dist/cli/session-picker.js.map +0 -1
  193. package/dist/cli.d.ts +0 -3
  194. package/dist/cli.d.ts.map +0 -1
  195. package/dist/cli.js +0 -19
  196. package/dist/cli.js.map +0 -1
  197. package/dist/config.d.ts +0 -86
  198. package/dist/config.d.ts.map +0 -1
  199. package/dist/config.js +0 -332
  200. package/dist/config.js.map +0 -1
  201. package/dist/core/agent-session-runtime.d.ts +0 -117
  202. package/dist/core/agent-session-runtime.d.ts.map +0 -1
  203. package/dist/core/agent-session-runtime.js +0 -300
  204. package/dist/core/agent-session-runtime.js.map +0 -1
  205. package/dist/core/agent-session-services.d.ts +0 -86
  206. package/dist/core/agent-session-services.d.ts.map +0 -1
  207. package/dist/core/agent-session-services.js +0 -117
  208. package/dist/core/agent-session-services.js.map +0 -1
  209. package/dist/core/agent-session.d.ts +0 -595
  210. package/dist/core/agent-session.d.ts.map +0 -1
  211. package/dist/core/agent-session.js +0 -2520
  212. package/dist/core/agent-session.js.map +0 -1
  213. package/dist/core/auth-guidance.d.ts +0 -5
  214. package/dist/core/auth-guidance.d.ts.map +0 -1
  215. package/dist/core/auth-guidance.js +0 -21
  216. package/dist/core/auth-guidance.js.map +0 -1
  217. package/dist/core/auth-storage.d.ts +0 -141
  218. package/dist/core/auth-storage.d.ts.map +0 -1
  219. package/dist/core/auth-storage.js +0 -441
  220. package/dist/core/auth-storage.js.map +0 -1
  221. package/dist/core/bash-executor.d.ts +0 -32
  222. package/dist/core/bash-executor.d.ts.map +0 -1
  223. package/dist/core/bash-executor.js +0 -111
  224. package/dist/core/bash-executor.js.map +0 -1
  225. package/dist/core/compaction/branch-summarization.d.ts +0 -88
  226. package/dist/core/compaction/branch-summarization.d.ts.map +0 -1
  227. package/dist/core/compaction/branch-summarization.js +0 -243
  228. package/dist/core/compaction/branch-summarization.js.map +0 -1
  229. package/dist/core/compaction/compaction.d.ts +0 -121
  230. package/dist/core/compaction/compaction.d.ts.map +0 -1
  231. package/dist/core/compaction/compaction.js +0 -615
  232. package/dist/core/compaction/compaction.js.map +0 -1
  233. package/dist/core/compaction/index.d.ts +0 -7
  234. package/dist/core/compaction/index.d.ts.map +0 -1
  235. package/dist/core/compaction/index.js +0 -7
  236. package/dist/core/compaction/index.js.map +0 -1
  237. package/dist/core/compaction/utils.d.ts +0 -38
  238. package/dist/core/compaction/utils.d.ts.map +0 -1
  239. package/dist/core/compaction/utils.js +0 -153
  240. package/dist/core/compaction/utils.js.map +0 -1
  241. package/dist/core/defaults.d.ts +0 -3
  242. package/dist/core/defaults.d.ts.map +0 -1
  243. package/dist/core/defaults.js +0 -2
  244. package/dist/core/defaults.js.map +0 -1
  245. package/dist/core/diagnostics.d.ts +0 -15
  246. package/dist/core/diagnostics.d.ts.map +0 -1
  247. package/dist/core/diagnostics.js +0 -2
  248. package/dist/core/diagnostics.js.map +0 -1
  249. package/dist/core/event-bus.d.ts +0 -9
  250. package/dist/core/event-bus.d.ts.map +0 -1
  251. package/dist/core/event-bus.js +0 -25
  252. package/dist/core/event-bus.js.map +0 -1
  253. package/dist/core/exec.d.ts +0 -29
  254. package/dist/core/exec.d.ts.map +0 -1
  255. package/dist/core/exec.js +0 -75
  256. package/dist/core/exec.js.map +0 -1
  257. package/dist/core/export-html/ansi-to-html.d.ts +0 -22
  258. package/dist/core/export-html/ansi-to-html.d.ts.map +0 -1
  259. package/dist/core/export-html/ansi-to-html.js +0 -249
  260. package/dist/core/export-html/ansi-to-html.js.map +0 -1
  261. package/dist/core/export-html/index.d.ts +0 -37
  262. package/dist/core/export-html/index.d.ts.map +0 -1
  263. package/dist/core/export-html/index.js +0 -224
  264. package/dist/core/export-html/index.js.map +0 -1
  265. package/dist/core/export-html/template.css +0 -1022
  266. package/dist/core/export-html/template.html +0 -55
  267. package/dist/core/export-html/template.js +0 -1770
  268. package/dist/core/export-html/tool-renderer.d.ts +0 -34
  269. package/dist/core/export-html/tool-renderer.d.ts.map +0 -1
  270. package/dist/core/export-html/tool-renderer.js +0 -108
  271. package/dist/core/export-html/tool-renderer.js.map +0 -1
  272. package/dist/core/export-html/vendor/highlight.min.js +0 -1213
  273. package/dist/core/export-html/vendor/marked.min.js +0 -6
  274. package/dist/core/extensions/index.d.ts +0 -12
  275. package/dist/core/extensions/index.d.ts.map +0 -1
  276. package/dist/core/extensions/index.js +0 -9
  277. package/dist/core/extensions/index.js.map +0 -1
  278. package/dist/core/extensions/loader.d.ts +0 -25
  279. package/dist/core/extensions/loader.d.ts.map +0 -1
  280. package/dist/core/extensions/loader.js +0 -476
  281. package/dist/core/extensions/loader.js.map +0 -1
  282. package/dist/core/extensions/runner.d.ts +0 -158
  283. package/dist/core/extensions/runner.d.ts.map +0 -1
  284. package/dist/core/extensions/runner.js +0 -784
  285. package/dist/core/extensions/runner.js.map +0 -1
  286. package/dist/core/extensions/types.d.ts +0 -1153
  287. package/dist/core/extensions/types.d.ts.map +0 -1
  288. package/dist/core/extensions/types.js +0 -45
  289. package/dist/core/extensions/types.js.map +0 -1
  290. package/dist/core/extensions/wrapper.d.ts +0 -20
  291. package/dist/core/extensions/wrapper.d.ts.map +0 -1
  292. package/dist/core/extensions/wrapper.js +0 -22
  293. package/dist/core/extensions/wrapper.js.map +0 -1
  294. package/dist/core/footer-data-provider.d.ts +0 -52
  295. package/dist/core/footer-data-provider.d.ts.map +0 -1
  296. package/dist/core/footer-data-provider.js +0 -310
  297. package/dist/core/footer-data-provider.js.map +0 -1
  298. package/dist/core/index.d.ts +0 -12
  299. package/dist/core/index.d.ts.map +0 -1
  300. package/dist/core/index.js +0 -12
  301. package/dist/core/index.js.map +0 -1
  302. package/dist/core/keybindings.d.ts +0 -353
  303. package/dist/core/keybindings.d.ts.map +0 -1
  304. package/dist/core/keybindings.js +0 -295
  305. package/dist/core/keybindings.js.map +0 -1
  306. package/dist/core/messages.d.ts +0 -77
  307. package/dist/core/messages.d.ts.map +0 -1
  308. package/dist/core/messages.js +0 -123
  309. package/dist/core/messages.js.map +0 -1
  310. package/dist/core/model-registry.d.ts +0 -144
  311. package/dist/core/model-registry.d.ts.map +0 -1
  312. package/dist/core/model-registry.js +0 -699
  313. package/dist/core/model-registry.js.map +0 -1
  314. package/dist/core/model-resolver.d.ts +0 -110
  315. package/dist/core/model-resolver.d.ts.map +0 -1
  316. package/dist/core/model-resolver.js +0 -489
  317. package/dist/core/model-resolver.js.map +0 -1
  318. package/dist/core/output-guard.d.ts +0 -6
  319. package/dist/core/output-guard.d.ts.map +0 -1
  320. package/dist/core/output-guard.js +0 -59
  321. package/dist/core/output-guard.js.map +0 -1
  322. package/dist/core/package-manager.d.ts +0 -199
  323. package/dist/core/package-manager.d.ts.map +0 -1
  324. package/dist/core/package-manager.js +0 -1973
  325. package/dist/core/package-manager.js.map +0 -1
  326. package/dist/core/prompt-templates.d.ts +0 -52
  327. package/dist/core/prompt-templates.d.ts.map +0 -1
  328. package/dist/core/prompt-templates.js +0 -250
  329. package/dist/core/prompt-templates.js.map +0 -1
  330. package/dist/core/resolve-config-value.d.ts +0 -23
  331. package/dist/core/resolve-config-value.d.ts.map +0 -1
  332. package/dist/core/resolve-config-value.js +0 -126
  333. package/dist/core/resolve-config-value.js.map +0 -1
  334. package/dist/core/resource-loader.d.ts +0 -194
  335. package/dist/core/resource-loader.d.ts.map +0 -1
  336. package/dist/core/resource-loader.js +0 -727
  337. package/dist/core/resource-loader.js.map +0 -1
  338. package/dist/core/sdk.d.ts +0 -107
  339. package/dist/core/sdk.d.ts.map +0 -1
  340. package/dist/core/sdk.js +0 -274
  341. package/dist/core/sdk.js.map +0 -1
  342. package/dist/core/session-cwd.d.ts +0 -19
  343. package/dist/core/session-cwd.d.ts.map +0 -1
  344. package/dist/core/session-cwd.js +0 -38
  345. package/dist/core/session-cwd.js.map +0 -1
  346. package/dist/core/session-manager.d.ts +0 -333
  347. package/dist/core/session-manager.d.ts.map +0 -1
  348. package/dist/core/session-manager.js +0 -1109
  349. package/dist/core/session-manager.js.map +0 -1
  350. package/dist/core/settings-manager.d.ts +0 -261
  351. package/dist/core/settings-manager.d.ts.map +0 -1
  352. package/dist/core/settings-manager.js +0 -782
  353. package/dist/core/settings-manager.js.map +0 -1
  354. package/dist/core/skills.d.ts +0 -60
  355. package/dist/core/skills.d.ts.map +0 -1
  356. package/dist/core/skills.js +0 -404
  357. package/dist/core/skills.js.map +0 -1
  358. package/dist/core/slash-commands.d.ts +0 -14
  359. package/dist/core/slash-commands.d.ts.map +0 -1
  360. package/dist/core/slash-commands.js +0 -25
  361. package/dist/core/slash-commands.js.map +0 -1
  362. package/dist/core/source-info.d.ts +0 -18
  363. package/dist/core/source-info.d.ts.map +0 -1
  364. package/dist/core/source-info.js +0 -19
  365. package/dist/core/source-info.js.map +0 -1
  366. package/dist/core/system-prompt.d.ts +0 -28
  367. package/dist/core/system-prompt.d.ts.map +0 -1
  368. package/dist/core/system-prompt.js +0 -120
  369. package/dist/core/system-prompt.js.map +0 -1
  370. package/dist/core/telemetry.d.ts +0 -3
  371. package/dist/core/telemetry.d.ts.map +0 -1
  372. package/dist/core/telemetry.js +0 -9
  373. package/dist/core/telemetry.js.map +0 -1
  374. package/dist/core/timings.d.ts +0 -8
  375. package/dist/core/timings.d.ts.map +0 -1
  376. package/dist/core/timings.js +0 -31
  377. package/dist/core/timings.js.map +0 -1
  378. package/dist/core/tools/bash.d.ts +0 -68
  379. package/dist/core/tools/bash.d.ts.map +0 -1
  380. package/dist/core/tools/bash.js +0 -355
  381. package/dist/core/tools/bash.js.map +0 -1
  382. package/dist/core/tools/edit-diff.d.ts +0 -85
  383. package/dist/core/tools/edit-diff.d.ts.map +0 -1
  384. package/dist/core/tools/edit-diff.js +0 -337
  385. package/dist/core/tools/edit-diff.js.map +0 -1
  386. package/dist/core/tools/edit.d.ts +0 -49
  387. package/dist/core/tools/edit.d.ts.map +0 -1
  388. package/dist/core/tools/edit.js +0 -323
  389. package/dist/core/tools/edit.js.map +0 -1
  390. package/dist/core/tools/file-mutation-queue.d.ts +0 -6
  391. package/dist/core/tools/file-mutation-queue.d.ts.map +0 -1
  392. package/dist/core/tools/file-mutation-queue.js +0 -37
  393. package/dist/core/tools/file-mutation-queue.js.map +0 -1
  394. package/dist/core/tools/find.d.ts +0 -35
  395. package/dist/core/tools/find.d.ts.map +0 -1
  396. package/dist/core/tools/find.js +0 -298
  397. package/dist/core/tools/find.js.map +0 -1
  398. package/dist/core/tools/grep.d.ts +0 -37
  399. package/dist/core/tools/grep.d.ts.map +0 -1
  400. package/dist/core/tools/grep.js +0 -304
  401. package/dist/core/tools/grep.js.map +0 -1
  402. package/dist/core/tools/index.d.ts +0 -40
  403. package/dist/core/tools/index.d.ts.map +0 -1
  404. package/dist/core/tools/index.js +0 -112
  405. package/dist/core/tools/index.js.map +0 -1
  406. package/dist/core/tools/ls.d.ts +0 -37
  407. package/dist/core/tools/ls.d.ts.map +0 -1
  408. package/dist/core/tools/ls.js +0 -169
  409. package/dist/core/tools/ls.js.map +0 -1
  410. package/dist/core/tools/path-utils.d.ts +0 -8
  411. package/dist/core/tools/path-utils.d.ts.map +0 -1
  412. package/dist/core/tools/path-utils.js +0 -81
  413. package/dist/core/tools/path-utils.js.map +0 -1
  414. package/dist/core/tools/read.d.ts +0 -35
  415. package/dist/core/tools/read.d.ts.map +0 -1
  416. package/dist/core/tools/read.js +0 -232
  417. package/dist/core/tools/read.js.map +0 -1
  418. package/dist/core/tools/render-utils.d.ts +0 -21
  419. package/dist/core/tools/render-utils.d.ts.map +0 -1
  420. package/dist/core/tools/render-utils.js +0 -49
  421. package/dist/core/tools/render-utils.js.map +0 -1
  422. package/dist/core/tools/tool-definition-wrapper.d.ts +0 -14
  423. package/dist/core/tools/tool-definition-wrapper.d.ts.map +0 -1
  424. package/dist/core/tools/tool-definition-wrapper.js +0 -34
  425. package/dist/core/tools/tool-definition-wrapper.js.map +0 -1
  426. package/dist/core/tools/truncate.d.ts +0 -70
  427. package/dist/core/tools/truncate.d.ts.map +0 -1
  428. package/dist/core/tools/truncate.js +0 -205
  429. package/dist/core/tools/truncate.js.map +0 -1
  430. package/dist/core/tools/write.d.ts +0 -26
  431. package/dist/core/tools/write.d.ts.map +0 -1
  432. package/dist/core/tools/write.js +0 -213
  433. package/dist/core/tools/write.js.map +0 -1
  434. package/dist/index.d.ts +0 -28
  435. package/dist/index.d.ts.map +0 -1
  436. package/dist/index.js +0 -41
  437. package/dist/index.js.map +0 -1
  438. package/dist/main.d.ts +0 -12
  439. package/dist/main.d.ts.map +0 -1
  440. package/dist/main.js +0 -589
  441. package/dist/main.js.map +0 -1
  442. package/dist/migrations.d.ts +0 -33
  443. package/dist/migrations.d.ts.map +0 -1
  444. package/dist/migrations.js +0 -281
  445. package/dist/migrations.js.map +0 -1
  446. package/dist/modes/index.d.ts +0 -9
  447. package/dist/modes/index.d.ts.map +0 -1
  448. package/dist/modes/index.js +0 -8
  449. package/dist/modes/index.js.map +0 -1
  450. package/dist/modes/interactive/assets/clankolas.png +0 -0
  451. package/dist/modes/interactive/components/aery-splash.d.ts +0 -18
  452. package/dist/modes/interactive/components/aery-splash.d.ts.map +0 -1
  453. package/dist/modes/interactive/components/aery-splash.js +0 -60
  454. package/dist/modes/interactive/components/aery-splash.js.map +0 -1
  455. package/dist/modes/interactive/components/armin.d.ts +0 -34
  456. package/dist/modes/interactive/components/armin.d.ts.map +0 -1
  457. package/dist/modes/interactive/components/armin.js +0 -333
  458. package/dist/modes/interactive/components/armin.js.map +0 -1
  459. package/dist/modes/interactive/components/assistant-message.d.ts +0 -20
  460. package/dist/modes/interactive/components/assistant-message.d.ts.map +0 -1
  461. package/dist/modes/interactive/components/assistant-message.js +0 -121
  462. package/dist/modes/interactive/components/assistant-message.js.map +0 -1
  463. package/dist/modes/interactive/components/bash-execution.d.ts +0 -34
  464. package/dist/modes/interactive/components/bash-execution.d.ts.map +0 -1
  465. package/dist/modes/interactive/components/bash-execution.js +0 -175
  466. package/dist/modes/interactive/components/bash-execution.js.map +0 -1
  467. package/dist/modes/interactive/components/bordered-loader.d.ts +0 -16
  468. package/dist/modes/interactive/components/bordered-loader.d.ts.map +0 -1
  469. package/dist/modes/interactive/components/bordered-loader.js +0 -54
  470. package/dist/modes/interactive/components/bordered-loader.js.map +0 -1
  471. package/dist/modes/interactive/components/branch-summary-message.d.ts +0 -16
  472. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +0 -1
  473. package/dist/modes/interactive/components/branch-summary-message.js +0 -44
  474. package/dist/modes/interactive/components/branch-summary-message.js.map +0 -1
  475. package/dist/modes/interactive/components/compaction-summary-message.d.ts +0 -16
  476. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +0 -1
  477. package/dist/modes/interactive/components/compaction-summary-message.js +0 -45
  478. package/dist/modes/interactive/components/compaction-summary-message.js.map +0 -1
  479. package/dist/modes/interactive/components/config-selector.d.ts +0 -71
  480. package/dist/modes/interactive/components/config-selector.d.ts.map +0 -1
  481. package/dist/modes/interactive/components/config-selector.js +0 -481
  482. package/dist/modes/interactive/components/config-selector.js.map +0 -1
  483. package/dist/modes/interactive/components/countdown-timer.d.ts +0 -14
  484. package/dist/modes/interactive/components/countdown-timer.d.ts.map +0 -1
  485. package/dist/modes/interactive/components/countdown-timer.js +0 -33
  486. package/dist/modes/interactive/components/countdown-timer.js.map +0 -1
  487. package/dist/modes/interactive/components/custom-editor.d.ts +0 -21
  488. package/dist/modes/interactive/components/custom-editor.d.ts.map +0 -1
  489. package/dist/modes/interactive/components/custom-editor.js +0 -70
  490. package/dist/modes/interactive/components/custom-editor.js.map +0 -1
  491. package/dist/modes/interactive/components/custom-message.d.ts +0 -20
  492. package/dist/modes/interactive/components/custom-message.d.ts.map +0 -1
  493. package/dist/modes/interactive/components/custom-message.js +0 -79
  494. package/dist/modes/interactive/components/custom-message.js.map +0 -1
  495. package/dist/modes/interactive/components/daxnuts.d.ts +0 -23
  496. package/dist/modes/interactive/components/daxnuts.d.ts.map +0 -1
  497. package/dist/modes/interactive/components/daxnuts.js +0 -140
  498. package/dist/modes/interactive/components/daxnuts.js.map +0 -1
  499. package/dist/modes/interactive/components/diff.d.ts +0 -12
  500. package/dist/modes/interactive/components/diff.d.ts.map +0 -1
  501. package/dist/modes/interactive/components/diff.js +0 -133
  502. package/dist/modes/interactive/components/diff.js.map +0 -1
  503. package/dist/modes/interactive/components/dynamic-border.d.ts +0 -15
  504. package/dist/modes/interactive/components/dynamic-border.d.ts.map +0 -1
  505. package/dist/modes/interactive/components/dynamic-border.js +0 -21
  506. package/dist/modes/interactive/components/dynamic-border.js.map +0 -1
  507. package/dist/modes/interactive/components/earendil-announcement.d.ts +0 -5
  508. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +0 -1
  509. package/dist/modes/interactive/components/earendil-announcement.js +0 -40
  510. package/dist/modes/interactive/components/earendil-announcement.js.map +0 -1
  511. package/dist/modes/interactive/components/extension-editor.d.ts +0 -20
  512. package/dist/modes/interactive/components/extension-editor.d.ts.map +0 -1
  513. package/dist/modes/interactive/components/extension-editor.js +0 -111
  514. package/dist/modes/interactive/components/extension-editor.js.map +0 -1
  515. package/dist/modes/interactive/components/extension-input.d.ts +0 -23
  516. package/dist/modes/interactive/components/extension-input.d.ts.map +0 -1
  517. package/dist/modes/interactive/components/extension-input.js +0 -61
  518. package/dist/modes/interactive/components/extension-input.js.map +0 -1
  519. package/dist/modes/interactive/components/extension-selector.d.ts +0 -24
  520. package/dist/modes/interactive/components/extension-selector.d.ts.map +0 -1
  521. package/dist/modes/interactive/components/extension-selector.js +0 -78
  522. package/dist/modes/interactive/components/extension-selector.js.map +0 -1
  523. package/dist/modes/interactive/components/footer.d.ts +0 -27
  524. package/dist/modes/interactive/components/footer.d.ts.map +0 -1
  525. package/dist/modes/interactive/components/footer.js +0 -201
  526. package/dist/modes/interactive/components/footer.js.map +0 -1
  527. package/dist/modes/interactive/components/index.d.ts +0 -32
  528. package/dist/modes/interactive/components/index.d.ts.map +0 -1
  529. package/dist/modes/interactive/components/index.js +0 -33
  530. package/dist/modes/interactive/components/index.js.map +0 -1
  531. package/dist/modes/interactive/components/keybinding-hints.d.ts +0 -8
  532. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +0 -1
  533. package/dist/modes/interactive/components/keybinding-hints.js +0 -22
  534. package/dist/modes/interactive/components/keybinding-hints.js.map +0 -1
  535. package/dist/modes/interactive/components/login-dialog.d.ts +0 -46
  536. package/dist/modes/interactive/components/login-dialog.d.ts.map +0 -1
  537. package/dist/modes/interactive/components/login-dialog.js +0 -158
  538. package/dist/modes/interactive/components/login-dialog.js.map +0 -1
  539. package/dist/modes/interactive/components/model-selector.d.ts +0 -47
  540. package/dist/modes/interactive/components/model-selector.d.ts.map +0 -1
  541. package/dist/modes/interactive/components/model-selector.js +0 -278
  542. package/dist/modes/interactive/components/model-selector.js.map +0 -1
  543. package/dist/modes/interactive/components/oauth-selector.d.ts +0 -29
  544. package/dist/modes/interactive/components/oauth-selector.d.ts.map +0 -1
  545. package/dist/modes/interactive/components/oauth-selector.js +0 -141
  546. package/dist/modes/interactive/components/oauth-selector.js.map +0 -1
  547. package/dist/modes/interactive/components/scoped-models-selector.d.ts +0 -42
  548. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +0 -1
  549. package/dist/modes/interactive/components/scoped-models-selector.js +0 -290
  550. package/dist/modes/interactive/components/scoped-models-selector.js.map +0 -1
  551. package/dist/modes/interactive/components/session-selector-search.d.ts +0 -23
  552. package/dist/modes/interactive/components/session-selector-search.d.ts.map +0 -1
  553. package/dist/modes/interactive/components/session-selector-search.js +0 -155
  554. package/dist/modes/interactive/components/session-selector-search.js.map +0 -1
  555. package/dist/modes/interactive/components/session-selector.d.ts +0 -96
  556. package/dist/modes/interactive/components/session-selector.d.ts.map +0 -1
  557. package/dist/modes/interactive/components/session-selector.js +0 -861
  558. package/dist/modes/interactive/components/session-selector.js.map +0 -1
  559. package/dist/modes/interactive/components/settings-selector.d.ts +0 -67
  560. package/dist/modes/interactive/components/settings-selector.d.ts.map +0 -1
  561. package/dist/modes/interactive/components/settings-selector.js +0 -373
  562. package/dist/modes/interactive/components/settings-selector.js.map +0 -1
  563. package/dist/modes/interactive/components/show-images-selector.d.ts +0 -10
  564. package/dist/modes/interactive/components/show-images-selector.d.ts.map +0 -1
  565. package/dist/modes/interactive/components/show-images-selector.js +0 -39
  566. package/dist/modes/interactive/components/show-images-selector.js.map +0 -1
  567. package/dist/modes/interactive/components/skill-invocation-message.d.ts +0 -17
  568. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +0 -1
  569. package/dist/modes/interactive/components/skill-invocation-message.js +0 -47
  570. package/dist/modes/interactive/components/skill-invocation-message.js.map +0 -1
  571. package/dist/modes/interactive/components/theme-selector.d.ts +0 -11
  572. package/dist/modes/interactive/components/theme-selector.d.ts.map +0 -1
  573. package/dist/modes/interactive/components/theme-selector.js +0 -50
  574. package/dist/modes/interactive/components/theme-selector.js.map +0 -1
  575. package/dist/modes/interactive/components/thinking-selector.d.ts +0 -11
  576. package/dist/modes/interactive/components/thinking-selector.d.ts.map +0 -1
  577. package/dist/modes/interactive/components/thinking-selector.js +0 -51
  578. package/dist/modes/interactive/components/thinking-selector.js.map +0 -1
  579. package/dist/modes/interactive/components/tool-execution.d.ts +0 -63
  580. package/dist/modes/interactive/components/tool-execution.d.ts.map +0 -1
  581. package/dist/modes/interactive/components/tool-execution.js +0 -295
  582. package/dist/modes/interactive/components/tool-execution.js.map +0 -1
  583. package/dist/modes/interactive/components/tree-selector.d.ts +0 -89
  584. package/dist/modes/interactive/components/tree-selector.d.ts.map +0 -1
  585. package/dist/modes/interactive/components/tree-selector.js +0 -1092
  586. package/dist/modes/interactive/components/tree-selector.js.map +0 -1
  587. package/dist/modes/interactive/components/user-message-selector.d.ts +0 -30
  588. package/dist/modes/interactive/components/user-message-selector.d.ts.map +0 -1
  589. package/dist/modes/interactive/components/user-message-selector.js +0 -114
  590. package/dist/modes/interactive/components/user-message-selector.js.map +0 -1
  591. package/dist/modes/interactive/components/user-message.d.ts +0 -10
  592. package/dist/modes/interactive/components/user-message.d.ts.map +0 -1
  593. package/dist/modes/interactive/components/user-message.js +0 -29
  594. package/dist/modes/interactive/components/user-message.js.map +0 -1
  595. package/dist/modes/interactive/components/visual-truncate.d.ts +0 -24
  596. package/dist/modes/interactive/components/visual-truncate.d.ts.map +0 -1
  597. package/dist/modes/interactive/components/visual-truncate.js +0 -33
  598. package/dist/modes/interactive/components/visual-truncate.js.map +0 -1
  599. package/dist/modes/interactive/interactive-mode.d.ts +0 -359
  600. package/dist/modes/interactive/interactive-mode.d.ts.map +0 -1
  601. package/dist/modes/interactive/interactive-mode.js +0 -4573
  602. package/dist/modes/interactive/interactive-mode.js.map +0 -1
  603. package/dist/modes/interactive/theme/aery.json +0 -84
  604. package/dist/modes/interactive/theme/catppuccin-mocha.json +0 -81
  605. package/dist/modes/interactive/theme/dark.json +0 -85
  606. package/dist/modes/interactive/theme/dracula.json +0 -81
  607. package/dist/modes/interactive/theme/light.json +0 -84
  608. package/dist/modes/interactive/theme/nord.json +0 -81
  609. package/dist/modes/interactive/theme/theme-schema.json +0 -335
  610. package/dist/modes/interactive/theme/theme.d.ts +0 -81
  611. package/dist/modes/interactive/theme/theme.d.ts.map +0 -1
  612. package/dist/modes/interactive/theme/theme.js +0 -975
  613. package/dist/modes/interactive/theme/theme.js.map +0 -1
  614. package/dist/modes/interactive/theme/tokyo-night.json +0 -81
  615. package/dist/modes/print-mode.d.ts +0 -28
  616. package/dist/modes/print-mode.d.ts.map +0 -1
  617. package/dist/modes/print-mode.js +0 -131
  618. package/dist/modes/print-mode.js.map +0 -1
  619. package/dist/modes/rpc/jsonl.d.ts +0 -17
  620. package/dist/modes/rpc/jsonl.d.ts.map +0 -1
  621. package/dist/modes/rpc/jsonl.js +0 -49
  622. package/dist/modes/rpc/jsonl.js.map +0 -1
  623. package/dist/modes/rpc/rpc-client.d.ts +0 -224
  624. package/dist/modes/rpc/rpc-client.d.ts.map +0 -1
  625. package/dist/modes/rpc/rpc-client.js +0 -410
  626. package/dist/modes/rpc/rpc-client.js.map +0 -1
  627. package/dist/modes/rpc/rpc-mode.d.ts +0 -20
  628. package/dist/modes/rpc/rpc-mode.d.ts.map +0 -1
  629. package/dist/modes/rpc/rpc-mode.js +0 -597
  630. package/dist/modes/rpc/rpc-mode.js.map +0 -1
  631. package/dist/modes/rpc/rpc-types.d.ts +0 -419
  632. package/dist/modes/rpc/rpc-types.d.ts.map +0 -1
  633. package/dist/modes/rpc/rpc-types.js +0 -8
  634. package/dist/modes/rpc/rpc-types.js.map +0 -1
  635. package/dist/package-manager-cli.d.ts +0 -4
  636. package/dist/package-manager-cli.d.ts.map +0 -1
  637. package/dist/package-manager-cli.js +0 -468
  638. package/dist/package-manager-cli.js.map +0 -1
  639. package/dist/utils/aery-user-agent.d.ts +0 -2
  640. package/dist/utils/aery-user-agent.d.ts.map +0 -1
  641. package/dist/utils/aery-user-agent.js +0 -5
  642. package/dist/utils/aery-user-agent.js.map +0 -1
  643. package/dist/utils/changelog.d.ts +0 -21
  644. package/dist/utils/changelog.d.ts.map +0 -1
  645. package/dist/utils/changelog.js +0 -87
  646. package/dist/utils/changelog.js.map +0 -1
  647. package/dist/utils/child-process.d.ts +0 -11
  648. package/dist/utils/child-process.d.ts.map +0 -1
  649. package/dist/utils/child-process.js +0 -78
  650. package/dist/utils/child-process.js.map +0 -1
  651. package/dist/utils/clipboard-image.d.ts +0 -11
  652. package/dist/utils/clipboard-image.d.ts.map +0 -1
  653. package/dist/utils/clipboard-image.js +0 -245
  654. package/dist/utils/clipboard-image.js.map +0 -1
  655. package/dist/utils/clipboard-native.d.ts +0 -8
  656. package/dist/utils/clipboard-native.d.ts.map +0 -1
  657. package/dist/utils/clipboard-native.js +0 -14
  658. package/dist/utils/clipboard-native.js.map +0 -1
  659. package/dist/utils/clipboard.d.ts +0 -2
  660. package/dist/utils/clipboard.d.ts.map +0 -1
  661. package/dist/utils/clipboard.js +0 -110
  662. package/dist/utils/clipboard.js.map +0 -1
  663. package/dist/utils/exif-orientation.d.ts +0 -5
  664. package/dist/utils/exif-orientation.d.ts.map +0 -1
  665. package/dist/utils/exif-orientation.js +0 -158
  666. package/dist/utils/exif-orientation.js.map +0 -1
  667. package/dist/utils/frontmatter.d.ts +0 -8
  668. package/dist/utils/frontmatter.d.ts.map +0 -1
  669. package/dist/utils/frontmatter.js +0 -26
  670. package/dist/utils/frontmatter.js.map +0 -1
  671. package/dist/utils/fs-watch.d.ts +0 -5
  672. package/dist/utils/fs-watch.d.ts.map +0 -1
  673. package/dist/utils/fs-watch.js +0 -25
  674. package/dist/utils/fs-watch.js.map +0 -1
  675. package/dist/utils/git.d.ts +0 -26
  676. package/dist/utils/git.d.ts.map +0 -1
  677. package/dist/utils/git.js +0 -163
  678. package/dist/utils/git.js.map +0 -1
  679. package/dist/utils/image-convert.d.ts +0 -9
  680. package/dist/utils/image-convert.d.ts.map +0 -1
  681. package/dist/utils/image-convert.js +0 -39
  682. package/dist/utils/image-convert.js.map +0 -1
  683. package/dist/utils/image-resize.d.ts +0 -36
  684. package/dist/utils/image-resize.d.ts.map +0 -1
  685. package/dist/utils/image-resize.js +0 -137
  686. package/dist/utils/image-resize.js.map +0 -1
  687. package/dist/utils/mime.d.ts +0 -2
  688. package/dist/utils/mime.d.ts.map +0 -1
  689. package/dist/utils/mime.js +0 -26
  690. package/dist/utils/mime.js.map +0 -1
  691. package/dist/utils/paths.d.ts +0 -14
  692. package/dist/utils/paths.d.ts.map +0 -1
  693. package/dist/utils/paths.js +0 -34
  694. package/dist/utils/paths.js.map +0 -1
  695. package/dist/utils/photon.d.ts +0 -21
  696. package/dist/utils/photon.d.ts.map +0 -1
  697. package/dist/utils/photon.js +0 -121
  698. package/dist/utils/photon.js.map +0 -1
  699. package/dist/utils/shell.d.ts +0 -30
  700. package/dist/utils/shell.d.ts.map +0 -1
  701. package/dist/utils/shell.js +0 -190
  702. package/dist/utils/shell.js.map +0 -1
  703. package/dist/utils/sleep.d.ts +0 -5
  704. package/dist/utils/sleep.d.ts.map +0 -1
  705. package/dist/utils/sleep.js +0 -17
  706. package/dist/utils/sleep.js.map +0 -1
  707. package/dist/utils/tools-manager.d.ts +0 -3
  708. package/dist/utils/tools-manager.d.ts.map +0 -1
  709. package/dist/utils/tools-manager.js +0 -256
  710. package/dist/utils/tools-manager.js.map +0 -1
  711. package/dist/utils/version-check.d.ts +0 -7
  712. package/dist/utils/version-check.d.ts.map +0 -1
  713. package/dist/utils/version-check.js +0 -70
  714. package/dist/utils/version-check.js.map +0 -1
package/dist/index.js DELETED
@@ -1,41 +0,0 @@
1
- // Core session management
2
- // Config paths
3
- export { getAgentDir, VERSION } from "./config.js";
4
- export { AgentSession, parseSkillBlock, } from "./core/agent-session.js";
5
- // Auth and model registry
6
- export { AuthStorage, FileAuthStorageBackend, InMemoryAuthStorageBackend, } from "./core/auth-storage.js";
7
- // Compaction
8
- export { calculateContextTokens, collectEntriesForBranchSummary, compact, DEFAULT_COMPACTION_SETTINGS, estimateTokens, findCutPoint, findTurnStartIndex, generateBranchSummary, generateSummary, getLastAssistantUsage, prepareBranchEntries, serializeConversation, shouldCompact, } from "./core/compaction/index.js";
9
- export { createEventBus } from "./core/event-bus.js";
10
- export { createExtensionRuntime, defineTool, discoverAndLoadExtensions, ExtensionRunner, isBashToolResult, isEditToolResult, isFindToolResult, isGrepToolResult, isLsToolResult, isReadToolResult, isToolCallEventType, isWriteToolResult, wrapRegisteredTool, wrapRegisteredTools, } from "./core/extensions/index.js";
11
- export { convertToLlm } from "./core/messages.js";
12
- export { ModelRegistry } from "./core/model-registry.js";
13
- export { DefaultPackageManager } from "./core/package-manager.js";
14
- export { DefaultResourceLoader, loadProjectContextFiles } from "./core/resource-loader.js";
15
- // SDK for programmatic usage
16
- export { AgentSessionRuntime,
17
- // Factory
18
- createAgentSession, createAgentSessionFromServices, createAgentSessionRuntime, createAgentSessionServices, createBashTool,
19
- // Tool factories (for custom cwd)
20
- createCodingTools, createEditTool, createFindTool, createGrepTool, createLsTool, createReadOnlyTools, createReadTool, createWriteTool, } from "./core/sdk.js";
21
- export { buildSessionContext, CURRENT_SESSION_VERSION, getLatestCompactionEntry, migrateSessionEntries, parseSessionEntries, SessionManager, } from "./core/session-manager.js";
22
- export { SettingsManager, } from "./core/settings-manager.js";
23
- // Skills
24
- export { formatSkillsForPrompt, loadSkills, loadSkillsFromDir, } from "./core/skills.js";
25
- export { createSyntheticSourceInfo } from "./core/source-info.js";
26
- // Tools
27
- export { createBashToolDefinition, createEditToolDefinition, createFindToolDefinition, createGrepToolDefinition, createLocalBashOperations, createLsToolDefinition, createReadToolDefinition, createWriteToolDefinition, DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, formatSize, truncateHead, truncateLine, truncateTail, withFileMutationQueue, } from "./core/tools/index.js";
28
- // Main entry point
29
- export { main } from "./main.js";
30
- // Run modes for programmatic SDK usage
31
- export { InteractiveMode, RpcClient, runPrintMode, runRpcMode, } from "./modes/index.js";
32
- // UI components for extensions
33
- export { ArminComponent, AssistantMessageComponent, BashExecutionComponent, BorderedLoader, BranchSummaryMessageComponent, CompactionSummaryMessageComponent, CustomEditor, CustomMessageComponent, DynamicBorder, ExtensionEditorComponent, ExtensionInputComponent, ExtensionSelectorComponent, FooterComponent, keyHint, keyText, LoginDialogComponent, ModelSelectorComponent, OAuthSelectorComponent, rawKeyHint, renderDiff, SessionSelectorComponent, SettingsSelectorComponent, ShowImagesSelectorComponent, SkillInvocationMessageComponent, ThemeSelectorComponent, ThinkingSelectorComponent, ToolExecutionComponent, TreeSelectorComponent, truncateToVisualLines, UserMessageComponent, UserMessageSelectorComponent, } from "./modes/interactive/components/index.js";
34
- // Theme utilities for custom tools and extensions
35
- export { getLanguageFromPath, getMarkdownTheme, getSelectListTheme, getSettingsListTheme, highlightCode, initTheme, Theme, } from "./modes/interactive/theme/theme.js";
36
- // Clipboard utilities
37
- export { copyToClipboard } from "./utils/clipboard.js";
38
- export { parseFrontmatter, stripFrontmatter } from "./utils/frontmatter.js";
39
- // Shell utilities
40
- export { getShellConfig } from "./utils/shell.js";
41
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACN,YAAY,EAOZ,eAAe,GAEf,MAAM,yBAAyB,CAAC;AACjC,0BAA0B;AAC1B,OAAO,EAIN,WAAW,EAEX,sBAAsB,EACtB,0BAA0B,GAE1B,MAAM,wBAAwB,CAAC;AAChC,aAAa;AACb,OAAO,EAMN,sBAAsB,EACtB,8BAA8B,EAC9B,OAAO,EACP,2BAA2B,EAC3B,cAAc,EAEd,YAAY,EACZ,kBAAkB,EAElB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAA0C,MAAM,qBAAqB,CAAC;AAkF7F,OAAO,EACN,sBAAsB,EACtB,UAAU,EACV,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GACnB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AASzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC3F,6BAA6B;AAC7B,OAAO,EACN,mBAAmB;AASnB,UAAU;AACV,kBAAkB,EAClB,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,cAAc;AACd,kCAAkC;AAClC,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,eAAe,GAEf,MAAM,eAAe,CAAC;AACvB,OAAO,EAEN,mBAAmB,EAEnB,uBAAuB,EAIvB,wBAAwB,EAExB,qBAAqB,EAErB,mBAAmB,EAOnB,cAAc,GAGd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAKN,eAAe,GACf,MAAM,4BAA4B,CAAC;AACpC,SAAS;AACT,OAAO,EACN,qBAAqB,EAGrB,UAAU,EACV,iBAAiB,GAGjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,QAAQ;AACR,OAAO,EAON,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EASjB,UAAU,EAgBV,YAAY,EACZ,YAAY,EACZ,YAAY,EAIZ,qBAAqB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,mBAAmB;AACnB,OAAO,EAAoB,IAAI,EAAE,MAAM,WAAW,CAAC;AACnD,uCAAuC;AACvC,OAAO,EACN,eAAe,EAIf,SAAS,EAMT,YAAY,EACZ,UAAU,GACV,MAAM,kBAAkB,CAAC;AAC1B,+BAA+B;AAC/B,OAAO,EACN,cAAc,EACd,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EACd,6BAA6B,EAC7B,iCAAiC,EACjC,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,eAAe,EACf,OAAO,EACP,OAAO,EACP,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EAEtB,UAAU,EACV,UAAU,EACV,wBAAwB,EAGxB,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAC/B,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EAEtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,4BAA4B,GAE5B,MAAM,yCAAyC,CAAC;AACjD,kDAAkD;AAClD,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,SAAS,EACT,KAAK,GAEL,MAAM,oCAAoC,CAAC;AAC5C,sBAAsB;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC","sourcesContent":["// Core session management\n\n// Config paths\nexport { getAgentDir, VERSION } from \"./config.js\";\nexport {\n\tAgentSession,\n\ttype AgentSessionConfig,\n\ttype AgentSessionEvent,\n\ttype AgentSessionEventListener,\n\ttype ModelCycleResult,\n\ttype ParsedSkillBlock,\n\ttype PromptOptions,\n\tparseSkillBlock,\n\ttype SessionStats,\n} from \"./core/agent-session.js\";\n// Auth and model registry\nexport {\n\ttype ApiKeyCredential,\n\ttype AuthCredential,\n\ttype AuthStatus,\n\tAuthStorage,\n\ttype AuthStorageBackend,\n\tFileAuthStorageBackend,\n\tInMemoryAuthStorageBackend,\n\ttype OAuthCredential,\n} from \"./core/auth-storage.js\";\n// Compaction\nexport {\n\ttype BranchPreparation,\n\ttype BranchSummaryResult,\n\ttype CollectEntriesResult,\n\ttype CompactionResult,\n\ttype CutPointResult,\n\tcalculateContextTokens,\n\tcollectEntriesForBranchSummary,\n\tcompact,\n\tDEFAULT_COMPACTION_SETTINGS,\n\testimateTokens,\n\ttype FileOperations,\n\tfindCutPoint,\n\tfindTurnStartIndex,\n\ttype GenerateBranchSummaryOptions,\n\tgenerateBranchSummary,\n\tgenerateSummary,\n\tgetLastAssistantUsage,\n\tprepareBranchEntries,\n\tserializeConversation,\n\tshouldCompact,\n} from \"./core/compaction/index.js\";\nexport { createEventBus, type EventBus, type EventBusController } from \"./core/event-bus.js\";\n// Extension system\nexport type {\n\tAgentEndEvent,\n\tAgentStartEvent,\n\tAgentToolResult,\n\tAgentToolUpdateCallback,\n\tAppKeybinding,\n\tAutocompleteProviderFactory,\n\tBashToolCallEvent,\n\tBeforeAgentStartEvent,\n\tBeforeAgentStartEventResult,\n\tBeforeProviderRequestEvent,\n\tBeforeProviderRequestEventResult,\n\tBuildSystemPromptOptions,\n\tCompactOptions,\n\tContextEvent,\n\tContextUsage,\n\tCustomToolCallEvent,\n\tEditToolCallEvent,\n\tExecOptions,\n\tExecResult,\n\tExtension,\n\tExtensionActions,\n\tExtensionAPI,\n\tExtensionCommandContext,\n\tExtensionCommandContextActions,\n\tExtensionContext,\n\tExtensionContextActions,\n\tExtensionError,\n\tExtensionEvent,\n\tExtensionFactory,\n\tExtensionFlag,\n\tExtensionHandler,\n\tExtensionRuntime,\n\tExtensionShortcut,\n\tExtensionUIContext,\n\tExtensionUIDialogOptions,\n\tExtensionWidgetOptions,\n\tFindToolCallEvent,\n\tGrepToolCallEvent,\n\tInputEvent,\n\tInputEventResult,\n\tInputSource,\n\tKeybindingsManager,\n\tLoadExtensionsResult,\n\tLsToolCallEvent,\n\tMessageRenderer,\n\tMessageRenderOptions,\n\tProviderConfig,\n\tProviderModelConfig,\n\tReadToolCallEvent,\n\tRegisteredCommand,\n\tRegisteredTool,\n\tResolvedCommand,\n\tSessionBeforeCompactEvent,\n\tSessionBeforeForkEvent,\n\tSessionBeforeSwitchEvent,\n\tSessionBeforeTreeEvent,\n\tSessionCompactEvent,\n\tSessionShutdownEvent,\n\tSessionStartEvent,\n\tSessionTreeEvent,\n\tSlashCommandInfo,\n\tSlashCommandSource,\n\tSourceInfo,\n\tTerminalInputHandler,\n\tToolCallEvent,\n\tToolCallEventResult,\n\tToolDefinition,\n\tToolExecutionMode,\n\tToolInfo,\n\tToolRenderResultOptions,\n\tToolResultEvent,\n\tTurnEndEvent,\n\tTurnStartEvent,\n\tUserBashEvent,\n\tUserBashEventResult,\n\tWidgetPlacement,\n\tWorkingIndicatorOptions,\n\tWriteToolCallEvent,\n} from \"./core/extensions/index.js\";\nexport {\n\tcreateExtensionRuntime,\n\tdefineTool,\n\tdiscoverAndLoadExtensions,\n\tExtensionRunner,\n\tisBashToolResult,\n\tisEditToolResult,\n\tisFindToolResult,\n\tisGrepToolResult,\n\tisLsToolResult,\n\tisReadToolResult,\n\tisToolCallEventType,\n\tisWriteToolResult,\n\twrapRegisteredTool,\n\twrapRegisteredTools,\n} from \"./core/extensions/index.js\";\n// Footer data provider (git branch + extension statuses - data not otherwise available to extensions)\nexport type { ReadonlyFooterDataProvider } from \"./core/footer-data-provider.js\";\nexport { convertToLlm } from \"./core/messages.js\";\nexport { ModelRegistry } from \"./core/model-registry.js\";\nexport type {\n\tPackageManager,\n\tPathMetadata,\n\tProgressCallback,\n\tProgressEvent,\n\tResolvedPaths,\n\tResolvedResource,\n} from \"./core/package-manager.js\";\nexport { DefaultPackageManager } from \"./core/package-manager.js\";\nexport type { ResourceCollision, ResourceDiagnostic, ResourceLoader } from \"./core/resource-loader.js\";\nexport { DefaultResourceLoader, loadProjectContextFiles } from \"./core/resource-loader.js\";\n// SDK for programmatic usage\nexport {\n\tAgentSessionRuntime,\n\ttype AgentSessionRuntimeDiagnostic,\n\ttype AgentSessionServices,\n\ttype CreateAgentSessionFromServicesOptions,\n\ttype CreateAgentSessionOptions,\n\ttype CreateAgentSessionResult,\n\ttype CreateAgentSessionRuntimeFactory,\n\ttype CreateAgentSessionRuntimeResult,\n\ttype CreateAgentSessionServicesOptions,\n\t// Factory\n\tcreateAgentSession,\n\tcreateAgentSessionFromServices,\n\tcreateAgentSessionRuntime,\n\tcreateAgentSessionServices,\n\tcreateBashTool,\n\t// Tool factories (for custom cwd)\n\tcreateCodingTools,\n\tcreateEditTool,\n\tcreateFindTool,\n\tcreateGrepTool,\n\tcreateLsTool,\n\tcreateReadOnlyTools,\n\tcreateReadTool,\n\tcreateWriteTool,\n\ttype PromptTemplate,\n} from \"./core/sdk.js\";\nexport {\n\ttype BranchSummaryEntry,\n\tbuildSessionContext,\n\ttype CompactionEntry,\n\tCURRENT_SESSION_VERSION,\n\ttype CustomEntry,\n\ttype CustomMessageEntry,\n\ttype FileEntry,\n\tgetLatestCompactionEntry,\n\ttype ModelChangeEntry,\n\tmigrateSessionEntries,\n\ttype NewSessionOptions,\n\tparseSessionEntries,\n\ttype SessionContext,\n\ttype SessionEntry,\n\ttype SessionEntryBase,\n\ttype SessionHeader,\n\ttype SessionInfo,\n\ttype SessionInfoEntry,\n\tSessionManager,\n\ttype SessionMessageEntry,\n\ttype ThinkingLevelChangeEntry,\n} from \"./core/session-manager.js\";\nexport {\n\ttype CompactionSettings,\n\ttype ImageSettings,\n\ttype PackageSource,\n\ttype RetrySettings,\n\tSettingsManager,\n} from \"./core/settings-manager.js\";\n// Skills\nexport {\n\tformatSkillsForPrompt,\n\ttype LoadSkillsFromDirOptions,\n\ttype LoadSkillsResult,\n\tloadSkills,\n\tloadSkillsFromDir,\n\ttype Skill,\n\ttype SkillFrontmatter,\n} from \"./core/skills.js\";\nexport { createSyntheticSourceInfo } from \"./core/source-info.js\";\n// Tools\nexport {\n\ttype BashOperations,\n\ttype BashSpawnContext,\n\ttype BashSpawnHook,\n\ttype BashToolDetails,\n\ttype BashToolInput,\n\ttype BashToolOptions,\n\tcreateBashToolDefinition,\n\tcreateEditToolDefinition,\n\tcreateFindToolDefinition,\n\tcreateGrepToolDefinition,\n\tcreateLocalBashOperations,\n\tcreateLsToolDefinition,\n\tcreateReadToolDefinition,\n\tcreateWriteToolDefinition,\n\tDEFAULT_MAX_BYTES,\n\tDEFAULT_MAX_LINES,\n\ttype EditOperations,\n\ttype EditToolDetails,\n\ttype EditToolInput,\n\ttype EditToolOptions,\n\ttype FindOperations,\n\ttype FindToolDetails,\n\ttype FindToolInput,\n\ttype FindToolOptions,\n\tformatSize,\n\ttype GrepOperations,\n\ttype GrepToolDetails,\n\ttype GrepToolInput,\n\ttype GrepToolOptions,\n\ttype LsOperations,\n\ttype LsToolDetails,\n\ttype LsToolInput,\n\ttype LsToolOptions,\n\ttype ReadOperations,\n\ttype ReadToolDetails,\n\ttype ReadToolInput,\n\ttype ReadToolOptions,\n\ttype ToolsOptions,\n\ttype TruncationOptions,\n\ttype TruncationResult,\n\ttruncateHead,\n\ttruncateLine,\n\ttruncateTail,\n\ttype WriteOperations,\n\ttype WriteToolInput,\n\ttype WriteToolOptions,\n\twithFileMutationQueue,\n} from \"./core/tools/index.js\";\n// Main entry point\nexport { type MainOptions, main } from \"./main.js\";\n// Run modes for programmatic SDK usage\nexport {\n\tInteractiveMode,\n\ttype InteractiveModeOptions,\n\ttype ModelInfo,\n\ttype PrintModeOptions,\n\tRpcClient,\n\ttype RpcClientOptions,\n\ttype RpcCommand,\n\ttype RpcEventListener,\n\ttype RpcResponse,\n\ttype RpcSessionState,\n\trunPrintMode,\n\trunRpcMode,\n} from \"./modes/index.js\";\n// UI components for extensions\nexport {\n\tArminComponent,\n\tAssistantMessageComponent,\n\tBashExecutionComponent,\n\tBorderedLoader,\n\tBranchSummaryMessageComponent,\n\tCompactionSummaryMessageComponent,\n\tCustomEditor,\n\tCustomMessageComponent,\n\tDynamicBorder,\n\tExtensionEditorComponent,\n\tExtensionInputComponent,\n\tExtensionSelectorComponent,\n\tFooterComponent,\n\tkeyHint,\n\tkeyText,\n\tLoginDialogComponent,\n\tModelSelectorComponent,\n\tOAuthSelectorComponent,\n\ttype RenderDiffOptions,\n\trawKeyHint,\n\trenderDiff,\n\tSessionSelectorComponent,\n\ttype SettingsCallbacks,\n\ttype SettingsConfig,\n\tSettingsSelectorComponent,\n\tShowImagesSelectorComponent,\n\tSkillInvocationMessageComponent,\n\tThemeSelectorComponent,\n\tThinkingSelectorComponent,\n\tToolExecutionComponent,\n\ttype ToolExecutionOptions,\n\tTreeSelectorComponent,\n\ttruncateToVisualLines,\n\tUserMessageComponent,\n\tUserMessageSelectorComponent,\n\ttype VisualTruncateResult,\n} from \"./modes/interactive/components/index.js\";\n// Theme utilities for custom tools and extensions\nexport {\n\tgetLanguageFromPath,\n\tgetMarkdownTheme,\n\tgetSelectListTheme,\n\tgetSettingsListTheme,\n\thighlightCode,\n\tinitTheme,\n\tTheme,\n\ttype ThemeColor,\n} from \"./modes/interactive/theme/theme.js\";\n// Clipboard utilities\nexport { copyToClipboard } from \"./utils/clipboard.js\";\nexport { parseFrontmatter, stripFrontmatter } from \"./utils/frontmatter.js\";\n// Shell utilities\nexport { getShellConfig } from \"./utils/shell.js\";\n"]}
package/dist/main.d.ts DELETED
@@ -1,12 +0,0 @@
1
- /**
2
- * Main entry point for the coding agent CLI.
3
- *
4
- * This file handles CLI argument parsing and translates them into
5
- * createAgentSession() options. The SDK does the heavy lifting.
6
- */
7
- import type { ExtensionFactory } from "./core/extensions/types.js";
8
- export interface MainOptions {
9
- extensionFactories?: ExtensionFactory[];
10
- }
11
- export declare function main(args: string[], options?: MainOptions): Promise<void>;
12
- //# sourceMappingURL=main.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAuYnE,MAAM,WAAW,WAAW;IAC3B,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACxC;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,iBAoT/D","sourcesContent":["/**\n * Main entry point for the coding agent CLI.\n *\n * This file handles CLI argument parsing and translates them into\n * createAgentSession() options. The SDK does the heavy lifting.\n */\n\nimport { resolve } from \"node:path\";\nimport { createInterface } from \"node:readline\";\nimport { type ImageContent, modelsAreEqual, supportsXhigh } from \"@eminent337/aery-ai\";\nimport { ProcessTerminal, setKeybindings, TUI } from \"@eminent337/aery-tui\";\nimport chalk from \"chalk\";\nimport { type Args, type Mode, parseArgs, printHelp } from \"./cli/args.js\";\nimport { processFileArguments } from \"./cli/file-processor.js\";\nimport { buildInitialMessage } from \"./cli/initial-message.js\";\nimport { listModels } from \"./cli/list-models.js\";\nimport { selectSession } from \"./cli/session-picker.js\";\nimport { getAgentDir, VERSION } from \"./config.js\";\nimport { type CreateAgentSessionRuntimeFactory, createAgentSessionRuntime } from \"./core/agent-session-runtime.js\";\nimport {\n\ttype AgentSessionRuntimeDiagnostic,\n\tcreateAgentSessionFromServices,\n\tcreateAgentSessionServices,\n} from \"./core/agent-session-services.js\";\nimport { formatNoModelsAvailableMessage } from \"./core/auth-guidance.js\";\nimport { AuthStorage } from \"./core/auth-storage.js\";\nimport { exportFromFile } from \"./core/export-html/index.js\";\nimport type { ExtensionFactory } from \"./core/extensions/types.js\";\nimport { KeybindingsManager } from \"./core/keybindings.js\";\nimport type { ModelRegistry } from \"./core/model-registry.js\";\nimport { resolveCliModel, resolveModelScope, type ScopedModel } from \"./core/model-resolver.js\";\nimport { restoreStdout, takeOverStdout } from \"./core/output-guard.js\";\nimport type { CreateAgentSessionOptions } from \"./core/sdk.js\";\nimport {\n\tformatMissingSessionCwdPrompt,\n\tgetMissingSessionCwdIssue,\n\tMissingSessionCwdError,\n\ttype SessionCwdIssue,\n} from \"./core/session-cwd.js\";\nimport { SessionManager } from \"./core/session-manager.js\";\nimport { SettingsManager } from \"./core/settings-manager.js\";\nimport { printTimings, resetTimings, time } from \"./core/timings.js\";\nimport { runMigrations, showDeprecationWarnings } from \"./migrations.js\";\nimport { InteractiveMode, runPrintMode, runRpcMode } from \"./modes/index.js\";\nimport { ExtensionSelectorComponent } from \"./modes/interactive/components/extension-selector.js\";\nimport { initTheme, stopThemeWatcher } from \"./modes/interactive/theme/theme.js\";\nimport { handleConfigCommand, handlePackageCommand } from \"./package-manager-cli.js\";\nimport { isLocalPath } from \"./utils/paths.js\";\n\n/**\n * Read all content from piped stdin.\n * Returns undefined if stdin is a TTY (interactive terminal).\n */\nasync function readPipedStdin(): Promise<string | undefined> {\n\t// If stdin is a TTY, we're running interactively - don't read stdin\n\tif (process.stdin.isTTY) {\n\t\treturn undefined;\n\t}\n\n\treturn new Promise((resolve) => {\n\t\tlet data = \"\";\n\t\tprocess.stdin.setEncoding(\"utf8\");\n\t\tprocess.stdin.on(\"data\", (chunk) => {\n\t\t\tdata += chunk;\n\t\t});\n\t\tprocess.stdin.on(\"end\", () => {\n\t\t\tresolve(data.trim() || undefined);\n\t\t});\n\t\tprocess.stdin.resume();\n\t});\n}\n\nfunction collectSettingsDiagnostics(\n\tsettingsManager: SettingsManager,\n\tcontext: string,\n): AgentSessionRuntimeDiagnostic[] {\n\treturn settingsManager.drainErrors().map(({ scope, error }) => ({\n\t\ttype: \"warning\",\n\t\tmessage: `(${context}, ${scope} settings) ${error.message}`,\n\t}));\n}\n\nfunction reportDiagnostics(diagnostics: readonly AgentSessionRuntimeDiagnostic[]): void {\n\tfor (const diagnostic of diagnostics) {\n\t\tconst color = diagnostic.type === \"error\" ? chalk.red : diagnostic.type === \"warning\" ? chalk.yellow : chalk.dim;\n\t\tconst prefix = diagnostic.type === \"error\" ? \"Error: \" : diagnostic.type === \"warning\" ? \"Warning: \" : \"\";\n\t\tconsole.error(color(`${prefix}${diagnostic.message}`));\n\t}\n}\n\nfunction isTruthyEnvFlag(value: string | undefined): boolean {\n\tif (!value) return false;\n\treturn value === \"1\" || value.toLowerCase() === \"true\" || value.toLowerCase() === \"yes\";\n}\n\ntype AppMode = \"interactive\" | \"print\" | \"json\" | \"rpc\";\n\nfunction resolveAppMode(parsed: Args, stdinIsTTY: boolean): AppMode {\n\tif (parsed.mode === \"rpc\") {\n\t\treturn \"rpc\";\n\t}\n\tif (parsed.mode === \"json\") {\n\t\treturn \"json\";\n\t}\n\tif (parsed.print || !stdinIsTTY) {\n\t\treturn \"print\";\n\t}\n\treturn \"interactive\";\n}\n\nfunction toPrintOutputMode(appMode: AppMode): Exclude<Mode, \"rpc\"> {\n\treturn appMode === \"json\" ? \"json\" : \"text\";\n}\n\nasync function prepareInitialMessage(\n\tparsed: Args,\n\tautoResizeImages: boolean,\n\tstdinContent?: string,\n): Promise<{\n\tinitialMessage?: string;\n\tinitialImages?: ImageContent[];\n}> {\n\tif (parsed.fileArgs.length === 0) {\n\t\treturn buildInitialMessage({ parsed, stdinContent });\n\t}\n\n\tconst { text, images } = await processFileArguments(parsed.fileArgs, { autoResizeImages });\n\treturn buildInitialMessage({\n\t\tparsed,\n\t\tfileText: text,\n\t\tfileImages: images,\n\t\tstdinContent,\n\t});\n}\n\n/** Result from resolving a session argument */\ntype ResolvedSession =\n\t| { type: \"path\"; path: string } // Direct file path\n\t| { type: \"local\"; path: string } // Found in current project\n\t| { type: \"global\"; path: string; cwd: string } // Found in different project\n\t| { type: \"not_found\"; arg: string }; // Not found anywhere\n\n/**\n * Resolve a session argument to a file path.\n * If it looks like a path, use as-is. Otherwise try to match as session ID prefix.\n */\nasync function resolveSessionPath(sessionArg: string, cwd: string, sessionDir?: string): Promise<ResolvedSession> {\n\t// If it looks like a file path, use as-is\n\tif (sessionArg.includes(\"/\") || sessionArg.includes(\"\\\\\") || sessionArg.endsWith(\".jsonl\")) {\n\t\treturn { type: \"path\", path: sessionArg };\n\t}\n\n\t// Try to match as session ID in current project first\n\tconst localSessions = await SessionManager.list(cwd, sessionDir);\n\tconst localMatches = localSessions.filter((s) => s.id.startsWith(sessionArg));\n\n\tif (localMatches.length >= 1) {\n\t\treturn { type: \"local\", path: localMatches[0].path };\n\t}\n\n\t// Try global search across all projects\n\tconst allSessions = await SessionManager.listAll();\n\tconst globalMatches = allSessions.filter((s) => s.id.startsWith(sessionArg));\n\n\tif (globalMatches.length >= 1) {\n\t\tconst match = globalMatches[0];\n\t\treturn { type: \"global\", path: match.path, cwd: match.cwd };\n\t}\n\n\t// Not found anywhere\n\treturn { type: \"not_found\", arg: sessionArg };\n}\n\n/** Prompt user for yes/no confirmation */\nasync function promptConfirm(message: string): Promise<boolean> {\n\treturn new Promise((resolve) => {\n\t\tconst rl = createInterface({\n\t\t\tinput: process.stdin,\n\t\t\toutput: process.stdout,\n\t\t});\n\t\trl.question(`${message} [y/N] `, (answer) => {\n\t\t\trl.close();\n\t\t\tresolve(answer.toLowerCase() === \"y\" || answer.toLowerCase() === \"yes\");\n\t\t});\n\t});\n}\n\nfunction validateForkFlags(parsed: Args): void {\n\tif (!parsed.fork) return;\n\n\tconst conflictingFlags = [\n\t\tparsed.session ? \"--session\" : undefined,\n\t\tparsed.continue ? \"--continue\" : undefined,\n\t\tparsed.resume ? \"--resume\" : undefined,\n\t\tparsed.noSession ? \"--no-session\" : undefined,\n\t].filter((flag): flag is string => flag !== undefined);\n\n\tif (conflictingFlags.length > 0) {\n\t\tconsole.error(chalk.red(`Error: --fork cannot be combined with ${conflictingFlags.join(\", \")}`));\n\t\tprocess.exit(1);\n\t}\n}\n\nfunction forkSessionOrExit(sourcePath: string, cwd: string, sessionDir?: string): SessionManager {\n\ttry {\n\t\treturn SessionManager.forkFrom(sourcePath, cwd, sessionDir);\n\t} catch (error: unknown) {\n\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\tconsole.error(chalk.red(`Error: ${message}`));\n\t\tprocess.exit(1);\n\t}\n}\n\nasync function createSessionManager(\n\tparsed: Args,\n\tcwd: string,\n\tsessionDir: string | undefined,\n\tsettingsManager: SettingsManager,\n): Promise<SessionManager> {\n\tif (parsed.noSession) {\n\t\treturn SessionManager.inMemory();\n\t}\n\n\tif (parsed.fork) {\n\t\tconst resolved = await resolveSessionPath(parsed.fork, cwd, sessionDir);\n\n\t\tswitch (resolved.type) {\n\t\t\tcase \"path\":\n\t\t\tcase \"local\":\n\t\t\tcase \"global\":\n\t\t\t\treturn forkSessionOrExit(resolved.path, cwd, sessionDir);\n\n\t\t\tcase \"not_found\":\n\t\t\t\tconsole.error(chalk.red(`No session found matching '${resolved.arg}'`));\n\t\t\t\tprocess.exit(1);\n\t\t}\n\t}\n\n\tif (parsed.session) {\n\t\tconst resolved = await resolveSessionPath(parsed.session, cwd, sessionDir);\n\n\t\tswitch (resolved.type) {\n\t\t\tcase \"path\":\n\t\t\tcase \"local\":\n\t\t\t\treturn SessionManager.open(resolved.path, sessionDir);\n\n\t\t\tcase \"global\": {\n\t\t\t\tconsole.log(chalk.yellow(`Session found in different project: ${resolved.cwd}`));\n\t\t\t\tconst shouldFork = await promptConfirm(\"Fork this session into current directory?\");\n\t\t\t\tif (!shouldFork) {\n\t\t\t\t\tconsole.log(chalk.dim(\"Aborted.\"));\n\t\t\t\t\tprocess.exit(0);\n\t\t\t\t}\n\t\t\t\treturn forkSessionOrExit(resolved.path, cwd, sessionDir);\n\t\t\t}\n\n\t\t\tcase \"not_found\":\n\t\t\t\tconsole.error(chalk.red(`No session found matching '${resolved.arg}'`));\n\t\t\t\tprocess.exit(1);\n\t\t}\n\t}\n\n\tif (parsed.resume) {\n\t\tinitTheme(settingsManager.getTheme(), true);\n\t\ttry {\n\t\t\tconst selectedPath = await selectSession(\n\t\t\t\t(onProgress) => SessionManager.list(cwd, sessionDir, onProgress),\n\t\t\t\tSessionManager.listAll,\n\t\t\t);\n\t\t\tif (!selectedPath) {\n\t\t\t\tconsole.log(chalk.dim(\"No session selected\"));\n\t\t\t\tprocess.exit(0);\n\t\t\t}\n\t\t\treturn SessionManager.open(selectedPath, sessionDir);\n\t\t} finally {\n\t\t\tstopThemeWatcher();\n\t\t}\n\t}\n\n\tif (parsed.continue) {\n\t\treturn SessionManager.continueRecent(cwd, sessionDir);\n\t}\n\n\treturn SessionManager.create(cwd, sessionDir);\n}\n\nfunction buildSessionOptions(\n\tparsed: Args,\n\tscopedModels: ScopedModel[],\n\thasExistingSession: boolean,\n\tmodelRegistry: ModelRegistry,\n\tsettingsManager: SettingsManager,\n): {\n\toptions: CreateAgentSessionOptions;\n\tcliThinkingFromModel: boolean;\n\tdiagnostics: AgentSessionRuntimeDiagnostic[];\n} {\n\tconst options: CreateAgentSessionOptions = {};\n\tconst diagnostics: AgentSessionRuntimeDiagnostic[] = [];\n\tlet cliThinkingFromModel = false;\n\n\t// Model from CLI\n\t// - supports --provider <name> --model <pattern>\n\t// - supports --model <provider>/<pattern>\n\tif (parsed.model) {\n\t\tconst resolved = resolveCliModel({\n\t\t\tcliProvider: parsed.provider,\n\t\t\tcliModel: parsed.model,\n\t\t\tmodelRegistry,\n\t\t});\n\t\tif (resolved.warning) {\n\t\t\tdiagnostics.push({ type: \"warning\", message: resolved.warning });\n\t\t}\n\t\tif (resolved.error) {\n\t\t\tdiagnostics.push({ type: \"error\", message: resolved.error });\n\t\t}\n\t\tif (resolved.model) {\n\t\t\toptions.model = resolved.model;\n\t\t\t// Allow \"--model <pattern>:<thinking>\" as a shorthand.\n\t\t\t// Explicit --thinking still takes precedence (applied later).\n\t\t\tif (!parsed.thinking && resolved.thinkingLevel) {\n\t\t\t\toptions.thinkingLevel = resolved.thinkingLevel;\n\t\t\t\tcliThinkingFromModel = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!options.model && scopedModels.length > 0 && !hasExistingSession) {\n\t\t// Check if saved default is in scoped models - use it if so, otherwise first scoped model\n\t\tconst savedProvider = settingsManager.getDefaultProvider();\n\t\tconst savedModelId = settingsManager.getDefaultModel();\n\t\tconst savedModel = savedProvider && savedModelId ? modelRegistry.find(savedProvider, savedModelId) : undefined;\n\t\tconst savedInScope = savedModel ? scopedModels.find((sm) => modelsAreEqual(sm.model, savedModel)) : undefined;\n\n\t\tif (savedInScope) {\n\t\t\toptions.model = savedInScope.model;\n\t\t\t// Use thinking level from scoped model config if explicitly set\n\t\t\tif (!parsed.thinking && savedInScope.thinkingLevel) {\n\t\t\t\toptions.thinkingLevel = savedInScope.thinkingLevel;\n\t\t\t}\n\t\t} else {\n\t\t\toptions.model = scopedModels[0].model;\n\t\t\t// Use thinking level from first scoped model if explicitly set\n\t\t\tif (!parsed.thinking && scopedModels[0].thinkingLevel) {\n\t\t\t\toptions.thinkingLevel = scopedModels[0].thinkingLevel;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Thinking level from CLI (takes precedence over scoped model thinking levels set above)\n\tif (parsed.thinking) {\n\t\toptions.thinkingLevel = parsed.thinking;\n\t}\n\n\t// Scoped models for Ctrl+P cycling\n\t// Keep thinking level undefined when not explicitly set in the model pattern.\n\t// Undefined means \"inherit current session thinking level\" during cycling.\n\tif (scopedModels.length > 0) {\n\t\toptions.scopedModels = scopedModels.map((sm) => ({\n\t\t\tmodel: sm.model,\n\t\t\tthinkingLevel: sm.thinkingLevel,\n\t\t}));\n\t}\n\n\t// API key from CLI - set in authStorage\n\t// (handled by caller before createAgentSession)\n\n\t// Tools\n\tif (parsed.noTools) {\n\t\toptions.noTools = \"all\";\n\t} else if (parsed.noBuiltinTools) {\n\t\toptions.noTools = \"builtin\";\n\t}\n\tif (parsed.tools) {\n\t\toptions.tools = [...parsed.tools];\n\t}\n\n\treturn { options, cliThinkingFromModel, diagnostics };\n}\n\nfunction resolveCliPaths(cwd: string, paths: string[] | undefined): string[] | undefined {\n\treturn paths?.map((value) => (isLocalPath(value) ? resolve(cwd, value) : value));\n}\n\nasync function promptForMissingSessionCwd(\n\tissue: SessionCwdIssue,\n\tsettingsManager: SettingsManager,\n): Promise<string | undefined> {\n\tinitTheme(settingsManager.getTheme());\n\tsetKeybindings(KeybindingsManager.create());\n\n\treturn new Promise((resolve) => {\n\t\tconst ui = new TUI(new ProcessTerminal(), settingsManager.getShowHardwareCursor());\n\t\tui.setClearOnShrink(settingsManager.getClearOnShrink());\n\n\t\tlet settled = false;\n\t\tconst finish = (result: string | undefined) => {\n\t\t\tif (settled) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsettled = true;\n\t\t\tui.stop();\n\t\t\tresolve(result);\n\t\t};\n\n\t\tconst selector = new ExtensionSelectorComponent(\n\t\t\tformatMissingSessionCwdPrompt(issue),\n\t\t\t[\"Continue\", \"Cancel\"],\n\t\t\t(option) => finish(option === \"Continue\" ? issue.fallbackCwd : undefined),\n\t\t\t() => finish(undefined),\n\t\t\t{ tui: ui },\n\t\t);\n\t\tui.addChild(selector);\n\t\tui.setFocus(selector);\n\t\tui.start();\n\t});\n}\n\nexport interface MainOptions {\n\textensionFactories?: ExtensionFactory[];\n}\n\nexport async function main(args: string[], options?: MainOptions) {\n\tresetTimings();\n\tconst offlineMode = args.includes(\"--offline\") || isTruthyEnvFlag(process.env.PI_OFFLINE);\n\tif (offlineMode) {\n\t\tprocess.env.PI_OFFLINE = \"1\";\n\t\tprocess.env.PI_SKIP_VERSION_CHECK = \"1\";\n\t}\n\n\tif (await handlePackageCommand(args)) {\n\t\treturn;\n\t}\n\n\tif (await handleConfigCommand(args)) {\n\t\treturn;\n\t}\n\n\tconst parsed = parseArgs(args);\n\tif (parsed.diagnostics.length > 0) {\n\t\tfor (const d of parsed.diagnostics) {\n\t\t\tconst color = d.type === \"error\" ? chalk.red : chalk.yellow;\n\t\t\tconsole.error(color(`${d.type === \"error\" ? \"Error\" : \"Warning\"}: ${d.message}`));\n\t\t}\n\t\tif (parsed.diagnostics.some((d) => d.type === \"error\")) {\n\t\t\tprocess.exit(1);\n\t\t}\n\t}\n\ttime(\"parseArgs\");\n\tlet appMode = resolveAppMode(parsed, process.stdin.isTTY);\n\tconst shouldTakeOverStdout = appMode !== \"interactive\";\n\tif (shouldTakeOverStdout) {\n\t\ttakeOverStdout();\n\t}\n\n\tif (parsed.version) {\n\t\tconsole.log(VERSION);\n\t\tprocess.exit(0);\n\t}\n\n\tif (parsed.export) {\n\t\tlet result: string;\n\t\ttry {\n\t\t\tconst outputPath = parsed.messages.length > 0 ? parsed.messages[0] : undefined;\n\t\t\tresult = await exportFromFile(parsed.export, outputPath);\n\t\t} catch (error: unknown) {\n\t\t\tconst message = error instanceof Error ? error.message : \"Failed to export session\";\n\t\t\tconsole.error(chalk.red(`Error: ${message}`));\n\t\t\tprocess.exit(1);\n\t\t}\n\t\tconsole.log(`Exported to: ${result}`);\n\t\tprocess.exit(0);\n\t}\n\n\tif (parsed.mode === \"rpc\" && parsed.fileArgs.length > 0) {\n\t\tconsole.error(chalk.red(\"Error: @file arguments are not supported in RPC mode\"));\n\t\tprocess.exit(1);\n\t}\n\n\tvalidateForkFlags(parsed);\n\n\t// Run migrations (pass cwd for project-local migrations)\n\tconst { migratedAuthProviders: migratedProviders, deprecationWarnings } = runMigrations(process.cwd());\n\ttime(\"runMigrations\");\n\n\tconst cwd = process.cwd();\n\tconst agentDir = getAgentDir();\n\tconst startupSettingsManager = SettingsManager.create(cwd, agentDir);\n\treportDiagnostics(collectSettingsDiagnostics(startupSettingsManager, \"startup session lookup\"));\n\n\t// Decide the final runtime cwd before creating cwd-bound runtime services.\n\t// --session and --resume may select a session from another project, so project-local\n\t// settings, resources, provider registrations, and models must be resolved only after\n\t// the target session cwd is known. The startup-cwd settings manager is used only for\n\t// sessionDir lookup during session selection.\n\tconst sessionDir = parsed.sessionDir ?? startupSettingsManager.getSessionDir();\n\tlet sessionManager = await createSessionManager(parsed, cwd, sessionDir, startupSettingsManager);\n\tconst missingSessionCwdIssue = getMissingSessionCwdIssue(sessionManager, cwd);\n\tif (missingSessionCwdIssue) {\n\t\tif (appMode === \"interactive\") {\n\t\t\tconst selectedCwd = await promptForMissingSessionCwd(missingSessionCwdIssue, startupSettingsManager);\n\t\t\tif (!selectedCwd) {\n\t\t\t\tprocess.exit(0);\n\t\t\t}\n\t\t\tsessionManager = SessionManager.open(missingSessionCwdIssue.sessionFile!, sessionDir, selectedCwd);\n\t\t} else {\n\t\t\tconsole.error(chalk.red(new MissingSessionCwdError(missingSessionCwdIssue).message));\n\t\t\tprocess.exit(1);\n\t\t}\n\t}\n\ttime(\"createSessionManager\");\n\n\tconst resolvedExtensionPaths = resolveCliPaths(cwd, parsed.extensions);\n\tconst resolvedSkillPaths = resolveCliPaths(cwd, parsed.skills);\n\tconst resolvedPromptTemplatePaths = resolveCliPaths(cwd, parsed.promptTemplates);\n\tconst resolvedThemePaths = resolveCliPaths(cwd, parsed.themes);\n\tconst authStorage = AuthStorage.create();\n\tconst createRuntime: CreateAgentSessionRuntimeFactory = async ({\n\t\tcwd,\n\t\tagentDir,\n\t\tsessionManager,\n\t\tsessionStartEvent,\n\t}) => {\n\t\tconst services = await createAgentSessionServices({\n\t\t\tcwd,\n\t\t\tagentDir,\n\t\t\tauthStorage,\n\t\t\textensionFlagValues: parsed.unknownFlags,\n\t\t\tresourceLoaderOptions: {\n\t\t\t\tadditionalExtensionPaths: resolvedExtensionPaths,\n\t\t\t\tadditionalSkillPaths: resolvedSkillPaths,\n\t\t\t\tadditionalPromptTemplatePaths: resolvedPromptTemplatePaths,\n\t\t\t\tadditionalThemePaths: resolvedThemePaths,\n\t\t\t\tnoExtensions: parsed.noExtensions,\n\t\t\t\tnoSkills: parsed.noSkills,\n\t\t\t\tnoPromptTemplates: parsed.noPromptTemplates,\n\t\t\t\tnoThemes: parsed.noThemes,\n\t\t\t\tnoContextFiles: parsed.noContextFiles,\n\t\t\t\tsystemPrompt: parsed.systemPrompt,\n\t\t\t\tappendSystemPrompt: parsed.appendSystemPrompt,\n\t\t\t\textensionFactories: options?.extensionFactories,\n\t\t\t},\n\t\t});\n\t\tconst { settingsManager, modelRegistry, resourceLoader } = services;\n\t\tconst diagnostics: AgentSessionRuntimeDiagnostic[] = [\n\t\t\t...services.diagnostics,\n\t\t\t...collectSettingsDiagnostics(settingsManager, \"runtime creation\"),\n\t\t\t...resourceLoader.getExtensions().errors.map(({ path, error }) => ({\n\t\t\t\ttype: \"error\" as const,\n\t\t\t\tmessage: `Failed to load extension \"${path}\": ${error}`,\n\t\t\t})),\n\t\t];\n\n\t\tconst modelPatterns = parsed.models ?? settingsManager.getEnabledModels();\n\t\tconst scopedModels =\n\t\t\tmodelPatterns && modelPatterns.length > 0 ? await resolveModelScope(modelPatterns, modelRegistry) : [];\n\t\tconst {\n\t\t\toptions: sessionOptions,\n\t\t\tcliThinkingFromModel,\n\t\t\tdiagnostics: sessionOptionDiagnostics,\n\t\t} = buildSessionOptions(\n\t\t\tparsed,\n\t\t\tscopedModels,\n\t\t\tsessionManager.buildSessionContext().messages.length > 0,\n\t\t\tmodelRegistry,\n\t\t\tsettingsManager,\n\t\t);\n\t\tdiagnostics.push(...sessionOptionDiagnostics);\n\n\t\tif (parsed.apiKey) {\n\t\t\tif (!sessionOptions.model) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\tmessage: \"--api-key requires a model to be specified via --model, --provider/--model, or --models\",\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tauthStorage.setRuntimeApiKey(sessionOptions.model.provider, parsed.apiKey);\n\t\t\t}\n\t\t}\n\n\t\tconst created = await createAgentSessionFromServices({\n\t\t\tservices,\n\t\t\tsessionManager,\n\t\t\tsessionStartEvent,\n\t\t\tmodel: sessionOptions.model,\n\t\t\tthinkingLevel: sessionOptions.thinkingLevel,\n\t\t\tscopedModels: sessionOptions.scopedModels,\n\t\t\ttools: sessionOptions.tools,\n\t\t\tnoTools: sessionOptions.noTools,\n\t\t\tcustomTools: sessionOptions.customTools,\n\t\t});\n\t\tconst cliThinkingOverride = parsed.thinking !== undefined || cliThinkingFromModel;\n\t\tif (created.session.model && cliThinkingOverride) {\n\t\t\tlet effectiveThinking = created.session.thinkingLevel;\n\t\t\tif (!created.session.model.reasoning) {\n\t\t\t\teffectiveThinking = \"off\";\n\t\t\t} else if (effectiveThinking === \"xhigh\" && !supportsXhigh(created.session.model)) {\n\t\t\t\teffectiveThinking = \"high\";\n\t\t\t}\n\t\t\tif (effectiveThinking !== created.session.thinkingLevel) {\n\t\t\t\tcreated.session.setThinkingLevel(effectiveThinking);\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\t...created,\n\t\t\tservices,\n\t\t\tdiagnostics,\n\t\t};\n\t};\n\ttime(\"createRuntime\");\n\tconst runtime = await createAgentSessionRuntime(createRuntime, {\n\t\tcwd: sessionManager.getCwd(),\n\t\tagentDir,\n\t\tsessionManager,\n\t});\n\tconst { services, session, modelFallbackMessage } = runtime;\n\tconst { settingsManager, modelRegistry, resourceLoader } = services;\n\n\tif (parsed.help) {\n\t\tconst extensionFlags = resourceLoader\n\t\t\t.getExtensions()\n\t\t\t.extensions.flatMap((extension) => Array.from(extension.flags.values()));\n\t\tprintHelp(extensionFlags);\n\t\tprocess.exit(0);\n\t}\n\n\tif (parsed.listModels !== undefined) {\n\t\tconst searchPattern = typeof parsed.listModels === \"string\" ? parsed.listModels : undefined;\n\t\tawait listModels(modelRegistry, searchPattern);\n\t\tprocess.exit(0);\n\t}\n\n\t// Read piped stdin content (if any) - skip for RPC mode which uses stdin for JSON-RPC\n\tlet stdinContent: string | undefined;\n\tif (appMode !== \"rpc\") {\n\t\tstdinContent = await readPipedStdin();\n\t\tif (stdinContent !== undefined && appMode === \"interactive\") {\n\t\t\tappMode = \"print\";\n\t\t}\n\t}\n\ttime(\"readPipedStdin\");\n\n\tconst { initialMessage, initialImages } = await prepareInitialMessage(\n\t\tparsed,\n\t\tsettingsManager.getImageAutoResize(),\n\t\tstdinContent,\n\t);\n\ttime(\"prepareInitialMessage\");\n\tinitTheme(settingsManager.getTheme(), appMode === \"interactive\");\n\ttime(\"initTheme\");\n\n\t// Show deprecation warnings in interactive mode\n\tif (appMode === \"interactive\" && deprecationWarnings.length > 0) {\n\t\tawait showDeprecationWarnings(deprecationWarnings);\n\t}\n\n\tconst scopedModels = [...session.scopedModels];\n\ttime(\"resolveModelScope\");\n\treportDiagnostics(runtime.diagnostics);\n\tif (runtime.diagnostics.some((diagnostic) => diagnostic.type === \"error\")) {\n\t\tprocess.exit(1);\n\t}\n\ttime(\"createAgentSession\");\n\n\tif (appMode !== \"interactive\" && !session.model) {\n\t\tconsole.error(chalk.red(formatNoModelsAvailableMessage()));\n\t\tprocess.exit(1);\n\t}\n\n\tconst startupBenchmark = isTruthyEnvFlag(process.env.PI_STARTUP_BENCHMARK);\n\tif (startupBenchmark && appMode !== \"interactive\") {\n\t\tconsole.error(chalk.red(\"Error: PI_STARTUP_BENCHMARK only supports interactive mode\"));\n\t\tprocess.exit(1);\n\t}\n\n\tif (appMode === \"rpc\") {\n\t\tprintTimings();\n\t\tawait runRpcMode(runtime);\n\t} else if (appMode === \"interactive\") {\n\t\tif (scopedModels.length > 0 && (parsed.verbose || !settingsManager.getQuietStartup())) {\n\t\t\tconst modelList = scopedModels\n\t\t\t\t.map((sm) => {\n\t\t\t\t\tconst thinkingStr = sm.thinkingLevel ? `:${sm.thinkingLevel}` : \"\";\n\t\t\t\t\treturn `${sm.model.id}${thinkingStr}`;\n\t\t\t\t})\n\t\t\t\t.join(\", \");\n\t\t\tconsole.log(chalk.dim(`Model scope: ${modelList} ${chalk.gray(\"(Ctrl+P to cycle)\")}`));\n\t\t}\n\n\t\tconst interactiveMode = new InteractiveMode(runtime, {\n\t\t\tmigratedProviders,\n\t\t\tmodelFallbackMessage,\n\t\t\tinitialMessage,\n\t\t\tinitialImages,\n\t\t\tinitialMessages: parsed.messages,\n\t\t\tverbose: parsed.verbose,\n\t\t});\n\t\tif (startupBenchmark) {\n\t\t\tawait interactiveMode.init();\n\t\t\ttime(\"interactiveMode.init\");\n\t\t\tprintTimings();\n\t\t\tinteractiveMode.stop();\n\t\t\tstopThemeWatcher();\n\t\t\tif (process.stdout.writableLength > 0) {\n\t\t\t\tawait new Promise<void>((resolve) => process.stdout.once(\"drain\", resolve));\n\t\t\t}\n\t\t\tif (process.stderr.writableLength > 0) {\n\t\t\t\tawait new Promise<void>((resolve) => process.stderr.once(\"drain\", resolve));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tprintTimings();\n\t\tawait interactiveMode.run();\n\t} else {\n\t\tprintTimings();\n\t\tconst exitCode = await runPrintMode(runtime, {\n\t\t\tmode: toPrintOutputMode(appMode),\n\t\t\tmessages: parsed.messages,\n\t\t\tinitialMessage,\n\t\t\tinitialImages,\n\t\t});\n\t\tstopThemeWatcher();\n\t\trestoreStdout();\n\t\tif (exitCode !== 0) {\n\t\t\tprocess.exitCode = exitCode;\n\t\t}\n\t\treturn;\n\t}\n}\n"]}