apex-code 0.0.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (968) hide show
  1. package/CHANGELOG.md +5436 -0
  2. package/README.md +712 -0
  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 +11 -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 +17 -0
  12. package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
  13. package/dist/bun/restore-sandbox-env.js +36 -0
  14. package/dist/bun/restore-sandbox-env.js.map +1 -0
  15. package/dist/cli/args.d.ts +59 -0
  16. package/dist/cli/args.d.ts.map +1 -0
  17. package/dist/cli/args.js +408 -0
  18. package/dist/cli/args.js.map +1 -0
  19. package/dist/cli/auth-check.d.ts +19 -0
  20. package/dist/cli/auth-check.d.ts.map +1 -0
  21. package/dist/cli/auth-check.js +50 -0
  22. package/dist/cli/auth-check.js.map +1 -0
  23. package/dist/cli/auth-command.d.ts +24 -0
  24. package/dist/cli/auth-command.d.ts.map +1 -0
  25. package/dist/cli/auth-command.js +102 -0
  26. package/dist/cli/auth-command.js.map +1 -0
  27. package/dist/cli/config-selector.d.ts +16 -0
  28. package/dist/cli/config-selector.d.ts.map +1 -0
  29. package/dist/cli/config-selector.js +31 -0
  30. package/dist/cli/config-selector.js.map +1 -0
  31. package/dist/cli/credential-print.d.ts +13 -0
  32. package/dist/cli/credential-print.d.ts.map +1 -0
  33. package/dist/cli/credential-print.js +76 -0
  34. package/dist/cli/credential-print.js.map +1 -0
  35. package/dist/cli/experimental/auth.d.ts +16 -0
  36. package/dist/cli/experimental/auth.d.ts.map +1 -0
  37. package/dist/cli/experimental/auth.js +13 -0
  38. package/dist/cli/experimental/auth.js.map +1 -0
  39. package/dist/cli/experimental/cli.d.ts +6 -0
  40. package/dist/cli/experimental/cli.d.ts.map +1 -0
  41. package/dist/cli/experimental/cli.js +5 -0
  42. package/dist/cli/experimental/cli.js.map +1 -0
  43. package/dist/cli/experimental/command-options.d.ts +17 -0
  44. package/dist/cli/experimental/command-options.d.ts.map +1 -0
  45. package/dist/cli/experimental/command-options.js +35 -0
  46. package/dist/cli/experimental/command-options.js.map +1 -0
  47. package/dist/cli/experimental/command.d.ts +63 -0
  48. package/dist/cli/experimental/command.d.ts.map +1 -0
  49. package/dist/cli/experimental/command.js +130 -0
  50. package/dist/cli/experimental/command.js.map +1 -0
  51. package/dist/cli/experimental/commands/client.d.ts +13 -0
  52. package/dist/cli/experimental/commands/client.d.ts.map +1 -0
  53. package/dist/cli/experimental/commands/client.js +25 -0
  54. package/dist/cli/experimental/commands/client.js.map +1 -0
  55. package/dist/cli/experimental/commands/pi.d.ts +15 -0
  56. package/dist/cli/experimental/commands/pi.d.ts.map +1 -0
  57. package/dist/cli/experimental/commands/pi.js +28 -0
  58. package/dist/cli/experimental/commands/pi.js.map +1 -0
  59. package/dist/cli/experimental/commands/server.d.ts +13 -0
  60. package/dist/cli/experimental/commands/server.d.ts.map +1 -0
  61. package/dist/cli/experimental/commands/server.js +25 -0
  62. package/dist/cli/experimental/commands/server.js.map +1 -0
  63. package/dist/cli/experimental/transport-address.d.ts +10 -0
  64. package/dist/cli/experimental/transport-address.d.ts.map +1 -0
  65. package/dist/cli/experimental/transport-address.js +38 -0
  66. package/dist/cli/experimental/transport-address.js.map +1 -0
  67. package/dist/cli/file-processor.d.ts +15 -0
  68. package/dist/cli/file-processor.d.ts.map +1 -0
  69. package/dist/cli/file-processor.js +70 -0
  70. package/dist/cli/file-processor.js.map +1 -0
  71. package/dist/cli/initial-message.d.ts +18 -0
  72. package/dist/cli/initial-message.d.ts.map +1 -0
  73. package/dist/cli/initial-message.js +22 -0
  74. package/dist/cli/initial-message.js.map +1 -0
  75. package/dist/cli/list-models.d.ts +9 -0
  76. package/dist/cli/list-models.d.ts.map +1 -0
  77. package/dist/cli/list-models.js +98 -0
  78. package/dist/cli/list-models.js.map +1 -0
  79. package/dist/cli/project-trust.d.ts +10 -0
  80. package/dist/cli/project-trust.d.ts.map +1 -0
  81. package/dist/cli/project-trust.js +48 -0
  82. package/dist/cli/project-trust.js.map +1 -0
  83. package/dist/cli/session-picker.d.ts +10 -0
  84. package/dist/cli/session-picker.d.ts.map +1 -0
  85. package/dist/cli/session-picker.js +36 -0
  86. package/dist/cli/session-picker.js.map +1 -0
  87. package/dist/cli/startup-ui.d.ts +20 -0
  88. package/dist/cli/startup-ui.d.ts.map +1 -0
  89. package/dist/cli/startup-ui.js +184 -0
  90. package/dist/cli/startup-ui.js.map +1 -0
  91. package/dist/cli.d.ts +3 -0
  92. package/dist/cli.d.ts.map +1 -0
  93. package/dist/cli.js +19 -0
  94. package/dist/cli.js.map +1 -0
  95. package/dist/client/index.d.ts +3 -0
  96. package/dist/client/index.d.ts.map +1 -0
  97. package/dist/client/index.js +3 -0
  98. package/dist/client/index.js.map +1 -0
  99. package/dist/client/remote-session.d.ts +53 -0
  100. package/dist/client/remote-session.d.ts.map +1 -0
  101. package/dist/client/remote-session.js +340 -0
  102. package/dist/client/remote-session.js.map +1 -0
  103. package/dist/client/transcript.d.ts +12 -0
  104. package/dist/client/transcript.d.ts.map +1 -0
  105. package/dist/client/transcript.js +98 -0
  106. package/dist/client/transcript.js.map +1 -0
  107. package/dist/config.d.ts +96 -0
  108. package/dist/config.d.ts.map +1 -0
  109. package/dist/config.js +455 -0
  110. package/dist/config.js.map +1 -0
  111. package/dist/core/agent-session-runtime.d.ts +119 -0
  112. package/dist/core/agent-session-runtime.d.ts.map +1 -0
  113. package/dist/core/agent-session-runtime.js +309 -0
  114. package/dist/core/agent-session-runtime.js.map +1 -0
  115. package/dist/core/agent-session-services.d.ts +86 -0
  116. package/dist/core/agent-session-services.d.ts.map +1 -0
  117. package/dist/core/agent-session-services.js +134 -0
  118. package/dist/core/agent-session-services.js.map +1 -0
  119. package/dist/core/agent-session.d.ts +644 -0
  120. package/dist/core/agent-session.d.ts.map +1 -0
  121. package/dist/core/agent-session.js +2687 -0
  122. package/dist/core/agent-session.js.map +1 -0
  123. package/dist/core/auth-guidance.d.ts +5 -0
  124. package/dist/core/auth-guidance.d.ts.map +1 -0
  125. package/dist/core/auth-guidance.js +21 -0
  126. package/dist/core/auth-guidance.js.map +1 -0
  127. package/dist/core/auth-storage.d.ts +72 -0
  128. package/dist/core/auth-storage.d.ts.map +1 -0
  129. package/dist/core/auth-storage.js +427 -0
  130. package/dist/core/auth-storage.js.map +1 -0
  131. package/dist/core/bash-executor.d.ts +32 -0
  132. package/dist/core/bash-executor.d.ts.map +1 -0
  133. package/dist/core/bash-executor.js +111 -0
  134. package/dist/core/bash-executor.js.map +1 -0
  135. package/dist/core/cache-stats.d.ts +49 -0
  136. package/dist/core/cache-stats.d.ts.map +1 -0
  137. package/dist/core/cache-stats.js +101 -0
  138. package/dist/core/cache-stats.js.map +1 -0
  139. package/dist/core/compaction/branch-summarization.d.ts +98 -0
  140. package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
  141. package/dist/core/compaction/branch-summarization.js +246 -0
  142. package/dist/core/compaction/branch-summarization.js.map +1 -0
  143. package/dist/core/compaction/compaction.d.ts +137 -0
  144. package/dist/core/compaction/compaction.d.ts.map +1 -0
  145. package/dist/core/compaction/compaction.js +645 -0
  146. package/dist/core/compaction/compaction.js.map +1 -0
  147. package/dist/core/compaction/index.d.ts +7 -0
  148. package/dist/core/compaction/index.d.ts.map +1 -0
  149. package/dist/core/compaction/index.js +7 -0
  150. package/dist/core/compaction/index.js.map +1 -0
  151. package/dist/core/compaction/utils.d.ts +38 -0
  152. package/dist/core/compaction/utils.d.ts.map +1 -0
  153. package/dist/core/compaction/utils.js +142 -0
  154. package/dist/core/compaction/utils.js.map +1 -0
  155. package/dist/core/defaults.d.ts +3 -0
  156. package/dist/core/defaults.d.ts.map +1 -0
  157. package/dist/core/defaults.js +2 -0
  158. package/dist/core/defaults.js.map +1 -0
  159. package/dist/core/diagnostics.d.ts +15 -0
  160. package/dist/core/diagnostics.d.ts.map +1 -0
  161. package/dist/core/diagnostics.js +2 -0
  162. package/dist/core/diagnostics.js.map +1 -0
  163. package/dist/core/event-bus.d.ts +9 -0
  164. package/dist/core/event-bus.d.ts.map +1 -0
  165. package/dist/core/event-bus.js +25 -0
  166. package/dist/core/event-bus.js.map +1 -0
  167. package/dist/core/exec.d.ts +29 -0
  168. package/dist/core/exec.d.ts.map +1 -0
  169. package/dist/core/exec.js +75 -0
  170. package/dist/core/exec.js.map +1 -0
  171. package/dist/core/experimental.d.ts +2 -0
  172. package/dist/core/experimental.d.ts.map +1 -0
  173. package/dist/core/experimental.js +4 -0
  174. package/dist/core/experimental.js.map +1 -0
  175. package/dist/core/export-html/ansi-to-html.d.ts +22 -0
  176. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
  177. package/dist/core/export-html/ansi-to-html.js +249 -0
  178. package/dist/core/export-html/ansi-to-html.js.map +1 -0
  179. package/dist/core/export-html/index.d.ts +37 -0
  180. package/dist/core/export-html/index.d.ts.map +1 -0
  181. package/dist/core/export-html/index.js +226 -0
  182. package/dist/core/export-html/index.js.map +1 -0
  183. package/dist/core/export-html/template.css +1066 -0
  184. package/dist/core/export-html/template.html +55 -0
  185. package/dist/core/export-html/template.js +1864 -0
  186. package/dist/core/export-html/tool-renderer.d.ts +34 -0
  187. package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
  188. package/dist/core/export-html/tool-renderer.js +108 -0
  189. package/dist/core/export-html/tool-renderer.js.map +1 -0
  190. package/dist/core/export-html/vendor/highlight.min.js +1213 -0
  191. package/dist/core/export-html/vendor/marked.min.js +78 -0
  192. package/dist/core/extensions/index.d.ts +12 -0
  193. package/dist/core/extensions/index.d.ts.map +1 -0
  194. package/dist/core/extensions/index.js +9 -0
  195. package/dist/core/extensions/index.js.map +1 -0
  196. package/dist/core/extensions/loader.d.ts +23 -0
  197. package/dist/core/extensions/loader.d.ts.map +1 -0
  198. package/dist/core/extensions/loader.js +581 -0
  199. package/dist/core/extensions/loader.js.map +1 -0
  200. package/dist/core/extensions/runner.d.ts +173 -0
  201. package/dist/core/extensions/runner.d.ts.map +1 -0
  202. package/dist/core/extensions/runner.js +967 -0
  203. package/dist/core/extensions/runner.js.map +1 -0
  204. package/dist/core/extensions/types.d.ts +1295 -0
  205. package/dist/core/extensions/types.d.ts.map +1 -0
  206. package/dist/core/extensions/types.js +45 -0
  207. package/dist/core/extensions/types.js.map +1 -0
  208. package/dist/core/extensions/wrapper.d.ts +20 -0
  209. package/dist/core/extensions/wrapper.d.ts.map +1 -0
  210. package/dist/core/extensions/wrapper.js +41 -0
  211. package/dist/core/extensions/wrapper.js.map +1 -0
  212. package/dist/core/footer-data-provider.d.ts +64 -0
  213. package/dist/core/footer-data-provider.d.ts.map +1 -0
  214. package/dist/core/footer-data-provider.js +338 -0
  215. package/dist/core/footer-data-provider.js.map +1 -0
  216. package/dist/core/http-dispatcher.d.ts +22 -0
  217. package/dist/core/http-dispatcher.d.ts.map +1 -0
  218. package/dist/core/http-dispatcher.js +96 -0
  219. package/dist/core/http-dispatcher.js.map +1 -0
  220. package/dist/core/index.d.ts +13 -0
  221. package/dist/core/index.d.ts.map +1 -0
  222. package/dist/core/index.js +13 -0
  223. package/dist/core/index.js.map +1 -0
  224. package/dist/core/keybindings.d.ts +398 -0
  225. package/dist/core/keybindings.d.ts.map +1 -0
  226. package/dist/core/keybindings.js +296 -0
  227. package/dist/core/keybindings.js.map +1 -0
  228. package/dist/core/messages.d.ts +77 -0
  229. package/dist/core/messages.d.ts.map +1 -0
  230. package/dist/core/messages.js +123 -0
  231. package/dist/core/messages.js.map +1 -0
  232. package/dist/core/model-config.d.ts +566 -0
  233. package/dist/core/model-config.d.ts.map +1 -0
  234. package/dist/core/model-config.js +253 -0
  235. package/dist/core/model-config.js.map +1 -0
  236. package/dist/core/model-registry.d.ts +45 -0
  237. package/dist/core/model-registry.d.ts.map +1 -0
  238. package/dist/core/model-registry.js +107 -0
  239. package/dist/core/model-registry.js.map +1 -0
  240. package/dist/core/model-resolver.d.ts +123 -0
  241. package/dist/core/model-resolver.d.ts.map +1 -0
  242. package/dist/core/model-resolver.js +583 -0
  243. package/dist/core/model-resolver.js.map +1 -0
  244. package/dist/core/model-runtime.d.ts +100 -0
  245. package/dist/core/model-runtime.d.ts.map +1 -0
  246. package/dist/core/model-runtime.js +599 -0
  247. package/dist/core/model-runtime.js.map +1 -0
  248. package/dist/core/models-store.d.ts +22 -0
  249. package/dist/core/models-store.d.ts.map +1 -0
  250. package/dist/core/models-store.js +114 -0
  251. package/dist/core/models-store.js.map +1 -0
  252. package/dist/core/output-guard.d.ts +7 -0
  253. package/dist/core/output-guard.d.ts.map +1 -0
  254. package/dist/core/output-guard.js +89 -0
  255. package/dist/core/output-guard.js.map +1 -0
  256. package/dist/core/package-manager.d.ts +213 -0
  257. package/dist/core/package-manager.d.ts.map +1 -0
  258. package/dist/core/package-manager.js +2169 -0
  259. package/dist/core/package-manager.js.map +1 -0
  260. package/dist/core/pi-manifest.d.ts +8 -0
  261. package/dist/core/pi-manifest.d.ts.map +1 -0
  262. package/dist/core/pi-manifest.js +25 -0
  263. package/dist/core/pi-manifest.js.map +1 -0
  264. package/dist/core/project-trust.d.ts +15 -0
  265. package/dist/core/project-trust.d.ts.map +1 -0
  266. package/dist/core/project-trust.js +59 -0
  267. package/dist/core/project-trust.js.map +1 -0
  268. package/dist/core/prompt-templates.d.ts +54 -0
  269. package/dist/core/prompt-templates.d.ts.map +1 -0
  270. package/dist/core/prompt-templates.js +236 -0
  271. package/dist/core/prompt-templates.js.map +1 -0
  272. package/dist/core/provider-attribution.d.ts +4 -0
  273. package/dist/core/provider-attribution.d.ts.map +1 -0
  274. package/dist/core/provider-attribution.js +72 -0
  275. package/dist/core/provider-attribution.js.map +1 -0
  276. package/dist/core/provider-composer.d.ts +58 -0
  277. package/dist/core/provider-composer.d.ts.map +1 -0
  278. package/dist/core/provider-composer.js +396 -0
  279. package/dist/core/provider-composer.js.map +1 -0
  280. package/dist/core/radius.d.ts +2 -0
  281. package/dist/core/radius.d.ts.map +1 -0
  282. package/dist/core/radius.js +2 -0
  283. package/dist/core/radius.js.map +1 -0
  284. package/dist/core/remote-catalog-provider.d.ts +5 -0
  285. package/dist/core/remote-catalog-provider.d.ts.map +1 -0
  286. package/dist/core/remote-catalog-provider.js +121 -0
  287. package/dist/core/remote-catalog-provider.js.map +1 -0
  288. package/dist/core/resolve-config-value.d.ts +30 -0
  289. package/dist/core/resolve-config-value.d.ts.map +1 -0
  290. package/dist/core/resolve-config-value.js +247 -0
  291. package/dist/core/resolve-config-value.js.map +1 -0
  292. package/dist/core/resource-loader.d.ts +221 -0
  293. package/dist/core/resource-loader.d.ts.map +1 -0
  294. package/dist/core/resource-loader.js +874 -0
  295. package/dist/core/resource-loader.js.map +1 -0
  296. package/dist/core/runtime-credentials.d.ts +15 -0
  297. package/dist/core/runtime-credentials.d.ts.map +1 -0
  298. package/dist/core/runtime-credentials.js +39 -0
  299. package/dist/core/runtime-credentials.js.map +1 -0
  300. package/dist/core/sdk.d.ts +106 -0
  301. package/dist/core/sdk.d.ts.map +1 -0
  302. package/dist/core/sdk.js +267 -0
  303. package/dist/core/sdk.js.map +1 -0
  304. package/dist/core/session-cwd.d.ts +19 -0
  305. package/dist/core/session-cwd.d.ts.map +1 -0
  306. package/dist/core/session-cwd.js +38 -0
  307. package/dist/core/session-cwd.js.map +1 -0
  308. package/dist/core/session-manager.d.ts +356 -0
  309. package/dist/core/session-manager.d.ts.map +1 -0
  310. package/dist/core/session-manager.js +1340 -0
  311. package/dist/core/session-manager.js.map +1 -0
  312. package/dist/core/settings-manager.d.ts +309 -0
  313. package/dist/core/settings-manager.d.ts.map +1 -0
  314. package/dist/core/settings-manager.js +926 -0
  315. package/dist/core/settings-manager.js.map +1 -0
  316. package/dist/core/skills.d.ts +60 -0
  317. package/dist/core/skills.d.ts.map +1 -0
  318. package/dist/core/skills.js +387 -0
  319. package/dist/core/skills.js.map +1 -0
  320. package/dist/core/slash-commands.d.ts +15 -0
  321. package/dist/core/slash-commands.d.ts.map +1 -0
  322. package/dist/core/slash-commands.js +26 -0
  323. package/dist/core/slash-commands.js.map +1 -0
  324. package/dist/core/source-info.d.ts +18 -0
  325. package/dist/core/source-info.d.ts.map +1 -0
  326. package/dist/core/source-info.js +19 -0
  327. package/dist/core/source-info.js.map +1 -0
  328. package/dist/core/system-prompt.d.ts +28 -0
  329. package/dist/core/system-prompt.d.ts.map +1 -0
  330. package/dist/core/system-prompt.js +110 -0
  331. package/dist/core/system-prompt.js.map +1 -0
  332. package/dist/core/telemetry.d.ts +3 -0
  333. package/dist/core/telemetry.d.ts.map +1 -0
  334. package/dist/core/telemetry.js +9 -0
  335. package/dist/core/telemetry.js.map +1 -0
  336. package/dist/core/timings.d.ts +10 -0
  337. package/dist/core/timings.d.ts.map +1 -0
  338. package/dist/core/timings.js +41 -0
  339. package/dist/core/timings.js.map +1 -0
  340. package/dist/core/tools/bash.d.ts +74 -0
  341. package/dist/core/tools/bash.d.ts.map +1 -0
  342. package/dist/core/tools/bash.js +392 -0
  343. package/dist/core/tools/bash.js.map +1 -0
  344. package/dist/core/tools/edit-diff.d.ts +106 -0
  345. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  346. package/dist/core/tools/edit-diff.js +424 -0
  347. package/dist/core/tools/edit-diff.js.map +1 -0
  348. package/dist/core/tools/edit.d.ts +55 -0
  349. package/dist/core/tools/edit.d.ts.map +1 -0
  350. package/dist/core/tools/edit.js +288 -0
  351. package/dist/core/tools/edit.js.map +1 -0
  352. package/dist/core/tools/file-mutation-queue.d.ts +6 -0
  353. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
  354. package/dist/core/tools/file-mutation-queue.js +52 -0
  355. package/dist/core/tools/file-mutation-queue.js.map +1 -0
  356. package/dist/core/tools/find.d.ts +42 -0
  357. package/dist/core/tools/find.d.ts.map +1 -0
  358. package/dist/core/tools/find.js +302 -0
  359. package/dist/core/tools/find.js.map +1 -0
  360. package/dist/core/tools/grep.d.ts +41 -0
  361. package/dist/core/tools/grep.d.ts.map +1 -0
  362. package/dist/core/tools/grep.js +308 -0
  363. package/dist/core/tools/grep.js.map +1 -0
  364. package/dist/core/tools/index.d.ts +40 -0
  365. package/dist/core/tools/index.d.ts.map +1 -0
  366. package/dist/core/tools/index.js +112 -0
  367. package/dist/core/tools/index.js.map +1 -0
  368. package/dist/core/tools/ls.d.ts +41 -0
  369. package/dist/core/tools/ls.d.ts.map +1 -0
  370. package/dist/core/tools/ls.js +171 -0
  371. package/dist/core/tools/ls.js.map +1 -0
  372. package/dist/core/tools/output-accumulator.d.ts +52 -0
  373. package/dist/core/tools/output-accumulator.d.ts.map +1 -0
  374. package/dist/core/tools/output-accumulator.js +184 -0
  375. package/dist/core/tools/output-accumulator.js.map +1 -0
  376. package/dist/core/tools/path-utils.d.ts +10 -0
  377. package/dist/core/tools/path-utils.d.ts.map +1 -0
  378. package/dist/core/tools/path-utils.js +99 -0
  379. package/dist/core/tools/path-utils.js.map +1 -0
  380. package/dist/core/tools/read.d.ts +39 -0
  381. package/dist/core/tools/read.d.ts.map +1 -0
  382. package/dist/core/tools/read.js +280 -0
  383. package/dist/core/tools/read.js.map +1 -0
  384. package/dist/core/tools/render-utils.d.ts +24 -0
  385. package/dist/core/tools/render-utils.d.ts.map +1 -0
  386. package/dist/core/tools/render-utils.js +65 -0
  387. package/dist/core/tools/render-utils.js.map +1 -0
  388. package/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
  389. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
  390. package/dist/core/tools/tool-definition-wrapper.js +36 -0
  391. package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
  392. package/dist/core/tools/truncate.d.ts +70 -0
  393. package/dist/core/tools/truncate.d.ts.map +1 -0
  394. package/dist/core/tools/truncate.js +215 -0
  395. package/dist/core/tools/truncate.js.map +1 -0
  396. package/dist/core/tools/write.d.ts +30 -0
  397. package/dist/core/tools/write.d.ts.map +1 -0
  398. package/dist/core/tools/write.js +201 -0
  399. package/dist/core/tools/write.js.map +1 -0
  400. package/dist/core/trust-manager.d.ts +36 -0
  401. package/dist/core/trust-manager.d.ts.map +1 -0
  402. package/dist/core/trust-manager.js +202 -0
  403. package/dist/core/trust-manager.js.map +1 -0
  404. package/dist/core/usage-totals.d.ts +19 -0
  405. package/dist/core/usage-totals.d.ts.map +1 -0
  406. package/dist/core/usage-totals.js +52 -0
  407. package/dist/core/usage-totals.js.map +1 -0
  408. package/dist/extensions/index.d.ts +3 -0
  409. package/dist/extensions/index.d.ts.map +1 -0
  410. package/dist/extensions/index.js +3 -0
  411. package/dist/extensions/index.js.map +1 -0
  412. package/dist/extensions/llama/client.d.ts +61 -0
  413. package/dist/extensions/llama/client.d.ts.map +1 -0
  414. package/dist/extensions/llama/client.js +302 -0
  415. package/dist/extensions/llama/client.js.map +1 -0
  416. package/dist/extensions/llama/huggingface.d.ts +23 -0
  417. package/dist/extensions/llama/huggingface.d.ts.map +1 -0
  418. package/dist/extensions/llama/huggingface.js +141 -0
  419. package/dist/extensions/llama/huggingface.js.map +1 -0
  420. package/dist/extensions/llama/index.d.ts +3 -0
  421. package/dist/extensions/llama/index.d.ts.map +1 -0
  422. package/dist/extensions/llama/index.js +217 -0
  423. package/dist/extensions/llama/index.js.map +1 -0
  424. package/dist/extensions/llama/provider.d.ts +10 -0
  425. package/dist/extensions/llama/provider.d.ts.map +1 -0
  426. package/dist/extensions/llama/provider.js +121 -0
  427. package/dist/extensions/llama/provider.js.map +1 -0
  428. package/dist/extensions/llama/ui.d.ts +42 -0
  429. package/dist/extensions/llama/ui.d.ts.map +1 -0
  430. package/dist/extensions/llama/ui.js +416 -0
  431. package/dist/extensions/llama/ui.js.map +1 -0
  432. package/dist/index.d.ts +35 -0
  433. package/dist/index.d.ts.map +1 -0
  434. package/dist/index.js +47 -0
  435. package/dist/index.js.map +1 -0
  436. package/dist/main.d.ts +12 -0
  437. package/dist/main.d.ts.map +1 -0
  438. package/dist/main.js +792 -0
  439. package/dist/main.js.map +1 -0
  440. package/dist/migrations.d.ts +33 -0
  441. package/dist/migrations.d.ts.map +1 -0
  442. package/dist/migrations.js +281 -0
  443. package/dist/migrations.js.map +1 -0
  444. package/dist/modes/index.d.ts +10 -0
  445. package/dist/modes/index.d.ts.map +1 -0
  446. package/dist/modes/index.js +8 -0
  447. package/dist/modes/index.js.map +1 -0
  448. package/dist/modes/interactive/assets/clankolas.png +0 -0
  449. package/dist/modes/interactive/components/armin.d.ts +34 -0
  450. package/dist/modes/interactive/components/armin.d.ts.map +1 -0
  451. package/dist/modes/interactive/components/armin.js +333 -0
  452. package/dist/modes/interactive/components/armin.js.map +1 -0
  453. package/dist/modes/interactive/components/assistant-message.d.ts +25 -0
  454. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
  455. package/dist/modes/interactive/components/assistant-message.js +150 -0
  456. package/dist/modes/interactive/components/assistant-message.js.map +1 -0
  457. package/dist/modes/interactive/components/bash-execution.d.ts +34 -0
  458. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
  459. package/dist/modes/interactive/components/bash-execution.js +175 -0
  460. package/dist/modes/interactive/components/bash-execution.js.map +1 -0
  461. package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  462. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
  463. package/dist/modes/interactive/components/bordered-loader.js +54 -0
  464. package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
  465. package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  466. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
  467. package/dist/modes/interactive/components/branch-summary-message.js +44 -0
  468. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
  469. package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  470. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
  471. package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
  472. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
  473. package/dist/modes/interactive/components/config-selector.d.ts +102 -0
  474. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
  475. package/dist/modes/interactive/components/config-selector.js +761 -0
  476. package/dist/modes/interactive/components/config-selector.js.map +1 -0
  477. package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  478. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
  479. package/dist/modes/interactive/components/countdown-timer.js +33 -0
  480. package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
  481. package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
  482. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
  483. package/dist/modes/interactive/components/custom-editor.js +77 -0
  484. package/dist/modes/interactive/components/custom-editor.js.map +1 -0
  485. package/dist/modes/interactive/components/custom-entry.d.ts +19 -0
  486. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
  487. package/dist/modes/interactive/components/custom-entry.js +52 -0
  488. package/dist/modes/interactive/components/custom-entry.js.map +1 -0
  489. package/dist/modes/interactive/components/custom-message.d.ts +22 -0
  490. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
  491. package/dist/modes/interactive/components/custom-message.js +87 -0
  492. package/dist/modes/interactive/components/custom-message.js.map +1 -0
  493. package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  494. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
  495. package/dist/modes/interactive/components/daxnuts.js +140 -0
  496. package/dist/modes/interactive/components/daxnuts.js.map +1 -0
  497. package/dist/modes/interactive/components/diff.d.ts +12 -0
  498. package/dist/modes/interactive/components/diff.d.ts.map +1 -0
  499. package/dist/modes/interactive/components/diff.js +133 -0
  500. package/dist/modes/interactive/components/diff.js.map +1 -0
  501. package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  502. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
  503. package/dist/modes/interactive/components/dynamic-border.js +21 -0
  504. package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
  505. package/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
  506. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -0
  507. package/dist/modes/interactive/components/earendil-announcement.js +40 -0
  508. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -0
  509. package/dist/modes/interactive/components/extension-editor.d.ts +21 -0
  510. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
  511. package/dist/modes/interactive/components/extension-editor.js +98 -0
  512. package/dist/modes/interactive/components/extension-editor.js.map +1 -0
  513. package/dist/modes/interactive/components/extension-input.d.ts +23 -0
  514. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
  515. package/dist/modes/interactive/components/extension-input.js +61 -0
  516. package/dist/modes/interactive/components/extension-input.js.map +1 -0
  517. package/dist/modes/interactive/components/extension-selector.d.ts +26 -0
  518. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
  519. package/dist/modes/interactive/components/extension-selector.js +83 -0
  520. package/dist/modes/interactive/components/extension-selector.js.map +1 -0
  521. package/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
  522. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
  523. package/dist/modes/interactive/components/first-time-setup.js +103 -0
  524. package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
  525. package/dist/modes/interactive/components/footer.d.ts +32 -0
  526. package/dist/modes/interactive/components/footer.d.ts.map +1 -0
  527. package/dist/modes/interactive/components/footer.js +222 -0
  528. package/dist/modes/interactive/components/footer.js.map +1 -0
  529. package/dist/modes/interactive/components/index.d.ts +34 -0
  530. package/dist/modes/interactive/components/index.d.ts.map +1 -0
  531. package/dist/modes/interactive/components/index.js +35 -0
  532. package/dist/modes/interactive/components/index.js.map +1 -0
  533. package/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
  534. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
  535. package/dist/modes/interactive/components/keybinding-hints.js +36 -0
  536. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
  537. package/dist/modes/interactive/components/login-dialog.d.ts +52 -0
  538. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
  539. package/dist/modes/interactive/components/login-dialog.js +188 -0
  540. package/dist/modes/interactive/components/login-dialog.js.map +1 -0
  541. package/dist/modes/interactive/components/markdown-transform.d.ts +3 -0
  542. package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -0
  543. package/dist/modes/interactive/components/markdown-transform.js +19 -0
  544. package/dist/modes/interactive/components/markdown-transform.js.map +1 -0
  545. package/dist/modes/interactive/components/mermaid.d.ts +11 -0
  546. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -0
  547. package/dist/modes/interactive/components/mermaid.js +75 -0
  548. package/dist/modes/interactive/components/mermaid.js.map +1 -0
  549. package/dist/modes/interactive/components/model-selector.d.ts +54 -0
  550. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
  551. package/dist/modes/interactive/components/model-selector.js +325 -0
  552. package/dist/modes/interactive/components/model-selector.js.map +1 -0
  553. package/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
  554. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
  555. package/dist/modes/interactive/components/oauth-selector.js +163 -0
  556. package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
  557. package/dist/modes/interactive/components/scoped-models-selector.d.ts +46 -0
  558. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
  559. package/dist/modes/interactive/components/scoped-models-selector.js +328 -0
  560. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
  561. package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
  562. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
  563. package/dist/modes/interactive/components/session-selector-search.js +155 -0
  564. package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
  565. package/dist/modes/interactive/components/session-selector.d.ts +95 -0
  566. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
  567. package/dist/modes/interactive/components/session-selector.js +867 -0
  568. package/dist/modes/interactive/components/session-selector.js.map +1 -0
  569. package/dist/modes/interactive/components/settings-selector.d.ts +83 -0
  570. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
  571. package/dist/modes/interactive/components/settings-selector.js +623 -0
  572. package/dist/modes/interactive/components/settings-selector.js.map +1 -0
  573. package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  574. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
  575. package/dist/modes/interactive/components/show-images-selector.js +39 -0
  576. package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
  577. package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  578. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
  579. package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
  580. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
  581. package/dist/modes/interactive/components/status-indicator.d.ts +28 -0
  582. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -0
  583. package/dist/modes/interactive/components/status-indicator.js +60 -0
  584. package/dist/modes/interactive/components/status-indicator.js.map +1 -0
  585. package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  586. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
  587. package/dist/modes/interactive/components/theme-selector.js +50 -0
  588. package/dist/modes/interactive/components/theme-selector.js.map +1 -0
  589. package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  590. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
  591. package/dist/modes/interactive/components/thinking-selector.js +52 -0
  592. package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
  593. package/dist/modes/interactive/components/tool-execution.d.ts +63 -0
  594. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
  595. package/dist/modes/interactive/components/tool-execution.js +317 -0
  596. package/dist/modes/interactive/components/tool-execution.js.map +1 -0
  597. package/dist/modes/interactive/components/tree-selector.d.ts +94 -0
  598. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
  599. package/dist/modes/interactive/components/tree-selector.js +1245 -0
  600. package/dist/modes/interactive/components/tree-selector.js.map +1 -0
  601. package/dist/modes/interactive/components/trust-selector.d.ts +23 -0
  602. package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -0
  603. package/dist/modes/interactive/components/trust-selector.js +91 -0
  604. package/dist/modes/interactive/components/trust-selector.js.map +1 -0
  605. package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  606. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
  607. package/dist/modes/interactive/components/user-message-selector.js +114 -0
  608. package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
  609. package/dist/modes/interactive/components/user-message.d.ts +16 -0
  610. package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
  611. package/dist/modes/interactive/components/user-message.js +49 -0
  612. package/dist/modes/interactive/components/user-message.js.map +1 -0
  613. package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  614. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
  615. package/dist/modes/interactive/components/visual-truncate.js +33 -0
  616. package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
  617. package/dist/modes/interactive/external-editor.d.ts +12 -0
  618. package/dist/modes/interactive/external-editor.d.ts.map +1 -0
  619. package/dist/modes/interactive/external-editor.js +37 -0
  620. package/dist/modes/interactive/external-editor.js.map +1 -0
  621. package/dist/modes/interactive/interactive-mode.d.ts +429 -0
  622. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
  623. package/dist/modes/interactive/interactive-mode.js +5387 -0
  624. package/dist/modes/interactive/interactive-mode.js.map +1 -0
  625. package/dist/modes/interactive/model-search.d.ts +12 -0
  626. package/dist/modes/interactive/model-search.d.ts.map +1 -0
  627. package/dist/modes/interactive/model-search.js +15 -0
  628. package/dist/modes/interactive/model-search.js.map +1 -0
  629. package/dist/modes/interactive/theme/dark.json +88 -0
  630. package/dist/modes/interactive/theme/light.json +87 -0
  631. package/dist/modes/interactive/theme/theme-controller.d.ts +32 -0
  632. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -0
  633. package/dist/modes/interactive/theme/theme-controller.js +111 -0
  634. package/dist/modes/interactive/theme/theme-controller.js.map +1 -0
  635. package/dist/modes/interactive/theme/theme-schema.json +344 -0
  636. package/dist/modes/interactive/theme/theme.d.ts +120 -0
  637. package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
  638. package/dist/modes/interactive/theme/theme.js +1081 -0
  639. package/dist/modes/interactive/theme/theme.js.map +1 -0
  640. package/dist/modes/json-event.d.ts +28 -0
  641. package/dist/modes/json-event.d.ts.map +1 -0
  642. package/dist/modes/json-event.js +12 -0
  643. package/dist/modes/json-event.js.map +1 -0
  644. package/dist/modes/print-mode.d.ts +28 -0
  645. package/dist/modes/print-mode.d.ts.map +1 -0
  646. package/dist/modes/print-mode.js +142 -0
  647. package/dist/modes/print-mode.js.map +1 -0
  648. package/dist/modes/rpc/jsonl.d.ts +17 -0
  649. package/dist/modes/rpc/jsonl.d.ts.map +1 -0
  650. package/dist/modes/rpc/jsonl.js +49 -0
  651. package/dist/modes/rpc/jsonl.js.map +1 -0
  652. package/dist/modes/rpc/rpc-client.d.ts +247 -0
  653. package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
  654. package/dist/modes/rpc/rpc-client.js +488 -0
  655. package/dist/modes/rpc/rpc-client.js.map +1 -0
  656. package/dist/modes/rpc/rpc-mode.d.ts +20 -0
  657. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
  658. package/dist/modes/rpc/rpc-mode.js +654 -0
  659. package/dist/modes/rpc/rpc-mode.js.map +1 -0
  660. package/dist/modes/rpc/rpc-types.d.ts +457 -0
  661. package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
  662. package/dist/modes/rpc/rpc-types.js +8 -0
  663. package/dist/modes/rpc/rpc-types.js.map +1 -0
  664. package/dist/package-manager-cli.d.ts +8 -0
  665. package/dist/package-manager-cli.d.ts.map +1 -0
  666. package/dist/package-manager-cli.js +777 -0
  667. package/dist/package-manager-cli.js.map +1 -0
  668. package/dist/rpc-entry.d.ts +3 -0
  669. package/dist/rpc-entry.d.ts.map +1 -0
  670. package/dist/rpc-entry.js +11 -0
  671. package/dist/rpc-entry.js.map +1 -0
  672. package/dist/server/create-harness.d.ts +26 -0
  673. package/dist/server/create-harness.d.ts.map +1 -0
  674. package/dist/server/create-harness.js +104 -0
  675. package/dist/server/create-harness.js.map +1 -0
  676. package/dist/utils/abort.d.ts +5 -0
  677. package/dist/utils/abort.d.ts.map +1 -0
  678. package/dist/utils/abort.js +48 -0
  679. package/dist/utils/abort.js.map +1 -0
  680. package/dist/utils/ansi.d.ts +2 -0
  681. package/dist/utils/ansi.d.ts.map +1 -0
  682. package/dist/utils/ansi.js +52 -0
  683. package/dist/utils/ansi.js.map +1 -0
  684. package/dist/utils/changelog.d.ts +22 -0
  685. package/dist/utils/changelog.d.ts.map +1 -0
  686. package/dist/utils/changelog.js +165 -0
  687. package/dist/utils/changelog.js.map +1 -0
  688. package/dist/utils/child-process.d.ts +18 -0
  689. package/dist/utils/child-process.d.ts.map +1 -0
  690. package/dist/utils/child-process.js +106 -0
  691. package/dist/utils/child-process.js.map +1 -0
  692. package/dist/utils/clipboard-image.d.ts +11 -0
  693. package/dist/utils/clipboard-image.d.ts.map +1 -0
  694. package/dist/utils/clipboard-image.js +245 -0
  695. package/dist/utils/clipboard-image.js.map +1 -0
  696. package/dist/utils/clipboard-native.d.ts +11 -0
  697. package/dist/utils/clipboard-native.d.ts.map +1 -0
  698. package/dist/utils/clipboard-native.js +20 -0
  699. package/dist/utils/clipboard-native.js.map +1 -0
  700. package/dist/utils/clipboard.d.ts +4 -0
  701. package/dist/utils/clipboard.d.ts.map +1 -0
  702. package/dist/utils/clipboard.js +161 -0
  703. package/dist/utils/clipboard.js.map +1 -0
  704. package/dist/utils/deprecation.d.ts +4 -0
  705. package/dist/utils/deprecation.d.ts.map +1 -0
  706. package/dist/utils/deprecation.js +13 -0
  707. package/dist/utils/deprecation.js.map +1 -0
  708. package/dist/utils/exif-orientation.d.ts +5 -0
  709. package/dist/utils/exif-orientation.d.ts.map +1 -0
  710. package/dist/utils/exif-orientation.js +158 -0
  711. package/dist/utils/exif-orientation.js.map +1 -0
  712. package/dist/utils/frontmatter.d.ts +8 -0
  713. package/dist/utils/frontmatter.d.ts.map +1 -0
  714. package/dist/utils/frontmatter.js +26 -0
  715. package/dist/utils/frontmatter.js.map +1 -0
  716. package/dist/utils/fs-watch.d.ts +5 -0
  717. package/dist/utils/fs-watch.d.ts.map +1 -0
  718. package/dist/utils/fs-watch.js +25 -0
  719. package/dist/utils/fs-watch.js.map +1 -0
  720. package/dist/utils/git.d.ts +26 -0
  721. package/dist/utils/git.d.ts.map +1 -0
  722. package/dist/utils/git.js +195 -0
  723. package/dist/utils/git.js.map +1 -0
  724. package/dist/utils/html.d.ts +7 -0
  725. package/dist/utils/html.d.ts.map +1 -0
  726. package/dist/utils/html.js +40 -0
  727. package/dist/utils/html.js.map +1 -0
  728. package/dist/utils/image-convert.d.ts +10 -0
  729. package/dist/utils/image-convert.d.ts.map +1 -0
  730. package/dist/utils/image-convert.js +45 -0
  731. package/dist/utils/image-convert.js.map +1 -0
  732. package/dist/utils/image-process.d.ts +18 -0
  733. package/dist/utils/image-process.d.ts.map +1 -0
  734. package/dist/utils/image-process.js +83 -0
  735. package/dist/utils/image-process.js.map +1 -0
  736. package/dist/utils/image-resize-core.d.ts +30 -0
  737. package/dist/utils/image-resize-core.d.ts.map +1 -0
  738. package/dist/utils/image-resize-core.js +124 -0
  739. package/dist/utils/image-resize-core.js.map +1 -0
  740. package/dist/utils/image-resize-worker.d.ts +2 -0
  741. package/dist/utils/image-resize-worker.d.ts.map +1 -0
  742. package/dist/utils/image-resize-worker.js +31 -0
  743. package/dist/utils/image-resize-worker.js.map +1 -0
  744. package/dist/utils/image-resize.d.ts +16 -0
  745. package/dist/utils/image-resize.d.ts.map +1 -0
  746. package/dist/utils/image-resize.js +97 -0
  747. package/dist/utils/image-resize.js.map +1 -0
  748. package/dist/utils/json.d.ts +3 -0
  749. package/dist/utils/json.d.ts.map +1 -0
  750. package/dist/utils/json.js +7 -0
  751. package/dist/utils/json.js.map +1 -0
  752. package/dist/utils/management-http.d.ts +23 -0
  753. package/dist/utils/management-http.d.ts.map +1 -0
  754. package/dist/utils/management-http.js +50 -0
  755. package/dist/utils/management-http.js.map +1 -0
  756. package/dist/utils/mime.d.ts +3 -0
  757. package/dist/utils/mime.d.ts.map +1 -0
  758. package/dist/utils/mime.js +110 -0
  759. package/dist/utils/mime.js.map +1 -0
  760. package/dist/utils/open-browser.d.ts +9 -0
  761. package/dist/utils/open-browser.d.ts.map +1 -0
  762. package/dist/utils/open-browser.js +22 -0
  763. package/dist/utils/open-browser.js.map +1 -0
  764. package/dist/utils/paths.d.ts +34 -0
  765. package/dist/utils/paths.d.ts.map +1 -0
  766. package/dist/utils/paths.js +114 -0
  767. package/dist/utils/paths.js.map +1 -0
  768. package/dist/utils/photon.d.ts +21 -0
  769. package/dist/utils/photon.d.ts.map +1 -0
  770. package/dist/utils/photon.js +121 -0
  771. package/dist/utils/photon.js.map +1 -0
  772. package/dist/utils/pi-user-agent.d.ts +2 -0
  773. package/dist/utils/pi-user-agent.d.ts.map +1 -0
  774. package/dist/utils/pi-user-agent.js +5 -0
  775. package/dist/utils/pi-user-agent.js.map +1 -0
  776. package/dist/utils/shell.d.ts +31 -0
  777. package/dist/utils/shell.d.ts.map +1 -0
  778. package/dist/utils/shell.js +202 -0
  779. package/dist/utils/shell.js.map +1 -0
  780. package/dist/utils/sleep.d.ts +5 -0
  781. package/dist/utils/sleep.d.ts.map +1 -0
  782. package/dist/utils/sleep.js +17 -0
  783. package/dist/utils/sleep.js.map +1 -0
  784. package/dist/utils/syntax-highlight.d.ts +12 -0
  785. package/dist/utils/syntax-highlight.d.ts.map +1 -0
  786. package/dist/utils/syntax-highlight.js +118 -0
  787. package/dist/utils/syntax-highlight.js.map +1 -0
  788. package/dist/utils/tool-result-images.d.ts +19 -0
  789. package/dist/utils/tool-result-images.d.ts.map +1 -0
  790. package/dist/utils/tool-result-images.js +45 -0
  791. package/dist/utils/tool-result-images.js.map +1 -0
  792. package/dist/utils/tools-manager.d.ts +3 -0
  793. package/dist/utils/tools-manager.d.ts.map +1 -0
  794. package/dist/utils/tools-manager.js +326 -0
  795. package/dist/utils/tools-manager.js.map +1 -0
  796. package/dist/utils/version-check.d.ts +19 -0
  797. package/dist/utils/version-check.d.ts.map +1 -0
  798. package/dist/utils/version-check.js +79 -0
  799. package/dist/utils/version-check.js.map +1 -0
  800. package/dist/utils/windows-self-update.d.ts +3 -0
  801. package/dist/utils/windows-self-update.d.ts.map +1 -0
  802. package/dist/utils/windows-self-update.js +77 -0
  803. package/dist/utils/windows-self-update.js.map +1 -0
  804. package/docs/compaction.md +401 -0
  805. package/docs/containerization.md +111 -0
  806. package/docs/custom-provider.md +774 -0
  807. package/docs/development.md +71 -0
  808. package/docs/docs.json +156 -0
  809. package/docs/environment-variables.md +88 -0
  810. package/docs/extensions.md +2988 -0
  811. package/docs/images/doom-extension.png +0 -0
  812. package/docs/images/exy.png +0 -0
  813. package/docs/images/interactive-mode.png +0 -0
  814. package/docs/images/tree-view.png +0 -0
  815. package/docs/index.md +84 -0
  816. package/docs/json.md +91 -0
  817. package/docs/keybindings.md +230 -0
  818. package/docs/llama-cpp.md +99 -0
  819. package/docs/models.md +565 -0
  820. package/docs/packages.md +228 -0
  821. package/docs/prompt-templates.md +96 -0
  822. package/docs/providers.md +317 -0
  823. package/docs/quickstart.md +167 -0
  824. package/docs/rpc.md +1578 -0
  825. package/docs/sdk.md +1205 -0
  826. package/docs/security.md +59 -0
  827. package/docs/session-format.md +438 -0
  828. package/docs/sessions.md +145 -0
  829. package/docs/settings.md +322 -0
  830. package/docs/shell-aliases.md +13 -0
  831. package/docs/skills.md +231 -0
  832. package/docs/terminal-setup.md +142 -0
  833. package/docs/termux.md +127 -0
  834. package/docs/themes.md +299 -0
  835. package/docs/tmux.md +63 -0
  836. package/docs/tui.md +942 -0
  837. package/docs/usage.md +305 -0
  838. package/docs/windows.md +17 -0
  839. package/examples/README.md +25 -0
  840. package/examples/extensions/README.md +213 -0
  841. package/examples/extensions/auto-commit-on-exit.ts +49 -0
  842. package/examples/extensions/bash-spawn-hook.ts +30 -0
  843. package/examples/extensions/bookmark.ts +50 -0
  844. package/examples/extensions/border-status-editor.ts +145 -0
  845. package/examples/extensions/built-in-tool-renderer.ts +249 -0
  846. package/examples/extensions/claude-rules.ts +86 -0
  847. package/examples/extensions/commands.ts +72 -0
  848. package/examples/extensions/confirm-destructive.ts +59 -0
  849. package/examples/extensions/custom-compaction.ts +117 -0
  850. package/examples/extensions/custom-footer.ts +64 -0
  851. package/examples/extensions/custom-header.ts +73 -0
  852. package/examples/extensions/custom-provider-anthropic/index.ts +611 -0
  853. package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
  854. package/examples/extensions/custom-provider-anthropic/package.json +19 -0
  855. package/examples/extensions/custom-provider-gitlab-duo/index.ts +405 -0
  856. package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
  857. package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -0
  858. package/examples/extensions/dirty-repo-guard.ts +56 -0
  859. package/examples/extensions/doom-overlay/README.md +46 -0
  860. package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
  861. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  862. package/examples/extensions/doom-overlay/doom/build.sh +152 -0
  863. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
  864. package/examples/extensions/doom-overlay/doom-component.ts +132 -0
  865. package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
  866. package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
  867. package/examples/extensions/doom-overlay/index.ts +74 -0
  868. package/examples/extensions/doom-overlay/wad-finder.ts +55 -0
  869. package/examples/extensions/dynamic-resources/SKILL.md +8 -0
  870. package/examples/extensions/dynamic-resources/dynamic.json +79 -0
  871. package/examples/extensions/dynamic-resources/dynamic.md +5 -0
  872. package/examples/extensions/dynamic-resources/index.ts +15 -0
  873. package/examples/extensions/dynamic-tools.ts +74 -0
  874. package/examples/extensions/entry-renderer.ts +41 -0
  875. package/examples/extensions/event-bus.ts +43 -0
  876. package/examples/extensions/file-trigger.ts +41 -0
  877. package/examples/extensions/git-checkpoint.ts +53 -0
  878. package/examples/extensions/git-merge-and-resolve.ts +115 -0
  879. package/examples/extensions/github-issue-autocomplete.ts +185 -0
  880. package/examples/extensions/gondolin/index.ts +531 -0
  881. package/examples/extensions/gondolin/package-lock.json +185 -0
  882. package/examples/extensions/gondolin/package.json +19 -0
  883. package/examples/extensions/handoff.ts +190 -0
  884. package/examples/extensions/hello.ts +26 -0
  885. package/examples/extensions/hidden-thinking-label.ts +53 -0
  886. package/examples/extensions/inline-bash.ts +94 -0
  887. package/examples/extensions/input-transform-streaming.ts +39 -0
  888. package/examples/extensions/input-transform.ts +43 -0
  889. package/examples/extensions/interactive-shell.ts +196 -0
  890. package/examples/extensions/kimi-deferred-tools.ts +61 -0
  891. package/examples/extensions/mac-system-theme.ts +47 -0
  892. package/examples/extensions/message-renderer.ts +59 -0
  893. package/examples/extensions/minimal-mode.ts +426 -0
  894. package/examples/extensions/modal-editor.ts +85 -0
  895. package/examples/extensions/model-status.ts +31 -0
  896. package/examples/extensions/notify.ts +55 -0
  897. package/examples/extensions/overlay-qa-tests.ts +1450 -0
  898. package/examples/extensions/overlay-test.ts +153 -0
  899. package/examples/extensions/permission-gate.ts +34 -0
  900. package/examples/extensions/pirate.ts +47 -0
  901. package/examples/extensions/plan-mode/README.md +66 -0
  902. package/examples/extensions/plan-mode/index.ts +390 -0
  903. package/examples/extensions/plan-mode/utils.ts +168 -0
  904. package/examples/extensions/preset.ts +436 -0
  905. package/examples/extensions/project-trust.ts +64 -0
  906. package/examples/extensions/prompt-customizer.ts +97 -0
  907. package/examples/extensions/protected-paths.ts +30 -0
  908. package/examples/extensions/provider-payload.ts +18 -0
  909. package/examples/extensions/qna.ts +118 -0
  910. package/examples/extensions/question.ts +286 -0
  911. package/examples/extensions/questionnaire.ts +448 -0
  912. package/examples/extensions/rainbow-editor.ts +88 -0
  913. package/examples/extensions/reload-runtime.ts +37 -0
  914. package/examples/extensions/rpc-demo.ts +118 -0
  915. package/examples/extensions/sandbox/index.ts +321 -0
  916. package/examples/extensions/sandbox/package-lock.json +92 -0
  917. package/examples/extensions/sandbox/package.json +19 -0
  918. package/examples/extensions/send-user-message.ts +97 -0
  919. package/examples/extensions/session-name.ts +27 -0
  920. package/examples/extensions/shutdown-command.ts +63 -0
  921. package/examples/extensions/snake.ts +343 -0
  922. package/examples/extensions/space-invaders.ts +560 -0
  923. package/examples/extensions/ssh.ts +220 -0
  924. package/examples/extensions/status-line.ts +32 -0
  925. package/examples/extensions/structured-output.ts +65 -0
  926. package/examples/extensions/subagent/README.md +175 -0
  927. package/examples/extensions/subagent/agents/planner.md +37 -0
  928. package/examples/extensions/subagent/agents/reviewer.md +35 -0
  929. package/examples/extensions/subagent/agents/scout.md +50 -0
  930. package/examples/extensions/subagent/agents/worker.md +24 -0
  931. package/examples/extensions/subagent/agents.ts +126 -0
  932. package/examples/extensions/subagent/index.ts +1009 -0
  933. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
  934. package/examples/extensions/subagent/prompts/implement.md +10 -0
  935. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
  936. package/examples/extensions/summarize.ts +199 -0
  937. package/examples/extensions/system-prompt-header.ts +17 -0
  938. package/examples/extensions/tic-tac-toe.ts +1008 -0
  939. package/examples/extensions/timed-confirm.ts +70 -0
  940. package/examples/extensions/titlebar-spinner.ts +58 -0
  941. package/examples/extensions/todo.ts +297 -0
  942. package/examples/extensions/tool-override.ts +144 -0
  943. package/examples/extensions/tools.ts +146 -0
  944. package/examples/extensions/trigger-compact.ts +50 -0
  945. package/examples/extensions/truncated-tool.ts +195 -0
  946. package/examples/extensions/widget-placement.ts +9 -0
  947. package/examples/extensions/with-deps/index.ts +32 -0
  948. package/examples/extensions/with-deps/package-lock.json +31 -0
  949. package/examples/extensions/with-deps/package.json +22 -0
  950. package/examples/extensions/working-indicator.ts +123 -0
  951. package/examples/extensions/working-message-test.ts +25 -0
  952. package/examples/rpc-extension-ui.ts +641 -0
  953. package/examples/sdk/01-minimal.ts +26 -0
  954. package/examples/sdk/02-custom-model.ts +49 -0
  955. package/examples/sdk/03-custom-prompt.ts +70 -0
  956. package/examples/sdk/04-skills.ts +55 -0
  957. package/examples/sdk/05-tools.ts +48 -0
  958. package/examples/sdk/06-extensions.ts +94 -0
  959. package/examples/sdk/07-context-files.ts +42 -0
  960. package/examples/sdk/08-prompt-templates.ts +51 -0
  961. package/examples/sdk/09-api-keys-and-oauth.ts +34 -0
  962. package/examples/sdk/10-settings.ts +53 -0
  963. package/examples/sdk/11-sessions.ts +52 -0
  964. package/examples/sdk/12-full-control.ts +74 -0
  965. package/examples/sdk/13-session-runtime.ts +67 -0
  966. package/examples/sdk/README.md +140 -0
  967. package/npm-shrinkwrap.json +1869 -0
  968. package/package.json +109 -0
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bun/cli.ts"],"names":[],"mappings":"","sourcesContent":["#!/usr/bin/env node\nimport { registerBunOAuthFlows } from \"@earendil-works/pi-ai/bun-oauth\";\nimport { APP_NAME } from \"../config.ts\";\n\nprocess.title = APP_NAME;\nprocess.emitWarning = (() => {}) as typeof process.emitWarning;\n\nregisterBunOAuthFlows();\n\nimport { restoreSandboxEnv } from \"./restore-sandbox-env.ts\";\n\nrestoreSandboxEnv();\n\nawait import(\"./register-bedrock.ts\");\nawait import(\"../cli.ts\");\n"]}
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ import { registerBunOAuthFlows } from "@earendil-works/pi-ai/bun-oauth";
3
+ import { APP_NAME } from "../config.js";
4
+ process.title = APP_NAME;
5
+ process.emitWarning = (() => { });
6
+ registerBunOAuthFlows();
7
+ import { restoreSandboxEnv } from "./restore-sandbox-env.js";
8
+ restoreSandboxEnv();
9
+ await import("./register-bedrock.js");
10
+ await import("../cli.js");
11
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bun/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;AACzB,OAAO,CAAC,WAAW,GAAG,CAAC,GAAG,EAAE,CAAC,EAAC,CAAC,CAA+B,CAAC;AAE/D,qBAAqB,EAAE,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,iBAAiB,EAAE,CAAC;AAEpB,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;AACtC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC","sourcesContent":["#!/usr/bin/env node\nimport { registerBunOAuthFlows } from \"@earendil-works/pi-ai/bun-oauth\";\nimport { APP_NAME } from \"../config.ts\";\n\nprocess.title = APP_NAME;\nprocess.emitWarning = (() => {}) as typeof process.emitWarning;\n\nregisterBunOAuthFlows();\n\nimport { restoreSandboxEnv } from \"./restore-sandbox-env.ts\";\n\nrestoreSandboxEnv();\n\nawait import(\"./register-bedrock.ts\");\nawait import(\"../cli.ts\");\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=register-bedrock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-bedrock.d.ts","sourceRoot":"","sources":["../../src/bun/register-bedrock.ts"],"names":[],"mappings":"","sourcesContent":["import { bedrockProviderModule } from \"@earendil-works/pi-ai/bedrock-provider\";\nimport { setBedrockProviderModule } from \"@earendil-works/pi-ai/compat\";\n\nsetBedrockProviderModule(bedrockProviderModule);\n"]}
@@ -0,0 +1,4 @@
1
+ import { bedrockProviderModule } from "@earendil-works/pi-ai/bedrock-provider";
2
+ import { setBedrockProviderModule } from "@earendil-works/pi-ai/compat";
3
+ setBedrockProviderModule(bedrockProviderModule);
4
+ //# sourceMappingURL=register-bedrock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-bedrock.js","sourceRoot":"","sources":["../../src/bun/register-bedrock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,wBAAwB,CAAC,qBAAqB,CAAC,CAAC","sourcesContent":["import { bedrockProviderModule } from \"@earendil-works/pi-ai/bedrock-provider\";\nimport { setBedrockProviderModule } from \"@earendil-works/pi-ai/compat\";\n\nsetBedrockProviderModule(bedrockProviderModule);\n"]}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Workaround for https://github.com/oven-sh/bun/issues/27802
3
+ *
4
+ * Bun compiled binaries have an empty `process.env` when running inside
5
+ * sandbox environments (e.g. nono on Linux/macOS). On Linux we can recover
6
+ * the environment from `/proc/self/environ`.
7
+ *
8
+ * Keep this in sync with getBunSandboxEnvValue() in
9
+ * packages/ai/src/utils/provider-env.ts. The ai package duplicates the lookup
10
+ * for direct consumers that do not go through this coding-agent entrypoint.
11
+ */
12
+ /**
13
+ * Restore environment variables from `/proc/self/environ` when running
14
+ * inside a sandbox where Bun's `process.env` is empty.
15
+ */
16
+ export declare function restoreSandboxEnv(): void;
17
+ //# sourceMappingURL=restore-sandbox-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore-sandbox-env.d.ts","sourceRoot":"","sources":["../../src/bun/restore-sandbox-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAiBxC","sourcesContent":["/**\n * Workaround for https://github.com/oven-sh/bun/issues/27802\n *\n * Bun compiled binaries have an empty `process.env` when running inside\n * sandbox environments (e.g. nono on Linux/macOS). On Linux we can recover\n * the environment from `/proc/self/environ`.\n *\n * Keep this in sync with getBunSandboxEnvValue() in\n * packages/ai/src/utils/provider-env.ts. The ai package duplicates the lookup\n * for direct consumers that do not go through this coding-agent entrypoint.\n */\n\nimport { readFileSync } from \"node:fs\";\n\n/**\n * Restore environment variables from `/proc/self/environ` when running\n * inside a sandbox where Bun's `process.env` is empty.\n */\nexport function restoreSandboxEnv(): void {\n\tif (!process.versions?.bun) return;\n\n\t// If process.env already has entries, nothing to fix.\n\tif (Object.keys(process.env).length > 0) return;\n\n\ttry {\n\t\tconst data = readFileSync(\"/proc/self/environ\", \"utf-8\");\n\t\tfor (const entry of data.split(\"\\0\")) {\n\t\t\tconst idx = entry.indexOf(\"=\");\n\t\t\tif (idx > 0) {\n\t\t\t\tprocess.env[entry.slice(0, idx)] = entry.slice(idx + 1);\n\t\t\t}\n\t\t}\n\t} catch {\n\t\t// /proc/self/environ may not be readable; ignore.\n\t}\n}\n"]}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Workaround for https://github.com/oven-sh/bun/issues/27802
3
+ *
4
+ * Bun compiled binaries have an empty `process.env` when running inside
5
+ * sandbox environments (e.g. nono on Linux/macOS). On Linux we can recover
6
+ * the environment from `/proc/self/environ`.
7
+ *
8
+ * Keep this in sync with getBunSandboxEnvValue() in
9
+ * packages/ai/src/utils/provider-env.ts. The ai package duplicates the lookup
10
+ * for direct consumers that do not go through this coding-agent entrypoint.
11
+ */
12
+ import { readFileSync } from "node:fs";
13
+ /**
14
+ * Restore environment variables from `/proc/self/environ` when running
15
+ * inside a sandbox where Bun's `process.env` is empty.
16
+ */
17
+ export function restoreSandboxEnv() {
18
+ if (!process.versions?.bun)
19
+ return;
20
+ // If process.env already has entries, nothing to fix.
21
+ if (Object.keys(process.env).length > 0)
22
+ return;
23
+ try {
24
+ const data = readFileSync("/proc/self/environ", "utf-8");
25
+ for (const entry of data.split("\0")) {
26
+ const idx = entry.indexOf("=");
27
+ if (idx > 0) {
28
+ process.env[entry.slice(0, idx)] = entry.slice(idx + 1);
29
+ }
30
+ }
31
+ }
32
+ catch {
33
+ // /proc/self/environ may not be readable; ignore.
34
+ }
35
+ }
36
+ //# sourceMappingURL=restore-sandbox-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore-sandbox-env.js","sourceRoot":"","sources":["../../src/bun/restore-sandbox-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;GAGG;AACH,MAAM,UAAU,iBAAiB,GAAS;IACzC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG;QAAE,OAAO;IAEnC,sDAAsD;IACtD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO;IAEhD,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,YAAY,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACzD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACzD,CAAC;QACF,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,kDAAkD;IACnD,CAAC;AAAA,CACD","sourcesContent":["/**\n * Workaround for https://github.com/oven-sh/bun/issues/27802\n *\n * Bun compiled binaries have an empty `process.env` when running inside\n * sandbox environments (e.g. nono on Linux/macOS). On Linux we can recover\n * the environment from `/proc/self/environ`.\n *\n * Keep this in sync with getBunSandboxEnvValue() in\n * packages/ai/src/utils/provider-env.ts. The ai package duplicates the lookup\n * for direct consumers that do not go through this coding-agent entrypoint.\n */\n\nimport { readFileSync } from \"node:fs\";\n\n/**\n * Restore environment variables from `/proc/self/environ` when running\n * inside a sandbox where Bun's `process.env` is empty.\n */\nexport function restoreSandboxEnv(): void {\n\tif (!process.versions?.bun) return;\n\n\t// If process.env already has entries, nothing to fix.\n\tif (Object.keys(process.env).length > 0) return;\n\n\ttry {\n\t\tconst data = readFileSync(\"/proc/self/environ\", \"utf-8\");\n\t\tfor (const entry of data.split(\"\\0\")) {\n\t\t\tconst idx = entry.indexOf(\"=\");\n\t\t\tif (idx > 0) {\n\t\t\t\tprocess.env[entry.slice(0, idx)] = entry.slice(idx + 1);\n\t\t\t}\n\t\t}\n\t} catch {\n\t\t// /proc/self/environ may not be readable; ignore.\n\t}\n}\n"]}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * CLI argument parsing and help display
3
+ */
4
+ import type { ThinkingLevel } from "apex-code-agent-core";
5
+ import type { ExtensionFlag } from "../core/extensions/types.ts";
6
+ import type { TuiMode } from "../core/settings-manager.ts";
7
+ export type Mode = "text" | "json" | "rpc";
8
+ export interface Args {
9
+ provider?: string;
10
+ model?: string;
11
+ apiKey?: string;
12
+ systemPrompt?: string;
13
+ appendSystemPrompt?: string[];
14
+ thinking?: ThinkingLevel;
15
+ continue?: boolean;
16
+ resume?: boolean;
17
+ help?: boolean;
18
+ version?: boolean;
19
+ mode?: Mode;
20
+ name?: string;
21
+ noSession?: boolean;
22
+ session?: string;
23
+ sessionId?: string;
24
+ fork?: string;
25
+ sessionDir?: string;
26
+ models?: string[];
27
+ tools?: string[];
28
+ excludeTools?: string[];
29
+ noTools?: boolean;
30
+ noBuiltinTools?: boolean;
31
+ extensions?: string[];
32
+ noExtensions?: boolean;
33
+ print?: boolean;
34
+ export?: string;
35
+ noSkills?: boolean;
36
+ skills?: string[];
37
+ promptTemplates?: string[];
38
+ noPromptTemplates?: boolean;
39
+ themes?: string[];
40
+ noThemes?: boolean;
41
+ noContextFiles?: boolean;
42
+ listModels?: string | true;
43
+ offline?: boolean;
44
+ tuiMode?: TuiMode;
45
+ verbose?: boolean;
46
+ projectTrustOverride?: boolean;
47
+ messages: string[];
48
+ fileArgs: string[];
49
+ /** Unknown flags (potentially extension flags) - map of flag name to value */
50
+ unknownFlags: Map<string, boolean | string>;
51
+ diagnostics: Array<{
52
+ type: "warning" | "error";
53
+ message: string;
54
+ }>;
55
+ }
56
+ export declare function isValidThinkingLevel(level: string): level is ThinkingLevel;
57
+ export declare function parseArgs(args: string[]): Args;
58
+ export declare function printHelp(extensionFlags?: ExtensionFlag[]): void;
59
+ //# sourceMappingURL=args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAE3D,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE3C,MAAM,WAAW,IAAI;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8EAA8E;IAC9E,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IAC5C,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE;AAID,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAE1E;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAiK9C;AAED,wBAAgB,SAAS,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI,CA8LhE","sourcesContent":["/**\n * CLI argument parsing and help display\n */\n\nimport type { ThinkingLevel } from \"apex-code-agent-core\";\nimport chalk from \"chalk\";\nimport { APP_NAME, CONFIG_DIR_NAME, ENV_AGENT_DIR, ENV_SESSION_DIR } from \"../config.ts\";\nimport type { ExtensionFlag } from \"../core/extensions/types.ts\";\nimport type { TuiMode } from \"../core/settings-manager.ts\";\n\nexport type Mode = \"text\" | \"json\" | \"rpc\";\n\nexport interface Args {\n\tprovider?: string;\n\tmodel?: string;\n\tapiKey?: string;\n\tsystemPrompt?: string;\n\tappendSystemPrompt?: string[];\n\tthinking?: ThinkingLevel;\n\tcontinue?: boolean;\n\tresume?: boolean;\n\thelp?: boolean;\n\tversion?: boolean;\n\tmode?: Mode;\n\tname?: string;\n\tnoSession?: boolean;\n\tsession?: string;\n\tsessionId?: string;\n\tfork?: string;\n\tsessionDir?: string;\n\tmodels?: string[];\n\ttools?: string[];\n\texcludeTools?: string[];\n\tnoTools?: boolean;\n\tnoBuiltinTools?: boolean;\n\textensions?: string[];\n\tnoExtensions?: boolean;\n\tprint?: boolean;\n\texport?: string;\n\tnoSkills?: boolean;\n\tskills?: string[];\n\tpromptTemplates?: string[];\n\tnoPromptTemplates?: boolean;\n\tthemes?: string[];\n\tnoThemes?: boolean;\n\tnoContextFiles?: boolean;\n\tlistModels?: string | true;\n\toffline?: boolean;\n\ttuiMode?: TuiMode;\n\tverbose?: boolean;\n\tprojectTrustOverride?: boolean;\n\tmessages: string[];\n\tfileArgs: string[];\n\t/** Unknown flags (potentially extension flags) - map of flag name to value */\n\tunknownFlags: Map<string, boolean | string>;\n\tdiagnostics: Array<{ type: \"warning\" | \"error\"; message: string }>;\n}\n\nconst VALID_THINKING_LEVELS = [\"off\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"] as const;\n\nexport function isValidThinkingLevel(level: string): level is ThinkingLevel {\n\treturn VALID_THINKING_LEVELS.includes(level as ThinkingLevel);\n}\n\nexport function parseArgs(args: string[]): Args {\n\tconst result: Args = {\n\t\tmessages: [],\n\t\tfileArgs: [],\n\t\tunknownFlags: new Map(),\n\t\tdiagnostics: [],\n\t};\n\n\tfor (let i = 0; i < args.length; i++) {\n\t\tconst arg = args[i];\n\n\t\tif (arg === \"--help\" || arg === \"-h\") {\n\t\t\tresult.help = true;\n\t\t} else if (arg === \"--version\" || arg === \"-v\") {\n\t\t\tresult.version = true;\n\t\t} else if (arg === \"--mode\" && i + 1 < args.length) {\n\t\t\tconst mode = args[++i];\n\t\t\tif (mode === \"text\" || mode === \"json\" || mode === \"rpc\") {\n\t\t\t\tresult.mode = mode;\n\t\t\t}\n\t\t} else if (arg === \"--continue\" || arg === \"-c\") {\n\t\t\tresult.continue = true;\n\t\t} else if (arg === \"--resume\" || arg === \"-r\") {\n\t\t\tresult.resume = true;\n\t\t} else if (arg === \"--provider\" && i + 1 < args.length) {\n\t\t\tresult.provider = args[++i];\n\t\t} else if (arg === \"--model\" && i + 1 < args.length) {\n\t\t\tresult.model = args[++i];\n\t\t} else if (arg === \"--api-key\" && i + 1 < args.length) {\n\t\t\tresult.apiKey = args[++i];\n\t\t} else if (arg === \"--system-prompt\" && i + 1 < args.length) {\n\t\t\tresult.systemPrompt = args[++i];\n\t\t} else if (arg === \"--append-system-prompt\" && i + 1 < args.length) {\n\t\t\tresult.appendSystemPrompt = result.appendSystemPrompt ?? [];\n\t\t\tresult.appendSystemPrompt.push(args[++i]);\n\t\t} else if (arg === \"--name\" || arg === \"-n\") {\n\t\t\tif (i + 1 < args.length) {\n\t\t\t\tresult.name = args[++i];\n\t\t\t} else {\n\t\t\t\tresult.diagnostics.push({ type: \"error\", message: \"--name requires a value\" });\n\t\t\t}\n\t\t} else if (arg === \"--no-session\") {\n\t\t\tresult.noSession = true;\n\t\t} else if (arg === \"--session\" && i + 1 < args.length) {\n\t\t\tresult.session = args[++i];\n\t\t} else if (arg === \"--session-id\" && i + 1 < args.length) {\n\t\t\tresult.sessionId = args[++i];\n\t\t} else if (arg === \"--fork\" && i + 1 < args.length) {\n\t\t\tresult.fork = args[++i];\n\t\t} else if (arg === \"--session-dir\" && i + 1 < args.length) {\n\t\t\tresult.sessionDir = args[++i];\n\t\t} else if (arg === \"--models\" && i + 1 < args.length) {\n\t\t\tresult.models = args[++i].split(\",\").map((s) => s.trim());\n\t\t} else if (arg === \"--no-tools\" || arg === \"-nt\") {\n\t\t\tresult.noTools = true;\n\t\t} else if (arg === \"--no-builtin-tools\" || arg === \"-nbt\") {\n\t\t\tresult.noBuiltinTools = true;\n\t\t} else if ((arg === \"--tools\" || arg === \"-t\") && i + 1 < args.length) {\n\t\t\tresult.tools = args[++i]\n\t\t\t\t.split(\",\")\n\t\t\t\t.map((s) => s.trim())\n\t\t\t\t.filter((name) => name.length > 0);\n\t\t} else if ((arg === \"--exclude-tools\" || arg === \"-xt\") && i + 1 < args.length) {\n\t\t\tresult.excludeTools = args[++i]\n\t\t\t\t.split(\",\")\n\t\t\t\t.map((s) => s.trim())\n\t\t\t\t.filter((name) => name.length > 0);\n\t\t} else if (arg === \"--thinking\" && i + 1 < args.length) {\n\t\t\tconst level = args[++i];\n\t\t\tif (isValidThinkingLevel(level)) {\n\t\t\t\tresult.thinking = level;\n\t\t\t} else {\n\t\t\t\tresult.diagnostics.push({\n\t\t\t\t\ttype: \"warning\",\n\t\t\t\t\tmessage: `Invalid thinking level \"${level}\". Valid values: ${VALID_THINKING_LEVELS.join(\", \")}`,\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (arg === \"--print\" || arg === \"-p\") {\n\t\t\tresult.print = true;\n\t\t\tconst next = args[i + 1];\n\t\t\tif (next !== undefined && !next.startsWith(\"@\") && (!next.startsWith(\"-\") || next.startsWith(\"---\"))) {\n\t\t\t\tresult.messages.push(next);\n\t\t\t\ti++;\n\t\t\t}\n\t\t} else if (arg === \"--export\" && i + 1 < args.length) {\n\t\t\tresult.export = args[++i];\n\t\t} else if ((arg === \"--extension\" || arg === \"-e\") && i + 1 < args.length) {\n\t\t\tresult.extensions = result.extensions ?? [];\n\t\t\tresult.extensions.push(args[++i]);\n\t\t} else if (arg === \"--no-extensions\" || arg === \"-ne\") {\n\t\t\tresult.noExtensions = true;\n\t\t} else if (arg === \"--skill\" && i + 1 < args.length) {\n\t\t\tresult.skills = result.skills ?? [];\n\t\t\tresult.skills.push(args[++i]);\n\t\t} else if (arg === \"--prompt-template\" && i + 1 < args.length) {\n\t\t\tresult.promptTemplates = result.promptTemplates ?? [];\n\t\t\tresult.promptTemplates.push(args[++i]);\n\t\t} else if (arg === \"--theme\" && i + 1 < args.length) {\n\t\t\tresult.themes = result.themes ?? [];\n\t\t\tresult.themes.push(args[++i]);\n\t\t} else if (arg === \"--no-skills\" || arg === \"-ns\") {\n\t\t\tresult.noSkills = true;\n\t\t} else if (arg === \"--no-prompt-templates\" || arg === \"-np\") {\n\t\t\tresult.noPromptTemplates = true;\n\t\t} else if (arg === \"--no-themes\") {\n\t\t\tresult.noThemes = true;\n\t\t} else if (arg === \"--no-context-files\" || arg === \"-nc\") {\n\t\t\tresult.noContextFiles = true;\n\t\t} else if (arg === \"--list-models\") {\n\t\t\t// Check if next arg is a search pattern (not a flag or file arg)\n\t\t\tif (i + 1 < args.length && !args[i + 1].startsWith(\"-\") && !args[i + 1].startsWith(\"@\")) {\n\t\t\t\tresult.listModels = args[++i];\n\t\t\t} else {\n\t\t\t\tresult.listModels = true;\n\t\t\t}\n\t\t} else if (arg === \"--tui-mode\") {\n\t\t\tconst mode = args[i + 1];\n\t\t\tif (mode === \"regular\" || mode === \"fullscreen\") {\n\t\t\t\tresult.tuiMode = mode;\n\t\t\t\ti++;\n\t\t\t} else if (mode === undefined || mode.startsWith(\"-\")) {\n\t\t\t\tresult.diagnostics.push({ type: \"error\", message: \"--tui-mode requires regular or fullscreen\" });\n\t\t\t} else {\n\t\t\t\ti++;\n\t\t\t\tresult.diagnostics.push({\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\tmessage: `Invalid TUI mode \"${mode}\". Valid values: regular, fullscreen`,\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (arg === \"--verbose\") {\n\t\t\tresult.verbose = true;\n\t\t} else if (arg === \"--approve\" || arg === \"-a\") {\n\t\t\tresult.projectTrustOverride = true;\n\t\t} else if (arg === \"--no-approve\" || arg === \"-na\") {\n\t\t\tresult.projectTrustOverride = false;\n\t\t} else if (arg === \"--offline\") {\n\t\t\tresult.offline = true;\n\t\t} else if (arg.startsWith(\"@\")) {\n\t\t\tresult.fileArgs.push(arg.slice(1)); // Remove @ prefix\n\t\t} else if (arg.startsWith(\"--\")) {\n\t\t\tconst eqIndex = arg.indexOf(\"=\");\n\t\t\tif (eqIndex !== -1) {\n\t\t\t\tresult.unknownFlags.set(arg.slice(2, eqIndex), arg.slice(eqIndex + 1));\n\t\t\t} else {\n\t\t\t\tconst flagName = arg.slice(2);\n\t\t\t\tconst next = args[i + 1];\n\t\t\t\tif (next !== undefined && !next.startsWith(\"-\") && !next.startsWith(\"@\")) {\n\t\t\t\t\tresult.unknownFlags.set(flagName, next);\n\t\t\t\t\ti++;\n\t\t\t\t} else {\n\t\t\t\t\tresult.unknownFlags.set(flagName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (arg.startsWith(\"-\") && !arg.startsWith(\"--\")) {\n\t\t\tresult.diagnostics.push({ type: \"error\", message: `Unknown option: ${arg}` });\n\t\t} else if (!arg.startsWith(\"-\")) {\n\t\t\tresult.messages.push(arg);\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function printHelp(extensionFlags?: ExtensionFlag[]): void {\n\tconst extensionFlagsText =\n\t\textensionFlags && extensionFlags.length > 0\n\t\t\t? `\\n${chalk.bold(\"Extension CLI Flags:\")}\\n${extensionFlags\n\t\t\t\t\t.map((flag) => {\n\t\t\t\t\t\tconst value = flag.type === \"string\" ? \" <value>\" : \"\";\n\t\t\t\t\t\tconst description = flag.description ?? `Registered by ${flag.extensionPath}`;\n\t\t\t\t\t\treturn ` --${flag.name}${value}`.padEnd(30) + description;\n\t\t\t\t\t})\n\t\t\t\t\t.join(\"\\n\")}\\n`\n\t\t\t: \"\";\n\tconsole.log(`${chalk.bold(APP_NAME)} - AI coding assistant with read, bash, edit, write tools\n\n${chalk.bold(\"Usage:\")}\n ${APP_NAME} [options] [@files...] [messages...]\n\n${chalk.bold(\"Commands:\")}\n ${APP_NAME} install <source> [-l] Install extension source and add to settings\n ${APP_NAME} remove <source> [-l] Remove extension source from settings\n ${APP_NAME} uninstall <source> [-l] Alias for remove\n ${APP_NAME} update [source|self|pi] Update pi, extensions, or model catalogs\n ${APP_NAME} list List installed extensions from settings\n ${APP_NAME} config [-l] Open TUI to enable/disable package resources (Tab switches scope)\n ${APP_NAME} auth <command> Print credentials or check provider readiness\n ${APP_NAME} <command> --help Show help for install/remove/uninstall/update/list/config/auth\n\n${chalk.bold(\"Options:\")}\n --provider <name> Provider name (default: google)\n --model <pattern> Model pattern or ID (supports \"provider/id\" and optional \":<thinking>\")\n --api-key <key> API key (defaults to env vars)\n --system-prompt <text> System prompt (default: coding assistant prompt)\n --append-system-prompt <text> Append text or file contents to the system prompt (can be used multiple times)\n --mode <mode> Output mode: text (default), json, or rpc\n --print, -p Non-interactive mode: process prompt and exit\n --continue, -c Continue previous session\n --resume, -r Select a session to resume\n --session <path|id> Use specific session file or partial UUID\n --session-id <id> Use exact project session ID, creating it if missing\n --fork <path|id> Fork specific session file or partial UUID into a new session\n --session-dir <dir> Directory for session storage and lookup\n --no-session Don't save session (ephemeral)\n --name, -n <name> Set session display name\n --models <patterns> Comma-separated model patterns for Ctrl+P cycling\n Supports globs (anthropic/*, *sonnet*) and fuzzy matching\n --no-tools, -nt Disable all tools by default (built-in and extension)\n --no-builtin-tools, -nbt Disable built-in tools by default but keep extension/custom tools enabled\n --tools, -t <tools> Comma-separated allowlist of tool names to enable\n Applies to built-in, extension, and custom tools\n --exclude-tools, -xt <tools> Comma-separated denylist of tool names to disable\n Applies to built-in, extension, and custom tools\n --thinking <level> Set thinking level: off, minimal, low, medium, high, xhigh, max\n --extension, -e <path> Load an extension file (can be used multiple times)\n --no-extensions, -ne Disable extension discovery (explicit -e paths still work)\n --skill <path> Load a skill file or directory (can be used multiple times)\n --no-skills, -ns Disable skills discovery and loading\n --prompt-template <path> Load a prompt template file or directory (can be used multiple times)\n --no-prompt-templates, -np Disable prompt template discovery and loading\n --theme <path> Load a theme file or directory (can be used multiple times)\n --no-themes Disable theme discovery and loading\n --no-context-files, -nc Disable AGENTS.md and CLAUDE.md discovery and loading\n --export <file> Export session file to HTML and exit\n --list-models [search] List available models (with optional fuzzy search)\n --verbose Force verbose startup (overrides quietStartup setting)\n --tui-mode <mode> TUI mode: regular (default) or fullscreen\n --approve, -a Trust project-local files for this run\n --no-approve, -na Ignore project-local files for this run\n --offline Disable startup network operations (same as PI_OFFLINE=1)\n --help, -h Show this help\n --version, -v Show version number\n\nExtensions can register additional flags (e.g., --plan from plan-mode extension).${extensionFlagsText}\n\n${chalk.bold(\"Examples:\")}\n # Print a provider API key for an external client\n ${APP_NAME} auth print-api-key --provider openai\n\n # Print an OAuth bearer token for an external client (refreshes if expired)\n ${APP_NAME} auth print-bearer-token --provider openai-codex\n\n # Interactive mode\n ${APP_NAME}\n\n # Interactive mode with initial prompt\n ${APP_NAME} \"List all .ts files in src/\"\n\n # Include files in initial message\n ${APP_NAME} @prompt.md @image.png \"What color is the sky?\"\n\n # Non-interactive mode (process and exit)\n ${APP_NAME} -p \"List all .ts files in src/\"\n\n # Multiple messages (interactive)\n ${APP_NAME} \"Read package.json\" \"What dependencies do we have?\"\n\n # Continue previous session\n ${APP_NAME} --continue \"What did we discuss?\"\n\n # Start a named session\n ${APP_NAME} --name \"Refactor auth module\"\n\n # Use different model\n ${APP_NAME} --provider openai --model gpt-4o-mini \"Help me refactor this code\"\n\n # Use model with provider prefix (no --provider needed)\n ${APP_NAME} --model openai/gpt-4o \"Help me refactor this code\"\n\n # Use model with thinking level shorthand\n ${APP_NAME} --model sonnet:high \"Solve this complex problem\"\n\n # Limit model cycling to specific models\n ${APP_NAME} --models claude-sonnet,claude-haiku,gpt-4o\n\n # Limit to a specific provider with glob pattern\n ${APP_NAME} --models \"github-copilot/*\"\n\n # Cycle models with fixed thinking levels\n ${APP_NAME} --models sonnet:high,haiku:low\n\n # Start with a specific thinking level\n ${APP_NAME} --thinking high \"Solve this complex problem\"\n\n # Read-only mode (no file modifications possible)\n ${APP_NAME} --tools read,grep,find,ls -p \"Review the code in src/\"\n\n # Disable one tool while keeping the rest available\n ${APP_NAME} --exclude-tools ask_question\n\n # Export a session file to HTML\n ${APP_NAME} --export ~/${CONFIG_DIR_NAME}/agent/sessions/--path--/session.jsonl\n ${APP_NAME} --export session.jsonl output.html\n\n${chalk.bold(\"Environment Variables:\")}\n ANTHROPIC_AUTH_TOKEN - Anthropic bearer auth token\n ANTHROPIC_API_KEY - Anthropic Claude API key\n ANTHROPIC_OAUTH_TOKEN - Anthropic OAuth token (alternative to API key)\n ANT_LING_API_KEY - Ant Ling API key\n OPENAI_API_KEY - OpenAI GPT API key\n AZURE_OPENAI_API_KEY - Azure OpenAI API key\n AZURE_OPENAI_BASE_URL - Azure OpenAI/Cognitive Services base URL (e.g. https://{resource}.openai.azure.com)\n AZURE_OPENAI_RESOURCE_NAME - Azure OpenAI resource name (alternative to base URL)\n AZURE_OPENAI_API_VERSION - Azure OpenAI API version (default: v1)\n AZURE_OPENAI_DEPLOYMENT_NAME_MAP - Azure OpenAI model=deployment map (comma-separated)\n DEEPSEEK_API_KEY - DeepSeek API key\n NVIDIA_API_KEY - NVIDIA NIM API key\n GEMINI_API_KEY - Google Gemini API key\n GROQ_API_KEY - Groq API key\n CEREBRAS_API_KEY - Cerebras API key\n XAI_API_KEY - xAI Grok API key\n FIREWORKS_API_KEY - Fireworks API key\n TOGETHER_API_KEY - Together AI API key\n BASETEN_API_KEY - Baseten API key\n OPENROUTER_API_KEY - OpenRouter API key\n AI_GATEWAY_API_KEY - Vercel AI Gateway API key\n ZAI_API_KEY - ZAI Coding Plan API key (Global)\n ZAI_CODING_CN_API_KEY - ZAI Coding Plan API key (China)\n MISTRAL_API_KEY - Mistral API key\n MINIMAX_API_KEY - MiniMax API key\n MOONSHOT_API_KEY - Moonshot AI API key\n OPENCODE_API_KEY - OpenCode Zen/OpenCode Go API key\n KIMI_API_KEY - Kimi For Coding API key\n CLOUDFLARE_API_KEY - Cloudflare API token (Workers AI and AI Gateway)\n CLOUDFLARE_ACCOUNT_ID - Cloudflare account id (required for both)\n CLOUDFLARE_GATEWAY_ID - Cloudflare AI Gateway slug (required for AI Gateway)\n QWEN_TOKEN_PLAN_API_KEY - Qwen Token Plan API key (international region)\n QWEN_TOKEN_PLAN_CN_API_KEY - Qwen Token Plan API key (China region)\n XIAOMI_API_KEY - Xiaomi MiMo API key (api.xiaomimimo.com billing)\n XIAOMI_TOKEN_PLAN_CN_API_KEY - Xiaomi MiMo Token Plan API key (China region)\n XIAOMI_TOKEN_PLAN_AMS_API_KEY - Xiaomi MiMo Token Plan API key (Amsterdam region)\n XIAOMI_TOKEN_PLAN_SGP_API_KEY - Xiaomi MiMo Token Plan API key (Singapore region)\n AWS_PROFILE - AWS profile for Amazon Bedrock\n AWS_ACCESS_KEY_ID - AWS access key for Amazon Bedrock\n AWS_SECRET_ACCESS_KEY - AWS secret key for Amazon Bedrock\n AWS_BEARER_TOKEN_BEDROCK - Bedrock API key (bearer token)\n AWS_REGION - AWS region for Amazon Bedrock (e.g., us-east-1)\n ${ENV_AGENT_DIR.padEnd(32)} - Config directory (default: ~/${CONFIG_DIR_NAME}/agent)\n ${ENV_SESSION_DIR.padEnd(32)} - Session storage directory (overridden by --session-dir)\n PI_PACKAGE_DIR - Override package directory (for Nix/Guix store paths)\n PI_OFFLINE - Disable startup network operations when set to 1/true/yes\n PI_TELEMETRY - Override install telemetry when set to 1/true/yes or 0/false/no\n PI_SHARE_VIEWER_URL - Base URL for /share command (default: https://pi.dev/session/)\n\n${chalk.bold(\"Built-in Tool Names:\")}\n read - Read file contents\n bash - Execute bash commands\n edit - Edit files with find/replace\n write - Write files (creates/overwrites)\n grep - Search file contents (read-only, off by default)\n find - Find files by glob pattern (read-only, off by default)\n ls - List directory contents (read-only, off by default)\n`);\n}\n"]}
@@ -0,0 +1,408 @@
1
+ /**
2
+ * CLI argument parsing and help display
3
+ */
4
+ import chalk from "chalk";
5
+ import { APP_NAME, CONFIG_DIR_NAME, ENV_AGENT_DIR, ENV_SESSION_DIR } from "../config.js";
6
+ const VALID_THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
7
+ export function isValidThinkingLevel(level) {
8
+ return VALID_THINKING_LEVELS.includes(level);
9
+ }
10
+ export function parseArgs(args) {
11
+ const result = {
12
+ messages: [],
13
+ fileArgs: [],
14
+ unknownFlags: new Map(),
15
+ diagnostics: [],
16
+ };
17
+ for (let i = 0; i < args.length; i++) {
18
+ const arg = args[i];
19
+ if (arg === "--help" || arg === "-h") {
20
+ result.help = true;
21
+ }
22
+ else if (arg === "--version" || arg === "-v") {
23
+ result.version = true;
24
+ }
25
+ else if (arg === "--mode" && i + 1 < args.length) {
26
+ const mode = args[++i];
27
+ if (mode === "text" || mode === "json" || mode === "rpc") {
28
+ result.mode = mode;
29
+ }
30
+ }
31
+ else if (arg === "--continue" || arg === "-c") {
32
+ result.continue = true;
33
+ }
34
+ else if (arg === "--resume" || arg === "-r") {
35
+ result.resume = true;
36
+ }
37
+ else if (arg === "--provider" && i + 1 < args.length) {
38
+ result.provider = args[++i];
39
+ }
40
+ else if (arg === "--model" && i + 1 < args.length) {
41
+ result.model = args[++i];
42
+ }
43
+ else if (arg === "--api-key" && i + 1 < args.length) {
44
+ result.apiKey = args[++i];
45
+ }
46
+ else if (arg === "--system-prompt" && i + 1 < args.length) {
47
+ result.systemPrompt = args[++i];
48
+ }
49
+ else if (arg === "--append-system-prompt" && i + 1 < args.length) {
50
+ result.appendSystemPrompt = result.appendSystemPrompt ?? [];
51
+ result.appendSystemPrompt.push(args[++i]);
52
+ }
53
+ else if (arg === "--name" || arg === "-n") {
54
+ if (i + 1 < args.length) {
55
+ result.name = args[++i];
56
+ }
57
+ else {
58
+ result.diagnostics.push({ type: "error", message: "--name requires a value" });
59
+ }
60
+ }
61
+ else if (arg === "--no-session") {
62
+ result.noSession = true;
63
+ }
64
+ else if (arg === "--session" && i + 1 < args.length) {
65
+ result.session = args[++i];
66
+ }
67
+ else if (arg === "--session-id" && i + 1 < args.length) {
68
+ result.sessionId = args[++i];
69
+ }
70
+ else if (arg === "--fork" && i + 1 < args.length) {
71
+ result.fork = args[++i];
72
+ }
73
+ else if (arg === "--session-dir" && i + 1 < args.length) {
74
+ result.sessionDir = args[++i];
75
+ }
76
+ else if (arg === "--models" && i + 1 < args.length) {
77
+ result.models = args[++i].split(",").map((s) => s.trim());
78
+ }
79
+ else if (arg === "--no-tools" || arg === "-nt") {
80
+ result.noTools = true;
81
+ }
82
+ else if (arg === "--no-builtin-tools" || arg === "-nbt") {
83
+ result.noBuiltinTools = true;
84
+ }
85
+ else if ((arg === "--tools" || arg === "-t") && i + 1 < args.length) {
86
+ result.tools = args[++i]
87
+ .split(",")
88
+ .map((s) => s.trim())
89
+ .filter((name) => name.length > 0);
90
+ }
91
+ else if ((arg === "--exclude-tools" || arg === "-xt") && i + 1 < args.length) {
92
+ result.excludeTools = args[++i]
93
+ .split(",")
94
+ .map((s) => s.trim())
95
+ .filter((name) => name.length > 0);
96
+ }
97
+ else if (arg === "--thinking" && i + 1 < args.length) {
98
+ const level = args[++i];
99
+ if (isValidThinkingLevel(level)) {
100
+ result.thinking = level;
101
+ }
102
+ else {
103
+ result.diagnostics.push({
104
+ type: "warning",
105
+ message: `Invalid thinking level "${level}". Valid values: ${VALID_THINKING_LEVELS.join(", ")}`,
106
+ });
107
+ }
108
+ }
109
+ else if (arg === "--print" || arg === "-p") {
110
+ result.print = true;
111
+ const next = args[i + 1];
112
+ if (next !== undefined && !next.startsWith("@") && (!next.startsWith("-") || next.startsWith("---"))) {
113
+ result.messages.push(next);
114
+ i++;
115
+ }
116
+ }
117
+ else if (arg === "--export" && i + 1 < args.length) {
118
+ result.export = args[++i];
119
+ }
120
+ else if ((arg === "--extension" || arg === "-e") && i + 1 < args.length) {
121
+ result.extensions = result.extensions ?? [];
122
+ result.extensions.push(args[++i]);
123
+ }
124
+ else if (arg === "--no-extensions" || arg === "-ne") {
125
+ result.noExtensions = true;
126
+ }
127
+ else if (arg === "--skill" && i + 1 < args.length) {
128
+ result.skills = result.skills ?? [];
129
+ result.skills.push(args[++i]);
130
+ }
131
+ else if (arg === "--prompt-template" && i + 1 < args.length) {
132
+ result.promptTemplates = result.promptTemplates ?? [];
133
+ result.promptTemplates.push(args[++i]);
134
+ }
135
+ else if (arg === "--theme" && i + 1 < args.length) {
136
+ result.themes = result.themes ?? [];
137
+ result.themes.push(args[++i]);
138
+ }
139
+ else if (arg === "--no-skills" || arg === "-ns") {
140
+ result.noSkills = true;
141
+ }
142
+ else if (arg === "--no-prompt-templates" || arg === "-np") {
143
+ result.noPromptTemplates = true;
144
+ }
145
+ else if (arg === "--no-themes") {
146
+ result.noThemes = true;
147
+ }
148
+ else if (arg === "--no-context-files" || arg === "-nc") {
149
+ result.noContextFiles = true;
150
+ }
151
+ else if (arg === "--list-models") {
152
+ // Check if next arg is a search pattern (not a flag or file arg)
153
+ if (i + 1 < args.length && !args[i + 1].startsWith("-") && !args[i + 1].startsWith("@")) {
154
+ result.listModels = args[++i];
155
+ }
156
+ else {
157
+ result.listModels = true;
158
+ }
159
+ }
160
+ else if (arg === "--tui-mode") {
161
+ const mode = args[i + 1];
162
+ if (mode === "regular" || mode === "fullscreen") {
163
+ result.tuiMode = mode;
164
+ i++;
165
+ }
166
+ else if (mode === undefined || mode.startsWith("-")) {
167
+ result.diagnostics.push({ type: "error", message: "--tui-mode requires regular or fullscreen" });
168
+ }
169
+ else {
170
+ i++;
171
+ result.diagnostics.push({
172
+ type: "error",
173
+ message: `Invalid TUI mode "${mode}". Valid values: regular, fullscreen`,
174
+ });
175
+ }
176
+ }
177
+ else if (arg === "--verbose") {
178
+ result.verbose = true;
179
+ }
180
+ else if (arg === "--approve" || arg === "-a") {
181
+ result.projectTrustOverride = true;
182
+ }
183
+ else if (arg === "--no-approve" || arg === "-na") {
184
+ result.projectTrustOverride = false;
185
+ }
186
+ else if (arg === "--offline") {
187
+ result.offline = true;
188
+ }
189
+ else if (arg.startsWith("@")) {
190
+ result.fileArgs.push(arg.slice(1)); // Remove @ prefix
191
+ }
192
+ else if (arg.startsWith("--")) {
193
+ const eqIndex = arg.indexOf("=");
194
+ if (eqIndex !== -1) {
195
+ result.unknownFlags.set(arg.slice(2, eqIndex), arg.slice(eqIndex + 1));
196
+ }
197
+ else {
198
+ const flagName = arg.slice(2);
199
+ const next = args[i + 1];
200
+ if (next !== undefined && !next.startsWith("-") && !next.startsWith("@")) {
201
+ result.unknownFlags.set(flagName, next);
202
+ i++;
203
+ }
204
+ else {
205
+ result.unknownFlags.set(flagName, true);
206
+ }
207
+ }
208
+ }
209
+ else if (arg.startsWith("-") && !arg.startsWith("--")) {
210
+ result.diagnostics.push({ type: "error", message: `Unknown option: ${arg}` });
211
+ }
212
+ else if (!arg.startsWith("-")) {
213
+ result.messages.push(arg);
214
+ }
215
+ }
216
+ return result;
217
+ }
218
+ export function printHelp(extensionFlags) {
219
+ const extensionFlagsText = extensionFlags && extensionFlags.length > 0
220
+ ? `\n${chalk.bold("Extension CLI Flags:")}\n${extensionFlags
221
+ .map((flag) => {
222
+ const value = flag.type === "string" ? " <value>" : "";
223
+ const description = flag.description ?? `Registered by ${flag.extensionPath}`;
224
+ return ` --${flag.name}${value}`.padEnd(30) + description;
225
+ })
226
+ .join("\n")}\n`
227
+ : "";
228
+ console.log(`${chalk.bold(APP_NAME)} - AI coding assistant with read, bash, edit, write tools
229
+
230
+ ${chalk.bold("Usage:")}
231
+ ${APP_NAME} [options] [@files...] [messages...]
232
+
233
+ ${chalk.bold("Commands:")}
234
+ ${APP_NAME} install <source> [-l] Install extension source and add to settings
235
+ ${APP_NAME} remove <source> [-l] Remove extension source from settings
236
+ ${APP_NAME} uninstall <source> [-l] Alias for remove
237
+ ${APP_NAME} update [source|self|pi] Update pi, extensions, or model catalogs
238
+ ${APP_NAME} list List installed extensions from settings
239
+ ${APP_NAME} config [-l] Open TUI to enable/disable package resources (Tab switches scope)
240
+ ${APP_NAME} auth <command> Print credentials or check provider readiness
241
+ ${APP_NAME} <command> --help Show help for install/remove/uninstall/update/list/config/auth
242
+
243
+ ${chalk.bold("Options:")}
244
+ --provider <name> Provider name (default: google)
245
+ --model <pattern> Model pattern or ID (supports "provider/id" and optional ":<thinking>")
246
+ --api-key <key> API key (defaults to env vars)
247
+ --system-prompt <text> System prompt (default: coding assistant prompt)
248
+ --append-system-prompt <text> Append text or file contents to the system prompt (can be used multiple times)
249
+ --mode <mode> Output mode: text (default), json, or rpc
250
+ --print, -p Non-interactive mode: process prompt and exit
251
+ --continue, -c Continue previous session
252
+ --resume, -r Select a session to resume
253
+ --session <path|id> Use specific session file or partial UUID
254
+ --session-id <id> Use exact project session ID, creating it if missing
255
+ --fork <path|id> Fork specific session file or partial UUID into a new session
256
+ --session-dir <dir> Directory for session storage and lookup
257
+ --no-session Don't save session (ephemeral)
258
+ --name, -n <name> Set session display name
259
+ --models <patterns> Comma-separated model patterns for Ctrl+P cycling
260
+ Supports globs (anthropic/*, *sonnet*) and fuzzy matching
261
+ --no-tools, -nt Disable all tools by default (built-in and extension)
262
+ --no-builtin-tools, -nbt Disable built-in tools by default but keep extension/custom tools enabled
263
+ --tools, -t <tools> Comma-separated allowlist of tool names to enable
264
+ Applies to built-in, extension, and custom tools
265
+ --exclude-tools, -xt <tools> Comma-separated denylist of tool names to disable
266
+ Applies to built-in, extension, and custom tools
267
+ --thinking <level> Set thinking level: off, minimal, low, medium, high, xhigh, max
268
+ --extension, -e <path> Load an extension file (can be used multiple times)
269
+ --no-extensions, -ne Disable extension discovery (explicit -e paths still work)
270
+ --skill <path> Load a skill file or directory (can be used multiple times)
271
+ --no-skills, -ns Disable skills discovery and loading
272
+ --prompt-template <path> Load a prompt template file or directory (can be used multiple times)
273
+ --no-prompt-templates, -np Disable prompt template discovery and loading
274
+ --theme <path> Load a theme file or directory (can be used multiple times)
275
+ --no-themes Disable theme discovery and loading
276
+ --no-context-files, -nc Disable AGENTS.md and CLAUDE.md discovery and loading
277
+ --export <file> Export session file to HTML and exit
278
+ --list-models [search] List available models (with optional fuzzy search)
279
+ --verbose Force verbose startup (overrides quietStartup setting)
280
+ --tui-mode <mode> TUI mode: regular (default) or fullscreen
281
+ --approve, -a Trust project-local files for this run
282
+ --no-approve, -na Ignore project-local files for this run
283
+ --offline Disable startup network operations (same as PI_OFFLINE=1)
284
+ --help, -h Show this help
285
+ --version, -v Show version number
286
+
287
+ Extensions can register additional flags (e.g., --plan from plan-mode extension).${extensionFlagsText}
288
+
289
+ ${chalk.bold("Examples:")}
290
+ # Print a provider API key for an external client
291
+ ${APP_NAME} auth print-api-key --provider openai
292
+
293
+ # Print an OAuth bearer token for an external client (refreshes if expired)
294
+ ${APP_NAME} auth print-bearer-token --provider openai-codex
295
+
296
+ # Interactive mode
297
+ ${APP_NAME}
298
+
299
+ # Interactive mode with initial prompt
300
+ ${APP_NAME} "List all .ts files in src/"
301
+
302
+ # Include files in initial message
303
+ ${APP_NAME} @prompt.md @image.png "What color is the sky?"
304
+
305
+ # Non-interactive mode (process and exit)
306
+ ${APP_NAME} -p "List all .ts files in src/"
307
+
308
+ # Multiple messages (interactive)
309
+ ${APP_NAME} "Read package.json" "What dependencies do we have?"
310
+
311
+ # Continue previous session
312
+ ${APP_NAME} --continue "What did we discuss?"
313
+
314
+ # Start a named session
315
+ ${APP_NAME} --name "Refactor auth module"
316
+
317
+ # Use different model
318
+ ${APP_NAME} --provider openai --model gpt-4o-mini "Help me refactor this code"
319
+
320
+ # Use model with provider prefix (no --provider needed)
321
+ ${APP_NAME} --model openai/gpt-4o "Help me refactor this code"
322
+
323
+ # Use model with thinking level shorthand
324
+ ${APP_NAME} --model sonnet:high "Solve this complex problem"
325
+
326
+ # Limit model cycling to specific models
327
+ ${APP_NAME} --models claude-sonnet,claude-haiku,gpt-4o
328
+
329
+ # Limit to a specific provider with glob pattern
330
+ ${APP_NAME} --models "github-copilot/*"
331
+
332
+ # Cycle models with fixed thinking levels
333
+ ${APP_NAME} --models sonnet:high,haiku:low
334
+
335
+ # Start with a specific thinking level
336
+ ${APP_NAME} --thinking high "Solve this complex problem"
337
+
338
+ # Read-only mode (no file modifications possible)
339
+ ${APP_NAME} --tools read,grep,find,ls -p "Review the code in src/"
340
+
341
+ # Disable one tool while keeping the rest available
342
+ ${APP_NAME} --exclude-tools ask_question
343
+
344
+ # Export a session file to HTML
345
+ ${APP_NAME} --export ~/${CONFIG_DIR_NAME}/agent/sessions/--path--/session.jsonl
346
+ ${APP_NAME} --export session.jsonl output.html
347
+
348
+ ${chalk.bold("Environment Variables:")}
349
+ ANTHROPIC_AUTH_TOKEN - Anthropic bearer auth token
350
+ ANTHROPIC_API_KEY - Anthropic Claude API key
351
+ ANTHROPIC_OAUTH_TOKEN - Anthropic OAuth token (alternative to API key)
352
+ ANT_LING_API_KEY - Ant Ling API key
353
+ OPENAI_API_KEY - OpenAI GPT API key
354
+ AZURE_OPENAI_API_KEY - Azure OpenAI API key
355
+ AZURE_OPENAI_BASE_URL - Azure OpenAI/Cognitive Services base URL (e.g. https://{resource}.openai.azure.com)
356
+ AZURE_OPENAI_RESOURCE_NAME - Azure OpenAI resource name (alternative to base URL)
357
+ AZURE_OPENAI_API_VERSION - Azure OpenAI API version (default: v1)
358
+ AZURE_OPENAI_DEPLOYMENT_NAME_MAP - Azure OpenAI model=deployment map (comma-separated)
359
+ DEEPSEEK_API_KEY - DeepSeek API key
360
+ NVIDIA_API_KEY - NVIDIA NIM API key
361
+ GEMINI_API_KEY - Google Gemini API key
362
+ GROQ_API_KEY - Groq API key
363
+ CEREBRAS_API_KEY - Cerebras API key
364
+ XAI_API_KEY - xAI Grok API key
365
+ FIREWORKS_API_KEY - Fireworks API key
366
+ TOGETHER_API_KEY - Together AI API key
367
+ BASETEN_API_KEY - Baseten API key
368
+ OPENROUTER_API_KEY - OpenRouter API key
369
+ AI_GATEWAY_API_KEY - Vercel AI Gateway API key
370
+ ZAI_API_KEY - ZAI Coding Plan API key (Global)
371
+ ZAI_CODING_CN_API_KEY - ZAI Coding Plan API key (China)
372
+ MISTRAL_API_KEY - Mistral API key
373
+ MINIMAX_API_KEY - MiniMax API key
374
+ MOONSHOT_API_KEY - Moonshot AI API key
375
+ OPENCODE_API_KEY - OpenCode Zen/OpenCode Go API key
376
+ KIMI_API_KEY - Kimi For Coding API key
377
+ CLOUDFLARE_API_KEY - Cloudflare API token (Workers AI and AI Gateway)
378
+ CLOUDFLARE_ACCOUNT_ID - Cloudflare account id (required for both)
379
+ CLOUDFLARE_GATEWAY_ID - Cloudflare AI Gateway slug (required for AI Gateway)
380
+ QWEN_TOKEN_PLAN_API_KEY - Qwen Token Plan API key (international region)
381
+ QWEN_TOKEN_PLAN_CN_API_KEY - Qwen Token Plan API key (China region)
382
+ XIAOMI_API_KEY - Xiaomi MiMo API key (api.xiaomimimo.com billing)
383
+ XIAOMI_TOKEN_PLAN_CN_API_KEY - Xiaomi MiMo Token Plan API key (China region)
384
+ XIAOMI_TOKEN_PLAN_AMS_API_KEY - Xiaomi MiMo Token Plan API key (Amsterdam region)
385
+ XIAOMI_TOKEN_PLAN_SGP_API_KEY - Xiaomi MiMo Token Plan API key (Singapore region)
386
+ AWS_PROFILE - AWS profile for Amazon Bedrock
387
+ AWS_ACCESS_KEY_ID - AWS access key for Amazon Bedrock
388
+ AWS_SECRET_ACCESS_KEY - AWS secret key for Amazon Bedrock
389
+ AWS_BEARER_TOKEN_BEDROCK - Bedrock API key (bearer token)
390
+ AWS_REGION - AWS region for Amazon Bedrock (e.g., us-east-1)
391
+ ${ENV_AGENT_DIR.padEnd(32)} - Config directory (default: ~/${CONFIG_DIR_NAME}/agent)
392
+ ${ENV_SESSION_DIR.padEnd(32)} - Session storage directory (overridden by --session-dir)
393
+ PI_PACKAGE_DIR - Override package directory (for Nix/Guix store paths)
394
+ PI_OFFLINE - Disable startup network operations when set to 1/true/yes
395
+ PI_TELEMETRY - Override install telemetry when set to 1/true/yes or 0/false/no
396
+ PI_SHARE_VIEWER_URL - Base URL for /share command (default: https://pi.dev/session/)
397
+
398
+ ${chalk.bold("Built-in Tool Names:")}
399
+ read - Read file contents
400
+ bash - Execute bash commands
401
+ edit - Edit files with find/replace
402
+ write - Write files (creates/overwrites)
403
+ grep - Search file contents (read-only, off by default)
404
+ find - Find files by glob pattern (read-only, off by default)
405
+ ls - List directory contents (read-only, off by default)
406
+ `);
407
+ }
408
+ //# sourceMappingURL=args.js.map