@eminent337/aery 0.67.68 → 0.74.2

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 (762) hide show
  1. package/CHANGELOG.md +418 -5
  2. package/README.md +67 -37
  3. package/dist/bun/cli.d.ts +3 -0
  4. package/dist/bun/cli.d.ts.map +1 -0
  5. package/dist/bun/cli.js +9 -0
  6. package/dist/bun/cli.js.map +1 -0
  7. package/dist/bun/register-bedrock.d.ts +2 -0
  8. package/dist/bun/register-bedrock.d.ts.map +1 -0
  9. package/dist/bun/register-bedrock.js +4 -0
  10. package/dist/bun/register-bedrock.js.map +1 -0
  11. package/dist/bun/restore-sandbox-env.d.ts +13 -0
  12. package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
  13. package/dist/bun/restore-sandbox-env.js +32 -0
  14. package/dist/bun/restore-sandbox-env.js.map +1 -0
  15. package/dist/cli/args.d.ts +53 -0
  16. package/dist/cli/args.d.ts.map +1 -0
  17. package/dist/cli/args.js +341 -0
  18. package/dist/cli/args.js.map +1 -0
  19. package/dist/cli/capabilities.d.ts +61 -0
  20. package/dist/cli/capabilities.d.ts.map +1 -0
  21. package/dist/cli/capabilities.js +155 -0
  22. package/dist/cli/capabilities.js.map +1 -0
  23. package/dist/cli/config-selector.d.ts +14 -0
  24. package/dist/cli/config-selector.d.ts.map +1 -0
  25. package/dist/cli/config-selector.js +31 -0
  26. package/dist/cli/config-selector.js.map +1 -0
  27. package/dist/cli/doctor.d.ts +32 -0
  28. package/dist/cli/doctor.d.ts.map +1 -0
  29. package/dist/cli/doctor.js +133 -0
  30. package/dist/cli/doctor.js.map +1 -0
  31. package/dist/cli/file-processor.d.ts +15 -0
  32. package/dist/cli/file-processor.d.ts.map +1 -0
  33. package/dist/cli/file-processor.js +83 -0
  34. package/dist/cli/file-processor.js.map +1 -0
  35. package/dist/cli/initial-message.d.ts +18 -0
  36. package/dist/cli/initial-message.d.ts.map +1 -0
  37. package/dist/cli/initial-message.js +22 -0
  38. package/dist/cli/initial-message.js.map +1 -0
  39. package/dist/cli/list-models.d.ts +9 -0
  40. package/dist/cli/list-models.d.ts.map +1 -0
  41. package/dist/cli/list-models.js +98 -0
  42. package/dist/cli/list-models.js.map +1 -0
  43. package/dist/cli/session-picker.d.ts +9 -0
  44. package/dist/cli/session-picker.d.ts.map +1 -0
  45. package/dist/cli/session-picker.js +35 -0
  46. package/dist/cli/session-picker.js.map +1 -0
  47. package/dist/cli.d.ts +3 -0
  48. package/dist/cli.d.ts.map +1 -0
  49. package/dist/cli.js +20 -0
  50. package/dist/cli.js.map +1 -0
  51. package/dist/config.d.ts +92 -0
  52. package/dist/config.d.ts.map +1 -0
  53. package/dist/config.js +399 -0
  54. package/dist/config.js.map +1 -0
  55. package/dist/core/agent-session-runtime.d.ts +117 -0
  56. package/dist/core/agent-session-runtime.d.ts.map +1 -0
  57. package/dist/core/agent-session-runtime.js +300 -0
  58. package/dist/core/agent-session-runtime.js.map +1 -0
  59. package/dist/core/agent-session-services.d.ts +86 -0
  60. package/dist/core/agent-session-services.d.ts.map +1 -0
  61. package/dist/core/agent-session-services.js +117 -0
  62. package/dist/core/agent-session-services.js.map +1 -0
  63. package/dist/core/agent-session.d.ts +595 -0
  64. package/dist/core/agent-session.d.ts.map +1 -0
  65. package/dist/core/agent-session.js +2521 -0
  66. package/dist/core/agent-session.js.map +1 -0
  67. package/dist/core/auth-guidance.d.ts +6 -0
  68. package/dist/core/auth-guidance.d.ts.map +1 -0
  69. package/dist/core/auth-guidance.js +32 -0
  70. package/dist/core/auth-guidance.js.map +1 -0
  71. package/dist/core/auth-storage.d.ts +141 -0
  72. package/dist/core/auth-storage.d.ts.map +1 -0
  73. package/dist/core/auth-storage.js +441 -0
  74. package/dist/core/auth-storage.js.map +1 -0
  75. package/dist/core/bash-executor.d.ts +32 -0
  76. package/dist/core/bash-executor.d.ts.map +1 -0
  77. package/dist/core/bash-executor.js +111 -0
  78. package/dist/core/bash-executor.js.map +1 -0
  79. package/dist/core/compaction/branch-summarization.d.ts +88 -0
  80. package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
  81. package/dist/core/compaction/branch-summarization.js +243 -0
  82. package/dist/core/compaction/branch-summarization.js.map +1 -0
  83. package/dist/core/compaction/compaction.d.ts +121 -0
  84. package/dist/core/compaction/compaction.d.ts.map +1 -0
  85. package/dist/core/compaction/compaction.js +615 -0
  86. package/dist/core/compaction/compaction.js.map +1 -0
  87. package/dist/core/compaction/index.d.ts +7 -0
  88. package/dist/core/compaction/index.d.ts.map +1 -0
  89. package/dist/core/compaction/index.js +7 -0
  90. package/dist/core/compaction/index.js.map +1 -0
  91. package/dist/core/compaction/utils.d.ts +38 -0
  92. package/dist/core/compaction/utils.d.ts.map +1 -0
  93. package/dist/core/compaction/utils.js +153 -0
  94. package/dist/core/compaction/utils.js.map +1 -0
  95. package/dist/core/custom-openai-compatible.d.ts +14 -0
  96. package/dist/core/custom-openai-compatible.d.ts.map +1 -0
  97. package/dist/core/custom-openai-compatible.js +128 -0
  98. package/dist/core/custom-openai-compatible.js.map +1 -0
  99. package/dist/core/defaults.d.ts +3 -0
  100. package/dist/core/defaults.d.ts.map +1 -0
  101. package/dist/core/defaults.js +2 -0
  102. package/dist/core/defaults.js.map +1 -0
  103. package/dist/core/diagnostics.d.ts +15 -0
  104. package/dist/core/diagnostics.d.ts.map +1 -0
  105. package/dist/core/diagnostics.js +2 -0
  106. package/dist/core/diagnostics.js.map +1 -0
  107. package/dist/core/event-bus.d.ts +9 -0
  108. package/dist/core/event-bus.d.ts.map +1 -0
  109. package/dist/core/event-bus.js +25 -0
  110. package/dist/core/event-bus.js.map +1 -0
  111. package/dist/core/exec.d.ts +29 -0
  112. package/dist/core/exec.d.ts.map +1 -0
  113. package/dist/core/exec.js +75 -0
  114. package/dist/core/exec.js.map +1 -0
  115. package/dist/core/export-html/ansi-to-html.d.ts +22 -0
  116. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
  117. package/dist/core/export-html/ansi-to-html.js +249 -0
  118. package/dist/core/export-html/ansi-to-html.js.map +1 -0
  119. package/dist/core/export-html/index.d.ts +37 -0
  120. package/dist/core/export-html/index.d.ts.map +1 -0
  121. package/dist/core/export-html/index.js +224 -0
  122. package/dist/core/export-html/index.js.map +1 -0
  123. package/dist/core/export-html/template.css +1066 -0
  124. package/dist/core/export-html/template.html +55 -0
  125. package/dist/core/export-html/template.js +1834 -0
  126. package/dist/core/export-html/tool-renderer.d.ts +34 -0
  127. package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
  128. package/dist/core/export-html/tool-renderer.js +108 -0
  129. package/dist/core/export-html/tool-renderer.js.map +1 -0
  130. package/dist/core/export-html/vendor/highlight.min.js +1213 -0
  131. package/dist/core/export-html/vendor/marked.min.js +6 -0
  132. package/dist/core/extensions/index.d.ts +12 -0
  133. package/dist/core/extensions/index.d.ts.map +1 -0
  134. package/dist/core/extensions/index.js +9 -0
  135. package/dist/core/extensions/index.js.map +1 -0
  136. package/dist/core/extensions/loader.d.ts +24 -0
  137. package/dist/core/extensions/loader.d.ts.map +1 -0
  138. package/dist/core/extensions/loader.js +488 -0
  139. package/dist/core/extensions/loader.js.map +1 -0
  140. package/dist/core/extensions/runner.d.ts +159 -0
  141. package/dist/core/extensions/runner.d.ts.map +1 -0
  142. package/dist/core/extensions/runner.js +824 -0
  143. package/dist/core/extensions/runner.js.map +1 -0
  144. package/dist/core/extensions/types.d.ts +1173 -0
  145. package/dist/core/extensions/types.d.ts.map +1 -0
  146. package/dist/core/extensions/types.js +45 -0
  147. package/dist/core/extensions/types.js.map +1 -0
  148. package/dist/core/extensions/wrapper.d.ts +20 -0
  149. package/dist/core/extensions/wrapper.d.ts.map +1 -0
  150. package/dist/core/extensions/wrapper.js +22 -0
  151. package/dist/core/extensions/wrapper.js.map +1 -0
  152. package/dist/core/footer-data-provider.d.ts +52 -0
  153. package/dist/core/footer-data-provider.d.ts.map +1 -0
  154. package/dist/core/footer-data-provider.js +310 -0
  155. package/dist/core/footer-data-provider.js.map +1 -0
  156. package/dist/core/index.d.ts +12 -0
  157. package/dist/core/index.d.ts.map +1 -0
  158. package/dist/core/index.js +12 -0
  159. package/dist/core/index.js.map +1 -0
  160. package/dist/core/keybindings.d.ts +353 -0
  161. package/dist/core/keybindings.d.ts.map +1 -0
  162. package/dist/core/keybindings.js +295 -0
  163. package/dist/core/keybindings.js.map +1 -0
  164. package/dist/core/messages.d.ts +77 -0
  165. package/dist/core/messages.d.ts.map +1 -0
  166. package/dist/core/messages.js +123 -0
  167. package/dist/core/messages.js.map +1 -0
  168. package/dist/core/model-registry.d.ts +150 -0
  169. package/dist/core/model-registry.d.ts.map +1 -0
  170. package/dist/core/model-registry.js +728 -0
  171. package/dist/core/model-registry.js.map +1 -0
  172. package/dist/core/model-resolver.d.ts +110 -0
  173. package/dist/core/model-resolver.d.ts.map +1 -0
  174. package/dist/core/model-resolver.js +495 -0
  175. package/dist/core/model-resolver.js.map +1 -0
  176. package/dist/core/output-guard.d.ts +6 -0
  177. package/dist/core/output-guard.d.ts.map +1 -0
  178. package/dist/core/output-guard.js +59 -0
  179. package/dist/core/output-guard.js.map +1 -0
  180. package/dist/core/package-manager.d.ts +198 -0
  181. package/dist/core/package-manager.d.ts.map +1 -0
  182. package/dist/core/package-manager.js +1975 -0
  183. package/dist/core/package-manager.js.map +1 -0
  184. package/dist/core/prompt-templates.d.ts +52 -0
  185. package/dist/core/prompt-templates.d.ts.map +1 -0
  186. package/dist/core/prompt-templates.js +250 -0
  187. package/dist/core/prompt-templates.js.map +1 -0
  188. package/dist/core/provider-display-names.d.ts +2 -0
  189. package/dist/core/provider-display-names.d.ts.map +1 -0
  190. package/dist/core/provider-display-names.js +33 -0
  191. package/dist/core/provider-display-names.js.map +1 -0
  192. package/dist/core/provider-setup-check.d.ts +14 -0
  193. package/dist/core/provider-setup-check.d.ts.map +1 -0
  194. package/dist/core/provider-setup-check.js +22 -0
  195. package/dist/core/provider-setup-check.js.map +1 -0
  196. package/dist/core/resolve-config-value.d.ts +23 -0
  197. package/dist/core/resolve-config-value.d.ts.map +1 -0
  198. package/dist/core/resolve-config-value.js +126 -0
  199. package/dist/core/resolve-config-value.js.map +1 -0
  200. package/dist/core/resource-loader.d.ts +194 -0
  201. package/dist/core/resource-loader.d.ts.map +1 -0
  202. package/dist/core/resource-loader.js +727 -0
  203. package/dist/core/resource-loader.js.map +1 -0
  204. package/dist/core/sdk.d.ts +107 -0
  205. package/dist/core/sdk.d.ts.map +1 -0
  206. package/dist/core/sdk.js +282 -0
  207. package/dist/core/sdk.js.map +1 -0
  208. package/dist/core/session-cwd.d.ts +19 -0
  209. package/dist/core/session-cwd.d.ts.map +1 -0
  210. package/dist/core/session-cwd.js +38 -0
  211. package/dist/core/session-cwd.js.map +1 -0
  212. package/dist/core/session-manager.d.ts +333 -0
  213. package/dist/core/session-manager.d.ts.map +1 -0
  214. package/dist/core/session-manager.js +1109 -0
  215. package/dist/core/session-manager.js.map +1 -0
  216. package/dist/core/settings-manager.d.ts +261 -0
  217. package/dist/core/settings-manager.d.ts.map +1 -0
  218. package/dist/core/settings-manager.js +782 -0
  219. package/dist/core/settings-manager.js.map +1 -0
  220. package/dist/core/skills.d.ts +60 -0
  221. package/dist/core/skills.d.ts.map +1 -0
  222. package/dist/core/skills.js +404 -0
  223. package/dist/core/skills.js.map +1 -0
  224. package/dist/core/slash-commands.d.ts +14 -0
  225. package/dist/core/slash-commands.d.ts.map +1 -0
  226. package/dist/core/slash-commands.js +25 -0
  227. package/dist/core/slash-commands.js.map +1 -0
  228. package/dist/core/source-info.d.ts +18 -0
  229. package/dist/core/source-info.d.ts.map +1 -0
  230. package/dist/core/source-info.js +19 -0
  231. package/dist/core/source-info.js.map +1 -0
  232. package/dist/core/system-prompt.d.ts +28 -0
  233. package/dist/core/system-prompt.d.ts.map +1 -0
  234. package/dist/core/system-prompt.js +120 -0
  235. package/dist/core/system-prompt.js.map +1 -0
  236. package/dist/core/telemetry.d.ts +3 -0
  237. package/dist/core/telemetry.d.ts.map +1 -0
  238. package/dist/core/telemetry.js +9 -0
  239. package/dist/core/telemetry.js.map +1 -0
  240. package/dist/core/timings.d.ts +8 -0
  241. package/dist/core/timings.d.ts.map +1 -0
  242. package/dist/core/timings.js +31 -0
  243. package/dist/core/timings.js.map +1 -0
  244. package/dist/core/tools/bash.d.ts +68 -0
  245. package/dist/core/tools/bash.d.ts.map +1 -0
  246. package/dist/core/tools/bash.js +335 -0
  247. package/dist/core/tools/bash.js.map +1 -0
  248. package/dist/core/tools/edit-diff.d.ts +85 -0
  249. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  250. package/dist/core/tools/edit-diff.js +338 -0
  251. package/dist/core/tools/edit-diff.js.map +1 -0
  252. package/dist/core/tools/edit.d.ts +49 -0
  253. package/dist/core/tools/edit.d.ts.map +1 -0
  254. package/dist/core/tools/edit.js +324 -0
  255. package/dist/core/tools/edit.js.map +1 -0
  256. package/dist/core/tools/file-mutation-queue.d.ts +6 -0
  257. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
  258. package/dist/core/tools/file-mutation-queue.js +37 -0
  259. package/dist/core/tools/file-mutation-queue.js.map +1 -0
  260. package/dist/core/tools/find.d.ts +35 -0
  261. package/dist/core/tools/find.d.ts.map +1 -0
  262. package/dist/core/tools/find.js +298 -0
  263. package/dist/core/tools/find.js.map +1 -0
  264. package/dist/core/tools/grep.d.ts +37 -0
  265. package/dist/core/tools/grep.d.ts.map +1 -0
  266. package/dist/core/tools/grep.js +304 -0
  267. package/dist/core/tools/grep.js.map +1 -0
  268. package/dist/core/tools/index.d.ts +40 -0
  269. package/dist/core/tools/index.d.ts.map +1 -0
  270. package/dist/core/tools/index.js +112 -0
  271. package/dist/core/tools/index.js.map +1 -0
  272. package/dist/core/tools/ls.d.ts +37 -0
  273. package/dist/core/tools/ls.d.ts.map +1 -0
  274. package/dist/core/tools/ls.js +169 -0
  275. package/dist/core/tools/ls.js.map +1 -0
  276. package/dist/core/tools/output-accumulator.d.ts +50 -0
  277. package/dist/core/tools/output-accumulator.d.ts.map +1 -0
  278. package/dist/core/tools/output-accumulator.js +178 -0
  279. package/dist/core/tools/output-accumulator.js.map +1 -0
  280. package/dist/core/tools/path-utils.d.ts +8 -0
  281. package/dist/core/tools/path-utils.d.ts.map +1 -0
  282. package/dist/core/tools/path-utils.js +81 -0
  283. package/dist/core/tools/path-utils.js.map +1 -0
  284. package/dist/core/tools/read.d.ts +35 -0
  285. package/dist/core/tools/read.d.ts.map +1 -0
  286. package/dist/core/tools/read.js +289 -0
  287. package/dist/core/tools/read.js.map +1 -0
  288. package/dist/core/tools/render-utils.d.ts +21 -0
  289. package/dist/core/tools/render-utils.d.ts.map +1 -0
  290. package/dist/core/tools/render-utils.js +49 -0
  291. package/dist/core/tools/render-utils.js.map +1 -0
  292. package/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
  293. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
  294. package/dist/core/tools/tool-definition-wrapper.js +34 -0
  295. package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
  296. package/dist/core/tools/truncate.d.ts +70 -0
  297. package/dist/core/tools/truncate.d.ts.map +1 -0
  298. package/dist/core/tools/truncate.js +205 -0
  299. package/dist/core/tools/truncate.js.map +1 -0
  300. package/dist/core/tools/write.d.ts +26 -0
  301. package/dist/core/tools/write.d.ts.map +1 -0
  302. package/dist/core/tools/write.js +213 -0
  303. package/dist/core/tools/write.js.map +1 -0
  304. package/dist/index.d.ts +28 -0
  305. package/dist/index.d.ts.map +1 -0
  306. package/dist/index.js +41 -0
  307. package/dist/index.js.map +1 -0
  308. package/dist/main.d.ts +12 -0
  309. package/dist/main.d.ts.map +1 -0
  310. package/dist/main.js +583 -0
  311. package/dist/main.js.map +1 -0
  312. package/dist/migrations.d.ts +61 -0
  313. package/dist/migrations.d.ts.map +1 -0
  314. package/dist/migrations.js +456 -0
  315. package/dist/migrations.js.map +1 -0
  316. package/dist/modes/index.d.ts +9 -0
  317. package/dist/modes/index.d.ts.map +1 -0
  318. package/dist/modes/index.js +8 -0
  319. package/dist/modes/index.js.map +1 -0
  320. package/dist/modes/interactive/assets/clankolas.png +0 -0
  321. package/dist/modes/interactive/components/armin.d.ts +34 -0
  322. package/dist/modes/interactive/components/armin.d.ts.map +1 -0
  323. package/dist/modes/interactive/components/armin.js +333 -0
  324. package/dist/modes/interactive/components/armin.js.map +1 -0
  325. package/dist/modes/interactive/components/assistant-message.d.ts +20 -0
  326. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
  327. package/dist/modes/interactive/components/assistant-message.js +121 -0
  328. package/dist/modes/interactive/components/assistant-message.js.map +1 -0
  329. package/dist/modes/interactive/components/bash-execution.d.ts +34 -0
  330. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
  331. package/dist/modes/interactive/components/bash-execution.js +175 -0
  332. package/dist/modes/interactive/components/bash-execution.js.map +1 -0
  333. package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  334. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
  335. package/dist/modes/interactive/components/bordered-loader.js +54 -0
  336. package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
  337. package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  338. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
  339. package/dist/modes/interactive/components/branch-summary-message.js +44 -0
  340. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
  341. package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  342. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
  343. package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
  344. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
  345. package/dist/modes/interactive/components/config-selector.d.ts +71 -0
  346. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
  347. package/dist/modes/interactive/components/config-selector.js +503 -0
  348. package/dist/modes/interactive/components/config-selector.js.map +1 -0
  349. package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  350. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
  351. package/dist/modes/interactive/components/countdown-timer.js +33 -0
  352. package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
  353. package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
  354. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
  355. package/dist/modes/interactive/components/custom-editor.js +70 -0
  356. package/dist/modes/interactive/components/custom-editor.js.map +1 -0
  357. package/dist/modes/interactive/components/custom-message.d.ts +20 -0
  358. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
  359. package/dist/modes/interactive/components/custom-message.js +79 -0
  360. package/dist/modes/interactive/components/custom-message.js.map +1 -0
  361. package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  362. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
  363. package/dist/modes/interactive/components/daxnuts.js +140 -0
  364. package/dist/modes/interactive/components/daxnuts.js.map +1 -0
  365. package/dist/modes/interactive/components/diff.d.ts +12 -0
  366. package/dist/modes/interactive/components/diff.d.ts.map +1 -0
  367. package/dist/modes/interactive/components/diff.js +133 -0
  368. package/dist/modes/interactive/components/diff.js.map +1 -0
  369. package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  370. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
  371. package/dist/modes/interactive/components/dynamic-border.js +21 -0
  372. package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
  373. package/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
  374. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -0
  375. package/dist/modes/interactive/components/earendil-announcement.js +40 -0
  376. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -0
  377. package/dist/modes/interactive/components/extension-editor.d.ts +20 -0
  378. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
  379. package/dist/modes/interactive/components/extension-editor.js +111 -0
  380. package/dist/modes/interactive/components/extension-editor.js.map +1 -0
  381. package/dist/modes/interactive/components/extension-input.d.ts +23 -0
  382. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
  383. package/dist/modes/interactive/components/extension-input.js +61 -0
  384. package/dist/modes/interactive/components/extension-input.js.map +1 -0
  385. package/dist/modes/interactive/components/extension-selector.d.ts +26 -0
  386. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
  387. package/dist/modes/interactive/components/extension-selector.js +83 -0
  388. package/dist/modes/interactive/components/extension-selector.js.map +1 -0
  389. package/dist/modes/interactive/components/footer.d.ts +27 -0
  390. package/dist/modes/interactive/components/footer.d.ts.map +1 -0
  391. package/dist/modes/interactive/components/footer.js +201 -0
  392. package/dist/modes/interactive/components/footer.js.map +1 -0
  393. package/dist/modes/interactive/components/index.d.ts +32 -0
  394. package/dist/modes/interactive/components/index.d.ts.map +1 -0
  395. package/dist/modes/interactive/components/index.js +33 -0
  396. package/dist/modes/interactive/components/index.js.map +1 -0
  397. package/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
  398. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
  399. package/dist/modes/interactive/components/keybinding-hints.js +36 -0
  400. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
  401. package/dist/modes/interactive/components/login-dialog.d.ts +46 -0
  402. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
  403. package/dist/modes/interactive/components/login-dialog.js +160 -0
  404. package/dist/modes/interactive/components/login-dialog.js.map +1 -0
  405. package/dist/modes/interactive/components/model-selector.d.ts +47 -0
  406. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
  407. package/dist/modes/interactive/components/model-selector.js +278 -0
  408. package/dist/modes/interactive/components/model-selector.js.map +1 -0
  409. package/dist/modes/interactive/components/oauth-selector.d.ts +31 -0
  410. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
  411. package/dist/modes/interactive/components/oauth-selector.js +165 -0
  412. package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
  413. package/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
  414. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
  415. package/dist/modes/interactive/components/scoped-models-selector.js +290 -0
  416. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
  417. package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
  418. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
  419. package/dist/modes/interactive/components/session-selector-search.js +155 -0
  420. package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
  421. package/dist/modes/interactive/components/session-selector.d.ts +96 -0
  422. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
  423. package/dist/modes/interactive/components/session-selector.js +861 -0
  424. package/dist/modes/interactive/components/session-selector.js.map +1 -0
  425. package/dist/modes/interactive/components/settings-selector.d.ts +67 -0
  426. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
  427. package/dist/modes/interactive/components/settings-selector.js +375 -0
  428. package/dist/modes/interactive/components/settings-selector.js.map +1 -0
  429. package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  430. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
  431. package/dist/modes/interactive/components/show-images-selector.js +39 -0
  432. package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
  433. package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  434. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
  435. package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
  436. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
  437. package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  438. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
  439. package/dist/modes/interactive/components/theme-selector.js +50 -0
  440. package/dist/modes/interactive/components/theme-selector.js.map +1 -0
  441. package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  442. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
  443. package/dist/modes/interactive/components/thinking-selector.js +51 -0
  444. package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
  445. package/dist/modes/interactive/components/tool-execution.d.ts +63 -0
  446. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
  447. package/dist/modes/interactive/components/tool-execution.js +295 -0
  448. package/dist/modes/interactive/components/tool-execution.js.map +1 -0
  449. package/dist/modes/interactive/components/tree-selector.d.ts +89 -0
  450. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
  451. package/dist/modes/interactive/components/tree-selector.js +1093 -0
  452. package/dist/modes/interactive/components/tree-selector.js.map +1 -0
  453. package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  454. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
  455. package/dist/modes/interactive/components/user-message-selector.js +114 -0
  456. package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
  457. package/dist/modes/interactive/components/user-message.d.ts +10 -0
  458. package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
  459. package/dist/modes/interactive/components/user-message.js +29 -0
  460. package/dist/modes/interactive/components/user-message.js.map +1 -0
  461. package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  462. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
  463. package/dist/modes/interactive/components/visual-truncate.js +33 -0
  464. package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
  465. package/dist/modes/interactive/interactive-mode.d.ts +369 -0
  466. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
  467. package/dist/modes/interactive/interactive-mode.js +4612 -0
  468. package/dist/modes/interactive/interactive-mode.js.map +1 -0
  469. package/dist/modes/interactive/theme/aery.json +84 -0
  470. package/dist/modes/interactive/theme/catppuccin-mocha.json +81 -0
  471. package/dist/modes/interactive/theme/dark.json +85 -0
  472. package/dist/modes/interactive/theme/dracula.json +81 -0
  473. package/dist/modes/interactive/theme/light.json +84 -0
  474. package/dist/modes/interactive/theme/nord.json +81 -0
  475. package/dist/modes/interactive/theme/theme-schema.json +335 -0
  476. package/dist/modes/interactive/theme/theme.d.ts +81 -0
  477. package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
  478. package/dist/modes/interactive/theme/theme.js +973 -0
  479. package/dist/modes/interactive/theme/theme.js.map +1 -0
  480. package/dist/modes/interactive/theme/tokyo-night.json +81 -0
  481. package/dist/modes/print-mode.d.ts +28 -0
  482. package/dist/modes/print-mode.d.ts.map +1 -0
  483. package/dist/modes/print-mode.js +131 -0
  484. package/dist/modes/print-mode.js.map +1 -0
  485. package/dist/modes/rpc/jsonl.d.ts +17 -0
  486. package/dist/modes/rpc/jsonl.d.ts.map +1 -0
  487. package/dist/modes/rpc/jsonl.js +49 -0
  488. package/dist/modes/rpc/jsonl.js.map +1 -0
  489. package/dist/modes/rpc/rpc-client.d.ts +224 -0
  490. package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
  491. package/dist/modes/rpc/rpc-client.js +410 -0
  492. package/dist/modes/rpc/rpc-client.js.map +1 -0
  493. package/dist/modes/rpc/rpc-mode.d.ts +20 -0
  494. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
  495. package/dist/modes/rpc/rpc-mode.js +601 -0
  496. package/dist/modes/rpc/rpc-mode.js.map +1 -0
  497. package/dist/modes/rpc/rpc-types.d.ts +419 -0
  498. package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
  499. package/dist/modes/rpc/rpc-types.js +8 -0
  500. package/dist/modes/rpc/rpc-types.js.map +1 -0
  501. package/dist/package-manager-cli.d.ts +4 -0
  502. package/dist/package-manager-cli.d.ts.map +1 -0
  503. package/dist/package-manager-cli.js +460 -0
  504. package/dist/package-manager-cli.js.map +1 -0
  505. package/dist/utils/aery-user-agent.d.ts +2 -0
  506. package/dist/utils/aery-user-agent.d.ts.map +1 -0
  507. package/dist/utils/aery-user-agent.js +5 -0
  508. package/dist/utils/aery-user-agent.js.map +1 -0
  509. package/dist/utils/ansi.d.ts +2 -0
  510. package/dist/utils/ansi.d.ts.map +1 -0
  511. package/dist/utils/ansi.js +52 -0
  512. package/dist/utils/ansi.js.map +1 -0
  513. package/dist/utils/changelog.d.ts +21 -0
  514. package/dist/utils/changelog.d.ts.map +1 -0
  515. package/dist/utils/changelog.js +87 -0
  516. package/dist/utils/changelog.js.map +1 -0
  517. package/dist/utils/child-process.d.ts +12 -0
  518. package/dist/utils/child-process.d.ts.map +1 -0
  519. package/dist/utils/child-process.js +86 -0
  520. package/dist/utils/child-process.js.map +1 -0
  521. package/dist/utils/clipboard-image.d.ts +11 -0
  522. package/dist/utils/clipboard-image.d.ts.map +1 -0
  523. package/dist/utils/clipboard-image.js +245 -0
  524. package/dist/utils/clipboard-image.js.map +1 -0
  525. package/dist/utils/clipboard-native.d.ts +8 -0
  526. package/dist/utils/clipboard-native.d.ts.map +1 -0
  527. package/dist/utils/clipboard-native.js +14 -0
  528. package/dist/utils/clipboard-native.js.map +1 -0
  529. package/dist/utils/clipboard.d.ts +2 -0
  530. package/dist/utils/clipboard.d.ts.map +1 -0
  531. package/dist/utils/clipboard.js +117 -0
  532. package/dist/utils/clipboard.js.map +1 -0
  533. package/dist/utils/exif-orientation.d.ts +5 -0
  534. package/dist/utils/exif-orientation.d.ts.map +1 -0
  535. package/dist/utils/exif-orientation.js +158 -0
  536. package/dist/utils/exif-orientation.js.map +1 -0
  537. package/dist/utils/frontmatter.d.ts +8 -0
  538. package/dist/utils/frontmatter.d.ts.map +1 -0
  539. package/dist/utils/frontmatter.js +26 -0
  540. package/dist/utils/frontmatter.js.map +1 -0
  541. package/dist/utils/fs-watch.d.ts +5 -0
  542. package/dist/utils/fs-watch.d.ts.map +1 -0
  543. package/dist/utils/fs-watch.js +25 -0
  544. package/dist/utils/fs-watch.js.map +1 -0
  545. package/dist/utils/git.d.ts +26 -0
  546. package/dist/utils/git.d.ts.map +1 -0
  547. package/dist/utils/git.js +163 -0
  548. package/dist/utils/git.js.map +1 -0
  549. package/dist/utils/html.d.ts +7 -0
  550. package/dist/utils/html.d.ts.map +1 -0
  551. package/dist/utils/html.js +40 -0
  552. package/dist/utils/html.js.map +1 -0
  553. package/dist/utils/image-convert.d.ts +9 -0
  554. package/dist/utils/image-convert.d.ts.map +1 -0
  555. package/dist/utils/image-convert.js +39 -0
  556. package/dist/utils/image-convert.js.map +1 -0
  557. package/dist/utils/image-resize.d.ts +36 -0
  558. package/dist/utils/image-resize.d.ts.map +1 -0
  559. package/dist/utils/image-resize.js +137 -0
  560. package/dist/utils/image-resize.js.map +1 -0
  561. package/dist/utils/mime.d.ts +3 -0
  562. package/dist/utils/mime.d.ts.map +1 -0
  563. package/dist/utils/mime.js +69 -0
  564. package/dist/utils/mime.js.map +1 -0
  565. package/dist/utils/paths.d.ts +16 -0
  566. package/dist/utils/paths.d.ts.map +1 -0
  567. package/dist/utils/paths.js +50 -0
  568. package/dist/utils/paths.js.map +1 -0
  569. package/dist/utils/photon.d.ts +21 -0
  570. package/dist/utils/photon.d.ts.map +1 -0
  571. package/dist/utils/photon.js +121 -0
  572. package/dist/utils/photon.js.map +1 -0
  573. package/dist/utils/pi-user-agent.d.ts +2 -0
  574. package/dist/utils/pi-user-agent.d.ts.map +1 -0
  575. package/dist/utils/pi-user-agent.js +5 -0
  576. package/dist/utils/pi-user-agent.js.map +1 -0
  577. package/dist/utils/shell.d.ts +30 -0
  578. package/dist/utils/shell.d.ts.map +1 -0
  579. package/dist/utils/shell.js +190 -0
  580. package/dist/utils/shell.js.map +1 -0
  581. package/dist/utils/sleep.d.ts +5 -0
  582. package/dist/utils/sleep.d.ts.map +1 -0
  583. package/dist/utils/sleep.js +17 -0
  584. package/dist/utils/sleep.js.map +1 -0
  585. package/dist/utils/syntax-highlight.d.ts +12 -0
  586. package/dist/utils/syntax-highlight.d.ts.map +1 -0
  587. package/dist/utils/syntax-highlight.js +118 -0
  588. package/dist/utils/syntax-highlight.js.map +1 -0
  589. package/dist/utils/tools-manager.d.ts +3 -0
  590. package/dist/utils/tools-manager.d.ts.map +1 -0
  591. package/dist/utils/tools-manager.js +325 -0
  592. package/dist/utils/tools-manager.js.map +1 -0
  593. package/dist/utils/uuid.d.ts +2 -0
  594. package/dist/utils/uuid.d.ts.map +1 -0
  595. package/dist/utils/uuid.js +40 -0
  596. package/dist/utils/uuid.js.map +1 -0
  597. package/dist/utils/version-check.d.ts +14 -0
  598. package/dist/utils/version-check.d.ts.map +1 -0
  599. package/dist/utils/version-check.js +77 -0
  600. package/dist/utils/version-check.js.map +1 -0
  601. package/docs/compaction.md +17 -17
  602. package/docs/custom-provider.md +42 -33
  603. package/docs/development.md +4 -4
  604. package/docs/docs.json +148 -0
  605. package/docs/extensions.md +308 -80
  606. package/docs/images/doom-extension.png +0 -0
  607. package/docs/images/exy.png +0 -0
  608. package/docs/images/interactive-mode.png +0 -0
  609. package/docs/images/tree-view.png +0 -0
  610. package/docs/index.md +70 -0
  611. package/docs/json.md +4 -4
  612. package/docs/keybindings.md +2 -2
  613. package/docs/models.md +84 -5
  614. package/docs/packages.md +15 -10
  615. package/docs/prompt-templates.md +2 -2
  616. package/docs/providers.md +68 -20
  617. package/docs/quickstart.md +142 -0
  618. package/docs/rpc.md +6 -6
  619. package/docs/sdk.md +58 -78
  620. package/docs/{session.md → session-format.md} +8 -8
  621. package/docs/sessions.md +137 -0
  622. package/docs/settings.md +49 -17
  623. package/docs/shell-aliases.md +1 -1
  624. package/docs/skills.md +4 -4
  625. package/docs/terminal-setup.md +2 -2
  626. package/docs/termux.md +6 -6
  627. package/docs/themes.md +6 -6
  628. package/docs/tmux.md +0 -0
  629. package/docs/tui.md +22 -22
  630. package/docs/usage.md +277 -0
  631. package/docs/windows.md +1 -1
  632. package/examples/README.md +0 -0
  633. package/examples/extensions/README.md +6 -6
  634. package/examples/extensions/antigravity-image-gen.ts +18 -18
  635. package/examples/extensions/auto-commit-on-exit.ts +1 -1
  636. package/examples/extensions/bash-spawn-hook.ts +3 -3
  637. package/examples/extensions/bookmark.ts +1 -1
  638. package/examples/extensions/border-status-editor.ts +145 -0
  639. package/examples/extensions/built-in-tool-renderer.ts +3 -3
  640. package/examples/extensions/claude-rules.ts +2 -2
  641. package/examples/extensions/commands.ts +2 -2
  642. package/examples/extensions/confirm-destructive.ts +1 -1
  643. package/examples/extensions/custom-compaction.ts +3 -3
  644. package/examples/extensions/custom-footer.ts +3 -3
  645. package/examples/extensions/custom-header.ts +2 -2
  646. package/examples/extensions/custom-provider-anthropic/index.ts +2 -2
  647. package/examples/extensions/custom-provider-anthropic/package-lock.json +4 -4
  648. package/examples/extensions/custom-provider-anthropic/package.json +2 -2
  649. package/examples/extensions/custom-provider-gitlab-duo/index.ts +2 -2
  650. package/examples/extensions/custom-provider-gitlab-duo/package.json +2 -2
  651. package/examples/extensions/custom-provider-gitlab-duo/test.ts +1 -1
  652. package/examples/extensions/custom-provider-qwen-cli/index.ts +3 -3
  653. package/examples/extensions/custom-provider-qwen-cli/package.json +2 -2
  654. package/examples/extensions/dirty-repo-guard.ts +1 -1
  655. package/examples/extensions/doom-overlay/README.md +0 -0
  656. package/examples/extensions/doom-overlay/doom/build/doom.js +0 -0
  657. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +0 -0
  658. package/examples/extensions/doom-overlay/doom-component.ts +2 -2
  659. package/examples/extensions/doom-overlay/doom-engine.ts +0 -0
  660. package/examples/extensions/doom-overlay/doom-keys.ts +1 -1
  661. package/examples/extensions/doom-overlay/index.ts +1 -1
  662. package/examples/extensions/doom-overlay/wad-finder.ts +0 -0
  663. package/examples/extensions/dynamic-resources/SKILL.md +0 -0
  664. package/examples/extensions/dynamic-resources/dynamic.json +1 -1
  665. package/examples/extensions/dynamic-resources/dynamic.md +0 -0
  666. package/examples/extensions/dynamic-resources/index.ts +1 -1
  667. package/examples/extensions/dynamic-tools.ts +3 -3
  668. package/examples/extensions/event-bus.ts +1 -1
  669. package/examples/extensions/file-trigger.ts +1 -1
  670. package/examples/extensions/git-checkpoint.ts +1 -1
  671. package/examples/extensions/github-issue-autocomplete.ts +185 -0
  672. package/examples/extensions/handoff.ts +52 -14
  673. package/examples/extensions/hello.ts +2 -2
  674. package/examples/extensions/hidden-thinking-label.ts +1 -1
  675. package/examples/extensions/inline-bash.ts +1 -1
  676. package/examples/extensions/input-transform.ts +1 -1
  677. package/examples/extensions/interactive-shell.ts +1 -1
  678. package/examples/extensions/mac-system-theme.ts +1 -1
  679. package/examples/extensions/message-renderer.ts +2 -2
  680. package/examples/extensions/minimal-mode.ts +3 -3
  681. package/examples/extensions/modal-editor.ts +2 -2
  682. package/examples/extensions/model-status.ts +1 -1
  683. package/examples/extensions/notify.ts +1 -1
  684. package/examples/extensions/overlay-qa-tests.ts +3 -3
  685. package/examples/extensions/overlay-test.ts +2 -2
  686. package/examples/extensions/permission-gate.ts +1 -1
  687. package/examples/extensions/pirate.ts +2 -2
  688. package/examples/extensions/plan-mode/README.md +0 -0
  689. package/examples/extensions/plan-mode/index.ts +4 -4
  690. package/examples/extensions/plan-mode/utils.ts +0 -0
  691. package/examples/extensions/preset.ts +15 -9
  692. package/examples/extensions/prompt-customizer.ts +97 -0
  693. package/examples/extensions/protected-paths.ts +1 -1
  694. package/examples/extensions/provider-payload.ts +2 -2
  695. package/examples/extensions/qna.ts +3 -3
  696. package/examples/extensions/question.ts +3 -3
  697. package/examples/extensions/questionnaire.ts +3 -3
  698. package/examples/extensions/rainbow-editor.ts +1 -1
  699. package/examples/extensions/reload-runtime.ts +2 -2
  700. package/examples/extensions/rpc-demo.ts +1 -1
  701. package/examples/extensions/sandbox/index.ts +8 -8
  702. package/examples/extensions/sandbox/package-lock.json +7 -7
  703. package/examples/extensions/sandbox/package.json +2 -2
  704. package/examples/extensions/send-user-message.ts +1 -1
  705. package/examples/extensions/session-name.ts +1 -1
  706. package/examples/extensions/shutdown-command.ts +2 -2
  707. package/examples/extensions/snake.ts +2 -2
  708. package/examples/extensions/space-invaders.ts +2 -2
  709. package/examples/extensions/ssh.ts +2 -2
  710. package/examples/extensions/status-line.ts +1 -1
  711. package/examples/extensions/stitch.ts +168 -0
  712. package/examples/extensions/structured-output.ts +65 -0
  713. package/examples/extensions/subagent/README.md +11 -11
  714. package/examples/extensions/subagent/agents/aery-agent.md +22 -0
  715. package/examples/extensions/subagent/agents/aery-ai.md +25 -0
  716. package/examples/extensions/subagent/agents/aery-core.md +19 -0
  717. package/examples/extensions/subagent/agents/aery-mom.md +25 -0
  718. package/examples/extensions/subagent/agents/aery-pods.md +24 -0
  719. package/examples/extensions/subagent/agents/aery-review.md +22 -0
  720. package/examples/extensions/subagent/agents/aery-tui.md +24 -0
  721. package/examples/extensions/subagent/agents/planner.md +0 -0
  722. package/examples/extensions/subagent/agents/reviewer.md +0 -0
  723. package/examples/extensions/subagent/agents/scout.md +0 -0
  724. package/examples/extensions/subagent/agents/worker.md +0 -0
  725. package/examples/extensions/subagent/agents.ts +2 -2
  726. package/examples/extensions/subagent/index.ts +9 -9
  727. package/examples/extensions/subagent/prompts/implement-and-review.md +0 -0
  728. package/examples/extensions/subagent/prompts/implement.md +0 -0
  729. package/examples/extensions/subagent/prompts/scout-and-plan.md +0 -0
  730. package/examples/extensions/summarize.ts +4 -4
  731. package/examples/extensions/system-prompt-header.ts +1 -1
  732. package/examples/extensions/tic-tac-toe.ts +4 -4
  733. package/examples/extensions/timed-confirm.ts +1 -1
  734. package/examples/extensions/titlebar-spinner.ts +1 -1
  735. package/examples/extensions/todo.ts +4 -4
  736. package/examples/extensions/tool-override.ts +3 -3
  737. package/examples/extensions/tools.ts +4 -4
  738. package/examples/extensions/trigger-compact.ts +1 -1
  739. package/examples/extensions/truncated-tool.ts +4 -4
  740. package/examples/extensions/widget-placement.ts +1 -1
  741. package/examples/extensions/with-deps/index.ts +2 -2
  742. package/examples/extensions/with-deps/package-lock.json +4 -4
  743. package/examples/extensions/with-deps/package.json +2 -2
  744. package/examples/extensions/working-indicator.ts +1 -1
  745. package/examples/extensions/working-message-test.ts +25 -0
  746. package/examples/rpc-extension-ui.ts +1 -1
  747. package/examples/sdk/01-minimal.ts +16 -12
  748. package/examples/sdk/02-custom-model.ts +14 -10
  749. package/examples/sdk/03-custom-prompt.ts +26 -18
  750. package/examples/sdk/04-skills.ts +4 -4
  751. package/examples/sdk/05-tools.ts +9 -5
  752. package/examples/sdk/06-extensions.ts +15 -11
  753. package/examples/sdk/07-context-files.ts +3 -3
  754. package/examples/sdk/08-prompt-templates.ts +4 -4
  755. package/examples/sdk/09-api-keys-and-oauth.ts +11 -7
  756. package/examples/sdk/10-settings.ts +5 -5
  757. package/examples/sdk/11-sessions.ts +5 -1
  758. package/examples/sdk/12-full-control.ts +13 -9
  759. package/examples/sdk/13-session-runtime.ts +1 -1
  760. package/examples/sdk/README.md +8 -11
  761. package/package.json +94 -101
  762. package/docs/tree.md +0 -233
