@eminent337/aery 0.67.68 → 0.74.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +418 -5
- package/README.md +67 -37
- package/dist/bun/cli.d.ts +3 -0
- package/dist/bun/cli.d.ts.map +1 -0
- package/dist/bun/cli.js +9 -0
- package/dist/bun/cli.js.map +1 -0
- package/dist/bun/register-bedrock.d.ts +2 -0
- package/dist/bun/register-bedrock.d.ts.map +1 -0
- package/dist/bun/register-bedrock.js +4 -0
- package/dist/bun/register-bedrock.js.map +1 -0
- package/dist/bun/restore-sandbox-env.d.ts +13 -0
- package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
- package/dist/bun/restore-sandbox-env.js +32 -0
- package/dist/bun/restore-sandbox-env.js.map +1 -0
- package/dist/cli/args.d.ts +53 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +341 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/capabilities.d.ts +61 -0
- package/dist/cli/capabilities.d.ts.map +1 -0
- package/dist/cli/capabilities.js +155 -0
- package/dist/cli/capabilities.js.map +1 -0
- package/dist/cli/config-selector.d.ts +14 -0
- package/dist/cli/config-selector.d.ts.map +1 -0
- package/dist/cli/config-selector.js +31 -0
- package/dist/cli/config-selector.js.map +1 -0
- package/dist/cli/doctor.d.ts +32 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +133 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/file-processor.d.ts +15 -0
- package/dist/cli/file-processor.d.ts.map +1 -0
- package/dist/cli/file-processor.js +83 -0
- package/dist/cli/file-processor.js.map +1 -0
- package/dist/cli/initial-message.d.ts +18 -0
- package/dist/cli/initial-message.d.ts.map +1 -0
- package/dist/cli/initial-message.js +22 -0
- package/dist/cli/initial-message.js.map +1 -0
- package/dist/cli/list-models.d.ts +9 -0
- package/dist/cli/list-models.d.ts.map +1 -0
- package/dist/cli/list-models.js +98 -0
- package/dist/cli/list-models.js.map +1 -0
- package/dist/cli/session-picker.d.ts +9 -0
- package/dist/cli/session-picker.d.ts.map +1 -0
- package/dist/cli/session-picker.js +35 -0
- package/dist/cli/session-picker.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +20 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +92 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +399 -0
- package/dist/config.js.map +1 -0
- package/dist/core/agent-session-runtime.d.ts +117 -0
- package/dist/core/agent-session-runtime.d.ts.map +1 -0
- package/dist/core/agent-session-runtime.js +300 -0
- package/dist/core/agent-session-runtime.js.map +1 -0
- package/dist/core/agent-session-services.d.ts +86 -0
- package/dist/core/agent-session-services.d.ts.map +1 -0
- package/dist/core/agent-session-services.js +117 -0
- package/dist/core/agent-session-services.js.map +1 -0
- package/dist/core/agent-session.d.ts +595 -0
- package/dist/core/agent-session.d.ts.map +1 -0
- package/dist/core/agent-session.js +2521 -0
- package/dist/core/agent-session.js.map +1 -0
- package/dist/core/auth-guidance.d.ts +6 -0
- package/dist/core/auth-guidance.d.ts.map +1 -0
- package/dist/core/auth-guidance.js +32 -0
- package/dist/core/auth-guidance.js.map +1 -0
- package/dist/core/auth-storage.d.ts +141 -0
- package/dist/core/auth-storage.d.ts.map +1 -0
- package/dist/core/auth-storage.js +441 -0
- package/dist/core/auth-storage.js.map +1 -0
- package/dist/core/bash-executor.d.ts +32 -0
- package/dist/core/bash-executor.d.ts.map +1 -0
- package/dist/core/bash-executor.js +111 -0
- package/dist/core/bash-executor.js.map +1 -0
- package/dist/core/compaction/branch-summarization.d.ts +88 -0
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
- package/dist/core/compaction/branch-summarization.js +243 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -0
- package/dist/core/compaction/compaction.d.ts +121 -0
- package/dist/core/compaction/compaction.d.ts.map +1 -0
- package/dist/core/compaction/compaction.js +615 -0
- package/dist/core/compaction/compaction.js.map +1 -0
- package/dist/core/compaction/index.d.ts +7 -0
- package/dist/core/compaction/index.d.ts.map +1 -0
- package/dist/core/compaction/index.js +7 -0
- package/dist/core/compaction/index.js.map +1 -0
- package/dist/core/compaction/utils.d.ts +38 -0
- package/dist/core/compaction/utils.d.ts.map +1 -0
- package/dist/core/compaction/utils.js +153 -0
- package/dist/core/compaction/utils.js.map +1 -0
- package/dist/core/custom-openai-compatible.d.ts +14 -0
- package/dist/core/custom-openai-compatible.d.ts.map +1 -0
- package/dist/core/custom-openai-compatible.js +128 -0
- package/dist/core/custom-openai-compatible.js.map +1 -0
- package/dist/core/defaults.d.ts +3 -0
- package/dist/core/defaults.d.ts.map +1 -0
- package/dist/core/defaults.js +2 -0
- package/dist/core/defaults.js.map +1 -0
- package/dist/core/diagnostics.d.ts +15 -0
- package/dist/core/diagnostics.d.ts.map +1 -0
- package/dist/core/diagnostics.js +2 -0
- package/dist/core/diagnostics.js.map +1 -0
- package/dist/core/event-bus.d.ts +9 -0
- package/dist/core/event-bus.d.ts.map +1 -0
- package/dist/core/event-bus.js +25 -0
- package/dist/core/event-bus.js.map +1 -0
- package/dist/core/exec.d.ts +29 -0
- package/dist/core/exec.d.ts.map +1 -0
- package/dist/core/exec.js +75 -0
- package/dist/core/exec.js.map +1 -0
- package/dist/core/export-html/ansi-to-html.d.ts +22 -0
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
- package/dist/core/export-html/ansi-to-html.js +249 -0
- package/dist/core/export-html/ansi-to-html.js.map +1 -0
- package/dist/core/export-html/index.d.ts +37 -0
- package/dist/core/export-html/index.d.ts.map +1 -0
- package/dist/core/export-html/index.js +224 -0
- package/dist/core/export-html/index.js.map +1 -0
- package/dist/core/export-html/template.css +1066 -0
- package/dist/core/export-html/template.html +55 -0
- package/dist/core/export-html/template.js +1834 -0
- package/dist/core/export-html/tool-renderer.d.ts +34 -0
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
- package/dist/core/export-html/tool-renderer.js +108 -0
- package/dist/core/export-html/tool-renderer.js.map +1 -0
- package/dist/core/export-html/vendor/highlight.min.js +1213 -0
- package/dist/core/export-html/vendor/marked.min.js +6 -0
- package/dist/core/extensions/index.d.ts +12 -0
- package/dist/core/extensions/index.d.ts.map +1 -0
- package/dist/core/extensions/index.js +9 -0
- package/dist/core/extensions/index.js.map +1 -0
- package/dist/core/extensions/loader.d.ts +24 -0
- package/dist/core/extensions/loader.d.ts.map +1 -0
- package/dist/core/extensions/loader.js +488 -0
- package/dist/core/extensions/loader.js.map +1 -0
- package/dist/core/extensions/runner.d.ts +159 -0
- package/dist/core/extensions/runner.d.ts.map +1 -0
- package/dist/core/extensions/runner.js +824 -0
- package/dist/core/extensions/runner.js.map +1 -0
- package/dist/core/extensions/types.d.ts +1173 -0
- package/dist/core/extensions/types.d.ts.map +1 -0
- package/dist/core/extensions/types.js +45 -0
- package/dist/core/extensions/types.js.map +1 -0
- package/dist/core/extensions/wrapper.d.ts +20 -0
- package/dist/core/extensions/wrapper.d.ts.map +1 -0
- package/dist/core/extensions/wrapper.js +22 -0
- package/dist/core/extensions/wrapper.js.map +1 -0
- package/dist/core/footer-data-provider.d.ts +52 -0
- package/dist/core/footer-data-provider.d.ts.map +1 -0
- package/dist/core/footer-data-provider.js +310 -0
- package/dist/core/footer-data-provider.js.map +1 -0
- package/dist/core/index.d.ts +12 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +12 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/keybindings.d.ts +353 -0
- package/dist/core/keybindings.d.ts.map +1 -0
- package/dist/core/keybindings.js +295 -0
- package/dist/core/keybindings.js.map +1 -0
- package/dist/core/messages.d.ts +77 -0
- package/dist/core/messages.d.ts.map +1 -0
- package/dist/core/messages.js +123 -0
- package/dist/core/messages.js.map +1 -0
- package/dist/core/model-registry.d.ts +150 -0
- package/dist/core/model-registry.d.ts.map +1 -0
- package/dist/core/model-registry.js +728 -0
- package/dist/core/model-registry.js.map +1 -0
- package/dist/core/model-resolver.d.ts +110 -0
- package/dist/core/model-resolver.d.ts.map +1 -0
- package/dist/core/model-resolver.js +495 -0
- package/dist/core/model-resolver.js.map +1 -0
- package/dist/core/output-guard.d.ts +6 -0
- package/dist/core/output-guard.d.ts.map +1 -0
- package/dist/core/output-guard.js +59 -0
- package/dist/core/output-guard.js.map +1 -0
- package/dist/core/package-manager.d.ts +198 -0
- package/dist/core/package-manager.d.ts.map +1 -0
- package/dist/core/package-manager.js +1975 -0
- package/dist/core/package-manager.js.map +1 -0
- package/dist/core/prompt-templates.d.ts +52 -0
- package/dist/core/prompt-templates.d.ts.map +1 -0
- package/dist/core/prompt-templates.js +250 -0
- package/dist/core/prompt-templates.js.map +1 -0
- package/dist/core/provider-display-names.d.ts +2 -0
- package/dist/core/provider-display-names.d.ts.map +1 -0
- package/dist/core/provider-display-names.js +33 -0
- package/dist/core/provider-display-names.js.map +1 -0
- package/dist/core/provider-setup-check.d.ts +14 -0
- package/dist/core/provider-setup-check.d.ts.map +1 -0
- package/dist/core/provider-setup-check.js +22 -0
- package/dist/core/provider-setup-check.js.map +1 -0
- package/dist/core/resolve-config-value.d.ts +23 -0
- package/dist/core/resolve-config-value.d.ts.map +1 -0
- package/dist/core/resolve-config-value.js +126 -0
- package/dist/core/resolve-config-value.js.map +1 -0
- package/dist/core/resource-loader.d.ts +194 -0
- package/dist/core/resource-loader.d.ts.map +1 -0
- package/dist/core/resource-loader.js +727 -0
- package/dist/core/resource-loader.js.map +1 -0
- package/dist/core/sdk.d.ts +107 -0
- package/dist/core/sdk.d.ts.map +1 -0
- package/dist/core/sdk.js +282 -0
- package/dist/core/sdk.js.map +1 -0
- package/dist/core/session-cwd.d.ts +19 -0
- package/dist/core/session-cwd.d.ts.map +1 -0
- package/dist/core/session-cwd.js +38 -0
- package/dist/core/session-cwd.js.map +1 -0
- package/dist/core/session-manager.d.ts +333 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js +1109 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/core/settings-manager.d.ts +261 -0
- package/dist/core/settings-manager.d.ts.map +1 -0
- package/dist/core/settings-manager.js +782 -0
- package/dist/core/settings-manager.js.map +1 -0
- package/dist/core/skills.d.ts +60 -0
- package/dist/core/skills.d.ts.map +1 -0
- package/dist/core/skills.js +404 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/slash-commands.d.ts +14 -0
- package/dist/core/slash-commands.d.ts.map +1 -0
- package/dist/core/slash-commands.js +25 -0
- package/dist/core/slash-commands.js.map +1 -0
- package/dist/core/source-info.d.ts +18 -0
- package/dist/core/source-info.d.ts.map +1 -0
- package/dist/core/source-info.js +19 -0
- package/dist/core/source-info.js.map +1 -0
- package/dist/core/system-prompt.d.ts +28 -0
- package/dist/core/system-prompt.d.ts.map +1 -0
- package/dist/core/system-prompt.js +120 -0
- package/dist/core/system-prompt.js.map +1 -0
- package/dist/core/telemetry.d.ts +3 -0
- package/dist/core/telemetry.d.ts.map +1 -0
- package/dist/core/telemetry.js +9 -0
- package/dist/core/telemetry.js.map +1 -0
- package/dist/core/timings.d.ts +8 -0
- package/dist/core/timings.d.ts.map +1 -0
- package/dist/core/timings.js +31 -0
- package/dist/core/timings.js.map +1 -0
- package/dist/core/tools/bash.d.ts +68 -0
- package/dist/core/tools/bash.d.ts.map +1 -0
- package/dist/core/tools/bash.js +335 -0
- package/dist/core/tools/bash.js.map +1 -0
- package/dist/core/tools/edit-diff.d.ts +85 -0
- package/dist/core/tools/edit-diff.d.ts.map +1 -0
- package/dist/core/tools/edit-diff.js +338 -0
- package/dist/core/tools/edit-diff.js.map +1 -0
- package/dist/core/tools/edit.d.ts +49 -0
- package/dist/core/tools/edit.d.ts.map +1 -0
- package/dist/core/tools/edit.js +324 -0
- package/dist/core/tools/edit.js.map +1 -0
- package/dist/core/tools/file-mutation-queue.d.ts +6 -0
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
- package/dist/core/tools/file-mutation-queue.js +37 -0
- package/dist/core/tools/file-mutation-queue.js.map +1 -0
- package/dist/core/tools/find.d.ts +35 -0
- package/dist/core/tools/find.d.ts.map +1 -0
- package/dist/core/tools/find.js +298 -0
- package/dist/core/tools/find.js.map +1 -0
- package/dist/core/tools/grep.d.ts +37 -0
- package/dist/core/tools/grep.d.ts.map +1 -0
- package/dist/core/tools/grep.js +304 -0
- package/dist/core/tools/grep.js.map +1 -0
- package/dist/core/tools/index.d.ts +40 -0
- package/dist/core/tools/index.d.ts.map +1 -0
- package/dist/core/tools/index.js +112 -0
- package/dist/core/tools/index.js.map +1 -0
- package/dist/core/tools/ls.d.ts +37 -0
- package/dist/core/tools/ls.d.ts.map +1 -0
- package/dist/core/tools/ls.js +169 -0
- package/dist/core/tools/ls.js.map +1 -0
- package/dist/core/tools/output-accumulator.d.ts +50 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -0
- package/dist/core/tools/output-accumulator.js +178 -0
- package/dist/core/tools/output-accumulator.js.map +1 -0
- package/dist/core/tools/path-utils.d.ts +8 -0
- package/dist/core/tools/path-utils.d.ts.map +1 -0
- package/dist/core/tools/path-utils.js +81 -0
- package/dist/core/tools/path-utils.js.map +1 -0
- package/dist/core/tools/read.d.ts +35 -0
- package/dist/core/tools/read.d.ts.map +1 -0
- package/dist/core/tools/read.js +289 -0
- package/dist/core/tools/read.js.map +1 -0
- package/dist/core/tools/render-utils.d.ts +21 -0
- package/dist/core/tools/render-utils.d.ts.map +1 -0
- package/dist/core/tools/render-utils.js +49 -0
- package/dist/core/tools/render-utils.js.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.js +34 -0
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
- package/dist/core/tools/truncate.d.ts +70 -0
- package/dist/core/tools/truncate.d.ts.map +1 -0
- package/dist/core/tools/truncate.js +205 -0
- package/dist/core/tools/truncate.js.map +1 -0
- package/dist/core/tools/write.d.ts +26 -0
- package/dist/core/tools/write.d.ts.map +1 -0
- package/dist/core/tools/write.js +213 -0
- package/dist/core/tools/write.js.map +1 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +12 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +583 -0
- package/dist/main.js.map +1 -0
- package/dist/migrations.d.ts +61 -0
- package/dist/migrations.d.ts.map +1 -0
- package/dist/migrations.js +456 -0
- package/dist/migrations.js.map +1 -0
- package/dist/modes/index.d.ts +9 -0
- package/dist/modes/index.d.ts.map +1 -0
- package/dist/modes/index.js +8 -0
- package/dist/modes/index.js.map +1 -0
- package/dist/modes/interactive/assets/clankolas.png +0 -0
- package/dist/modes/interactive/components/armin.d.ts +34 -0
- package/dist/modes/interactive/components/armin.d.ts.map +1 -0
- package/dist/modes/interactive/components/armin.js +333 -0
- package/dist/modes/interactive/components/armin.js.map +1 -0
- package/dist/modes/interactive/components/assistant-message.d.ts +20 -0
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/assistant-message.js +121 -0
- package/dist/modes/interactive/components/assistant-message.js.map +1 -0
- package/dist/modes/interactive/components/bash-execution.d.ts +34 -0
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/bash-execution.js +175 -0
- package/dist/modes/interactive/components/bash-execution.js.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
- package/dist/modes/interactive/components/bordered-loader.js +54 -0
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/branch-summary-message.js +44 -0
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
- package/dist/modes/interactive/components/config-selector.d.ts +71 -0
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/config-selector.js +503 -0
- package/dist/modes/interactive/components/config-selector.js.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
- package/dist/modes/interactive/components/countdown-timer.js +33 -0
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
- package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-editor.js +70 -0
- package/dist/modes/interactive/components/custom-editor.js.map +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts +20 -0
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/custom-message.js +79 -0
- package/dist/modes/interactive/components/custom-message.js.map +1 -0
- package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
- package/dist/modes/interactive/components/daxnuts.js +140 -0
- package/dist/modes/interactive/components/daxnuts.js.map +1 -0
- package/dist/modes/interactive/components/diff.d.ts +12 -0
- package/dist/modes/interactive/components/diff.d.ts.map +1 -0
- package/dist/modes/interactive/components/diff.js +133 -0
- package/dist/modes/interactive/components/diff.js.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
- package/dist/modes/interactive/components/dynamic-border.js +21 -0
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
- package/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
- package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -0
- package/dist/modes/interactive/components/earendil-announcement.js +40 -0
- package/dist/modes/interactive/components/earendil-announcement.js.map +1 -0
- package/dist/modes/interactive/components/extension-editor.d.ts +20 -0
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-editor.js +111 -0
- package/dist/modes/interactive/components/extension-editor.js.map +1 -0
- package/dist/modes/interactive/components/extension-input.d.ts +23 -0
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-input.js +61 -0
- package/dist/modes/interactive/components/extension-input.js.map +1 -0
- package/dist/modes/interactive/components/extension-selector.d.ts +26 -0
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/extension-selector.js +83 -0
- package/dist/modes/interactive/components/extension-selector.js.map +1 -0
- package/dist/modes/interactive/components/footer.d.ts +27 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -0
- package/dist/modes/interactive/components/footer.js +201 -0
- package/dist/modes/interactive/components/footer.js.map +1 -0
- package/dist/modes/interactive/components/index.d.ts +32 -0
- package/dist/modes/interactive/components/index.d.ts.map +1 -0
- package/dist/modes/interactive/components/index.js +33 -0
- package/dist/modes/interactive/components/index.js.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
- package/dist/modes/interactive/components/keybinding-hints.js +36 -0
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
- package/dist/modes/interactive/components/login-dialog.d.ts +46 -0
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
- package/dist/modes/interactive/components/login-dialog.js +160 -0
- package/dist/modes/interactive/components/login-dialog.js.map +1 -0
- package/dist/modes/interactive/components/model-selector.d.ts +47 -0
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/model-selector.js +278 -0
- package/dist/modes/interactive/components/model-selector.js.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts +31 -0
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/oauth-selector.js +165 -0
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/scoped-models-selector.js +290 -0
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector-search.js +155 -0
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
- package/dist/modes/interactive/components/session-selector.d.ts +96 -0
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/session-selector.js +861 -0
- package/dist/modes/interactive/components/session-selector.js.map +1 -0
- package/dist/modes/interactive/components/settings-selector.d.ts +67 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-selector.js +375 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/show-images-selector.js +39 -0
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
- package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/theme-selector.js +50 -0
- package/dist/modes/interactive/components/theme-selector.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.js +51 -0
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
- package/dist/modes/interactive/components/tool-execution.d.ts +63 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
- package/dist/modes/interactive/components/tool-execution.js +295 -0
- package/dist/modes/interactive/components/tool-execution.js.map +1 -0
- package/dist/modes/interactive/components/tree-selector.d.ts +89 -0
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/tree-selector.js +1093 -0
- package/dist/modes/interactive/components/tree-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message-selector.js +114 -0
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
- package/dist/modes/interactive/components/user-message.d.ts +10 -0
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
- package/dist/modes/interactive/components/user-message.js +29 -0
- package/dist/modes/interactive/components/user-message.js.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
- package/dist/modes/interactive/components/visual-truncate.js +33 -0
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +369 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-mode.js +4612 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -0
- package/dist/modes/interactive/theme/aery.json +84 -0
- package/dist/modes/interactive/theme/catppuccin-mocha.json +81 -0
- package/dist/modes/interactive/theme/dark.json +85 -0
- package/dist/modes/interactive/theme/dracula.json +81 -0
- package/dist/modes/interactive/theme/light.json +84 -0
- package/dist/modes/interactive/theme/nord.json +81 -0
- package/dist/modes/interactive/theme/theme-schema.json +335 -0
- package/dist/modes/interactive/theme/theme.d.ts +81 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme.js +973 -0
- package/dist/modes/interactive/theme/theme.js.map +1 -0
- package/dist/modes/interactive/theme/tokyo-night.json +81 -0
- package/dist/modes/print-mode.d.ts +28 -0
- package/dist/modes/print-mode.d.ts.map +1 -0
- package/dist/modes/print-mode.js +131 -0
- package/dist/modes/print-mode.js.map +1 -0
- package/dist/modes/rpc/jsonl.d.ts +17 -0
- package/dist/modes/rpc/jsonl.d.ts.map +1 -0
- package/dist/modes/rpc/jsonl.js +49 -0
- package/dist/modes/rpc/jsonl.js.map +1 -0
- package/dist/modes/rpc/rpc-client.d.ts +224 -0
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-client.js +410 -0
- package/dist/modes/rpc/rpc-client.js.map +1 -0
- package/dist/modes/rpc/rpc-mode.d.ts +20 -0
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-mode.js +601 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -0
- package/dist/modes/rpc/rpc-types.d.ts +419 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-types.js +8 -0
- package/dist/modes/rpc/rpc-types.js.map +1 -0
- package/dist/package-manager-cli.d.ts +4 -0
- package/dist/package-manager-cli.d.ts.map +1 -0
- package/dist/package-manager-cli.js +460 -0
- package/dist/package-manager-cli.js.map +1 -0
- package/dist/utils/aery-user-agent.d.ts +2 -0
- package/dist/utils/aery-user-agent.d.ts.map +1 -0
- package/dist/utils/aery-user-agent.js +5 -0
- package/dist/utils/aery-user-agent.js.map +1 -0
- package/dist/utils/ansi.d.ts +2 -0
- package/dist/utils/ansi.d.ts.map +1 -0
- package/dist/utils/ansi.js +52 -0
- package/dist/utils/ansi.js.map +1 -0
- package/dist/utils/changelog.d.ts +21 -0
- package/dist/utils/changelog.d.ts.map +1 -0
- package/dist/utils/changelog.js +87 -0
- package/dist/utils/changelog.js.map +1 -0
- package/dist/utils/child-process.d.ts +12 -0
- package/dist/utils/child-process.d.ts.map +1 -0
- package/dist/utils/child-process.js +86 -0
- package/dist/utils/child-process.js.map +1 -0
- package/dist/utils/clipboard-image.d.ts +11 -0
- package/dist/utils/clipboard-image.d.ts.map +1 -0
- package/dist/utils/clipboard-image.js +245 -0
- package/dist/utils/clipboard-image.js.map +1 -0
- package/dist/utils/clipboard-native.d.ts +8 -0
- package/dist/utils/clipboard-native.d.ts.map +1 -0
- package/dist/utils/clipboard-native.js +14 -0
- package/dist/utils/clipboard-native.js.map +1 -0
- package/dist/utils/clipboard.d.ts +2 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/clipboard.js +117 -0
- package/dist/utils/clipboard.js.map +1 -0
- package/dist/utils/exif-orientation.d.ts +5 -0
- package/dist/utils/exif-orientation.d.ts.map +1 -0
- package/dist/utils/exif-orientation.js +158 -0
- package/dist/utils/exif-orientation.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +8 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +26 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/fs-watch.d.ts +5 -0
- package/dist/utils/fs-watch.d.ts.map +1 -0
- package/dist/utils/fs-watch.js +25 -0
- package/dist/utils/fs-watch.js.map +1 -0
- package/dist/utils/git.d.ts +26 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +163 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/html.d.ts +7 -0
- package/dist/utils/html.d.ts.map +1 -0
- package/dist/utils/html.js +40 -0
- package/dist/utils/html.js.map +1 -0
- package/dist/utils/image-convert.d.ts +9 -0
- package/dist/utils/image-convert.d.ts.map +1 -0
- package/dist/utils/image-convert.js +39 -0
- package/dist/utils/image-convert.js.map +1 -0
- package/dist/utils/image-resize.d.ts +36 -0
- package/dist/utils/image-resize.d.ts.map +1 -0
- package/dist/utils/image-resize.js +137 -0
- package/dist/utils/image-resize.js.map +1 -0
- package/dist/utils/mime.d.ts +3 -0
- package/dist/utils/mime.d.ts.map +1 -0
- package/dist/utils/mime.js +69 -0
- package/dist/utils/mime.js.map +1 -0
- package/dist/utils/paths.d.ts +16 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +50 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/photon.d.ts +21 -0
- package/dist/utils/photon.d.ts.map +1 -0
- package/dist/utils/photon.js +121 -0
- package/dist/utils/photon.js.map +1 -0
- package/dist/utils/pi-user-agent.d.ts +2 -0
- package/dist/utils/pi-user-agent.d.ts.map +1 -0
- package/dist/utils/pi-user-agent.js +5 -0
- package/dist/utils/pi-user-agent.js.map +1 -0
- package/dist/utils/shell.d.ts +30 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/dist/utils/shell.js +190 -0
- package/dist/utils/shell.js.map +1 -0
- package/dist/utils/sleep.d.ts +5 -0
- package/dist/utils/sleep.d.ts.map +1 -0
- package/dist/utils/sleep.js +17 -0
- package/dist/utils/sleep.js.map +1 -0
- package/dist/utils/syntax-highlight.d.ts +12 -0
- package/dist/utils/syntax-highlight.d.ts.map +1 -0
- package/dist/utils/syntax-highlight.js +118 -0
- package/dist/utils/syntax-highlight.js.map +1 -0
- package/dist/utils/tools-manager.d.ts +3 -0
- package/dist/utils/tools-manager.d.ts.map +1 -0
- package/dist/utils/tools-manager.js +325 -0
- package/dist/utils/tools-manager.js.map +1 -0
- package/dist/utils/uuid.d.ts +2 -0
- package/dist/utils/uuid.d.ts.map +1 -0
- package/dist/utils/uuid.js +40 -0
- package/dist/utils/uuid.js.map +1 -0
- package/dist/utils/version-check.d.ts +14 -0
- package/dist/utils/version-check.d.ts.map +1 -0
- package/dist/utils/version-check.js +77 -0
- package/dist/utils/version-check.js.map +1 -0
- package/docs/compaction.md +17 -17
- package/docs/custom-provider.md +42 -33
- package/docs/development.md +4 -4
- package/docs/docs.json +148 -0
- package/docs/extensions.md +308 -80
- package/docs/images/doom-extension.png +0 -0
- package/docs/images/exy.png +0 -0
- package/docs/images/interactive-mode.png +0 -0
- package/docs/images/tree-view.png +0 -0
- package/docs/index.md +70 -0
- package/docs/json.md +4 -4
- package/docs/keybindings.md +2 -2
- package/docs/models.md +84 -5
- package/docs/packages.md +15 -10
- package/docs/prompt-templates.md +2 -2
- package/docs/providers.md +68 -20
- package/docs/quickstart.md +142 -0
- package/docs/rpc.md +6 -6
- package/docs/sdk.md +58 -78
- package/docs/{session.md → session-format.md} +8 -8
- package/docs/sessions.md +137 -0
- package/docs/settings.md +49 -17
- package/docs/shell-aliases.md +1 -1
- package/docs/skills.md +4 -4
- package/docs/terminal-setup.md +2 -2
- package/docs/termux.md +6 -6
- package/docs/themes.md +6 -6
- package/docs/tmux.md +0 -0
- package/docs/tui.md +22 -22
- package/docs/usage.md +277 -0
- package/docs/windows.md +1 -1
- package/examples/README.md +0 -0
- package/examples/extensions/README.md +6 -6
- package/examples/extensions/antigravity-image-gen.ts +18 -18
- package/examples/extensions/auto-commit-on-exit.ts +1 -1
- package/examples/extensions/bash-spawn-hook.ts +3 -3
- package/examples/extensions/bookmark.ts +1 -1
- package/examples/extensions/border-status-editor.ts +145 -0
- package/examples/extensions/built-in-tool-renderer.ts +3 -3
- package/examples/extensions/claude-rules.ts +2 -2
- package/examples/extensions/commands.ts +2 -2
- package/examples/extensions/confirm-destructive.ts +1 -1
- package/examples/extensions/custom-compaction.ts +3 -3
- package/examples/extensions/custom-footer.ts +3 -3
- package/examples/extensions/custom-header.ts +2 -2
- package/examples/extensions/custom-provider-anthropic/index.ts +2 -2
- package/examples/extensions/custom-provider-anthropic/package-lock.json +4 -4
- package/examples/extensions/custom-provider-anthropic/package.json +2 -2
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +2 -2
- package/examples/extensions/custom-provider-gitlab-duo/package.json +2 -2
- package/examples/extensions/custom-provider-gitlab-duo/test.ts +1 -1
- package/examples/extensions/custom-provider-qwen-cli/index.ts +3 -3
- package/examples/extensions/custom-provider-qwen-cli/package.json +2 -2
- package/examples/extensions/dirty-repo-guard.ts +1 -1
- package/examples/extensions/doom-overlay/README.md +0 -0
- package/examples/extensions/doom-overlay/doom/build/doom.js +0 -0
- package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +0 -0
- package/examples/extensions/doom-overlay/doom-component.ts +2 -2
- package/examples/extensions/doom-overlay/doom-engine.ts +0 -0
- package/examples/extensions/doom-overlay/doom-keys.ts +1 -1
- package/examples/extensions/doom-overlay/index.ts +1 -1
- package/examples/extensions/doom-overlay/wad-finder.ts +0 -0
- package/examples/extensions/dynamic-resources/SKILL.md +0 -0
- package/examples/extensions/dynamic-resources/dynamic.json +1 -1
- package/examples/extensions/dynamic-resources/dynamic.md +0 -0
- package/examples/extensions/dynamic-resources/index.ts +1 -1
- package/examples/extensions/dynamic-tools.ts +3 -3
- package/examples/extensions/event-bus.ts +1 -1
- package/examples/extensions/file-trigger.ts +1 -1
- package/examples/extensions/git-checkpoint.ts +1 -1
- package/examples/extensions/github-issue-autocomplete.ts +185 -0
- package/examples/extensions/handoff.ts +52 -14
- package/examples/extensions/hello.ts +2 -2
- package/examples/extensions/hidden-thinking-label.ts +1 -1
- package/examples/extensions/inline-bash.ts +1 -1
- package/examples/extensions/input-transform.ts +1 -1
- package/examples/extensions/interactive-shell.ts +1 -1
- package/examples/extensions/mac-system-theme.ts +1 -1
- package/examples/extensions/message-renderer.ts +2 -2
- package/examples/extensions/minimal-mode.ts +3 -3
- package/examples/extensions/modal-editor.ts +2 -2
- package/examples/extensions/model-status.ts +1 -1
- package/examples/extensions/notify.ts +1 -1
- package/examples/extensions/overlay-qa-tests.ts +3 -3
- package/examples/extensions/overlay-test.ts +2 -2
- package/examples/extensions/permission-gate.ts +1 -1
- package/examples/extensions/pirate.ts +2 -2
- package/examples/extensions/plan-mode/README.md +0 -0
- package/examples/extensions/plan-mode/index.ts +4 -4
- package/examples/extensions/plan-mode/utils.ts +0 -0
- package/examples/extensions/preset.ts +15 -9
- package/examples/extensions/prompt-customizer.ts +97 -0
- package/examples/extensions/protected-paths.ts +1 -1
- package/examples/extensions/provider-payload.ts +2 -2
- package/examples/extensions/qna.ts +3 -3
- package/examples/extensions/question.ts +3 -3
- package/examples/extensions/questionnaire.ts +3 -3
- package/examples/extensions/rainbow-editor.ts +1 -1
- package/examples/extensions/reload-runtime.ts +2 -2
- package/examples/extensions/rpc-demo.ts +1 -1
- package/examples/extensions/sandbox/index.ts +8 -8
- package/examples/extensions/sandbox/package-lock.json +7 -7
- package/examples/extensions/sandbox/package.json +2 -2
- package/examples/extensions/send-user-message.ts +1 -1
- package/examples/extensions/session-name.ts +1 -1
- package/examples/extensions/shutdown-command.ts +2 -2
- package/examples/extensions/snake.ts +2 -2
- package/examples/extensions/space-invaders.ts +2 -2
- package/examples/extensions/ssh.ts +2 -2
- package/examples/extensions/status-line.ts +1 -1
- package/examples/extensions/stitch.ts +168 -0
- package/examples/extensions/structured-output.ts +65 -0
- package/examples/extensions/subagent/README.md +11 -11
- package/examples/extensions/subagent/agents/aery-agent.md +22 -0
- package/examples/extensions/subagent/agents/aery-ai.md +25 -0
- package/examples/extensions/subagent/agents/aery-core.md +19 -0
- package/examples/extensions/subagent/agents/aery-mom.md +25 -0
- package/examples/extensions/subagent/agents/aery-pods.md +24 -0
- package/examples/extensions/subagent/agents/aery-review.md +22 -0
- package/examples/extensions/subagent/agents/aery-tui.md +24 -0
- package/examples/extensions/subagent/agents/planner.md +0 -0
- package/examples/extensions/subagent/agents/reviewer.md +0 -0
- package/examples/extensions/subagent/agents/scout.md +0 -0
- package/examples/extensions/subagent/agents/worker.md +0 -0
- package/examples/extensions/subagent/agents.ts +2 -2
- package/examples/extensions/subagent/index.ts +9 -9
- package/examples/extensions/subagent/prompts/implement-and-review.md +0 -0
- package/examples/extensions/subagent/prompts/implement.md +0 -0
- package/examples/extensions/subagent/prompts/scout-and-plan.md +0 -0
- package/examples/extensions/summarize.ts +4 -4
- package/examples/extensions/system-prompt-header.ts +1 -1
- package/examples/extensions/tic-tac-toe.ts +4 -4
- package/examples/extensions/timed-confirm.ts +1 -1
- package/examples/extensions/titlebar-spinner.ts +1 -1
- package/examples/extensions/todo.ts +4 -4
- package/examples/extensions/tool-override.ts +3 -3
- package/examples/extensions/tools.ts +4 -4
- package/examples/extensions/trigger-compact.ts +1 -1
- package/examples/extensions/truncated-tool.ts +4 -4
- package/examples/extensions/widget-placement.ts +1 -1
- package/examples/extensions/with-deps/index.ts +2 -2
- package/examples/extensions/with-deps/package-lock.json +4 -4
- package/examples/extensions/with-deps/package.json +2 -2
- package/examples/extensions/working-indicator.ts +1 -1
- package/examples/extensions/working-message-test.ts +25 -0
- package/examples/rpc-extension-ui.ts +1 -1
- package/examples/sdk/01-minimal.ts +16 -12
- package/examples/sdk/02-custom-model.ts +14 -10
- package/examples/sdk/03-custom-prompt.ts +26 -18
- package/examples/sdk/04-skills.ts +4 -4
- package/examples/sdk/05-tools.ts +9 -5
- package/examples/sdk/06-extensions.ts +15 -11
- package/examples/sdk/07-context-files.ts +3 -3
- package/examples/sdk/08-prompt-templates.ts +4 -4
- package/examples/sdk/09-api-keys-and-oauth.ts +11 -7
- package/examples/sdk/10-settings.ts +5 -5
- package/examples/sdk/11-sessions.ts +5 -1
- package/examples/sdk/12-full-control.ts +13 -9
- package/examples/sdk/13-session-runtime.ts +1 -1
- package/examples/sdk/README.md +8 -11
- package/package.json +94 -101
- package/docs/tree.md +0 -233
|
File without changes
|
package/docs/images/exy.png
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/docs/index.md
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Pi Documentation
|
|
2
|
+
|
|
3
|
+
Pi is a minimal terminal coding harness. It is designed to stay small at the core while being extended through TypeScript extensions, skills, prompt templates, themes, and pi packages.
|
|
4
|
+
|
|
5
|
+
## Quick start
|
|
6
|
+
|
|
7
|
+
On linux or mac you can install Pi with curl:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
curl -fsSL https://eminent337.github.io/install.sh | sh
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Or alternatively with npm:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install -g @eminent337/aery
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Then run it in a project directory:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pi
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Authenticate with `/login` for subscription providers, or set an API key such as `ANTHROPIC_API_KEY` before starting pi.
|
|
26
|
+
|
|
27
|
+
For the full first-run flow, see [Quickstart](quickstart.md).
|
|
28
|
+
|
|
29
|
+
## Start here
|
|
30
|
+
|
|
31
|
+
- [Quickstart](quickstart.md) - install, authenticate, and run a first session.
|
|
32
|
+
- [Using Pi](usage.md) - interactive mode, slash commands, context files, and CLI reference.
|
|
33
|
+
- [Providers](providers.md) - subscription and API-key setup for built-in providers.
|
|
34
|
+
- [Settings](settings.md) - global and project settings.
|
|
35
|
+
- [Keybindings](keybindings.md) - default shortcuts and custom keybindings.
|
|
36
|
+
- [Sessions](sessions.md) - session management, branching, and tree navigation.
|
|
37
|
+
- [Compaction](compaction.md) - context compaction and branch summarization.
|
|
38
|
+
|
|
39
|
+
## Customization
|
|
40
|
+
|
|
41
|
+
- [Extensions](extensions.md) - TypeScript modules for tools, commands, events, and custom UI.
|
|
42
|
+
- [Skills](skills.md) - Agent Skills for reusable on-demand capabilities.
|
|
43
|
+
- [Prompt templates](prompt-templates.md) - reusable prompts that expand from slash commands.
|
|
44
|
+
- [Themes](themes.md) - built-in and custom terminal themes.
|
|
45
|
+
- [Pi packages](packages.md) - bundle and share extensions, skills, prompts, and themes.
|
|
46
|
+
- [Custom models](models.md) - add model entries for supported provider APIs.
|
|
47
|
+
- [Custom providers](custom-provider.md) - implement custom APIs and OAuth flows.
|
|
48
|
+
|
|
49
|
+
## Programmatic usage
|
|
50
|
+
|
|
51
|
+
- [SDK](sdk.md) - embed pi in Node.js applications.
|
|
52
|
+
- [RPC mode](rpc.md) - integrate over stdin/stdout JSONL.
|
|
53
|
+
- [JSON event stream mode](json.md) - print mode with structured events.
|
|
54
|
+
- [TUI components](tui.md) - build custom terminal UI for extensions.
|
|
55
|
+
|
|
56
|
+
## Reference
|
|
57
|
+
|
|
58
|
+
- [Session format](session-format.md) - JSONL session file format, entry types, and SessionManager API.
|
|
59
|
+
|
|
60
|
+
## Platform setup
|
|
61
|
+
|
|
62
|
+
- [Windows](windows.md)
|
|
63
|
+
- [Termux on Android](termux.md)
|
|
64
|
+
- [tmux](tmux.md)
|
|
65
|
+
- [Terminal setup](terminal-setup.md)
|
|
66
|
+
- [Shell aliases](shell-aliases.md)
|
|
67
|
+
|
|
68
|
+
## Development
|
|
69
|
+
|
|
70
|
+
- [Development](development.md) - local setup, project structure, and debugging.
|
package/docs/json.md
CHANGED
|
@@ -8,7 +8,7 @@ Outputs all session events as JSON lines to stdout. Useful for integrating pi in
|
|
|
8
8
|
|
|
9
9
|
## Event Types
|
|
10
10
|
|
|
11
|
-
Events are defined in [`AgentSessionEvent`](https://github.com/
|
|
11
|
+
Events are defined in [`AgentSessionEvent`](https://github.com/eminent337/aery/blob/main/packages/coding-agent/src/core/agent-session.ts#L102):
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
14
|
type AgentSessionEvent =
|
|
@@ -22,7 +22,7 @@ type AgentSessionEvent =
|
|
|
22
22
|
|
|
23
23
|
`queue_update` emits the full pending steering and follow-up queues whenever they change. `compaction_start` and `compaction_end` cover both manual and automatic compaction.
|
|
24
24
|
|
|
25
|
-
Base events from [`AgentEvent`](https://github.com/
|
|
25
|
+
Base events from [`AgentEvent`](https://github.com/eminent337/aery/blob/main/packages/agent/src/types.ts#L179):
|
|
26
26
|
|
|
27
27
|
```typescript
|
|
28
28
|
type AgentEvent =
|
|
@@ -44,12 +44,12 @@ type AgentEvent =
|
|
|
44
44
|
|
|
45
45
|
## Message Types
|
|
46
46
|
|
|
47
|
-
Base messages from [`packages/ai/src/types.ts`](https://github.com/
|
|
47
|
+
Base messages from [`packages/ai/src/types.ts`](https://github.com/eminent337/aery/blob/main/packages/ai/src/types.ts#L134):
|
|
48
48
|
- `UserMessage` (line 134)
|
|
49
49
|
- `AssistantMessage` (line 140)
|
|
50
50
|
- `ToolResultMessage` (line 152)
|
|
51
51
|
|
|
52
|
-
Extended messages from [`packages/coding-agent/src/core/messages.ts`](https://github.com/
|
|
52
|
+
Extended messages from [`packages/coding-agent/src/core/messages.ts`](https://github.com/eminent337/aery/blob/main/packages/coding-agent/src/core/messages.ts#L29):
|
|
53
53
|
- `BashExecutionMessage` (line 29)
|
|
54
54
|
- `CustomMessage` (line 46)
|
|
55
55
|
- `BranchSummaryMessage` (line 55)
|
package/docs/keybindings.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Keybindings
|
|
2
2
|
|
|
3
|
-
All keyboard shortcuts can be customized via `~/.
|
|
3
|
+
All keyboard shortcuts can be customized via `~/.aery/agent/keybindings.json`. Each action can be bound to one or more keys.
|
|
4
4
|
|
|
5
5
|
The config file uses the same namespaced keybinding ids that pi uses internally and that extension authors use in `keyHint()` and injected `keybindings` managers.
|
|
6
6
|
|
|
@@ -153,7 +153,7 @@ Used inside the scoped models selector (opened via `/scoped-models`).
|
|
|
153
153
|
|
|
154
154
|
## Custom Configuration
|
|
155
155
|
|
|
156
|
-
Create `~/.
|
|
156
|
+
Create `~/.aery/agent/keybindings.json`:
|
|
157
157
|
|
|
158
158
|
```json
|
|
159
159
|
{
|
package/docs/models.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Custom Models
|
|
2
2
|
|
|
3
|
-
Add custom providers and models (Ollama, vLLM, LM Studio, proxies) via `~/.
|
|
3
|
+
Add custom providers and models (Ollama, vLLM, LM Studio, proxies) via `~/.aery/agent/models.json`.
|
|
4
4
|
|
|
5
5
|
## Table of Contents
|
|
6
6
|
|
|
@@ -11,6 +11,7 @@ Add custom providers and models (Ollama, vLLM, LM Studio, proxies) via `~/.pi/ag
|
|
|
11
11
|
- [Model Configuration](#model-configuration)
|
|
12
12
|
- [Overriding Built-in Providers](#overriding-built-in-providers)
|
|
13
13
|
- [Per-model Overrides](#per-model-overrides)
|
|
14
|
+
- [Anthropic Messages Compatibility](#anthropic-messages-compatibility)
|
|
14
15
|
- [OpenAI Compatibility](#openai-compatibility)
|
|
15
16
|
|
|
16
17
|
## Minimal Example
|
|
@@ -191,16 +192,59 @@ If your command is slow, expensive, rate-limited, or should keep using a previou
|
|
|
191
192
|
| `name` | No | `id` | Human-readable model label. Used for matching (`--model` patterns) and shown in model details/status text. |
|
|
192
193
|
| `api` | No | provider's `api` | Override provider's API for this model |
|
|
193
194
|
| `reasoning` | No | `false` | Supports extended thinking |
|
|
195
|
+
| `thinkingLevelMap` | No | omitted | Maps pi thinking levels to provider values and marks unsupported levels (see below) |
|
|
194
196
|
| `input` | No | `["text"]` | Input types: `["text"]` or `["text", "image"]` |
|
|
195
197
|
| `contextWindow` | No | `128000` | Context window size in tokens |
|
|
196
198
|
| `maxTokens` | No | `16384` | Maximum output tokens |
|
|
197
199
|
| `cost` | No | all zeros | `{"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}` (per million tokens) |
|
|
198
|
-
| `compat` | No | provider `compat` |
|
|
200
|
+
| `compat` | No | provider `compat` | Provider compatibility overrides. Merged with provider-level `compat` when both are set. |
|
|
199
201
|
|
|
200
202
|
Current behavior:
|
|
201
203
|
- `/model` and `--list-models` list entries by model `id`.
|
|
202
204
|
- The configured `name` is used for model matching and detail/status text.
|
|
203
205
|
|
|
206
|
+
### Thinking Level Map
|
|
207
|
+
|
|
208
|
+
Use `thinkingLevelMap` on a model to describe model-specific thinking controls. Keys are pi thinking levels: `off`, `minimal`, `low`, `medium`, `high`, `xhigh`.
|
|
209
|
+
|
|
210
|
+
Values are tristate:
|
|
211
|
+
|
|
212
|
+
| Value | Meaning |
|
|
213
|
+
|-------|---------|
|
|
214
|
+
| omitted | Level is supported and uses the provider's default mapping |
|
|
215
|
+
| string | Level is supported and this value is sent to the provider |
|
|
216
|
+
| `null` | Level is unsupported and hidden/skipped/clamped away |
|
|
217
|
+
|
|
218
|
+
Example for a model that only supports off, high, and max reasoning:
|
|
219
|
+
|
|
220
|
+
```json
|
|
221
|
+
{
|
|
222
|
+
"id": "deepseek-v4-pro",
|
|
223
|
+
"reasoning": true,
|
|
224
|
+
"thinkingLevelMap": {
|
|
225
|
+
"minimal": null,
|
|
226
|
+
"low": null,
|
|
227
|
+
"medium": null,
|
|
228
|
+
"high": "high",
|
|
229
|
+
"xhigh": "max"
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Example for a model where thinking cannot be disabled:
|
|
235
|
+
|
|
236
|
+
```json
|
|
237
|
+
{
|
|
238
|
+
"id": "always-thinking-model",
|
|
239
|
+
"reasoning": true,
|
|
240
|
+
"thinkingLevelMap": {
|
|
241
|
+
"off": null
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
Migration: older configs that used `compat.reasoningEffortMap` should move that mapping to model-level `thinkingLevelMap`. Use `null` for levels that should not appear in the UI.
|
|
247
|
+
|
|
204
248
|
## Overriding Built-in Providers
|
|
205
249
|
|
|
206
250
|
Route a built-in provider through a proxy without redefining models:
|
|
@@ -269,6 +313,40 @@ Behavior notes:
|
|
|
269
313
|
- You can combine provider-level `baseUrl`/`headers` with `modelOverrides`.
|
|
270
314
|
- If `models` is also defined for a provider, custom models are merged after built-in overrides. A custom model with the same `id` replaces the overridden built-in model entry.
|
|
271
315
|
|
|
316
|
+
## Anthropic Messages Compatibility
|
|
317
|
+
|
|
318
|
+
For providers or proxies using `api: "anthropic-messages"`, use `compat.supportsEagerToolInputStreaming` to control Anthropic fine-grained tool streaming compatibility.
|
|
319
|
+
|
|
320
|
+
By default pi sends per-tool `eager_input_streaming: true`. If a proxy or Anthropic-compatible backend rejects that field, set `supportsEagerToolInputStreaming` to `false`. Pi will omit `tools[].eager_input_streaming` and send the legacy `fine-grained-tool-streaming-2025-05-14` beta header for tool-enabled requests instead.
|
|
321
|
+
|
|
322
|
+
```json
|
|
323
|
+
{
|
|
324
|
+
"providers": {
|
|
325
|
+
"anthropic-proxy": {
|
|
326
|
+
"baseUrl": "https://proxy.example.com",
|
|
327
|
+
"api": "anthropic-messages",
|
|
328
|
+
"apiKey": "ANTHROPIC_PROXY_KEY",
|
|
329
|
+
"compat": {
|
|
330
|
+
"supportsEagerToolInputStreaming": false,
|
|
331
|
+
"supportsLongCacheRetention": true
|
|
332
|
+
},
|
|
333
|
+
"models": [
|
|
334
|
+
{
|
|
335
|
+
"id": "claude-opus-4-7",
|
|
336
|
+
"reasoning": true,
|
|
337
|
+
"input": ["text", "image"]
|
|
338
|
+
}
|
|
339
|
+
]
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
| Field | Description |
|
|
346
|
+
|-------|-------------|
|
|
347
|
+
| `supportsEagerToolInputStreaming` | Whether the provider accepts per-tool `eager_input_streaming`. Default: `true`. Set to `false` to omit that field and use the legacy fine-grained tool streaming beta header on tool-enabled requests. |
|
|
348
|
+
| `supportsLongCacheRetention` | Whether the provider accepts Anthropic long cache retention (`cache_control.ttl: "1h"`) when cache retention is `long`. Default: `true`. |
|
|
349
|
+
|
|
272
350
|
## OpenAI Compatibility
|
|
273
351
|
|
|
274
352
|
For providers with partial OpenAI compatibility, use the `compat` field.
|
|
@@ -297,19 +375,20 @@ For providers with partial OpenAI compatibility, use the `compat` field.
|
|
|
297
375
|
| `supportsStore` | Provider supports `store` field |
|
|
298
376
|
| `supportsDeveloperRole` | Use `developer` vs `system` role |
|
|
299
377
|
| `supportsReasoningEffort` | Support for `reasoning_effort` parameter |
|
|
300
|
-
| `reasoningEffortMap` | Map pi thinking levels to provider-specific `reasoning_effort` values |
|
|
301
378
|
| `supportsUsageInStreaming` | Supports `stream_options: { include_usage: true }` (default: `true`) |
|
|
302
379
|
| `maxTokensField` | Use `max_completion_tokens` or `max_tokens` |
|
|
303
380
|
| `requiresToolResultName` | Include `name` on tool result messages |
|
|
304
381
|
| `requiresAssistantAfterToolResult` | Insert an assistant message before a user message after tool results |
|
|
305
382
|
| `requiresThinkingAsText` | Convert thinking blocks to plain text |
|
|
306
|
-
| `
|
|
383
|
+
| `requiresReasoningContentOnAssistantMessages` | Include empty `reasoning_content` on all replayed assistant messages when reasoning is enabled |
|
|
384
|
+
| `thinkingFormat` | Use `reasoning_effort`, `openrouter`, `deepseek`, `together`, `zai`, `qwen`, or `qwen-chat-template` thinking parameters |
|
|
307
385
|
| `cacheControlFormat` | Use Anthropic-style `cache_control` markers on the system prompt, last tool definition, and last user/assistant text content. Currently only `anthropic` is supported. |
|
|
308
386
|
| `supportsStrictMode` | Include the `strict` field in tool definitions |
|
|
387
|
+
| `supportsLongCacheRetention` | Whether the provider accepts long cache retention when cache retention is `long`: `prompt_cache_retention: "24h"` for OpenAI prompt caching, or `cache_control.ttl: "1h"` when `cacheControlFormat` is `anthropic`. Default: `true`. |
|
|
309
388
|
| `openRouterRouting` | OpenRouter provider routing preferences. This object is sent as-is in the `provider` field of the [OpenRouter API request](https://openrouter.ai/docs/guides/routing/provider-selection). |
|
|
310
389
|
| `vercelGatewayRouting` | Vercel AI Gateway routing config for provider selection (`only`, `order`) |
|
|
311
390
|
|
|
312
|
-
`qwen` uses top-level `enable_thinking`. Use `qwen-chat-template` for local Qwen-compatible servers that require `chat_template_kwargs.enable_thinking`.
|
|
391
|
+
`openrouter` uses `reasoning: { effort }`. `together` uses `reasoning: { enabled }` and also `reasoning_effort` when `supportsReasoningEffort` is enabled. `qwen` uses top-level `enable_thinking`. Use `qwen-chat-template` for local Qwen-compatible servers that require `chat_template_kwargs.enable_thinking`.
|
|
313
392
|
|
|
314
393
|
`cacheControlFormat: "anthropic"` is for OpenAI-compatible providers that expose Anthropic-style prompt caching through `cache_control` markers on text content and tool definitions.
|
|
315
394
|
|
package/docs/packages.md
CHANGED
|
@@ -27,11 +27,16 @@ pi install /absolute/path/to/package
|
|
|
27
27
|
pi install ./relative/path/to/package
|
|
28
28
|
|
|
29
29
|
pi remove npm:@foo/bar
|
|
30
|
-
pi list
|
|
31
|
-
pi update
|
|
30
|
+
pi list # show installed packages from settings
|
|
31
|
+
pi update # update pi and all non-pinned packages
|
|
32
|
+
pi update --extensions # update all non-pinned packages only
|
|
33
|
+
pi update --self # update pi only
|
|
34
|
+
pi update --self --force # reinstall pi even if current
|
|
35
|
+
pi update npm:@foo/bar # update one package
|
|
36
|
+
pi update --extension npm:@foo/bar
|
|
32
37
|
```
|
|
33
38
|
|
|
34
|
-
By default, `install` and `remove` write to global settings (`~/.
|
|
39
|
+
By default, `install` and `remove` write to global settings (`~/.aery/agent/settings.json`). Use `-l` to write to project settings (`.aery/settings.json`) instead. Project settings can be shared with your team, and pi installs any missing packages automatically on startup.
|
|
35
40
|
|
|
36
41
|
To try a package without installing it, use `--extension` or `-e`. This installs to a temporary directory for the current run only:
|
|
37
42
|
|
|
@@ -51,9 +56,9 @@ npm:@scope/pkg@1.2.3
|
|
|
51
56
|
npm:pkg
|
|
52
57
|
```
|
|
53
58
|
|
|
54
|
-
- Versioned specs are pinned and skipped by `pi update
|
|
59
|
+
- Versioned specs are pinned and skipped by package updates (`pi update`, `pi update --extensions`).
|
|
55
60
|
- Global installs use `npm install -g`.
|
|
56
|
-
- Project installs go under `.
|
|
61
|
+
- Project installs go under `.aery/npm/`.
|
|
57
62
|
- Set `npmCommand` in `settings.json` to pin npm package lookup and install operations to a specific wrapper command such as `mise` or `asdf`.
|
|
58
63
|
|
|
59
64
|
Example:
|
|
@@ -78,8 +83,8 @@ ssh://git@github.com/user/repo@v1
|
|
|
78
83
|
- HTTPS and SSH URLs are both supported.
|
|
79
84
|
- SSH URLs use your configured SSH keys automatically (respects `~/.ssh/config`).
|
|
80
85
|
- For non-interactive runs (for example CI), you can set `GIT_TERMINAL_PROMPT=0` to disable credential prompts and set `GIT_SSH_COMMAND` (for example `ssh -o BatchMode=yes -o ConnectTimeout=5`) to fail fast.
|
|
81
|
-
- Refs pin the package and skip `pi update
|
|
82
|
-
- Cloned to `~/.
|
|
86
|
+
- Refs pin the package and skip package updates (`pi update`, `pi update --extensions`).
|
|
87
|
+
- Cloned to `~/.aery/agent/git/<host>/<path>` (global) or `.aery/git/<host>/<path>` (project).
|
|
83
88
|
- Runs `npm install` after clone or pull if `package.json` exists.
|
|
84
89
|
|
|
85
90
|
**SSH examples:**
|
|
@@ -124,7 +129,7 @@ Paths are relative to the package root. Arrays support glob patterns and `!exclu
|
|
|
124
129
|
|
|
125
130
|
### Gallery Metadata
|
|
126
131
|
|
|
127
|
-
The [package gallery](https://
|
|
132
|
+
The [package gallery](https://eminent337.github.io/packages) displays packages tagged with `pi-package`. Add `video` or `image` fields to show a preview:
|
|
128
133
|
|
|
129
134
|
```json
|
|
130
135
|
{
|
|
@@ -158,7 +163,7 @@ If no `pi` manifest is present, pi auto-discovers resources from these directori
|
|
|
158
163
|
|
|
159
164
|
Third party runtime dependencies belong in `dependencies` in `package.json`. Dependencies that do not register extensions, skills, prompt templates, or themes also belong in `dependencies`. When pi installs a package from npm or git, it runs `npm install`, so those dependencies are installed automatically.
|
|
160
165
|
|
|
161
|
-
Pi bundles core packages for extensions and skills. If you import any of these, list them in `peerDependencies` with a `"*"` range and do not bundle them: `@
|
|
166
|
+
Pi bundles core packages for extensions and skills. If you import any of these, list them in `peerDependencies` with a `"*"` range and do not bundle them: `@eminent337/aery-ai`, `@eminent337/aery-core`, `@eminent337/aery`, `@eminent337/aery-tui`, `typebox`.
|
|
162
167
|
|
|
163
168
|
Other pi packages must be bundled in your tarball. Add them to `dependencies` and `bundledDependencies`, then reference their resources through `node_modules/` paths. Pi loads packages with separate module roots, so separate installs do not collide or share modules.
|
|
164
169
|
|
|
@@ -207,7 +212,7 @@ Filter what a package loads using the object form in settings:
|
|
|
207
212
|
|
|
208
213
|
## Enable and Disable Resources
|
|
209
214
|
|
|
210
|
-
Use `pi config` to enable or disable extensions, skills, prompt templates, and themes from installed packages and local directories. Works for both global (`~/.
|
|
215
|
+
Use `pi config` to enable or disable extensions, skills, prompt templates, and themes from installed packages and local directories. Works for both global (`~/.aery/agent`) and project (`.aery/`) scopes.
|
|
211
216
|
|
|
212
217
|
## Scope and Deduplication
|
|
213
218
|
|
package/docs/prompt-templates.md
CHANGED
|
@@ -8,8 +8,8 @@ Prompt templates are Markdown snippets that expand into full prompts. Type `/nam
|
|
|
8
8
|
|
|
9
9
|
Pi loads prompt templates from:
|
|
10
10
|
|
|
11
|
-
- Global: `~/.
|
|
12
|
-
- Project: `.
|
|
11
|
+
- Global: `~/.aery/agent/prompts/*.md`
|
|
12
|
+
- Project: `.aery/prompts/*.md`
|
|
13
13
|
- Packages: `prompts/` directories or `pi.prompts` entries in `package.json`
|
|
14
14
|
- Settings: `prompts` array with files or directories
|
|
15
15
|
- CLI: `--prompt-template <path>` (repeatable)
|
package/docs/providers.md
CHANGED
|
@@ -15,36 +15,31 @@ Pi supports subscription-based providers via OAuth and API key providers via env
|
|
|
15
15
|
|
|
16
16
|
Use `/login` in interactive mode, then select a provider:
|
|
17
17
|
|
|
18
|
-
- Claude Pro/Max
|
|
19
18
|
- ChatGPT Plus/Pro (Codex)
|
|
19
|
+
- Claude Pro/Max
|
|
20
20
|
- GitHub Copilot
|
|
21
|
-
- Google Gemini CLI
|
|
22
|
-
- Google Antigravity
|
|
23
21
|
|
|
24
|
-
Use `/logout` to clear credentials. Tokens are stored in `~/.
|
|
22
|
+
Use `/logout` to clear credentials. Tokens are stored in `~/.aery/agent/auth.json` and auto-refresh when expired.
|
|
25
23
|
|
|
26
|
-
###
|
|
24
|
+
### OpenAI Codex
|
|
27
25
|
|
|
28
|
-
-
|
|
29
|
-
-
|
|
26
|
+
- Requires ChatGPT Plus or Pro subscription
|
|
27
|
+
- Officially endorsed by OpenAI: [Codex for OSS](https://developers.openai.com/community/codex-for-oss)
|
|
30
28
|
|
|
31
|
-
###
|
|
29
|
+
### Claude Pro/Max
|
|
32
30
|
|
|
33
|
-
-
|
|
34
|
-
- **Antigravity**: Sandbox with Gemini 3, Claude, and GPT-OSS models
|
|
35
|
-
- Both free with any Google account, subject to rate limits
|
|
36
|
-
- For paid Cloud Code Assist: set `GOOGLE_CLOUD_PROJECT` env var
|
|
31
|
+
Anthropic subscription auth is active for Claude Pro/Max accounts. Third-party harness usage draws from [extra usage](https://claude.ai/settings/usage) and is billed per token, not against Claude plan limits.
|
|
37
32
|
|
|
38
|
-
###
|
|
33
|
+
### GitHub Copilot
|
|
39
34
|
|
|
40
|
-
-
|
|
41
|
-
-
|
|
35
|
+
- Press Enter for github.com, or enter your GitHub Enterprise Server domain
|
|
36
|
+
- If you get "model not supported", enable it in VS Code: Copilot Chat → model selector → select model → "Enable"
|
|
42
37
|
|
|
43
38
|
## API Keys
|
|
44
39
|
|
|
45
40
|
### Environment Variables or Auth File
|
|
46
41
|
|
|
47
|
-
|
|
42
|
+
Use `/login` in interactive mode and select a provider to store an API key in `auth.json`, or set credentials via environment variable:
|
|
48
43
|
|
|
49
44
|
```bash
|
|
50
45
|
export ANTHROPIC_API_KEY=sk-ant-...
|
|
@@ -56,10 +51,13 @@ pi
|
|
|
56
51
|
| Anthropic | `ANTHROPIC_API_KEY` | `anthropic` |
|
|
57
52
|
| Azure OpenAI Responses | `AZURE_OPENAI_API_KEY` | `azure-openai-responses` |
|
|
58
53
|
| OpenAI | `OPENAI_API_KEY` | `openai` |
|
|
54
|
+
| DeepSeek | `DEEPSEEK_API_KEY` | `deepseek` |
|
|
59
55
|
| Google Gemini | `GEMINI_API_KEY` | `google` |
|
|
60
56
|
| Mistral | `MISTRAL_API_KEY` | `mistral` |
|
|
61
57
|
| Groq | `GROQ_API_KEY` | `groq` |
|
|
62
58
|
| Cerebras | `CEREBRAS_API_KEY` | `cerebras` |
|
|
59
|
+
| Cloudflare AI Gateway | `CLOUDFLARE_API_KEY` (+ `CLOUDFLARE_ACCOUNT_ID`, `CLOUDFLARE_GATEWAY_ID`) | `cloudflare-ai-gateway` |
|
|
60
|
+
| Cloudflare Workers AI | `CLOUDFLARE_API_KEY` (+ `CLOUDFLARE_ACCOUNT_ID`) | `cloudflare-workers-ai` |
|
|
63
61
|
| xAI | `XAI_API_KEY` | `xai` |
|
|
64
62
|
| OpenRouter | `OPENROUTER_API_KEY` | `openrouter` |
|
|
65
63
|
| Vercel AI Gateway | `AI_GATEWAY_API_KEY` | `vercel-ai-gateway` |
|
|
@@ -67,23 +65,35 @@ pi
|
|
|
67
65
|
| OpenCode Zen | `OPENCODE_API_KEY` | `opencode` |
|
|
68
66
|
| OpenCode Go | `OPENCODE_API_KEY` | `opencode-go` |
|
|
69
67
|
| Hugging Face | `HF_TOKEN` | `huggingface` |
|
|
68
|
+
| Fireworks | `FIREWORKS_API_KEY` | `fireworks` |
|
|
69
|
+
| Together AI | `TOGETHER_API_KEY` | `together` |
|
|
70
70
|
| Kimi For Coding | `KIMI_API_KEY` | `kimi-coding` |
|
|
71
71
|
| MiniMax | `MINIMAX_API_KEY` | `minimax` |
|
|
72
72
|
| MiniMax (China) | `MINIMAX_CN_API_KEY` | `minimax-cn` |
|
|
73
|
+
| Xiaomi MiMo | `XIAOMI_API_KEY` | `xiaomi` |
|
|
74
|
+
| Xiaomi MiMo Token Plan (China) | `XIAOMI_TOKEN_PLAN_CN_API_KEY` | `xiaomi-token-plan-cn` |
|
|
75
|
+
| Xiaomi MiMo Token Plan (Amsterdam) | `XIAOMI_TOKEN_PLAN_AMS_API_KEY` | `xiaomi-token-plan-ams` |
|
|
76
|
+
| Xiaomi MiMo Token Plan (Singapore) | `XIAOMI_TOKEN_PLAN_SGP_API_KEY` | `xiaomi-token-plan-sgp` |
|
|
73
77
|
|
|
74
|
-
Reference for environment variables and `auth.json` keys: [`const envMap`](https://github.com/
|
|
78
|
+
Reference for environment variables and `auth.json` keys: [`const envMap`](https://github.com/eminent337/aery/blob/main/packages/ai/src/env-api-keys.ts) in [`packages/ai/src/env-api-keys.ts`](https://github.com/eminent337/aery/blob/main/packages/ai/src/env-api-keys.ts).
|
|
75
79
|
|
|
76
80
|
#### Auth File
|
|
77
81
|
|
|
78
|
-
Store credentials in `~/.
|
|
82
|
+
Store credentials in `~/.aery/agent/auth.json`:
|
|
79
83
|
|
|
80
84
|
```json
|
|
81
85
|
{
|
|
82
86
|
"anthropic": { "type": "api_key", "key": "sk-ant-..." },
|
|
83
87
|
"openai": { "type": "api_key", "key": "sk-..." },
|
|
88
|
+
"deepseek": { "type": "api_key", "key": "sk-..." },
|
|
84
89
|
"google": { "type": "api_key", "key": "..." },
|
|
85
90
|
"opencode": { "type": "api_key", "key": "..." },
|
|
86
|
-
"opencode-go": { "type": "api_key", "key": "..." }
|
|
91
|
+
"opencode-go": { "type": "api_key", "key": "..." },
|
|
92
|
+
"together": { "type": "api_key", "key": "..." },
|
|
93
|
+
"xiaomi": { "type": "api_key", "key": "..." },
|
|
94
|
+
"xiaomi-token-plan-cn": { "type": "api_key", "key": "..." },
|
|
95
|
+
"xiaomi-token-plan-ams": { "type": "api_key", "key": "..." },
|
|
96
|
+
"xiaomi-token-plan-sgp": { "type": "api_key", "key": "..." }
|
|
87
97
|
}
|
|
88
98
|
```
|
|
89
99
|
|
|
@@ -116,11 +126,13 @@ OAuth credentials are also stored here after `/login` and managed automatically.
|
|
|
116
126
|
```bash
|
|
117
127
|
export AZURE_OPENAI_API_KEY=...
|
|
118
128
|
export AZURE_OPENAI_BASE_URL=https://your-resource.openai.azure.com
|
|
129
|
+
# also supported: https://your-resource.cognitiveservices.azure.com
|
|
130
|
+
# root endpoints are auto-normalized to /openai/v1
|
|
119
131
|
# or use resource name instead of base URL
|
|
120
132
|
export AZURE_OPENAI_RESOURCE_NAME=your-resource
|
|
121
133
|
|
|
122
134
|
# Optional
|
|
123
|
-
export
|
|
135
|
+
export AZURE_OPENAI_AAERY_VERSION=2024-02-01
|
|
124
136
|
export AZURE_OPENAI_DEPLOYMENT_NAME_MAP=gpt-4=my-gpt4,gpt-4o=my-gpt4o
|
|
125
137
|
```
|
|
126
138
|
|
|
@@ -167,6 +179,42 @@ export AWS_BEDROCK_SKIP_AUTH=1
|
|
|
167
179
|
export AWS_BEDROCK_FORCE_HTTP1=1
|
|
168
180
|
```
|
|
169
181
|
|
|
182
|
+
### Cloudflare AI Gateway
|
|
183
|
+
|
|
184
|
+
`CLOUDFLARE_API_KEY` can be set via `/login`. The account ID and gateway slug must be set as environment variables.
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
export CLOUDFLARE_API_KEY=... # or use /login
|
|
188
|
+
export CLOUDFLARE_ACCOUNT_ID=...
|
|
189
|
+
export CLOUDFLARE_GATEWAY_ID=... # create at dash.cloudflare.com → AI → AI Gateway
|
|
190
|
+
pi --provider cloudflare-ai-gateway --model "claude-sonnet-4-5"
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Routes to OpenAI, Anthropic, and Workers AI through Cloudflare AI Gateway. Workers AI uses the Unified API (`/compat`) and prefixed model IDs (`workers-ai/@cf/...`). OpenAI uses the OpenAI passthrough route (`/openai`) with native OpenAI model IDs such as `gpt-5.1`. Anthropic uses the Anthropic passthrough route (`/anthropic`) with native Anthropic model IDs such as `claude-sonnet-4-5`.
|
|
194
|
+
|
|
195
|
+
AI Gateway authentication uses `CLOUDFLARE_API_KEY` as `cf-aig-authorization`. Upstream authentication can be one of:
|
|
196
|
+
|
|
197
|
+
| Mode | Request auth | Upstream auth |
|
|
198
|
+
|------|--------------|---------------|
|
|
199
|
+
| Workers AI | Cloudflare token only | Cloudflare-native |
|
|
200
|
+
| Unified billing | Cloudflare token only | Cloudflare handles upstream auth and deducts credits |
|
|
201
|
+
| Stored BYOK | Cloudflare token only | Cloudflare injects provider keys stored in the AI Gateway dashboard |
|
|
202
|
+
| Inline BYOK | Cloudflare token plus upstream `Authorization` header | The request supplies the upstream provider key |
|
|
203
|
+
|
|
204
|
+
For normal pi usage, prefer unified billing or stored BYOK. Inline BYOK requires configuring an additional upstream `Authorization` header for the Cloudflare AI Gateway provider, for example via a `models.json` provider/model override.
|
|
205
|
+
|
|
206
|
+
### Cloudflare Workers AI
|
|
207
|
+
|
|
208
|
+
`CLOUDFLARE_API_KEY` can be set via `/login`. `CLOUDFLARE_ACCOUNT_ID` must be set as an environment variable.
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
export CLOUDFLARE_API_KEY=... # or use /login
|
|
212
|
+
export CLOUDFLARE_ACCOUNT_ID=...
|
|
213
|
+
pi --provider cloudflare-workers-ai --model "@cf/moonshotai/kimi-k2.6"
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Pi automatically sets `x-session-affinity` for [prefix caching](https://developers.cloudflare.com/workers-ai/features/prompt-caching/) discounts.
|
|
217
|
+
|
|
170
218
|
### Google Vertex AI
|
|
171
219
|
|
|
172
220
|
Uses Application Default Credentials:
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# Quickstart
|
|
2
|
+
|
|
3
|
+
This page gets you from install to a useful first pi session.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
Pi is distributed as an npm package:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @eminent337/aery
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Then start pi in the project directory you want it to work on:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
cd /path/to/project
|
|
17
|
+
pi
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Authenticate
|
|
21
|
+
|
|
22
|
+
Pi can use subscription providers through `/login`, or API-key providers through environment variables or the auth file.
|
|
23
|
+
|
|
24
|
+
### Option 1: subscription login
|
|
25
|
+
|
|
26
|
+
Start pi and run:
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
/login
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Then select a provider. Built-in subscription logins include Claude Pro/Max, ChatGPT Plus/Pro (Codex), and GitHub Copilot.
|
|
33
|
+
|
|
34
|
+
### Option 2: API key
|
|
35
|
+
|
|
36
|
+
Set an API key before launching pi:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
export ANTHROPIC_API_KEY=sk-ant-...
|
|
40
|
+
pi
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
You can also run `/login` and select an API-key provider to store the key in `~/.aery/agent/auth.json`.
|
|
44
|
+
|
|
45
|
+
See [Providers](providers.md) for all supported providers, environment variables, and cloud-provider setup.
|
|
46
|
+
|
|
47
|
+
## First session
|
|
48
|
+
|
|
49
|
+
Once pi starts, type a request and press Enter:
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
Summarize this repository and tell me how to run its checks.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
By default, pi gives the model four tools:
|
|
56
|
+
|
|
57
|
+
- `read` - read files
|
|
58
|
+
- `write` - create or overwrite files
|
|
59
|
+
- `edit` - patch files
|
|
60
|
+
- `bash` - run shell commands
|
|
61
|
+
|
|
62
|
+
Additional built-in read-only tools (`grep`, `find`, `ls`) are available through tool options. Pi runs in your current working directory and can modify files there. Use git or another checkpointing workflow if you want easy rollback.
|
|
63
|
+
|
|
64
|
+
## Give pi project instructions
|
|
65
|
+
|
|
66
|
+
Pi loads context files at startup. Add an `AGENTS.md` file to tell it how to work in a project:
|
|
67
|
+
|
|
68
|
+
```markdown
|
|
69
|
+
# Project Instructions
|
|
70
|
+
|
|
71
|
+
- Run `npm run check` after code changes.
|
|
72
|
+
- Do not run production migrations locally.
|
|
73
|
+
- Keep responses concise.
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Pi loads:
|
|
77
|
+
|
|
78
|
+
- `~/.aery/agent/AGENTS.md` for global instructions
|
|
79
|
+
- `AGENTS.md` or `CLAUDE.md` from parent directories and the current directory
|
|
80
|
+
|
|
81
|
+
Restart pi, or run `/reload`, after changing context files.
|
|
82
|
+
|
|
83
|
+
## Common things to try
|
|
84
|
+
|
|
85
|
+
### Reference files
|
|
86
|
+
|
|
87
|
+
Type `@` in the editor to fuzzy-search files, or pass files on the command line:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
pi @README.md "Summarize this"
|
|
91
|
+
pi @src/app.ts @src/app.test.ts "Review these together"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Images can be pasted with Ctrl+V (Alt+V on Windows) or dragged into supported terminals.
|
|
95
|
+
|
|
96
|
+
### Run shell commands
|
|
97
|
+
|
|
98
|
+
In interactive mode:
|
|
99
|
+
|
|
100
|
+
```text
|
|
101
|
+
!npm run lint
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
The command output is sent to the model. Use `!!command` to run a command without adding its output to the model context.
|
|
105
|
+
|
|
106
|
+
### Switch models
|
|
107
|
+
|
|
108
|
+
Use `/model` or Ctrl+L to choose a model. Use Shift+Tab to cycle thinking level. Use Ctrl+P / Shift+Ctrl+P to cycle through scoped models.
|
|
109
|
+
|
|
110
|
+
### Continue later
|
|
111
|
+
|
|
112
|
+
Sessions are saved automatically:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
pi -c # Continue most recent session
|
|
116
|
+
pi -r # Browse previous sessions
|
|
117
|
+
pi --session <path|id> # Open a specific session
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Inside pi, use `/resume`, `/new`, `/tree`, `/fork`, and `/clone` to manage sessions.
|
|
121
|
+
|
|
122
|
+
### Non-interactive mode
|
|
123
|
+
|
|
124
|
+
For one-shot prompts:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
pi -p "Summarize this codebase"
|
|
128
|
+
cat README.md | pi -p "Summarize this text"
|
|
129
|
+
pi -p @screenshot.png "What's in this image?"
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Use `--mode json` for JSON event output or `--mode rpc` for process integration.
|
|
133
|
+
|
|
134
|
+
## Next steps
|
|
135
|
+
|
|
136
|
+
- [Using Pi](usage.md) - interactive mode, slash commands, sessions, context files, and CLI reference.
|
|
137
|
+
- [Providers](providers.md) - authentication and model setup.
|
|
138
|
+
- [Settings](settings.md) - global and project configuration.
|
|
139
|
+
- [Keybindings](keybindings.md) - shortcuts and customization.
|
|
140
|
+
- [Pi Packages](packages.md) - install shared extensions, skills, prompts, and themes.
|
|
141
|
+
|
|
142
|
+
Platform notes: [Windows](windows.md), [Termux](termux.md), [tmux](tmux.md), [Terminal setup](terminal-setup.md), [Shell aliases](shell-aliases.md).
|