apex-code 0.5.0 → 0.5.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 +263 -5
- package/README.md +624 -0
- package/dist/bun/cli.d.ts +3 -1
- package/dist/bun/cli.d.ts.map +1 -1
- package/dist/bun/cli.js +3 -9
- package/dist/bun/cli.js.map +1 -1
- package/dist/bun/runtime-setup.d.ts +2 -0
- package/dist/bun/runtime-setup.d.ts.map +1 -0
- package/dist/bun/runtime-setup.js +9 -0
- package/dist/bun/runtime-setup.js.map +1 -0
- package/dist/bun/sandbox-env-setup.d.ts +2 -0
- package/dist/bun/sandbox-env-setup.d.ts.map +1 -0
- package/dist/bun/sandbox-env-setup.js +4 -0
- package/dist/bun/sandbox-env-setup.js.map +1 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +16 -5
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js +2 -1
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/file-processor.d.ts +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/cli/session-picker.d.ts +1 -1
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/cli/setup.d.ts +2 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +13 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +16 -8
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session.d.ts +85 -15
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +685 -266
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts +4 -0
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +55 -0
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/bug-report.d.ts +176 -0
- package/dist/core/bug-report.d.ts.map +1 -0
- package/dist/core/bug-report.js +291 -0
- package/dist/core/bug-report.js.map +1 -0
- package/dist/core/cache-stats.d.ts.map +1 -1
- package/dist/core/cache-stats.js +12 -1
- package/dist/core/cache-stats.js.map +1 -1
- package/dist/core/cache-warmer.d.ts +103 -0
- package/dist/core/cache-warmer.d.ts.map +1 -0
- package/dist/core/cache-warmer.js +356 -0
- package/dist/core/cache-warmer.js.map +1 -0
- package/dist/core/compaction/branch-summarization.d.ts +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +4 -3
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +5 -3
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +163 -66
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/context/pipeline.d.ts +8 -8
- package/dist/core/context/pipeline.d.ts.map +1 -1
- package/dist/core/context/pipeline.js +21 -12
- package/dist/core/context/pipeline.js.map +1 -1
- package/dist/core/crash-log.d.ts +27 -0
- package/dist/core/crash-log.d.ts.map +1 -0
- package/dist/core/crash-log.js +139 -0
- package/dist/core/crash-log.js.map +1 -0
- package/dist/core/export-html/template.js +6 -1
- package/dist/core/extensions/index.d.ts +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/jiti-loader.d.ts +2 -0
- package/dist/core/extensions/jiti-loader.d.ts.map +1 -0
- package/dist/core/extensions/jiti-loader.js +4 -0
- package/dist/core/extensions/jiti-loader.js.map +1 -0
- package/dist/core/extensions/jiti-static-loader.d.ts +2 -0
- package/dist/core/extensions/jiti-static-loader.d.ts.map +1 -0
- package/dist/core/extensions/jiti-static-loader.js +4 -0
- package/dist/core/extensions/jiti-static-loader.js.map +1 -0
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +40 -59
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +24 -8
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +195 -72
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +142 -55
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/extensions/virtual-modules.d.ts +3 -0
- package/dist/core/extensions/virtual-modules.d.ts.map +1 -0
- package/dist/core/extensions/virtual-modules.js +41 -0
- package/dist/core/extensions/virtual-modules.js.map +1 -0
- package/dist/core/extensions/wrapper.d.ts.map +1 -1
- package/dist/core/extensions/wrapper.js +1 -20
- package/dist/core/extensions/wrapper.js.map +1 -1
- package/dist/core/http-dispatcher.d.ts.map +1 -1
- package/dist/core/http-dispatcher.js +2 -0
- package/dist/core/http-dispatcher.js.map +1 -1
- package/dist/core/index.d.ts +2 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/keybindings.d.ts +6 -1
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +5 -1
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/messages.d.ts +1 -1
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js +1 -0
- package/dist/core/messages.js.map +1 -1
- package/dist/core/model-config.d.ts +168 -20
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +44 -18
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-registry.d.ts +5 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +8 -0
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +4 -3
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-runtime.d.ts +1 -0
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +12 -6
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/permissions/store.d.ts.map +1 -1
- package/dist/core/permissions/store.js +11 -8
- package/dist/core/permissions/store.js.map +1 -1
- package/dist/core/prompt-templates.d.ts +6 -1
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js +61 -35
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/provider-composer.d.ts +4 -2
- package/dist/core/provider-composer.d.ts.map +1 -1
- package/dist/core/provider-composer.js +29 -2
- package/dist/core/provider-composer.js.map +1 -1
- package/dist/core/radius.d.ts +3 -0
- package/dist/core/radius.d.ts.map +1 -1
- package/dist/core/radius.js +6 -0
- package/dist/core/radius.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +6 -2
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +63 -42
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-export.d.ts +6 -2
- package/dist/core/session-export.d.ts.map +1 -1
- package/dist/core/session-export.js +14 -13
- package/dist/core/session-export.js.map +1 -1
- package/dist/core/session-manager.d.ts +66 -15
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +295 -115
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +27 -4
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +55 -7
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +5 -4
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +1 -0
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.d.ts +49 -6
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +140 -79
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/bash.d.ts +7 -8
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +20 -115
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit.d.ts +1 -12
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +6 -204
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +4 -55
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +4 -60
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +4 -49
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/read.d.ts +4 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +10 -125
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/renderers/bash.d.ts +18 -0
- package/dist/core/tools/renderers/bash.d.ts.map +1 -0
- package/dist/core/tools/renderers/bash.js +126 -0
- package/dist/core/tools/renderers/bash.js.map +1 -0
- package/dist/core/tools/renderers/edit.d.ts +23 -0
- package/dist/core/tools/renderers/edit.d.ts.map +1 -0
- package/dist/core/tools/renderers/edit.js +207 -0
- package/dist/core/tools/renderers/edit.js.map +1 -0
- package/dist/core/tools/renderers/find.d.ts +10 -0
- package/dist/core/tools/renderers/find.d.ts.map +1 -0
- package/dist/core/tools/renderers/find.js +64 -0
- package/dist/core/tools/renderers/find.js.map +1 -0
- package/dist/core/tools/renderers/grep.d.ts +10 -0
- package/dist/core/tools/renderers/grep.d.ts.map +1 -0
- package/dist/core/tools/renderers/grep.js +69 -0
- package/dist/core/tools/renderers/grep.js.map +1 -0
- package/dist/core/tools/renderers/index.d.ts +34 -0
- package/dist/core/tools/renderers/index.d.ts.map +1 -0
- package/dist/core/tools/renderers/index.js +47 -0
- package/dist/core/tools/renderers/index.js.map +1 -0
- package/dist/core/tools/renderers/ls.d.ts +10 -0
- package/dist/core/tools/renderers/ls.d.ts.map +1 -0
- package/dist/core/tools/renderers/ls.js +58 -0
- package/dist/core/tools/renderers/ls.js.map +1 -0
- package/dist/core/tools/renderers/read.d.ts +11 -0
- package/dist/core/tools/renderers/read.d.ts.map +1 -0
- package/dist/core/tools/renderers/read.js +132 -0
- package/dist/core/tools/renderers/read.js.map +1 -0
- package/dist/core/tools/renderers/write.d.ts +10 -0
- package/dist/core/tools/renderers/write.d.ts.map +1 -0
- package/dist/core/tools/renderers/write.js +152 -0
- package/dist/core/tools/renderers/write.js.map +1 -0
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +6 -146
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/usage-totals.d.ts +1 -1
- package/dist/core/usage-totals.d.ts.map +1 -1
- package/dist/core/usage-totals.js +5 -1
- package/dist/core/usage-totals.js.map +1 -1
- package/dist/extensions/llama/client.d.ts +2 -0
- package/dist/extensions/llama/client.d.ts.map +1 -1
- package/dist/extensions/llama/client.js +7 -3
- package/dist/extensions/llama/client.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js +20 -5
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +21 -13
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/bug-report.d.ts +16 -0
- package/dist/modes/interactive/bug-report.d.ts.map +1 -0
- package/dist/modes/interactive/bug-report.js +167 -0
- package/dist/modes/interactive/bug-report.js.map +1 -0
- package/dist/modes/interactive/chat-viewport.d.ts +20 -0
- package/dist/modes/interactive/chat-viewport.d.ts.map +1 -0
- package/dist/modes/interactive/chat-viewport.js +28 -0
- package/dist/modes/interactive/chat-viewport.js.map +1 -0
- package/dist/modes/interactive/components/assistant-message.d.ts +7 -0
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +63 -17
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js +12 -5
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js +12 -5
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts +12 -0
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +38 -0
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/error-summary.d.ts +11 -0
- package/dist/modes/interactive/components/error-summary.d.ts.map +1 -0
- package/dist/modes/interactive/components/error-summary.js +31 -0
- package/dist/modes/interactive/components/error-summary.js.map +1 -0
- package/dist/modes/interactive/components/extension-editor.d.ts +4 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +6 -1
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts +2 -0
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-input.js +6 -0
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts +2 -0
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js +4 -0
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +4 -1
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts +1 -1
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +3 -3
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +13 -15
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts +5 -5
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +74 -48
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +5 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +35 -10
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js +11 -4
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/status-indicator.d.ts +3 -1
- package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
- package/dist/modes/interactive/components/status-indicator.js +10 -3
- package/dist/modes/interactive/components/status-indicator.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +6 -6
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts +27 -5
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +64 -42
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js +9 -0
- package/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/trust-selector.js +2 -2
- package/dist/modes/interactive/components/trust-selector.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +43 -29
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +431 -166
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/dark.json +2 -1
- package/dist/modes/interactive/theme/light.json +2 -1
- package/dist/modes/interactive/theme/theme-controller.d.ts +1 -0
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.js +5 -0
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive/theme/theme-json.d.ts +84 -0
- package/dist/modes/interactive/theme/theme-json.d.ts.map +1 -0
- package/dist/modes/interactive/theme/theme-json.js +130 -0
- package/dist/modes/interactive/theme/theme-json.js.map +1 -0
- package/dist/modes/interactive/theme/theme-schema.json +6 -2
- package/dist/modes/interactive/theme/theme.d.ts +14 -5
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +18 -119
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/interactive/tui-renderer.d.ts +21 -0
- package/dist/modes/interactive/tui-renderer.d.ts.map +1 -0
- package/dist/modes/interactive/tui-renderer.js +66 -0
- package/dist/modes/interactive/tui-renderer.js.map +1 -0
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +2 -2
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js +31 -72
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/testing/replay/recorded-provider.d.ts +2 -2
- package/dist/testing/replay/recorded-provider.d.ts.map +1 -1
- package/dist/testing/replay/recorded-provider.js +2 -5
- package/dist/testing/replay/recorded-provider.js.map +1 -1
- package/dist/testing/replay/runner.d.ts.map +1 -1
- package/dist/testing/replay/runner.js +0 -1
- package/dist/testing/replay/runner.js.map +1 -1
- package/dist/utils/clipboard-command.d.ts +7 -0
- package/dist/utils/clipboard-command.d.ts.map +1 -0
- package/dist/utils/clipboard-command.js +45 -0
- package/dist/utils/clipboard-command.js.map +1 -0
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js +53 -81
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +111 -121
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/exif-orientation.d.ts.map +1 -1
- package/dist/utils/exif-orientation.js +2 -3
- package/dist/utils/exif-orientation.js.map +1 -1
- package/dist/utils/mime.d.ts.map +1 -1
- package/dist/utils/mime.js +1 -1
- package/dist/utils/mime.js.map +1 -1
- package/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/dist/utils/syntax-highlight.js +21 -21
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/dist/utils/tool-result-images.d.ts +3 -1
- package/dist/utils/tool-result-images.d.ts.map +1 -1
- package/dist/utils/tool-result-images.js +4 -1
- package/dist/utils/tool-result-images.js.map +1 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +11 -2
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/wsl.d.ts +3 -0
- package/dist/utils/wsl.d.ts.map +1 -0
- package/dist/utils/wsl.js +15 -0
- package/dist/utils/wsl.js.map +1 -0
- package/dist/utils/zip.d.ts +7 -0
- package/dist/utils/zip.d.ts.map +1 -0
- package/dist/utils/zip.js +60 -0
- package/dist/utils/zip.js.map +1 -0
- package/docs/cli-integration.md +107 -0
- package/docs/cli.md +269 -0
- package/docs/compaction.md +73 -24
- package/docs/configuration.md +45 -0
- package/docs/containerization.md +22 -21
- package/docs/custom-provider.md +21 -12
- package/docs/development.md +19 -0
- package/docs/docs.json +139 -95
- package/docs/extensions.md +243 -371
- package/docs/how-pi-works.md +49 -0
- package/docs/images/interactive-mode.png +0 -0
- package/docs/index.md +3 -3
- package/docs/json.md +7 -3
- package/docs/keybindings.md +57 -54
- package/docs/llama-cpp.md +2 -2
- package/docs/message-types.md +261 -0
- package/docs/models.md +103 -49
- package/docs/packages.md +49 -47
- package/docs/prompt-templates.md +29 -56
- package/docs/providers.md +91 -139
- package/docs/quickstart.md +42 -14
- package/docs/rpc-commands.md +854 -0
- package/docs/rpc-extension-ui.md +200 -0
- package/docs/rpc.md +121 -223
- package/docs/sdk.md +99 -124
- package/docs/security.md +7 -7
- package/docs/session-format.md +85 -82
- package/docs/sessions.md +41 -57
- package/docs/settings.md +94 -87
- package/docs/shell-aliases.md +68 -3
- package/docs/skills.md +62 -49
- package/docs/slash-commands.md +60 -0
- package/docs/terminal-setup.md +86 -55
- package/docs/termux.md +65 -75
- package/docs/themes.md +64 -86
- package/docs/tmux.md +29 -7
- package/docs/tui.md +67 -122
- package/docs/usage.md +31 -42
- package/docs/windows.md +41 -13
- package/examples/README.md +16 -2
- package/examples/extensions/README.md +0 -1
- package/examples/extensions/custom-provider-anthropic/index.ts +18 -12
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +2 -2
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/dynamic-resources/dynamic.json +2 -0
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/prompt-customizer.ts +19 -67
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/examples/plugins/pi-example-plugin/README.md +38 -0
- package/examples/plugins/pi-example-plugin/package.json +10 -0
- package/examples/plugins/pi-example-plugin/src/contract.ts +13 -0
- package/examples/plugins/pi-example-plugin/src/session.ts +24 -0
- package/examples/plugins/pi-example-plugin/src/tui.ts +31 -0
- package/examples/rpc-client.ts +35 -0
- package/examples/rpc-extension-ui.ts +25 -5
- package/examples/sdk/README.md +1 -1
- package/npm-shrinkwrap.json +861 -513
- package/package.json +27 -18
- package/dist/bun/register-bedrock.d.ts +0 -2
- package/dist/bun/register-bedrock.d.ts.map +0 -1
- package/dist/bun/register-bedrock.js +0 -4
- package/dist/bun/register-bedrock.js.map +0 -1
- package/dist/cli/experimental/auth.d.ts +0 -16
- package/dist/cli/experimental/auth.d.ts.map +0 -1
- package/dist/cli/experimental/auth.js +0 -13
- package/dist/cli/experimental/auth.js.map +0 -1
- package/dist/cli/experimental/cli.d.ts +0 -6
- package/dist/cli/experimental/cli.d.ts.map +0 -1
- package/dist/cli/experimental/cli.js +0 -5
- package/dist/cli/experimental/cli.js.map +0 -1
- package/dist/cli/experimental/command-options.d.ts +0 -17
- package/dist/cli/experimental/command-options.d.ts.map +0 -1
- package/dist/cli/experimental/command-options.js +0 -35
- package/dist/cli/experimental/command-options.js.map +0 -1
- package/dist/cli/experimental/command.d.ts +0 -63
- package/dist/cli/experimental/command.d.ts.map +0 -1
- package/dist/cli/experimental/command.js +0 -130
- package/dist/cli/experimental/command.js.map +0 -1
- package/dist/cli/experimental/commands/client.d.ts +0 -13
- package/dist/cli/experimental/commands/client.d.ts.map +0 -1
- package/dist/cli/experimental/commands/client.js +0 -25
- package/dist/cli/experimental/commands/client.js.map +0 -1
- package/dist/cli/experimental/commands/pi.d.ts +0 -15
- package/dist/cli/experimental/commands/pi.d.ts.map +0 -1
- package/dist/cli/experimental/commands/pi.js +0 -28
- package/dist/cli/experimental/commands/pi.js.map +0 -1
- package/dist/cli/experimental/commands/server.d.ts +0 -13
- package/dist/cli/experimental/commands/server.d.ts.map +0 -1
- package/dist/cli/experimental/commands/server.js +0 -25
- package/dist/cli/experimental/commands/server.js.map +0 -1
- package/dist/cli/experimental/transport-address.d.ts +0 -10
- package/dist/cli/experimental/transport-address.d.ts.map +0 -1
- package/dist/cli/experimental/transport-address.js +0 -38
- package/dist/cli/experimental/transport-address.js.map +0 -1
- package/dist/client/index.d.ts +0 -3
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js +0 -3
- package/dist/client/index.js.map +0 -1
- package/dist/client/remote-session.d.ts +0 -53
- package/dist/client/remote-session.d.ts.map +0 -1
- package/dist/client/remote-session.js +0 -340
- package/dist/client/remote-session.js.map +0 -1
- package/dist/client/transcript.d.ts +0 -12
- package/dist/client/transcript.d.ts.map +0 -1
- package/dist/client/transcript.js +0 -98
- package/dist/client/transcript.js.map +0 -1
- package/dist/utils/clipboard-native.d.ts +0 -11
- package/dist/utils/clipboard-native.d.ts.map +0 -1
- package/dist/utils/clipboard-native.js +0 -20
- package/dist/utils/clipboard-native.js.map +0 -1
package/docs/providers.md
CHANGED
|
@@ -1,154 +1,98 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Provider Authentication
|
|
2
2
|
|
|
3
3
|
Apex Code supports subscription-based providers via OAuth and API key providers via environment variables or auth file. Built-in catalogs ship with Apex Code; configured providers may refresh newer catalogs and cache them in `~/.apex-code/agent/models-store.json` for offline use.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
- Sign in through a browser or device flow backed by OAuth.
|
|
6
|
+
- Provide an API key.
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
- [API Keys](#api-keys)
|
|
9
|
-
- [Auth File](#auth-file)
|
|
10
|
-
- [Cloud Providers](#cloud-providers)
|
|
11
|
-
- [llama.cpp](#llamacpp)
|
|
12
|
-
- [Custom Providers](#custom-providers)
|
|
13
|
-
- [Resolution Order](#resolution-order)
|
|
8
|
+
Use `/login [provider]` to see the methods supported by a provider. Amazon Bedrock and Google Vertex AI can also use ambient cloud credentials.
|
|
14
9
|
|
|
15
|
-
##
|
|
10
|
+
## Authenticate interactively
|
|
16
11
|
|
|
17
|
-
|
|
12
|
+
Run `/login` and select a provider. Pi guides you through its OAuth or API-key flow and saves the resulting credential in [`auth.json`](configuration.md#agent-directory).
|
|
18
13
|
|
|
19
|
-
|
|
20
|
-
- Claude Pro/Max
|
|
21
|
-
- GitHub Copilot
|
|
22
|
-
- xAI (Grok/X subscription)
|
|
23
|
-
- OpenRouter (OAuth-minted API key billed from OpenRouter credits)
|
|
24
|
-
- Radius
|
|
14
|
+
On a remote or headless machine, an OAuth callback may not reach the local process. When prompted, paste the final redirect URL or authorization code back into Pi.
|
|
25
15
|
|
|
26
16
|
Use `/logout` to clear credentials. Tokens are stored in `~/.apex-code/agent/auth.json` and auto-refresh when expired. OpenRouter instead mints a user-controlled API key that does not expire automatically.
|
|
27
17
|
|
|
28
|
-
|
|
18
|
+
`auth.json` can contain API keys and OAuth tokens. Keep it private and do not commit it.
|
|
29
19
|
|
|
30
|
-
|
|
31
|
-
- Officially endorsed by OpenAI: [Codex for OSS](https://developers.openai.com/community/codex-for-oss)
|
|
20
|
+
Radius authentication uses its gateway catalog and caches refreshed model metadata for later offline startup. A custom Radius gateway configured in `models.json` uses its own catalog rather than inheriting the public `radius.pi.dev` catalog.
|
|
32
21
|
|
|
33
|
-
|
|
22
|
+
## Use an API key from the environment
|
|
34
23
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
### GitHub Copilot
|
|
38
|
-
|
|
39
|
-
- Press Enter for github.com, or enter your GitHub Enterprise Server domain
|
|
40
|
-
- If you get "model not supported", enable it in VS Code: Copilot Chat → model selector → select model → "Enable"
|
|
41
|
-
|
|
42
|
-
### xAI (Grok/X subscription)
|
|
43
|
-
|
|
44
|
-
- Run `/login xai`, then select **Use a subscription**
|
|
45
|
-
- `XAI_API_KEY` remains available through **Use an API key**
|
|
46
|
-
|
|
47
|
-
### OpenRouter
|
|
48
|
-
|
|
49
|
-
- Run `/login openrouter`, then select **Sign in with OpenRouter** to open the OpenRouter PKCE authorization flow
|
|
50
|
-
- The authorization creates a user-controlled OpenRouter API key billed from your OpenRouter credits
|
|
51
|
-
- On remote/headless machines (e.g. over SSH) the browser cannot reach the loopback callback; paste the final redirect URL (or the authorization code) into the login prompt instead
|
|
52
|
-
- `OPENROUTER_API_KEY` remains available through **Use an API key**
|
|
53
|
-
|
|
54
|
-
### Radius
|
|
55
|
-
|
|
56
|
-
Radius is a dynamic `pi-messages` gateway. `/login radius` stores OAuth tokens in `auth.json`; the gateway catalog is refreshed independently and cached in `models-store.json`. Custom Radius gateways can be declared in `models.json` with `"oauth": "radius"` and a gateway `baseUrl`.
|
|
57
|
-
|
|
58
|
-
## API Keys
|
|
59
|
-
|
|
60
|
-
### Environment Variables or Auth File
|
|
61
|
-
|
|
62
|
-
Use `/login` in interactive mode and select a provider to store an API key in `auth.json`, or set credentials via environment variable:
|
|
24
|
+
Environment variables are useful in CI and anywhere Pi should not store the key. Set the variable before starting Pi:
|
|
63
25
|
|
|
64
26
|
```bash
|
|
65
27
|
export ANTHROPIC_API_KEY=sk-ant-...
|
|
66
28
|
apex-code
|
|
67
29
|
```
|
|
68
30
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
|
72
|
-
|
|
73
|
-
|
|
|
74
|
-
|
|
|
75
|
-
|
|
|
76
|
-
|
|
|
77
|
-
|
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
|
|
|
83
|
-
|
|
|
84
|
-
|
|
|
85
|
-
|
|
|
86
|
-
|
|
|
87
|
-
| ZAI Coding Plan (
|
|
88
|
-
|
|
|
89
|
-
|
|
|
90
|
-
|
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
|
|
|
96
|
-
|
|
|
97
|
-
| MiniMax
|
|
98
|
-
|
|
|
99
|
-
| Qwen Token Plan
|
|
100
|
-
| Qwen Token Plan (
|
|
101
|
-
|
|
|
102
|
-
| Xiaomi MiMo
|
|
103
|
-
| Xiaomi MiMo Token Plan (
|
|
104
|
-
| Xiaomi MiMo Token Plan (
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
Reference for environment variables and `auth.json` keys: [`const envMap`](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/env-api-keys.ts) in [`packages/ai/src/env-api-keys.ts`](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/env-api-keys.ts).
|
|
108
|
-
|
|
109
|
-
#### Auth File
|
|
31
|
+
This table covers providers with a single primary API-key variable. Providers that need additional configuration or support ambient credentials are covered under [Cloud providers](#cloud-providers).
|
|
32
|
+
|
|
33
|
+
| Provider | Environment variable |
|
|
34
|
+
|---|---|
|
|
35
|
+
| Anthropic | `ANTHROPIC_API_KEY` |
|
|
36
|
+
| Ant Ling | `ANT_LING_API_KEY` |
|
|
37
|
+
| OpenAI | `OPENAI_API_KEY` |
|
|
38
|
+
| DeepSeek | `DEEPSEEK_API_KEY` |
|
|
39
|
+
| NVIDIA NIM | `NVIDIA_API_KEY` |
|
|
40
|
+
| Google Gemini | `GEMINI_API_KEY` |
|
|
41
|
+
| GitHub Copilot | `COPILOT_GITHUB_TOKEN` |
|
|
42
|
+
| Mistral | `MISTRAL_API_KEY` |
|
|
43
|
+
| Groq | `GROQ_API_KEY` |
|
|
44
|
+
| Cerebras | `CEREBRAS_API_KEY` |
|
|
45
|
+
| xAI | `XAI_API_KEY` |
|
|
46
|
+
| OpenRouter | `OPENROUTER_API_KEY` |
|
|
47
|
+
| Vercel AI Gateway | `AI_GATEWAY_API_KEY` |
|
|
48
|
+
| ZAI Coding Plan (Global) | `ZAI_API_KEY` |
|
|
49
|
+
| ZAI Coding Plan (China) | `ZAI_CODING_CN_API_KEY` |
|
|
50
|
+
| OpenCode Zen and Go | `OPENCODE_API_KEY` |
|
|
51
|
+
| Radius | `RADIUS_API_KEY` |
|
|
52
|
+
| Hugging Face | `HF_TOKEN` |
|
|
53
|
+
| Fireworks | `FIREWORKS_API_KEY` |
|
|
54
|
+
| Together AI | `TOGETHER_API_KEY` |
|
|
55
|
+
| Baseten | `BASETEN_API_KEY` |
|
|
56
|
+
| Kimi For Coding | `KIMI_API_KEY` |
|
|
57
|
+
| Meta | `META_API_KEY` |
|
|
58
|
+
| MiniMax | `MINIMAX_API_KEY` |
|
|
59
|
+
| MiniMax (China) | `MINIMAX_CN_API_KEY` |
|
|
60
|
+
| Moonshot AI (Global and China) | `MOONSHOT_API_KEY` |
|
|
61
|
+
| Qwen Token Plan and Individual | `QWEN_TOKEN_PLAN_API_KEY` |
|
|
62
|
+
| Qwen Token Plan (China) | `QWEN_TOKEN_PLAN_CN_API_KEY` |
|
|
63
|
+
| Xiaomi MiMo | `XIAOMI_API_KEY` |
|
|
64
|
+
| Xiaomi MiMo Token Plan (China) | `XIAOMI_TOKEN_PLAN_CN_API_KEY` |
|
|
65
|
+
| Xiaomi MiMo Token Plan (Amsterdam) | `XIAOMI_TOKEN_PLAN_AMS_API_KEY` |
|
|
66
|
+
| Xiaomi MiMo Token Plan (Singapore) | `XIAOMI_TOKEN_PLAN_SGP_API_KEY` |
|
|
67
|
+
|
|
68
|
+
Anthropic also recognizes `ANTHROPIC_OAUTH_TOKEN` as an API credential and `ANTHROPIC_AUTH_TOKEN` as bearer authentication.
|
|
110
69
|
|
|
111
70
|
Store credentials in `~/.apex-code/agent/auth.json`:
|
|
112
71
|
|
|
113
72
|
```json
|
|
114
73
|
{
|
|
115
|
-
"anthropic": {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
"nvidia": { "type": "api_key", "key": "nvapi-..." },
|
|
120
|
-
"google": { "type": "api_key", "key": "..." },
|
|
121
|
-
"opencode": { "type": "api_key", "key": "..." },
|
|
122
|
-
"opencode-go": { "type": "api_key", "key": "..." },
|
|
123
|
-
"together": { "type": "api_key", "key": "..." },
|
|
124
|
-
"qwen-token-plan": { "type": "api_key", "key": "sk-sp-..." },
|
|
125
|
-
"qwen-token-plan-individual": { "type": "api_key", "key": "sk-sp-..." },
|
|
126
|
-
"qwen-token-plan-cn": { "type": "api_key", "key": "sk-sp-..." },
|
|
127
|
-
"xiaomi": { "type": "api_key", "key": "..." },
|
|
128
|
-
"xiaomi-token-plan-cn": { "type": "api_key", "key": "..." },
|
|
129
|
-
"xiaomi-token-plan-ams": { "type": "api_key", "key": "..." },
|
|
130
|
-
"xiaomi-token-plan-sgp": { "type": "api_key", "key": "..." }
|
|
74
|
+
"anthropic": {
|
|
75
|
+
"type": "api_key",
|
|
76
|
+
"key": "!security find-generic-password -ws 'anthropic'"
|
|
77
|
+
}
|
|
131
78
|
}
|
|
132
79
|
```
|
|
133
80
|
|
|
134
|
-
|
|
135
|
-
`qwen-token-plan`, but limits the picker to the models documented for Individual subscriptions. The existing
|
|
136
|
-
provider keeps its broader catalog for backward compatibility. When using `auth.json`, store the
|
|
137
|
-
credential under the provider you select; an environment variable is shared by both international providers.
|
|
81
|
+
Pi runs the command when the key is first needed and caches its standard output for the process lifetime. Empty output, a timeout, or a nonzero exit leaves the key unresolved until Pi restarts.
|
|
138
82
|
|
|
139
|
-
|
|
83
|
+
## Cloud Providers
|
|
84
|
+
|
|
85
|
+
The providers below need additional settings or can use credentials supplied by their cloud platform.
|
|
140
86
|
|
|
141
|
-
API
|
|
87
|
+
A stored API-key credential can include an `env` object. Its values take priority over the process environment for that provider:
|
|
142
88
|
|
|
143
89
|
```json
|
|
144
90
|
{
|
|
145
|
-
"cloudflare-ai
|
|
91
|
+
"cloudflare-workers-ai": {
|
|
146
92
|
"type": "api_key",
|
|
147
|
-
"key": "
|
|
93
|
+
"key": "...",
|
|
148
94
|
"env": {
|
|
149
|
-
"
|
|
150
|
-
"CLOUDFLARE_ACCOUNT_ID": "account-id",
|
|
151
|
-
"CLOUDFLARE_GATEWAY_ID": "gateway-id"
|
|
95
|
+
"CLOUDFLARE_ACCOUNT_ID": "account-id"
|
|
152
96
|
}
|
|
153
97
|
}
|
|
154
98
|
}
|
|
@@ -188,37 +132,37 @@ OAuth credentials are also stored here after `/login` and managed automatically.
|
|
|
188
132
|
|
|
189
133
|
### Azure OpenAI
|
|
190
134
|
|
|
135
|
+
Set an API key plus either a base URL or resource name:
|
|
136
|
+
|
|
191
137
|
```bash
|
|
192
138
|
export AZURE_OPENAI_API_KEY=...
|
|
193
139
|
export AZURE_OPENAI_BASE_URL=https://your-resource.ai.azure.com
|
|
194
|
-
#
|
|
195
|
-
# also supported: https://your-resource.openai.azure.com
|
|
196
|
-
# root endpoints are auto-normalized to /openai/v1
|
|
197
|
-
# or use resource name instead of base URL
|
|
140
|
+
# Or:
|
|
198
141
|
export AZURE_OPENAI_RESOURCE_NAME=your-resource
|
|
199
|
-
|
|
200
|
-
# Optional
|
|
201
|
-
export AZURE_OPENAI_API_VERSION=2024-02-01
|
|
202
|
-
export AZURE_OPENAI_DEPLOYMENT_NAME_MAP=gpt-4=my-gpt4,gpt-4o=my-gpt4o
|
|
203
142
|
```
|
|
204
143
|
|
|
144
|
+
Resource root URLs under `ai.azure.com`, `cognitiveservices.azure.com`, and `openai.azure.com` are normalized to the OpenAI API path.
|
|
145
|
+
|
|
205
146
|
### Amazon Bedrock
|
|
206
147
|
|
|
207
|
-
|
|
148
|
+
Bedrock can use a bearer token or an ambient AWS credential source:
|
|
208
149
|
|
|
209
150
|
```bash
|
|
210
|
-
#
|
|
151
|
+
# Named profile
|
|
211
152
|
export AWS_PROFILE=your-profile
|
|
212
153
|
|
|
213
|
-
#
|
|
154
|
+
# IAM keys
|
|
214
155
|
export AWS_ACCESS_KEY_ID=AKIA...
|
|
215
156
|
export AWS_SECRET_ACCESS_KEY=...
|
|
157
|
+
# Required for temporary credentials
|
|
158
|
+
export AWS_SESSION_TOKEN=...
|
|
216
159
|
|
|
217
|
-
#
|
|
160
|
+
# Bedrock bearer token
|
|
218
161
|
export AWS_BEARER_TOKEN_BEDROCK=...
|
|
219
162
|
|
|
220
|
-
#
|
|
163
|
+
# Region, when not supplied by the profile or AWS SDK configuration
|
|
221
164
|
export AWS_REGION=us-west-2
|
|
165
|
+
# AWS_DEFAULT_REGION is also supported
|
|
222
166
|
```
|
|
223
167
|
|
|
224
168
|
Also supports ECS task roles (`AWS_CONTAINER_CREDENTIALS_*`) and IRSA (`AWS_WEB_IDENTITY_TOKEN_FILE`).
|
|
@@ -249,16 +193,16 @@ export AWS_BEDROCK_FORCE_HTTP1=1
|
|
|
249
193
|
|
|
250
194
|
### Cloudflare AI Gateway
|
|
251
195
|
|
|
252
|
-
|
|
196
|
+
The gateway requires a token, account ID, and gateway ID:
|
|
253
197
|
|
|
254
198
|
```bash
|
|
255
|
-
export CLOUDFLARE_API_KEY=...
|
|
199
|
+
export CLOUDFLARE_API_KEY=...
|
|
256
200
|
export CLOUDFLARE_ACCOUNT_ID=...
|
|
257
201
|
export CLOUDFLARE_GATEWAY_ID=... # create at dash.cloudflare.com → AI → AI Gateway
|
|
258
202
|
apex-code --provider cloudflare-ai-gateway --model "claude-sonnet-4-5"
|
|
259
203
|
```
|
|
260
204
|
|
|
261
|
-
|
|
205
|
+
The account and gateway IDs can come from the process environment or the credential's `env` object in `auth.json`.
|
|
262
206
|
|
|
263
207
|
AI Gateway authentication uses `CLOUDFLARE_API_KEY` as `cf-aig-authorization`. Upstream authentication can be one of:
|
|
264
208
|
|
|
@@ -273,10 +217,10 @@ For normal Apex Code usage, prefer unified billing or stored BYOK. Inline BYOK r
|
|
|
273
217
|
|
|
274
218
|
### Cloudflare Workers AI
|
|
275
219
|
|
|
276
|
-
|
|
220
|
+
Workers AI requires a token and account ID:
|
|
277
221
|
|
|
278
222
|
```bash
|
|
279
|
-
export CLOUDFLARE_API_KEY=...
|
|
223
|
+
export CLOUDFLARE_API_KEY=...
|
|
280
224
|
export CLOUDFLARE_ACCOUNT_ID=...
|
|
281
225
|
apex-code --provider cloudflare-workers-ai --model "@cf/moonshotai/kimi-k2.6"
|
|
282
226
|
```
|
|
@@ -285,17 +229,25 @@ Apex Code automatically sets `x-session-affinity` for [prefix caching](https://d
|
|
|
285
229
|
|
|
286
230
|
### Google Vertex AI
|
|
287
231
|
|
|
288
|
-
|
|
232
|
+
Use a Google Cloud API key:
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
export GOOGLE_CLOUD_API_KEY=...
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
To use Application Default Credentials, configure a project and location:
|
|
289
239
|
|
|
290
240
|
```bash
|
|
291
|
-
gcloud auth application-default login
|
|
292
241
|
export GOOGLE_CLOUD_PROJECT=your-project
|
|
242
|
+
# GCLOUD_PROJECT is also supported
|
|
293
243
|
export GOOGLE_CLOUD_LOCATION=us-central1
|
|
294
244
|
```
|
|
295
245
|
|
|
296
|
-
|
|
246
|
+
Then authenticate:
|
|
297
247
|
|
|
298
|
-
|
|
248
|
+
```bash
|
|
249
|
+
gcloud auth application-default login
|
|
250
|
+
```
|
|
299
251
|
|
|
300
252
|
Apex Code supports the llama.cpp router server. Configure it with `/login llama.cpp`, manage loaded models with `/llama`, and select a loaded model with `/model`.
|
|
301
253
|
|
package/docs/quickstart.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This page gets you from install to a useful first Apex Code session.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
For native Windows setup, read [Windows Setup](windows.md). For Android, read [Termux Setup](termux.md).
|
|
6
6
|
|
|
7
7
|
Apex Code is distributed as an npm package and installs the same way with npm, pnpm,
|
|
8
8
|
Yarn, or Bun — all four resolve it from the same npm registry:
|
|
@@ -56,11 +56,11 @@ cd /path/to/project
|
|
|
56
56
|
apex-code
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
The working folder helps Apex Code discover relevant files, instructions, and configuration. Apex Code also uses it to group saved sessions.
|
|
60
60
|
|
|
61
61
|
Apex Code can use subscription providers through `/login`, or API-key providers through environment variables or the auth file.
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
The interface shows your conversation, an editor for prompts and commands, and a footer with the current folder, model, and session status. See [Use Apex Code in the terminal](usage.md) to learn how to add files, run commands, direct ongoing work, and manage results.
|
|
64
64
|
|
|
65
65
|
Start Apex Code and run:
|
|
66
66
|
|
|
@@ -68,9 +68,9 @@ Start Apex Code and run:
|
|
|
68
68
|
/login
|
|
69
69
|
```
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
Choose a provider, then follow the prompts to use a subscription or store an API key. Run `/model` afterward if you want to select a different available model.
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
See [Choose a model and provider](models.md) for supported providers, environment-variable authentication, local models, and custom endpoints.
|
|
74
74
|
|
|
75
75
|
Set an API key before launching Apex Code:
|
|
76
76
|
|
|
@@ -88,7 +88,7 @@ See [Providers](providers.md) for all supported providers, environment variables
|
|
|
88
88
|
Once Apex Code starts, type a request and press Enter:
|
|
89
89
|
|
|
90
90
|
```text
|
|
91
|
-
Summarize
|
|
91
|
+
Summarize @meeting-notes.md and save the action items to action-items.md.
|
|
92
92
|
```
|
|
93
93
|
|
|
94
94
|
By default, Apex Code gives the model four tools:
|
|
@@ -139,18 +139,18 @@ Images or text can be pasted with Ctrl+V (Alt+V on Windows); images can also be
|
|
|
139
139
|
In interactive mode:
|
|
140
140
|
|
|
141
141
|
```text
|
|
142
|
-
|
|
142
|
+
Explain how this repository is structured and how to run its checks.
|
|
143
143
|
```
|
|
144
144
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
145
|
+
```text
|
|
146
|
+
Compare @previous.csv with @current.csv and summarize the important changes.
|
|
147
|
+
```
|
|
148
148
|
|
|
149
|
-
|
|
149
|
+
Type `@` in the editor to search for a file instead of entering its full path. When Apex Code finishes, review its response and any changed files. Use version control or backups for important work. For untrusted or unattended work, use a container or another sandbox. See [Security](security.md).
|
|
150
150
|
|
|
151
|
-
|
|
151
|
+
## Continue later
|
|
152
152
|
|
|
153
|
-
|
|
153
|
+
Apex Code saves sessions automatically. Exit Apex Code, then resume the most recent session for the same working folder with:
|
|
154
154
|
|
|
155
155
|
```bash
|
|
156
156
|
apex-code -c # Continue most recent session
|
|
@@ -181,4 +181,32 @@ Use `--mode json` for JSON event output or `--mode rpc` for process integration.
|
|
|
181
181
|
- [Keybindings](keybindings.md) - shortcuts and customization.
|
|
182
182
|
- [Apex Code Packages](packages.md) - install shared extensions, skills, prompts, and themes.
|
|
183
183
|
|
|
184
|
-
|
|
184
|
+
### Choose how to customize Apex Code
|
|
185
|
+
|
|
186
|
+
Start with the least powerful mechanism that meets your need:
|
|
187
|
+
|
|
188
|
+
| Need | Start with |
|
|
189
|
+
|---|---|
|
|
190
|
+
| Give Apex Code persistent instructions for a folder | [`AGENTS.md`](configuration.md#context-files) |
|
|
191
|
+
| Reuse a prompt from the `/` menu | [Prompt template](prompt-templates.md) |
|
|
192
|
+
| Add task-specific instructions and supporting files | [Skill](skills.md) |
|
|
193
|
+
| Add executable tools, commands, or event handlers | [Extension](extensions.md) |
|
|
194
|
+
| Build a custom terminal component | [Terminal UI](tui.md) |
|
|
195
|
+
| Connect an unsupported model service | [Custom provider](custom-provider.md) |
|
|
196
|
+
| Install or distribute several resources | [Apex Code package](packages.md) |
|
|
197
|
+
|
|
198
|
+
## Update or uninstall Apex Code
|
|
199
|
+
|
|
200
|
+
Update Apex Code with your package manager:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
npm install --global apex-code
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
To uninstall an npm installation, run:
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
npm uninstall --global apex-code
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Uninstalling leaves configuration, credentials, sessions, and installed packages in `~/.apex-code/agent/`.
|