File without changes
File without changes
File without changes
File without changes
package/docs/index.md ADDED
@@ -0,0 +1,70 @@
1
+ # Pi Documentation
2
+
3
+ Pi is a minimal terminal coding harness. It is designed to stay small at the core while being extended through TypeScript extensions, skills, prompt templates, themes, and pi packages.
4
+
5
+ ## Quick start
6
+
7
+ On linux or mac you can install Pi with curl:
8
+
9
+ ```bash
10
+ curl -fsSL https://eminent337.github.io/install.sh | sh
11
+ ```
12
+
13
+ Or alternatively with npm:
14
+
15
+ ```bash
16
+ npm install -g @eminent337/aery
17
+ ```
18
+
19
+ Then run it in a project directory:
20
+
21
+ ```bash
22
+ pi
23
+ ```
24
+
25
+ Authenticate with `/login` for subscription providers, or set an API key such as `ANTHROPIC_API_KEY` before starting pi.
26
+
27
+ For the full first-run flow, see [Quickstart](quickstart.md).
28
+
29
+ ## Start here
30
+
31
+ - [Quickstart](quickstart.md) - install, authenticate, and run a first session.
32
+ - [Using Pi](usage.md) - interactive mode, slash commands, context files, and CLI reference.
33
+ - [Providers](providers.md) - subscription and API-key setup for built-in providers.
34
+ - [Settings](settings.md) - global and project settings.
35
+ - [Keybindings](keybindings.md) - default shortcuts and custom keybindings.
36
+ - [Sessions](sessions.md) - session management, branching, and tree navigation.
37
+ - [Compaction](compaction.md) - context compaction and branch summarization.
38
+
39
+ ## Customization
40
+
41
+ - [Extensions](extensions.md) - TypeScript modules for tools, commands, events, and custom UI.
42
+ - [Skills](skills.md) - Agent Skills for reusable on-demand capabilities.
43
+ - [Prompt templates](prompt-templates.md) - reusable prompts that expand from slash commands.
44
+ - [Themes](themes.md) - built-in and custom terminal themes.
45
+ - [Pi packages](packages.md) - bundle and share extensions, skills, prompts, and themes.
46
+ - [Custom models](models.md) - add model entries for supported provider APIs.
47
+ - [Custom providers](custom-provider.md) - implement custom APIs and OAuth flows.
48
+
49
+ ## Programmatic usage
50
+
51
+ - [SDK](sdk.md) - embed pi in Node.js applications.
52
+ - [RPC mode](rpc.md) - integrate over stdin/stdout JSONL.
53
+ - [JSON event stream mode](json.md) - print mode with structured events.
54
+ - [TUI components](tui.md) - build custom terminal UI for extensions.
55
+
56
+ ## Reference
57
+
58
+ - [Session format](session-format.md) - JSONL session file format, entry types, and SessionManager API.
59
+
60
+ ## Platform setup
61
+
62
+ - [Windows](windows.md)
63
+ - [Termux on Android](termux.md)
64
+ - [tmux](tmux.md)
65
+ - [Terminal setup](terminal-setup.md)
66
+ - [Shell aliases](shell-aliases.md)
67
+
68
+ ## Development
69
+
70
+ - [Development](development.md) - local setup, project structure, and debugging.
package/docs/json.md CHANGED
@@ -8,7 +8,7 @@ Outputs all session events as JSON lines to stdout. Useful for integrating pi in
8
8
 
9
9
  ## Event Types
10
10
 
11
- Events are defined in [`AgentSessionEvent`](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/src/core/agent-session.ts#L102):
11
+ Events are defined in [`AgentSessionEvent`](https://github.com/eminent337/aery/blob/main/packages/coding-agent/src/core/agent-session.ts#L102):
12
12
 
13
13
  ```typescript
14
14
  type AgentSessionEvent =
@@ -22,7 +22,7 @@ type AgentSessionEvent =
22
22
 
23
23
  `queue_update` emits the full pending steering and follow-up queues whenever they change. `compaction_start` and `compaction_end` cover both manual and automatic compaction.
24
24
 
25
- Base events from [`AgentEvent`](https://github.com/badlogic/pi-mono/blob/main/packages/agent/src/types.ts#L179):
25
+ Base events from [`AgentEvent`](https://github.com/eminent337/aery/blob/main/packages/agent/src/types.ts#L179):
26
26
 
27
27
  ```typescript
28
28
  type AgentEvent =
@@ -44,12 +44,12 @@ type AgentEvent =
44
44
 
45
45
  ## Message Types
46
46
 
47
- Base messages from [`packages/ai/src/types.ts`](https://github.com/badlogic/pi-mono/blob/main/packages/ai/src/types.ts#L134):
47
+ Base messages from [`packages/ai/src/types.ts`](https://github.com/eminent337/aery/blob/main/packages/ai/src/types.ts#L134):
48
48
  - `UserMessage` (line 134)
49
49
  - `AssistantMessage` (line 140)
50
50
  - `ToolResultMessage` (line 152)
51
51
 
52
- Extended messages from [`packages/coding-agent/src/core/messages.ts`](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/src/core/messages.ts#L29):
52
+ Extended messages from [`packages/coding-agent/src/core/messages.ts`](https://github.com/eminent337/aery/blob/main/packages/coding-agent/src/core/messages.ts#L29):
53
53
  - `BashExecutionMessage` (line 29)
54
54
  - `CustomMessage` (line 46)
55
55
  - `BranchSummaryMessage` (line 55)
@@ -1,6 +1,6 @@
1
1
  # Keybindings
2
2
 
3
- All keyboard shortcuts can be customized via `~/.pi/agent/keybindings.json`. Each action can be bound to one or more keys.
3
+ All keyboard shortcuts can be customized via `~/.aery/agent/keybindings.json`. Each action can be bound to one or more keys.
4
4
 
5
5
  The config file uses the same namespaced keybinding ids that pi uses internally and that extension authors use in `keyHint()` and injected `keybindings` managers.
6
6
 
@@ -153,7 +153,7 @@ Used inside the scoped models selector (opened via `/scoped-models`).
153
153
 
154
154
  ## Custom Configuration
155
155
 
156
- Create `~/.pi/agent/keybindings.json`:
156
+ Create `~/.aery/agent/keybindings.json`:
157
157
 
158
158
  ```json
159
159
  {
package/docs/models.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Custom Models
2
2
 
3
- Add custom providers and models (Ollama, vLLM, LM Studio, proxies) via `~/.pi/agent/models.json`.
3
+ Add custom providers and models (Ollama, vLLM, LM Studio, proxies) via `~/.aery/agent/models.json`.
4
4
 
5
5
  ## Table of Contents
6
6
 
@@ -11,6 +11,7 @@ Add custom providers and models (Ollama, vLLM, LM Studio, proxies) via `~/.pi/ag
11
11
  - [Model Configuration](#model-configuration)
12
12
  - [Overriding Built-in Providers](#overriding-built-in-providers)
13
13
  - [Per-model Overrides](#per-model-overrides)
14
+ - [Anthropic Messages Compatibility](#anthropic-messages-compatibility)
14
15
  - [OpenAI Compatibility](#openai-compatibility)
15
16
 
16
17
  ## Minimal Example
@@ -191,16 +192,59 @@ If your command is slow, expensive, rate-limited, or should keep using a previou
191
192
  | `name` | No | `id` | Human-readable model label. Used for matching (`--model` patterns) and shown in model details/status text. |
192
193
  | `api` | No | provider's `api` | Override provider's API for this model |
193
194
  | `reasoning` | No | `false` | Supports extended thinking |
195
+ | `thinkingLevelMap` | No | omitted | Maps pi thinking levels to provider values and marks unsupported levels (see below) |
194
196
  | `input` | No | `["text"]` | Input types: `["text"]` or `["text", "image"]` |
195
197
  | `contextWindow` | No | `128000` | Context window size in tokens |
196
198
  | `maxTokens` | No | `16384` | Maximum output tokens |
197
199
  | `cost` | No | all zeros | `{"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}` (per million tokens) |
198
- | `compat` | No | provider `compat` | OpenAI compatibility overrides. Merged with provider-level `compat` when both are set. |
200
+ | `compat` | No | provider `compat` | Provider compatibility overrides. Merged with provider-level `compat` when both are set. |
199
201
 
200
202
  Current behavior:
201
203
  - `/model` and `--list-models` list entries by model `id`.
202
204
  - The configured `name` is used for model matching and detail/status text.
203
205
 
206
+ ### Thinking Level Map
207
+
208
+ Use `thinkingLevelMap` on a model to describe model-specific thinking controls. Keys are pi thinking levels: `off`, `minimal`, `low`, `medium`, `high`, `xhigh`.
209
+
210
+ Values are tristate:
211
+
212
+ | Value | Meaning |
213
+ |-------|---------|
214
+ | omitted | Level is supported and uses the provider's default mapping |
215
+ | string | Level is supported and this value is sent to the provider |
216
+ | `null` | Level is unsupported and hidden/skipped/clamped away |
217
+
218
+ Example for a model that only supports off, high, and max reasoning:
219
+
220
+ ```json
221
+ {
222
+ "id": "deepseek-v4-pro",
223
+ "reasoning": true,
224
+ "thinkingLevelMap": {
225
+ "minimal": null,
226
+ "low": null,
227
+ "medium": null,
228
+ "high": "high",
229
+ "xhigh": "max"
230
+ }
231
+ }
232
+ ```
233
+
234
+ Example for a model where thinking cannot be disabled:
235
+
236
+ ```json
237
+ {
238
+ "id": "always-thinking-model",
239
+ "reasoning": true,
240
+ "thinkingLevelMap": {
241
+ "off": null
242
+ }
243
+ }
244
+ ```
245
+
246
+ Migration: older configs that used `compat.reasoningEffortMap` should move that mapping to model-level `thinkingLevelMap`. Use `null` for levels that should not appear in the UI.
247
+
204
248
  ## Overriding Built-in Providers
205
249
 
206
250
  Route a built-in provider through a proxy without redefining models:
@@ -269,6 +313,40 @@ Behavior notes:
269
313
  - You can combine provider-level `baseUrl`/`headers` with `modelOverrides`.
270
314
  - If `models` is also defined for a provider, custom models are merged after built-in overrides. A custom model with the same `id` replaces the overridden built-in model entry.
271
315
 
316
+ ## Anthropic Messages Compatibility
317
+
318
+ For providers or proxies using `api: "anthropic-messages"`, use `compat.supportsEagerToolInputStreaming` to control Anthropic fine-grained tool streaming compatibility.
319
+
320
+ By default pi sends per-tool `eager_input_streaming: true`. If a proxy or Anthropic-compatible backend rejects that field, set `supportsEagerToolInputStreaming` to `false`. Pi will omit `tools[].eager_input_streaming` and send the legacy `fine-grained-tool-streaming-2025-05-14` beta header for tool-enabled requests instead.
321
+
322
+ ```json
323
+ {
324
+ "providers": {
325
+ "anthropic-proxy": {
326
+ "baseUrl": "https://proxy.example.com",
327
+ "api": "anthropic-messages",
328
+ "apiKey": "ANTHROPIC_PROXY_KEY",
329
+ "compat": {
330
+ "supportsEagerToolInputStreaming": false,
331
+ "supportsLongCacheRetention": true
332
+ },
333
+ "models": [
334
+ {
335
+ "id": "claude-opus-4-7",
336
+ "reasoning": true,
337
+ "input": ["text", "image"]
338
+ }
339
+ ]
340
+ }
341
+ }
342
+ }
343
+ ```
344
+
345
+ | Field | Description |
346
+ |-------|-------------|
347
+ | `supportsEagerToolInputStreaming` | Whether the provider accepts per-tool `eager_input_streaming`. Default: `true`. Set to `false` to omit that field and use the legacy fine-grained tool streaming beta header on tool-enabled requests. |
348
+ | `supportsLongCacheRetention` | Whether the provider accepts Anthropic long cache retention (`cache_control.ttl: "1h"`) when cache retention is `long`. Default: `true`. |
349
+
272
350
  ## OpenAI Compatibility
273
351
 
274
352
  For providers with partial OpenAI compatibility, use the `compat` field.
@@ -297,19 +375,20 @@ For providers with partial OpenAI compatibility, use the `compat` field.
297
375
  | `supportsStore` | Provider supports `store` field |
298
376
  | `supportsDeveloperRole` | Use `developer` vs `system` role |
299
377
  | `supportsReasoningEffort` | Support for `reasoning_effort` parameter |
300
- | `reasoningEffortMap` | Map pi thinking levels to provider-specific `reasoning_effort` values |
301
378
  | `supportsUsageInStreaming` | Supports `stream_options: { include_usage: true }` (default: `true`) |
302
379
  | `maxTokensField` | Use `max_completion_tokens` or `max_tokens` |
303
380
  | `requiresToolResultName` | Include `name` on tool result messages |
304
381
  | `requiresAssistantAfterToolResult` | Insert an assistant message before a user message after tool results |
305
382
  | `requiresThinkingAsText` | Convert thinking blocks to plain text |
306
- | `thinkingFormat` | Use `reasoning_effort`, `zai`, `qwen`, or `qwen-chat-template` thinking parameters |
383
+ | `requiresReasoningContentOnAssistantMessages` | Include empty `reasoning_content` on all replayed assistant messages when reasoning is enabled |
384
+ | `thinkingFormat` | Use `reasoning_effort`, `openrouter`, `deepseek`, `together`, `zai`, `qwen`, or `qwen-chat-template` thinking parameters |
307
385
  | `cacheControlFormat` | Use Anthropic-style `cache_control` markers on the system prompt, last tool definition, and last user/assistant text content. Currently only `anthropic` is supported. |
308
386
  | `supportsStrictMode` | Include the `strict` field in tool definitions |
387
+ | `supportsLongCacheRetention` | Whether the provider accepts long cache retention when cache retention is `long`: `prompt_cache_retention: "24h"` for OpenAI prompt caching, or `cache_control.ttl: "1h"` when `cacheControlFormat` is `anthropic`. Default: `true`. |
309
388
  | `openRouterRouting` | OpenRouter provider routing preferences. This object is sent as-is in the `provider` field of the [OpenRouter API request](https://openrouter.ai/docs/guides/routing/provider-selection). |
310
389
  | `vercelGatewayRouting` | Vercel AI Gateway routing config for provider selection (`only`, `order`) |
311
390
 
312
- `qwen` uses top-level `enable_thinking`. Use `qwen-chat-template` for local Qwen-compatible servers that require `chat_template_kwargs.enable_thinking`.
391
+ `openrouter` uses `reasoning: { effort }`. `together` uses `reasoning: { enabled }` and also `reasoning_effort` when `supportsReasoningEffort` is enabled. `qwen` uses top-level `enable_thinking`. Use `qwen-chat-template` for local Qwen-compatible servers that require `chat_template_kwargs.enable_thinking`.
313
392
 
314
393
  `cacheControlFormat: "anthropic"` is for OpenAI-compatible providers that expose Anthropic-style prompt caching through `cache_control` markers on text content and tool definitions.
315
394
 
package/docs/packages.md CHANGED
@@ -27,11 +27,16 @@ pi install /absolute/path/to/package
27
27
  pi install ./relative/path/to/package
28
28
 
29
29
  pi remove npm:@foo/bar
30
- pi list # show installed packages from settings
31
- pi update # update all non-pinned packages
30
+ pi list # show installed packages from settings
31
+ pi update # update pi and all non-pinned packages
32
+ pi update --extensions # update all non-pinned packages only
33
+ pi update --self # update pi only
34
+ pi update --self --force # reinstall pi even if current
35
+ pi update npm:@foo/bar # update one package
36
+ pi update --extension npm:@foo/bar
32
37
  ```
33
38
 
34
- By default, `install` and `remove` write to global settings (`~/.pi/agent/settings.json`). Use `-l` to write to project settings (`.pi/settings.json`) instead. Project settings can be shared with your team, and pi installs any missing packages automatically on startup.
39
+ By default, `install` and `remove` write to global settings (`~/.aery/agent/settings.json`). Use `-l` to write to project settings (`.aery/settings.json`) instead. Project settings can be shared with your team, and pi installs any missing packages automatically on startup.
35
40
 
36
41
  To try a package without installing it, use `--extension` or `-e`. This installs to a temporary directory for the current run only:
37
42
 
@@ -51,9 +56,9 @@ npm:@scope/pkg@1.2.3
51
56
  npm:pkg
52
57
  ```
53
58
 
54
- - Versioned specs are pinned and skipped by `pi update`.
59
+ - Versioned specs are pinned and skipped by package updates (`pi update`, `pi update --extensions`).
55
60
  - Global installs use `npm install -g`.
56
- - Project installs go under `.pi/npm/`.
61
+ - Project installs go under `.aery/npm/`.
57
62
  - Set `npmCommand` in `settings.json` to pin npm package lookup and install operations to a specific wrapper command such as `mise` or `asdf`.
58
63
 
59
64
  Example:
@@ -78,8 +83,8 @@ ssh://git@github.com/user/repo@v1
78
83
  - HTTPS and SSH URLs are both supported.
79
84
  - SSH URLs use your configured SSH keys automatically (respects `~/.ssh/config`).
80
85
  - For non-interactive runs (for example CI), you can set `GIT_TERMINAL_PROMPT=0` to disable credential prompts and set `GIT_SSH_COMMAND` (for example `ssh -o BatchMode=yes -o ConnectTimeout=5`) to fail fast.
81
- - Refs pin the package and skip `pi update`.
82
- - Cloned to `~/.pi/agent/git/<host>/<path>` (global) or `.pi/git/<host>/<path>` (project).
86
+ - Refs pin the package and skip package updates (`pi update`, `pi update --extensions`).
87
+ - Cloned to `~/.aery/agent/git/<host>/<path>` (global) or `.aery/git/<host>/<path>` (project).
83
88
  - Runs `npm install` after clone or pull if `package.json` exists.
84
89
 
85
90
  **SSH examples:**
@@ -124,7 +129,7 @@ Paths are relative to the package root. Arrays support glob patterns and `!exclu
124
129
 
125
130
  ### Gallery Metadata
126
131
 
127
- The [package gallery](https://shittycodingagent.ai/packages) displays packages tagged with `pi-package`. Add `video` or `image` fields to show a preview:
132
+ The [package gallery](https://eminent337.github.io/packages) displays packages tagged with `pi-package`. Add `video` or `image` fields to show a preview:
128
133
 
129
134
  ```json
130
135
  {
@@ -158,7 +163,7 @@ If no `pi` manifest is present, pi auto-discovers resources from these directori
158
163
 
159
164
  Third party runtime dependencies belong in `dependencies` in `package.json`. Dependencies that do not register extensions, skills, prompt templates, or themes also belong in `dependencies`. When pi installs a package from npm or git, it runs `npm install`, so those dependencies are installed automatically.
160
165
 
161
- Pi bundles core packages for extensions and skills. If you import any of these, list them in `peerDependencies` with a `"*"` range and do not bundle them: `@mariozechner/pi-ai`, `@mariozechner/pi-agent-core`, `@mariozechner/pi-coding-agent`, `@mariozechner/pi-tui`, `@sinclair/typebox`.
166
+ Pi bundles core packages for extensions and skills. If you import any of these, list them in `peerDependencies` with a `"*"` range and do not bundle them: `@eminent337/aery-ai`, `@eminent337/aery-core`, `@eminent337/aery`, `@eminent337/aery-tui`, `typebox`.
162
167
 
163
168
  Other pi packages must be bundled in your tarball. Add them to `dependencies` and `bundledDependencies`, then reference their resources through `node_modules/` paths. Pi loads packages with separate module roots, so separate installs do not collide or share modules.
164
169
 
@@ -207,7 +212,7 @@ Filter what a package loads using the object form in settings:
207
212
 
208
213
  ## Enable and Disable Resources
209
214
 
210
- Use `pi config` to enable or disable extensions, skills, prompt templates, and themes from installed packages and local directories. Works for both global (`~/.pi/agent`) and project (`.pi/`) scopes.
215
+ Use `pi config` to enable or disable extensions, skills, prompt templates, and themes from installed packages and local directories. Works for both global (`~/.aery/agent`) and project (`.aery/`) scopes.
211
216
 
212
217
  ## Scope and Deduplication
213
218
 
@@ -8,8 +8,8 @@ Prompt templates are Markdown snippets that expand into full prompts. Type `/nam
8
8
 
9
9
  Pi loads prompt templates from:
10
10
 
11
- - Global: `~/.pi/agent/prompts/*.md`
12
- - Project: `.pi/prompts/*.md`
11
+ - Global: `~/.aery/agent/prompts/*.md`
12
+ - Project: `.aery/prompts/*.md`
13
13
  - Packages: `prompts/` directories or `pi.prompts` entries in `package.json`
14
14
  - Settings: `prompts` array with files or directories
15
15
  - CLI: `--prompt-template <path>` (repeatable)
package/docs/providers.md CHANGED
@@ -15,36 +15,31 @@ Pi supports subscription-based providers via OAuth and API key providers via env
15
15
 
16
16
  Use `/login` in interactive mode, then select a provider:
17
17
 
18
- - Claude Pro/Max
19
18
  - ChatGPT Plus/Pro (Codex)
19
+ - Claude Pro/Max
20
20
  - GitHub Copilot
21
- - Google Gemini CLI
22
- - Google Antigravity
23
21
 
24
- Use `/logout` to clear credentials. Tokens are stored in `~/.pi/agent/auth.json` and auto-refresh when expired.
22
+ Use `/logout` to clear credentials. Tokens are stored in `~/.aery/agent/auth.json` and auto-refresh when expired.
25
23
 
26
- ### GitHub Copilot
24
+ ### OpenAI Codex
27
25
 
28
- - Press Enter for github.com, or enter your GitHub Enterprise Server domain
29
- - If you get "model not supported", enable it in VS Code: Copilot Chat → model selector → select model → "Enable"
26
+ - Requires ChatGPT Plus or Pro subscription
27
+ - Officially endorsed by OpenAI: [Codex for OSS](https://developers.openai.com/community/codex-for-oss)
30
28
 
31
- ### Google Providers
29
+ ### Claude Pro/Max
32
30
 
33
- - **Gemini CLI**: Standard Gemini models via Cloud Code Assist
34
- - **Antigravity**: Sandbox with Gemini 3, Claude, and GPT-OSS models
35
- - Both free with any Google account, subject to rate limits
36
- - For paid Cloud Code Assist: set `GOOGLE_CLOUD_PROJECT` env var
31
+ Anthropic subscription auth is active for Claude Pro/Max accounts. Third-party harness usage draws from [extra usage](https://claude.ai/settings/usage) and is billed per token, not against Claude plan limits.
37
32
 
38
- ### OpenAI Codex
33
+ ### GitHub Copilot
39
34
 
40
- - Requires ChatGPT Plus or Pro subscription
41
- - Personal use only; for production, use the OpenAI Platform API
35
+ - Press Enter for github.com, or enter your GitHub Enterprise Server domain
36
+ - If you get "model not supported", enable it in VS Code: Copilot Chat → model selector → select model → "Enable"
42
37
 
43
38
  ## API Keys
44
39
 
45
40
  ### Environment Variables or Auth File
46
41
 
47
- Set via environment variable:
42
+ Use `/login` in interactive mode and select a provider to store an API key in `auth.json`, or set credentials via environment variable:
48
43
 
49
44
  ```bash
50
45
  export ANTHROPIC_API_KEY=sk-ant-...
@@ -56,10 +51,13 @@ pi
56
51
  | Anthropic | `ANTHROPIC_API_KEY` | `anthropic` |
57
52
  | Azure OpenAI Responses | `AZURE_OPENAI_API_KEY` | `azure-openai-responses` |
58
53
  | OpenAI | `OPENAI_API_KEY` | `openai` |
54
+ | DeepSeek | `DEEPSEEK_API_KEY` | `deepseek` |
59
55
  | Google Gemini | `GEMINI_API_KEY` | `google` |
60
56
  | Mistral | `MISTRAL_API_KEY` | `mistral` |
61
57
  | Groq | `GROQ_API_KEY` | `groq` |
62
58
  | Cerebras | `CEREBRAS_API_KEY` | `cerebras` |
59
+ | Cloudflare AI Gateway | `CLOUDFLARE_API_KEY` (+ `CLOUDFLARE_ACCOUNT_ID`, `CLOUDFLARE_GATEWAY_ID`) | `cloudflare-ai-gateway` |
60
+ | Cloudflare Workers AI | `CLOUDFLARE_API_KEY` (+ `CLOUDFLARE_ACCOUNT_ID`) | `cloudflare-workers-ai` |
63
61
  | xAI | `XAI_API_KEY` | `xai` |
64
62
  | OpenRouter | `OPENROUTER_API_KEY` | `openrouter` |
65
63
  | Vercel AI Gateway | `AI_GATEWAY_API_KEY` | `vercel-ai-gateway` |
@@ -67,23 +65,35 @@ pi
67
65
  | OpenCode Zen | `OPENCODE_API_KEY` | `opencode` |
68
66
  | OpenCode Go | `OPENCODE_API_KEY` | `opencode-go` |
69
67
  | Hugging Face | `HF_TOKEN` | `huggingface` |
68
+ | Fireworks | `FIREWORKS_API_KEY` | `fireworks` |
69
+ | Together AI | `TOGETHER_API_KEY` | `together` |
70
70
  | Kimi For Coding | `KIMI_API_KEY` | `kimi-coding` |
71
71
  | MiniMax | `MINIMAX_API_KEY` | `minimax` |
72
72
  | MiniMax (China) | `MINIMAX_CN_API_KEY` | `minimax-cn` |
73
+ | Xiaomi MiMo | `XIAOMI_API_KEY` | `xiaomi` |
74
+ | Xiaomi MiMo Token Plan (China) | `XIAOMI_TOKEN_PLAN_CN_API_KEY` | `xiaomi-token-plan-cn` |
75
+ | Xiaomi MiMo Token Plan (Amsterdam) | `XIAOMI_TOKEN_PLAN_AMS_API_KEY` | `xiaomi-token-plan-ams` |
76
+ | Xiaomi MiMo Token Plan (Singapore) | `XIAOMI_TOKEN_PLAN_SGP_API_KEY` | `xiaomi-token-plan-sgp` |
73
77
 
74
- Reference for environment variables and `auth.json` keys: [`const envMap`](https://github.com/badlogic/pi-mono/blob/main/packages/ai/src/env-api-keys.ts) in [`packages/ai/src/env-api-keys.ts`](https://github.com/badlogic/pi-mono/blob/main/packages/ai/src/env-api-keys.ts).
78
+ Reference for environment variables and `auth.json` keys: [`const envMap`](https://github.com/eminent337/aery/blob/main/packages/ai/src/env-api-keys.ts) in [`packages/ai/src/env-api-keys.ts`](https://github.com/eminent337/aery/blob/main/packages/ai/src/env-api-keys.ts).
75
79
 
76
80
  #### Auth File
77
81
 
78
- Store credentials in `~/.pi/agent/auth.json`:
82
+ Store credentials in `~/.aery/agent/auth.json`:
79
83
 
80
84
  ```json
81
85
  {
82
86
  "anthropic": { "type": "api_key", "key": "sk-ant-..." },
83
87
  "openai": { "type": "api_key", "key": "sk-..." },
88
+ "deepseek": { "type": "api_key", "key": "sk-..." },
84
89
  "google": { "type": "api_key", "key": "..." },
85
90
  "opencode": { "type": "api_key", "key": "..." },
86
- "opencode-go": { "type": "api_key", "key": "..." }
91
+ "opencode-go": { "type": "api_key", "key": "..." },
92
+ "together": { "type": "api_key", "key": "..." },
93
+ "xiaomi": { "type": "api_key", "key": "..." },
94
+ "xiaomi-token-plan-cn": { "type": "api_key", "key": "..." },
95
+ "xiaomi-token-plan-ams": { "type": "api_key", "key": "..." },
96
+ "xiaomi-token-plan-sgp": { "type": "api_key", "key": "..." }
87
97
  }
88
98
  ```
89
99
 
@@ -116,11 +126,13 @@ OAuth credentials are also stored here after `/login` and managed automatically.
116
126
  ```bash
117
127
  export AZURE_OPENAI_API_KEY=...
118
128
  export AZURE_OPENAI_BASE_URL=https://your-resource.openai.azure.com
129
+ # also supported: https://your-resource.cognitiveservices.azure.com
130
+ # root endpoints are auto-normalized to /openai/v1
119
131
  # or use resource name instead of base URL
120
132
  export AZURE_OPENAI_RESOURCE_NAME=your-resource
121
133
 
122
134
  # Optional
123
- export AZURE_OPENAI_API_VERSION=2024-02-01
135
+ export AZURE_OPENAI_AAERY_VERSION=2024-02-01
124
136
  export AZURE_OPENAI_DEPLOYMENT_NAME_MAP=gpt-4=my-gpt4,gpt-4o=my-gpt4o
125
137
  ```
126
138
 
@@ -167,6 +179,42 @@ export AWS_BEDROCK_SKIP_AUTH=1
167
179
  export AWS_BEDROCK_FORCE_HTTP1=1
168
180
  ```
169
181
 
182
+ ### Cloudflare AI Gateway
183
+
184
+ `CLOUDFLARE_API_KEY` can be set via `/login`. The account ID and gateway slug must be set as environment variables.
185
+
186
+ ```bash
187
+ export CLOUDFLARE_API_KEY=... # or use /login
188
+ export CLOUDFLARE_ACCOUNT_ID=...
189
+ export CLOUDFLARE_GATEWAY_ID=... # create at dash.cloudflare.com → AI → AI Gateway
190
+ pi --provider cloudflare-ai-gateway --model "claude-sonnet-4-5"
191
+ ```
192
+
193
+ Routes to OpenAI, Anthropic, and Workers AI through Cloudflare AI Gateway. Workers AI uses the Unified API (`/compat`) and prefixed model IDs (`workers-ai/@cf/...`). OpenAI uses the OpenAI passthrough route (`/openai`) with native OpenAI model IDs such as `gpt-5.1`. Anthropic uses the Anthropic passthrough route (`/anthropic`) with native Anthropic model IDs such as `claude-sonnet-4-5`.
194
+
195
+ AI Gateway authentication uses `CLOUDFLARE_API_KEY` as `cf-aig-authorization`. Upstream authentication can be one of:
196
+
197
+ | Mode | Request auth | Upstream auth |
198
+ |------|--------------|---------------|
199
+ | Workers AI | Cloudflare token only | Cloudflare-native |
200
+ | Unified billing | Cloudflare token only | Cloudflare handles upstream auth and deducts credits |
201
+ | Stored BYOK | Cloudflare token only | Cloudflare injects provider keys stored in the AI Gateway dashboard |
202
+ | Inline BYOK | Cloudflare token plus upstream `Authorization` header | The request supplies the upstream provider key |
203
+
204
+ For normal pi usage, prefer unified billing or stored BYOK. Inline BYOK requires configuring an additional upstream `Authorization` header for the Cloudflare AI Gateway provider, for example via a `models.json` provider/model override.
205
+
206
+ ### Cloudflare Workers AI
207
+
208
+ `CLOUDFLARE_API_KEY` can be set via `/login`. `CLOUDFLARE_ACCOUNT_ID` must be set as an environment variable.
209
+
210
+ ```bash
211
+ export CLOUDFLARE_API_KEY=... # or use /login
212
+ export CLOUDFLARE_ACCOUNT_ID=...
213
+ pi --provider cloudflare-workers-ai --model "@cf/moonshotai/kimi-k2.6"
214
+ ```
215
+
216
+ Pi automatically sets `x-session-affinity` for [prefix caching](https://developers.cloudflare.com/workers-ai/features/prompt-caching/) discounts.
217
+
170
218
  ### Google Vertex AI
171
219
 
172
220
  Uses Application Default Credentials:
@@ -0,0 +1,142 @@
1
+ # Quickstart
2
+
3
+ This page gets you from install to a useful first pi session.
4
+
5
+ ## Install
6
+
7
+ Pi is distributed as an npm package:
8
+
9
+ ```bash
10
+ npm install -g @eminent337/aery
11
+ ```
12
+
13
+ Then start pi in the project directory you want it to work on:
14
+
15
+ ```bash
16
+ cd /path/to/project
17
+ pi
18
+ ```
19
+
20
+ ## Authenticate
21
+
22
+ Pi can use subscription providers through `/login`, or API-key providers through environment variables or the auth file.
23
+
24
+ ### Option 1: subscription login
25
+
26
+ Start pi and run:
27
+
28
+ ```text
29
+ /login
30
+ ```
31
+
32
+ Then select a provider. Built-in subscription logins include Claude Pro/Max, ChatGPT Plus/Pro (Codex), and GitHub Copilot.
33
+
34
+ ### Option 2: API key
35
+
36
+ Set an API key before launching pi:
37
+
38
+ ```bash
39
+ export ANTHROPIC_API_KEY=sk-ant-...
40
+ pi
41
+ ```
42
+
43
+ You can also run `/login` and select an API-key provider to store the key in `~/.aery/agent/auth.json`.
44
+
45
+ See [Providers](providers.md) for all supported providers, environment variables, and cloud-provider setup.
46
+
47
+ ## First session
48
+
49
+ Once pi starts, type a request and press Enter:
50
+
51
+ ```text
52
+ Summarize this repository and tell me how to run its checks.
53
+ ```
54
+
55
+ By default, pi gives the model four tools:
56
+
57
+ - `read` - read files
58
+ - `write` - create or overwrite files
59
+ - `edit` - patch files
60
+ - `bash` - run shell commands
61
+
62
+ Additional built-in read-only tools (`grep`, `find`, `ls`) are available through tool options. Pi runs in your current working directory and can modify files there. Use git or another checkpointing workflow if you want easy rollback.
63
+
64
+ ## Give pi project instructions
65
+
66
+ Pi loads context files at startup. Add an `AGENTS.md` file to tell it how to work in a project:
67
+
68
+ ```markdown
69
+ # Project Instructions
70
+
71
+ - Run `npm run check` after code changes.
72
+ - Do not run production migrations locally.
73
+ - Keep responses concise.
74
+ ```
75
+
76
+ Pi loads:
77
+
78
+ - `~/.aery/agent/AGENTS.md` for global instructions
79
+ - `AGENTS.md` or `CLAUDE.md` from parent directories and the current directory
80
+
81
+ Restart pi, or run `/reload`, after changing context files.
82
+
83
+ ## Common things to try
84
+
85
+ ### Reference files
86
+
87
+ Type `@` in the editor to fuzzy-search files, or pass files on the command line:
88
+
89
+ ```bash
90
+ pi @README.md "Summarize this"
91
+ pi @src/app.ts @src/app.test.ts "Review these together"
92
+ ```
93
+
94
+ Images can be pasted with Ctrl+V (Alt+V on Windows) or dragged into supported terminals.
95
+
96
+ ### Run shell commands
97
+
98
+ In interactive mode:
99
+
100
+ ```text
101
+ !npm run lint
102
+ ```
103
+
104
+ The command output is sent to the model. Use `!!command` to run a command without adding its output to the model context.
105
+
106
+ ### Switch models
107
+
108
+ Use `/model` or Ctrl+L to choose a model. Use Shift+Tab to cycle thinking level. Use Ctrl+P / Shift+Ctrl+P to cycle through scoped models.
109
+
110
+ ### Continue later
111
+
112
+ Sessions are saved automatically:
113
+
114
+ ```bash
115
+ pi -c # Continue most recent session
116
+ pi -r # Browse previous sessions
117
+ pi --session <path|id> # Open a specific session
118
+ ```
119
+
120
+ Inside pi, use `/resume`, `/new`, `/tree`, `/fork`, and `/clone` to manage sessions.
121
+
122
+ ### Non-interactive mode
123
+
124
+ For one-shot prompts:
125
+
126
+ ```bash
127
+ pi -p "Summarize this codebase"
128
+ cat README.md | pi -p "Summarize this text"
129
+ pi -p @screenshot.png "What's in this image?"
130
+ ```
131
+
132
+ Use `--mode json` for JSON event output or `--mode rpc` for process integration.
133
+
134
+ ## Next steps
135
+
136
+ - [Using Pi](usage.md) - interactive mode, slash commands, sessions, context files, and CLI reference.
137
+ - [Providers](providers.md) - authentication and model setup.
138
+ - [Settings](settings.md) - global and project configuration.
139
+ - [Keybindings](keybindings.md) - shortcuts and customization.
140
+ - [Pi Packages](packages.md) - install shared extensions, skills, prompts, and themes.
141
+
142
+ Platform notes: [Windows](windows.md), [Termux](termux.md), [tmux](tmux.md), [Terminal setup](terminal-setup.md), [Shell aliases](shell-aliases.md).