@travisennis/acai 0.0.6 → 0.0.8
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/README.md +225 -39
- package/dist/agent/index.d.ts +30 -21
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +237 -198
- package/dist/cli.d.ts +4 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +56 -18
- package/dist/commands/add-directory/index.d.ts +3 -0
- package/dist/commands/add-directory/index.d.ts.map +1 -0
- package/dist/commands/add-directory/index.js +50 -0
- package/dist/commands/add-directory/types.d.ts +6 -0
- package/dist/commands/add-directory/types.d.ts.map +1 -0
- package/dist/commands/add-directory/utils.d.ts +3 -0
- package/dist/commands/add-directory/utils.d.ts.map +1 -0
- package/dist/commands/add-directory/utils.js +15 -0
- package/dist/commands/clear/index.d.ts +3 -0
- package/dist/commands/clear/index.d.ts.map +1 -0
- package/dist/commands/{clear-command.js → clear/index.js} +1 -7
- package/dist/commands/copy/index.d.ts +3 -0
- package/dist/commands/copy/index.d.ts.map +1 -0
- package/dist/commands/copy/index.js +39 -0
- package/dist/commands/copy/types.d.ts +3 -0
- package/dist/commands/copy/types.d.ts.map +1 -0
- package/dist/commands/copy/types.js +1 -0
- package/dist/commands/copy/utils.d.ts +3 -0
- package/dist/commands/copy/utils.d.ts.map +1 -0
- package/dist/commands/copy/utils.js +22 -0
- package/dist/commands/exit/index.d.ts +10 -0
- package/dist/commands/exit/index.d.ts.map +1 -0
- package/dist/commands/exit/index.js +21 -0
- package/dist/commands/exit/types.d.ts +8 -0
- package/dist/commands/exit/types.d.ts.map +1 -0
- package/dist/commands/exit/types.js +1 -0
- package/dist/commands/exit/utils.d.ts +2 -0
- package/dist/commands/exit/utils.d.ts.map +1 -0
- package/dist/commands/exit/utils.js +13 -0
- package/dist/commands/generate-rules/index.d.ts +3 -0
- package/dist/commands/generate-rules/index.d.ts.map +1 -0
- package/dist/commands/{generate-rules-command.js → generate-rules/index.js} +65 -147
- package/dist/commands/generate-rules/utils.d.ts +5 -0
- package/dist/commands/generate-rules/utils.d.ts.map +1 -0
- package/dist/commands/generate-rules/utils.js +25 -0
- package/dist/commands/handoff/index.d.ts +3 -0
- package/dist/commands/handoff/index.d.ts.map +1 -0
- package/dist/commands/handoff/index.js +97 -0
- package/dist/commands/handoff/utils.d.ts +4 -0
- package/dist/commands/handoff/utils.d.ts.map +1 -0
- package/dist/commands/handoff/utils.js +123 -0
- package/dist/commands/health/index.d.ts +3 -0
- package/dist/commands/health/index.d.ts.map +1 -0
- package/dist/commands/health/index.js +56 -0
- package/dist/commands/health/utils.d.ts +15 -0
- package/dist/commands/health/utils.d.ts.map +1 -0
- package/dist/commands/health/utils.js +52 -0
- package/dist/commands/help/index.d.ts +3 -0
- package/dist/commands/help/index.d.ts.map +1 -0
- package/dist/commands/{help-command.js → help/index.js} +6 -14
- package/dist/commands/history/index.d.ts +3 -0
- package/dist/commands/history/index.d.ts.map +1 -0
- package/dist/commands/{history-command.js → history/index.js} +40 -200
- package/dist/commands/history/types.d.ts +11 -0
- package/dist/commands/history/types.d.ts.map +1 -0
- package/dist/commands/history/types.js +1 -0
- package/dist/commands/history/utils.d.ts +4 -0
- package/dist/commands/history/utils.d.ts.map +1 -0
- package/dist/commands/history/utils.js +86 -0
- package/dist/commands/init/index.d.ts +3 -0
- package/dist/commands/init/index.d.ts.map +1 -0
- package/dist/commands/{init-command.js → init/index.js} +17 -27
- package/dist/commands/init-project/index.d.ts +3 -0
- package/dist/commands/init-project/index.d.ts.map +1 -0
- package/dist/commands/init-project/index.js +51 -0
- package/dist/commands/init-project/utils.d.ts +9 -0
- package/dist/commands/init-project/utils.d.ts.map +1 -0
- package/dist/commands/init-project/utils.js +43 -0
- package/dist/commands/list-directories/index.d.ts +3 -0
- package/dist/commands/list-directories/index.d.ts.map +1 -0
- package/dist/commands/{list-directories-command.js → list-directories/index.js} +2 -15
- package/dist/commands/list-tools/index.d.ts +3 -0
- package/dist/commands/list-tools/index.d.ts.map +1 -0
- package/dist/commands/list-tools/index.js +89 -0
- package/dist/commands/manager.d.ts +2 -9
- package/dist/commands/manager.d.ts.map +1 -1
- package/dist/commands/manager.js +38 -83
- package/dist/commands/model/index.d.ts +3 -0
- package/dist/commands/model/index.d.ts.map +1 -0
- package/dist/commands/model/index.js +182 -0
- package/dist/commands/model/utils.d.ts +3 -0
- package/dist/commands/model/utils.d.ts.map +1 -0
- package/dist/commands/model/utils.js +5 -0
- package/dist/commands/paste/index.d.ts +3 -0
- package/dist/commands/paste/index.d.ts.map +1 -0
- package/dist/commands/paste/index.js +94 -0
- package/dist/commands/paste/utils.d.ts +5 -0
- package/dist/commands/paste/utils.d.ts.map +1 -0
- package/dist/commands/paste/utils.js +86 -0
- package/dist/commands/pickup/index.d.ts +3 -0
- package/dist/commands/pickup/index.d.ts.map +1 -0
- package/dist/commands/pickup/index.js +138 -0
- package/dist/commands/pickup/types.d.ts +6 -0
- package/dist/commands/pickup/types.d.ts.map +1 -0
- package/dist/commands/pickup/types.js +1 -0
- package/dist/commands/pickup/utils.d.ts +7 -0
- package/dist/commands/pickup/utils.d.ts.map +1 -0
- package/dist/commands/pickup/utils.js +56 -0
- package/dist/commands/prompt/index.d.ts +5 -0
- package/dist/commands/prompt/index.d.ts.map +1 -0
- package/dist/commands/prompt/index.js +126 -0
- package/dist/commands/prompt/types.d.ts +15 -0
- package/dist/commands/prompt/types.d.ts.map +1 -0
- package/dist/commands/prompt/types.js +1 -0
- package/dist/commands/prompt/utils.d.ts +12 -0
- package/dist/commands/prompt/utils.d.ts.map +1 -0
- package/dist/commands/prompt/utils.js +107 -0
- package/dist/commands/remove-directory/index.d.ts +3 -0
- package/dist/commands/remove-directory/index.d.ts.map +1 -0
- package/dist/commands/{remove-directory-command.js → remove-directory/index.js} +3 -35
- package/dist/commands/reset/index.d.ts +3 -0
- package/dist/commands/reset/index.d.ts.map +1 -0
- package/dist/commands/{reset-command.js → reset/index.js} +8 -11
- package/dist/commands/reset/types.d.ts +1 -0
- package/dist/commands/reset/types.d.ts.map +1 -0
- package/dist/commands/reset/types.js +3 -0
- package/dist/commands/resources/index.d.ts +3 -0
- package/dist/commands/resources/index.d.ts.map +1 -0
- package/dist/commands/resources/index.js +84 -0
- package/dist/commands/review/index.d.ts +3 -0
- package/dist/commands/review/index.d.ts.map +1 -0
- package/dist/commands/review/index.js +126 -0
- package/dist/commands/review/types.d.ts +12 -0
- package/dist/commands/review/types.d.ts.map +1 -0
- package/dist/commands/review/types.js +1 -0
- package/dist/commands/review/utils.d.ts +4 -0
- package/dist/commands/review/utils.d.ts.map +1 -0
- package/dist/commands/review/utils.js +87 -0
- package/dist/commands/save/index.d.ts +3 -0
- package/dist/commands/save/index.d.ts.map +1 -0
- package/dist/commands/{save-command.js → save/index.js} +3 -10
- package/dist/commands/session/index.d.ts +3 -0
- package/dist/commands/session/index.d.ts.map +1 -0
- package/dist/commands/session/index.js +197 -0
- package/dist/commands/session/types.d.ts +13 -0
- package/dist/commands/session/types.d.ts.map +1 -0
- package/dist/commands/session/types.js +7 -0
- package/dist/commands/shell/index.d.ts +3 -0
- package/dist/commands/shell/index.d.ts.map +1 -0
- package/dist/commands/{shell-command.js → shell/index.js} +4 -51
- package/dist/commands/types.d.ts +2 -5
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/config.d.ts +36 -7
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +118 -60
- package/dist/dedent.d.ts.map +1 -1
- package/dist/dedent.js +7 -7
- package/dist/execution/index.d.ts +18 -2
- package/dist/execution/index.d.ts.map +1 -1
- package/dist/execution/index.js +119 -81
- package/dist/formatting.d.ts +46 -0
- package/dist/formatting.d.ts.map +1 -1
- package/dist/formatting.js +94 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +299 -177
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +4 -11
- package/dist/mentions.d.ts.map +1 -1
- package/dist/mentions.js +3 -53
- package/dist/middleware/audit-message.d.ts +2 -2
- package/dist/middleware/audit-message.d.ts.map +1 -1
- package/dist/middleware/audit-message.js +40 -2
- package/dist/middleware/cache.d.ts +2 -2
- package/dist/middleware/cache.d.ts.map +1 -1
- package/dist/middleware/cache.js +111 -27
- package/dist/middleware/rate-limit.d.ts +2 -2
- package/dist/middleware/rate-limit.d.ts.map +1 -1
- package/dist/middleware/rate-limit.js +1 -0
- package/dist/models/ai-config.d.ts.map +1 -1
- package/dist/models/ai-config.js +46 -29
- package/dist/models/anthropic-provider.d.ts +14 -13
- package/dist/models/anthropic-provider.d.ts.map +1 -1
- package/dist/models/anthropic-provider.js +0 -7
- package/dist/models/deepseek-provider.d.ts +9 -8
- package/dist/models/deepseek-provider.d.ts.map +1 -1
- package/dist/models/deepseek-provider.js +0 -2
- package/dist/models/google-provider.d.ts +10 -9
- package/dist/models/google-provider.d.ts.map +1 -1
- package/dist/models/google-provider.js +0 -3
- package/dist/models/groq-provider.d.ts +8 -7
- package/dist/models/groq-provider.d.ts.map +1 -1
- package/dist/models/groq-provider.js +0 -1
- package/dist/models/manager.d.ts +7 -4
- package/dist/models/manager.d.ts.map +1 -1
- package/dist/models/manager.js +5 -25
- package/dist/models/openai-provider.d.ts +11 -10
- package/dist/models/openai-provider.d.ts.map +1 -1
- package/dist/models/openai-provider.js +0 -4
- package/dist/models/opencode-zen-provider.d.ts +23 -0
- package/dist/models/opencode-zen-provider.d.ts.map +1 -0
- package/dist/models/opencode-zen-provider.js +76 -0
- package/dist/models/openrouter-provider.d.ts +34 -28
- package/dist/models/openrouter-provider.d.ts.map +1 -1
- package/dist/models/openrouter-provider.js +148 -139
- package/dist/models/providers.d.ts +6 -16
- package/dist/models/providers.d.ts.map +1 -1
- package/dist/models/providers.js +8 -58
- package/dist/models/xai-provider.d.ts +9 -8
- package/dist/models/xai-provider.d.ts.map +1 -1
- package/dist/models/xai-provider.js +0 -2
- package/dist/prompts/manager.d.ts +1 -1
- package/dist/prompts/manager.d.ts.map +1 -1
- package/dist/prompts/manager.js +1 -1
- package/dist/prompts.d.ts +8 -4
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +155 -177
- package/dist/repl/project-status.d.ts +19 -0
- package/dist/repl/project-status.d.ts.map +1 -0
- package/dist/repl/project-status.js +78 -0
- package/dist/repl-new.d.ts +15 -6
- package/dist/repl-new.d.ts.map +1 -1
- package/dist/repl-new.js +266 -83
- package/dist/{messages.d.ts → sessions/manager.d.ts} +13 -4
- package/dist/sessions/manager.d.ts.map +1 -0
- package/dist/{messages.js → sessions/manager.js} +126 -16
- package/dist/skills.d.ts +16 -0
- package/dist/skills.d.ts.map +1 -0
- package/dist/skills.js +233 -0
- package/dist/terminal/control.d.ts +56 -0
- package/dist/terminal/control.d.ts.map +1 -0
- package/dist/terminal/control.js +111 -0
- package/dist/terminal/default-theme.d.ts +1 -1
- package/dist/terminal/default-theme.d.ts.map +1 -1
- package/dist/terminal/default-theme.js +24 -28
- package/dist/terminal/formatting.d.ts +23 -26
- package/dist/terminal/formatting.d.ts.map +1 -1
- package/dist/terminal/formatting.js +35 -53
- package/dist/terminal/highlight/index.d.ts.map +1 -1
- package/dist/terminal/highlight/index.js +3 -6
- package/dist/terminal/highlight/theme.d.ts.map +1 -1
- package/dist/terminal/highlight/theme.js +2 -6
- package/dist/terminal/index.d.ts +2 -101
- package/dist/terminal/index.d.ts.map +1 -1
- package/dist/terminal/index.js +2 -464
- package/dist/terminal/keys.d.ts +211 -0
- package/dist/terminal/keys.d.ts.map +1 -0
- package/dist/terminal/keys.js +546 -0
- package/dist/terminal/segmenter.d.ts +6 -0
- package/dist/terminal/segmenter.d.ts.map +1 -0
- package/dist/terminal/segmenter.js +11 -0
- package/dist/terminal/select-prompt.d.ts.map +1 -1
- package/dist/terminal/select-prompt.js +9 -21
- package/dist/terminal/string-width.d.ts.map +1 -1
- package/dist/terminal/string-width.js +40 -21
- package/dist/terminal/strip-ansi.d.ts.map +1 -1
- package/dist/terminal/strip-ansi.js +9 -15
- package/dist/terminal/table/cell.d.ts +114 -0
- package/dist/terminal/table/cell.d.ts.map +1 -0
- package/dist/terminal/table/cell.js +407 -0
- package/dist/terminal/table/debug.d.ts +15 -0
- package/dist/terminal/table/debug.d.ts.map +1 -0
- package/dist/terminal/table/debug.js +32 -0
- package/dist/terminal/table/index.d.ts +3 -0
- package/dist/terminal/table/index.d.ts.map +1 -0
- package/dist/terminal/table/index.js +2 -0
- package/dist/terminal/table/layout-manager.d.ts +27 -0
- package/dist/terminal/table/layout-manager.d.ts.map +1 -0
- package/dist/terminal/table/layout-manager.js +257 -0
- package/dist/terminal/table/table.d.ts +9 -0
- package/dist/terminal/table/table.d.ts.map +1 -0
- package/dist/terminal/table/table.js +97 -0
- package/dist/terminal/table/utils.d.ts +63 -0
- package/dist/terminal/table/utils.d.ts.map +1 -0
- package/dist/terminal/table/utils.js +326 -0
- package/dist/tokens/tracker.d.ts.map +1 -1
- package/dist/tokens/tracker.js +58 -16
- package/dist/tools/bash.d.ts +11 -11
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +189 -81
- package/dist/tools/directory-tree.d.ts +9 -13
- package/dist/tools/directory-tree.d.ts.map +1 -1
- package/dist/tools/directory-tree.js +90 -60
- package/dist/tools/dynamic-tool-loader.d.ts +22 -8
- package/dist/tools/dynamic-tool-loader.d.ts.map +1 -1
- package/dist/tools/dynamic-tool-loader.js +41 -46
- package/dist/tools/edit-file.d.ts +6 -16
- package/dist/tools/edit-file.d.ts.map +1 -1
- package/dist/tools/edit-file.js +22 -66
- package/dist/tools/glob.d.ts +15 -16
- package/dist/tools/glob.d.ts.map +1 -1
- package/dist/tools/glob.js +78 -109
- package/dist/tools/grep.d.ts +19 -22
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +61 -93
- package/dist/tools/index.d.ts +202 -167
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +17 -273
- package/dist/tools/ls.d.ts +26 -0
- package/dist/tools/ls.d.ts.map +1 -0
- package/dist/tools/ls.js +80 -0
- package/dist/tools/read-file.d.ts +15 -15
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +52 -76
- package/dist/tools/save-file.d.ts +8 -8
- package/dist/tools/save-file.d.ts.map +1 -1
- package/dist/tools/save-file.js +42 -53
- package/dist/tools/think.d.ts +4 -4
- package/dist/tools/think.d.ts.map +1 -1
- package/dist/tools/think.js +9 -32
- package/dist/tools/types.d.ts +5 -21
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +0 -9
- package/dist/tui/autocomplete/attachment-provider.d.ts +18 -0
- package/dist/tui/autocomplete/attachment-provider.d.ts.map +1 -0
- package/dist/tui/autocomplete/attachment-provider.js +159 -0
- package/dist/tui/autocomplete/base-provider.d.ts +17 -0
- package/dist/tui/autocomplete/base-provider.d.ts.map +1 -0
- package/dist/tui/autocomplete/base-provider.js +1 -0
- package/dist/tui/autocomplete/combined-provider.d.ts +20 -0
- package/dist/tui/autocomplete/combined-provider.d.ts.map +1 -0
- package/dist/tui/autocomplete/combined-provider.js +61 -0
- package/dist/tui/autocomplete/command-provider.d.ts +20 -0
- package/dist/tui/autocomplete/command-provider.d.ts.map +1 -0
- package/dist/tui/autocomplete/command-provider.js +90 -0
- package/dist/tui/autocomplete/file-search-provider.d.ts +16 -0
- package/dist/tui/autocomplete/file-search-provider.d.ts.map +1 -0
- package/dist/tui/autocomplete/file-search-provider.js +123 -0
- package/dist/tui/autocomplete/path-provider.d.ts +21 -0
- package/dist/tui/autocomplete/path-provider.d.ts.map +1 -0
- package/dist/tui/autocomplete/path-provider.js +164 -0
- package/dist/tui/autocomplete/utils.d.ts +16 -0
- package/dist/tui/autocomplete/utils.d.ts.map +1 -0
- package/dist/tui/autocomplete/utils.js +137 -0
- package/dist/tui/autocomplete.d.ts +12 -43
- package/dist/tui/autocomplete.d.ts.map +1 -1
- package/dist/tui/autocomplete.js +20 -465
- package/dist/tui/components/assistant-message.js +1 -1
- package/dist/tui/components/box.d.ts +20 -0
- package/dist/tui/components/box.d.ts.map +1 -0
- package/dist/tui/components/box.js +87 -0
- package/dist/tui/components/editor.d.ts +61 -7
- package/dist/tui/components/editor.d.ts.map +1 -1
- package/dist/tui/components/editor.js +630 -127
- package/dist/tui/components/footer.d.ts +19 -18
- package/dist/tui/components/footer.d.ts.map +1 -1
- package/dist/tui/components/footer.js +90 -185
- package/dist/tui/components/header.d.ts +21 -0
- package/dist/tui/components/header.d.ts.map +1 -0
- package/dist/tui/components/header.js +63 -0
- package/dist/tui/components/input.d.ts.map +1 -1
- package/dist/tui/components/input.js +8 -7
- package/dist/tui/components/loader.d.ts +6 -1
- package/dist/tui/components/loader.d.ts.map +1 -1
- package/dist/tui/components/loader.js +8 -3
- package/dist/tui/components/markdown.d.ts +31 -27
- package/dist/tui/components/markdown.d.ts.map +1 -1
- package/dist/tui/components/markdown.js +131 -67
- package/dist/tui/components/modal.d.ts +0 -11
- package/dist/tui/components/modal.d.ts.map +1 -1
- package/dist/tui/components/modal.js +9 -37
- package/dist/tui/components/notification.d.ts +28 -0
- package/dist/tui/components/notification.d.ts.map +1 -0
- package/dist/tui/components/notification.js +63 -0
- package/dist/tui/components/progress-bar.d.ts +19 -0
- package/dist/tui/components/progress-bar.d.ts.map +1 -0
- package/dist/tui/components/progress-bar.js +66 -0
- package/dist/tui/components/select-list.d.ts +12 -1
- package/dist/tui/components/select-list.d.ts.map +1 -1
- package/dist/tui/components/select-list.js +73 -32
- package/dist/tui/components/spacer.d.ts +1 -1
- package/dist/tui/components/spacer.d.ts.map +1 -1
- package/dist/tui/components/spacer.js +2 -2
- package/dist/tui/components/table.d.ts +27 -0
- package/dist/tui/components/table.d.ts.map +1 -0
- package/dist/tui/components/table.js +125 -0
- package/dist/tui/components/thinking-block.d.ts.map +1 -1
- package/dist/tui/components/thinking-block.js +4 -1
- package/dist/tui/components/tool-execution.d.ts +7 -6
- package/dist/tui/components/tool-execution.d.ts.map +1 -1
- package/dist/tui/components/tool-execution.js +81 -85
- package/dist/tui/components/user-message.d.ts.map +1 -1
- package/dist/tui/components/user-message.js +6 -4
- package/dist/tui/components/welcome.d.ts +8 -1
- package/dist/tui/components/welcome.d.ts.map +1 -1
- package/dist/tui/components/welcome.js +45 -6
- package/dist/tui/index.d.ts +12 -6
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +7 -3
- package/dist/tui/terminal.d.ts +4 -3
- package/dist/tui/terminal.d.ts.map +1 -1
- package/dist/tui/terminal.js +43 -49
- package/dist/tui/tui.d.ts +3 -0
- package/dist/tui/tui.d.ts.map +1 -1
- package/dist/tui/tui.js +58 -43
- package/dist/tui/utils.d.ts +5 -0
- package/dist/tui/utils.d.ts.map +1 -1
- package/dist/tui/utils.js +80 -1
- package/dist/{tools/bash-utils.d.ts → utils/bash.d.ts} +3 -3
- package/dist/utils/bash.d.ts.map +1 -0
- package/dist/{tools/bash-utils.js → utils/bash.js} +22 -11
- package/dist/utils/{filesystem.d.ts → filesystem/operations.d.ts} +1 -1
- package/dist/utils/filesystem/operations.d.ts.map +1 -0
- package/dist/{tools/filesystem-utils.d.ts → utils/filesystem/security.d.ts} +3 -2
- package/dist/utils/filesystem/security.d.ts.map +1 -0
- package/dist/{tools/filesystem-utils.js → utils/filesystem/security.js} +62 -4
- package/dist/utils/funcs.d.ts +6 -0
- package/dist/utils/funcs.d.ts.map +1 -0
- package/dist/utils/funcs.js +6 -0
- package/dist/{tools/git-utils.d.ts → utils/git.d.ts} +1 -1
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/{tools/git-utils.js → utils/git.js} +0 -6
- package/dist/utils/glob.js +1 -1
- package/dist/utils/yaml.d.ts +11 -0
- package/dist/utils/yaml.d.ts.map +1 -0
- package/dist/utils/yaml.js +207 -0
- package/dist/utils/{zod-utils.d.ts → zod.d.ts} +2 -1
- package/dist/utils/zod.d.ts.map +1 -0
- package/dist/utils/zod.js +24 -0
- package/package.json +31 -29
- package/dist/agent/manual-loop.d.ts +0 -41
- package/dist/agent/manual-loop.d.ts.map +0 -1
- package/dist/agent/manual-loop.js +0 -278
- package/dist/api/exa/index.d.ts +0 -177
- package/dist/api/exa/index.d.ts.map +0 -1
- package/dist/api/exa/index.js +0 -439
- package/dist/commands/add-directory-command.d.ts +0 -3
- package/dist/commands/add-directory-command.d.ts.map +0 -1
- package/dist/commands/add-directory-command.js +0 -85
- package/dist/commands/application-log-command.d.ts +0 -3
- package/dist/commands/application-log-command.d.ts.map +0 -1
- package/dist/commands/application-log-command.js +0 -79
- package/dist/commands/clear-command.d.ts +0 -3
- package/dist/commands/clear-command.d.ts.map +0 -1
- package/dist/commands/compact-command.d.ts +0 -3
- package/dist/commands/compact-command.d.ts.map +0 -1
- package/dist/commands/compact-command.js +0 -64
- package/dist/commands/context-command.d.ts +0 -3
- package/dist/commands/context-command.d.ts.map +0 -1
- package/dist/commands/context-command.js +0 -183
- package/dist/commands/copy-command.d.ts +0 -3
- package/dist/commands/copy-command.d.ts.map +0 -1
- package/dist/commands/copy-command.js +0 -80
- package/dist/commands/edit-command.d.ts +0 -3
- package/dist/commands/edit-command.d.ts.map +0 -1
- package/dist/commands/edit-command.js +0 -88
- package/dist/commands/edit-prompt-command.d.ts +0 -3
- package/dist/commands/edit-prompt-command.d.ts.map +0 -1
- package/dist/commands/edit-prompt-command.js +0 -61
- package/dist/commands/exit-command.d.ts +0 -13
- package/dist/commands/exit-command.d.ts.map +0 -1
- package/dist/commands/exit-command.js +0 -46
- package/dist/commands/files-command.d.ts +0 -3
- package/dist/commands/files-command.d.ts.map +0 -1
- package/dist/commands/files-command.js +0 -121
- package/dist/commands/generate-rules-command.d.ts +0 -3
- package/dist/commands/generate-rules-command.d.ts.map +0 -1
- package/dist/commands/handoff-command.d.ts +0 -3
- package/dist/commands/handoff-command.d.ts.map +0 -1
- package/dist/commands/handoff-command.js +0 -202
- package/dist/commands/health-command.d.ts +0 -4
- package/dist/commands/health-command.d.ts.map +0 -1
- package/dist/commands/health-command.js +0 -213
- package/dist/commands/help-command.d.ts +0 -3
- package/dist/commands/help-command.d.ts.map +0 -1
- package/dist/commands/history-command.d.ts +0 -3
- package/dist/commands/history-command.d.ts.map +0 -1
- package/dist/commands/init-command.d.ts +0 -3
- package/dist/commands/init-command.d.ts.map +0 -1
- package/dist/commands/last-log-command.d.ts +0 -3
- package/dist/commands/last-log-command.d.ts.map +0 -1
- package/dist/commands/last-log-command.js +0 -98
- package/dist/commands/list-directories-command.d.ts +0 -3
- package/dist/commands/list-directories-command.d.ts.map +0 -1
- package/dist/commands/list-tools-command.d.ts +0 -3
- package/dist/commands/list-tools-command.d.ts.map +0 -1
- package/dist/commands/list-tools-command.js +0 -124
- package/dist/commands/model-command.d.ts +0 -25
- package/dist/commands/model-command.d.ts.map +0 -1
- package/dist/commands/model-command.js +0 -340
- package/dist/commands/paste-command.d.ts +0 -3
- package/dist/commands/paste-command.d.ts.map +0 -1
- package/dist/commands/paste-command.js +0 -277
- package/dist/commands/pickup-command.d.ts +0 -3
- package/dist/commands/pickup-command.d.ts.map +0 -1
- package/dist/commands/pickup-command.js +0 -161
- package/dist/commands/prompt-command.d.ts +0 -3
- package/dist/commands/prompt-command.d.ts.map +0 -1
- package/dist/commands/prompt-command.js +0 -280
- package/dist/commands/remove-directory-command.d.ts +0 -3
- package/dist/commands/remove-directory-command.d.ts.map +0 -1
- package/dist/commands/reset-command.d.ts +0 -3
- package/dist/commands/reset-command.d.ts.map +0 -1
- package/dist/commands/rules-command.d.ts +0 -3
- package/dist/commands/rules-command.d.ts.map +0 -1
- package/dist/commands/rules-command.js +0 -135
- package/dist/commands/save-command.d.ts +0 -3
- package/dist/commands/save-command.d.ts.map +0 -1
- package/dist/commands/shell-command.d.ts +0 -3
- package/dist/commands/shell-command.d.ts.map +0 -1
- package/dist/commands/usage-command.d.ts +0 -3
- package/dist/commands/usage-command.d.ts.map +0 -1
- package/dist/commands/usage-command.js +0 -42
- package/dist/messages.d.ts.map +0 -1
- package/dist/repl/display-tool-messages.d.ts +0 -4
- package/dist/repl/display-tool-messages.d.ts.map +0 -1
- package/dist/repl/display-tool-messages.js +0 -58
- package/dist/repl/display-tool-use.d.ts +0 -14
- package/dist/repl/display-tool-use.d.ts.map +0 -1
- package/dist/repl/display-tool-use.js +0 -63
- package/dist/repl/get-prompt-header.d.ts +0 -8
- package/dist/repl/get-prompt-header.d.ts.map +0 -1
- package/dist/repl/get-prompt-header.js +0 -9
- package/dist/repl/project-status-line.d.ts +0 -2
- package/dist/repl/project-status-line.d.ts.map +0 -1
- package/dist/repl/project-status-line.js +0 -31
- package/dist/repl/prompt.d.ts +0 -21
- package/dist/repl/prompt.d.ts.map +0 -1
- package/dist/repl/prompt.js +0 -244
- package/dist/repl/tool-call-repair.d.ts +0 -4
- package/dist/repl/tool-call-repair.d.ts.map +0 -1
- package/dist/repl/tool-call-repair.js +0 -54
- package/dist/repl.d.ts +0 -29
- package/dist/repl.d.ts.map +0 -1
- package/dist/repl.js +0 -218
- package/dist/terminal/checkbox-prompt.d.ts +0 -36
- package/dist/terminal/checkbox-prompt.d.ts.map +0 -1
- package/dist/terminal/checkbox-prompt.js +0 -368
- package/dist/terminal/editor-prompt.d.ts +0 -10
- package/dist/terminal/editor-prompt.d.ts.map +0 -1
- package/dist/terminal/editor-prompt.js +0 -61
- package/dist/terminal/errors.d.ts +0 -19
- package/dist/terminal/errors.d.ts.map +0 -1
- package/dist/terminal/errors.js +0 -37
- package/dist/terminal/input-prompt.d.ts +0 -17
- package/dist/terminal/input-prompt.d.ts.map +0 -1
- package/dist/terminal/input-prompt.js +0 -181
- package/dist/terminal/markdown.d.ts +0 -2
- package/dist/terminal/markdown.d.ts.map +0 -1
- package/dist/terminal/markdown.js +0 -118
- package/dist/terminal/search-prompt.d.ts +0 -20
- package/dist/terminal/search-prompt.d.ts.map +0 -1
- package/dist/terminal/search-prompt.js +0 -280
- package/dist/terminal/types.d.ts +0 -35
- package/dist/terminal/types.d.ts.map +0 -1
- package/dist/tokens/threshold.d.ts +0 -35
- package/dist/tokens/threshold.d.ts.map +0 -1
- package/dist/tokens/threshold.js +0 -85
- package/dist/tools/advanced-edit-file.d.ts +0 -69
- package/dist/tools/advanced-edit-file.d.ts.map +0 -1
- package/dist/tools/advanced-edit-file.js +0 -281
- package/dist/tools/agent.d.ts +0 -29
- package/dist/tools/agent.d.ts.map +0 -1
- package/dist/tools/agent.js +0 -103
- package/dist/tools/bash-utils.d.ts.map +0 -1
- package/dist/tools/code-interpreter.d.ts +0 -25
- package/dist/tools/code-interpreter.d.ts.map +0 -1
- package/dist/tools/code-interpreter.js +0 -167
- package/dist/tools/delete-file.d.ts +0 -24
- package/dist/tools/delete-file.d.ts.map +0 -1
- package/dist/tools/delete-file.js +0 -70
- package/dist/tools/dynamic-tool-parser.d.ts +0 -21
- package/dist/tools/dynamic-tool-parser.d.ts.map +0 -1
- package/dist/tools/dynamic-tool-parser.js +0 -22
- package/dist/tools/filesystem-utils.d.ts.map +0 -1
- package/dist/tools/git-utils.d.ts.map +0 -1
- package/dist/tools/llm-edit-fixer.d.ts +0 -25
- package/dist/tools/llm-edit-fixer.d.ts.map +0 -1
- package/dist/tools/llm-edit-fixer.js +0 -150
- package/dist/tools/move-file.d.ts +0 -26
- package/dist/tools/move-file.d.ts.map +0 -1
- package/dist/tools/move-file.js +0 -58
- package/dist/tools/read-multiple-files.d.ts +0 -26
- package/dist/tools/read-multiple-files.d.ts.map +0 -1
- package/dist/tools/read-multiple-files.js +0 -139
- package/dist/tools/web-fetch.d.ts +0 -56
- package/dist/tools/web-fetch.d.ts.map +0 -1
- package/dist/tools/web-fetch.js +0 -247
- package/dist/tools/web-search.d.ts +0 -23
- package/dist/tools/web-search.d.ts.map +0 -1
- package/dist/tools/web-search.js +0 -133
- package/dist/tui/components/prompt-status.d.ts +0 -16
- package/dist/tui/components/prompt-status.d.ts.map +0 -1
- package/dist/tui/components/prompt-status.js +0 -21
- package/dist/utils/filesystem.d.ts.map +0 -1
- package/dist/utils/zod-utils.d.ts.map +0 -1
- package/dist/utils/zod-utils.js +0 -7
- /package/dist/{terminal → commands/add-directory}/types.js +0 -0
- /package/dist/utils/{filesystem.js → filesystem/operations.js} +0 -0
package/dist/mentions.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import fs from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import { isString } from "@travisennis/stdlib/typeguards";
|
|
4
3
|
import { initExecutionEnvironment } from "./execution/index.js";
|
|
5
|
-
import { formatFile
|
|
6
|
-
import { readUrl } from "./tools/web-fetch.js";
|
|
4
|
+
import { formatFile } from "./formatting.js";
|
|
7
5
|
class ShellCommandError extends Error {
|
|
8
6
|
command;
|
|
9
7
|
exitCode;
|
|
@@ -115,35 +113,11 @@ async function processShellCommand(command) {
|
|
|
115
113
|
}
|
|
116
114
|
}
|
|
117
115
|
// Returns the formatted string or an error message string
|
|
118
|
-
async function processUrlCommand(context) {
|
|
119
|
-
const { match } = context;
|
|
120
|
-
const urlPath = match;
|
|
121
|
-
try {
|
|
122
|
-
return Object.assign(await readUrl(urlPath), { source: urlPath });
|
|
123
|
-
}
|
|
124
|
-
catch (error) {
|
|
125
|
-
if (error instanceof Error) {
|
|
126
|
-
return {
|
|
127
|
-
contentType: "text/plain",
|
|
128
|
-
data: `Url: ${urlPath} Status: Error fetching URL: ${error.message}`,
|
|
129
|
-
source: urlPath,
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
// Fallback for unknown error types
|
|
133
|
-
return {
|
|
134
|
-
contentType: "text/plain",
|
|
135
|
-
data: `Url: ${urlPath} Status: Error fetching URL: An unknown error occurred.`,
|
|
136
|
-
source: urlPath,
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
116
|
export async function processPrompt(message, { baseDir, model, pasteStore, }) {
|
|
141
117
|
const fileRegex = /@([^\s@]+(?:\.[\w\d]+))/g;
|
|
142
|
-
const urlRegex = /@(https?:\/\/[^\s]+)/g;
|
|
143
118
|
const shellRegex = /!`([^`]+)`/g;
|
|
144
|
-
// Collect all matches for files
|
|
119
|
+
// Collect all matches for files
|
|
145
120
|
const fileMatches = Array.from(message.matchAll(fileRegex));
|
|
146
|
-
const urlMatches = Array.from(message.matchAll(urlRegex));
|
|
147
121
|
const shellMatches = Array.from(message.matchAll(shellRegex));
|
|
148
122
|
const mentionProcessingPromises = [];
|
|
149
123
|
// Process file references - collect promises
|
|
@@ -158,18 +132,6 @@ export async function processPrompt(message, { baseDir, model, pasteStore, }) {
|
|
|
158
132
|
mentionProcessingPromises.push(processFileCommand(context));
|
|
159
133
|
}
|
|
160
134
|
}
|
|
161
|
-
// Process url references - collect promises
|
|
162
|
-
for (const match of urlMatches) {
|
|
163
|
-
const firstMatch = match[1];
|
|
164
|
-
if (firstMatch) {
|
|
165
|
-
const context = {
|
|
166
|
-
model,
|
|
167
|
-
baseDir, // baseDir is not used by processUrlCommand but kept for consistency
|
|
168
|
-
match: firstMatch,
|
|
169
|
-
};
|
|
170
|
-
mentionProcessingPromises.push(processUrlCommand(context));
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
135
|
let processedMessage = message;
|
|
174
136
|
// Process paste placeholders
|
|
175
137
|
if (pasteStore && pasteStore.size > 0) {
|
|
@@ -208,19 +170,7 @@ export async function processPrompt(message, { baseDir, model, pasteStore, }) {
|
|
|
208
170
|
const mentionResults = await Promise.all(mentionProcessingPromises);
|
|
209
171
|
const context = [];
|
|
210
172
|
for (const mention of mentionResults) {
|
|
211
|
-
|
|
212
|
-
context.push(mention);
|
|
213
|
-
}
|
|
214
|
-
else if (mention.data.startsWith("data")) {
|
|
215
|
-
context.push({
|
|
216
|
-
type: "image",
|
|
217
|
-
mediaType: mention.contentType,
|
|
218
|
-
image: mention.data,
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
else {
|
|
222
|
-
context.push(formatUrl(mention.source, mention.data.trim(), model.promptFormat));
|
|
223
|
-
}
|
|
173
|
+
context.push(mention);
|
|
224
174
|
}
|
|
225
175
|
return {
|
|
226
176
|
message: processedMessage,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LanguageModelV3Middleware } from "@ai-sdk/provider";
|
|
2
2
|
export declare const auditMessage: ({ filePath, app, }: {
|
|
3
3
|
filePath: string;
|
|
4
4
|
app: string;
|
|
5
|
-
}) =>
|
|
5
|
+
}) => LanguageModelV3Middleware;
|
|
6
6
|
//# sourceMappingURL=audit-message.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-message.d.ts","sourceRoot":"","sources":["../../source/middleware/audit-message.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,yBAAyB,EAI1B,MAAM,kBAAkB,CAAC;AAmC1B,eAAO,MAAM,YAAY,GAAI,oBAG1B;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb,
|
|
1
|
+
{"version":3,"file":"audit-message.d.ts","sourceRoot":"","sources":["../../source/middleware/audit-message.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,yBAAyB,EAI1B,MAAM,kBAAkB,CAAC;AAmC1B,eAAO,MAAM,YAAY,GAAI,oBAG1B;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb,8BA4HA,CAAC"}
|
|
@@ -22,6 +22,7 @@ const writeAuditRecord = async (app, filePath, content) => {
|
|
|
22
22
|
};
|
|
23
23
|
export const auditMessage = ({ filePath = "messages", app = "default", }) => {
|
|
24
24
|
const middleware = {
|
|
25
|
+
specificationVersion: "v3",
|
|
25
26
|
wrapGenerate: async ({ doGenerate, params, model }) => {
|
|
26
27
|
const result = await doGenerate();
|
|
27
28
|
const msg = {
|
|
@@ -37,7 +38,21 @@ export const auditMessage = ({ filePath = "messages", app = "default", }) => {
|
|
|
37
38
|
},
|
|
38
39
|
],
|
|
39
40
|
}),
|
|
40
|
-
usage:
|
|
41
|
+
usage: {
|
|
42
|
+
inputTokens: result.usage.inputTokens.total,
|
|
43
|
+
outputTokens: result.usage.outputTokens.total,
|
|
44
|
+
totalTokens: (result.usage.inputTokens.total ?? 0) +
|
|
45
|
+
(result.usage.outputTokens.total ?? 0),
|
|
46
|
+
inputTokenDetails: {
|
|
47
|
+
noCacheTokens: result.usage.inputTokens.noCache,
|
|
48
|
+
cacheReadTokens: result.usage.inputTokens.cacheRead,
|
|
49
|
+
cacheWriteTokens: result.usage.inputTokens.cacheWrite,
|
|
50
|
+
},
|
|
51
|
+
outputTokenDetails: {
|
|
52
|
+
textTokens: result.usage.outputTokens.text,
|
|
53
|
+
reasoningTokens: result.usage.outputTokens.reasoning,
|
|
54
|
+
},
|
|
55
|
+
},
|
|
41
56
|
timestamp: Date.now(),
|
|
42
57
|
};
|
|
43
58
|
await writeAuditRecord(app, filePath, msg);
|
|
@@ -50,6 +65,15 @@ export const auditMessage = ({ filePath = "messages", app = "default", }) => {
|
|
|
50
65
|
inputTokens: 0,
|
|
51
66
|
outputTokens: 0,
|
|
52
67
|
totalTokens: 0,
|
|
68
|
+
inputTokenDetails: {
|
|
69
|
+
noCacheTokens: 0,
|
|
70
|
+
cacheReadTokens: 0,
|
|
71
|
+
cacheWriteTokens: 0,
|
|
72
|
+
},
|
|
73
|
+
outputTokenDetails: {
|
|
74
|
+
textTokens: 0,
|
|
75
|
+
reasoningTokens: 0,
|
|
76
|
+
},
|
|
53
77
|
};
|
|
54
78
|
const transformStream = new TransformStream({
|
|
55
79
|
transform(chunk, controller) {
|
|
@@ -57,7 +81,21 @@ export const auditMessage = ({ filePath = "messages", app = "default", }) => {
|
|
|
57
81
|
generatedText += chunk.delta;
|
|
58
82
|
}
|
|
59
83
|
if (chunk.type === "finish") {
|
|
60
|
-
usage =
|
|
84
|
+
usage = {
|
|
85
|
+
inputTokens: chunk.usage.inputTokens.total,
|
|
86
|
+
outputTokens: chunk.usage.outputTokens.total,
|
|
87
|
+
totalTokens: (chunk.usage.inputTokens.total ?? 0) +
|
|
88
|
+
(chunk.usage.outputTokens.total ?? 0),
|
|
89
|
+
inputTokenDetails: {
|
|
90
|
+
noCacheTokens: chunk.usage.inputTokens.noCache,
|
|
91
|
+
cacheReadTokens: chunk.usage.inputTokens.cacheRead,
|
|
92
|
+
cacheWriteTokens: chunk.usage.inputTokens.cacheWrite,
|
|
93
|
+
},
|
|
94
|
+
outputTokenDetails: {
|
|
95
|
+
textTokens: chunk.usage.outputTokens.text,
|
|
96
|
+
reasoningTokens: chunk.usage.outputTokens.reasoning,
|
|
97
|
+
},
|
|
98
|
+
};
|
|
61
99
|
}
|
|
62
100
|
controller.enqueue(chunk);
|
|
63
101
|
},
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const cacheMiddleware:
|
|
1
|
+
import type { LanguageModelV3Middleware } from "@ai-sdk/provider";
|
|
2
|
+
export declare const cacheMiddleware: LanguageModelV3Middleware;
|
|
3
3
|
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../source/middleware/cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../source/middleware/cache.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EAE1B,MAAM,kBAAkB,CAAC;AA+F1B,eAAO,MAAM,eAAe,EAAE,yBAqF7B,CAAC"}
|
package/dist/middleware/cache.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { logger } from "../logger.js";
|
|
3
|
+
function applyCaching(input, options = {}) {
|
|
4
|
+
const { ttl } = options;
|
|
2
5
|
input.providerOptions = {
|
|
3
|
-
anthropic: {
|
|
6
|
+
anthropic: {
|
|
7
|
+
cacheControl: ttl ? { type: "ephemeral", ttl } : { type: "ephemeral" },
|
|
8
|
+
},
|
|
4
9
|
openrouter: {
|
|
5
10
|
// biome-ignore lint/style/useNamingConvention: third-party
|
|
6
11
|
cache_control: { type: "ephemeral" },
|
|
@@ -15,39 +20,118 @@ function applyCaching(input) {
|
|
|
15
20
|
},
|
|
16
21
|
};
|
|
17
22
|
}
|
|
23
|
+
function generateCacheKey(text, salt) {
|
|
24
|
+
const content = salt ? `${text}|${salt}` : text;
|
|
25
|
+
return createHash("sha256").update(content).digest("hex").slice(0, 32);
|
|
26
|
+
}
|
|
27
|
+
function estimateTokens(text) {
|
|
28
|
+
return Math.ceil(text.length / 4);
|
|
29
|
+
}
|
|
30
|
+
function getMinTokenThreshold(provider, modelId) {
|
|
31
|
+
if (provider === "anthropic") {
|
|
32
|
+
if (modelId?.includes("haiku"))
|
|
33
|
+
return 2048;
|
|
34
|
+
if (modelId?.includes("opus"))
|
|
35
|
+
return 1024;
|
|
36
|
+
return 1024; // Default for Claude models
|
|
37
|
+
}
|
|
38
|
+
return 1024; // Default threshold
|
|
39
|
+
}
|
|
40
|
+
function isEligibleForCaching(text, provider, modelId) {
|
|
41
|
+
const tokenCount = estimateTokens(text);
|
|
42
|
+
const minThreshold = getMinTokenThreshold(provider, modelId);
|
|
43
|
+
if (tokenCount < minThreshold) {
|
|
44
|
+
logger.info(`[Cache] Ineligible: ${tokenCount} tokens < ${minThreshold} threshold`);
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
function detectProvider(providerId, modelId) {
|
|
50
|
+
if (providerId === "anthropic" ||
|
|
51
|
+
modelId.includes("anthropic") ||
|
|
52
|
+
modelId.includes("claude")) {
|
|
53
|
+
return "anthropic";
|
|
54
|
+
}
|
|
55
|
+
if (providerId === "openai" || modelId.includes("gpt-")) {
|
|
56
|
+
return "openai";
|
|
57
|
+
}
|
|
58
|
+
if (providerId === "bedrock" ||
|
|
59
|
+
modelId.includes("bedrock") ||
|
|
60
|
+
modelId.includes("amazon")) {
|
|
61
|
+
return "bedrock";
|
|
62
|
+
}
|
|
63
|
+
if (modelId.includes("openrouter")) {
|
|
64
|
+
return "openrouter";
|
|
65
|
+
}
|
|
66
|
+
return "unknown";
|
|
67
|
+
}
|
|
18
68
|
export const cacheMiddleware = {
|
|
69
|
+
specificationVersion: "v3",
|
|
19
70
|
transformParams: async ({ params, model }) => {
|
|
20
71
|
const providerId = model.provider;
|
|
21
72
|
const modelId = model.modelId;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
73
|
+
const provider = detectProvider(providerId, modelId);
|
|
74
|
+
logger.info(`[Cache] Detected provider: ${provider}, model: ${modelId}`);
|
|
75
|
+
if (provider === "unknown") {
|
|
76
|
+
logger.info("[Cache] Unknown provider, skipping caching");
|
|
77
|
+
return params;
|
|
78
|
+
}
|
|
79
|
+
const msgs = params.prompt;
|
|
80
|
+
// Extract system messages for cache key generation
|
|
81
|
+
const systemMessages = msgs.filter((msg) => msg.role === "system");
|
|
82
|
+
const systemText = systemMessages
|
|
83
|
+
.map((msg) => typeof msg.content === "string"
|
|
84
|
+
? msg.content
|
|
85
|
+
: Array.isArray(msg.content)
|
|
86
|
+
? msg.content
|
|
87
|
+
.map((c) => c.text)
|
|
88
|
+
.join(" ")
|
|
89
|
+
: "")
|
|
90
|
+
.join("\n");
|
|
91
|
+
// Check if system prompt is eligible for caching
|
|
92
|
+
const isEligible = isEligibleForCaching(systemText, provider, modelId);
|
|
93
|
+
if (!isEligible) {
|
|
94
|
+
logger.info("[Cache] System prompt not eligible for caching");
|
|
95
|
+
return params;
|
|
96
|
+
}
|
|
97
|
+
// Generate deterministic cache key
|
|
98
|
+
const cacheKey = generateCacheKey(systemText, provider);
|
|
99
|
+
logger.info(`[Cache] Generated cache key: ${cacheKey.substring(0, 8)}...`);
|
|
100
|
+
// Apply caching to system messages
|
|
101
|
+
for (const systemMsg of systemMessages) {
|
|
102
|
+
applyCaching(systemMsg, { ttl: "1h" });
|
|
103
|
+
}
|
|
104
|
+
// Get the last two user messages for caching
|
|
105
|
+
const userMessages = msgs.filter((msg) => msg.role === "user");
|
|
106
|
+
const lastTwoUserMessages = userMessages.slice(-2);
|
|
107
|
+
// Mark both the latest and second-to-last user messages as ephemeral
|
|
108
|
+
for (const userMessage of lastTwoUserMessages) {
|
|
109
|
+
const content = userMessage.content;
|
|
110
|
+
if (Array.isArray(content)) {
|
|
111
|
+
const finalContent = content.at(-1);
|
|
112
|
+
if (finalContent) {
|
|
113
|
+
applyCaching(finalContent, { ttl: "1h" });
|
|
41
114
|
}
|
|
42
115
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
116
|
+
}
|
|
117
|
+
const tools = params.tools;
|
|
118
|
+
if (tools) {
|
|
119
|
+
const lastTool = tools.at(-1);
|
|
120
|
+
if (lastTool?.type === "function") {
|
|
121
|
+
applyCaching(lastTool, { ttl: "1h" });
|
|
49
122
|
}
|
|
50
123
|
}
|
|
124
|
+
// Add cache metadata for observability
|
|
125
|
+
params.providerOptions = params.providerOptions || {};
|
|
126
|
+
params.providerOptions["__cacheMetadata"] = {
|
|
127
|
+
cacheKey,
|
|
128
|
+
provider,
|
|
129
|
+
eligible: isEligible,
|
|
130
|
+
systemTokens: estimateTokens(systemText),
|
|
131
|
+
threshold: getMinTokenThreshold(provider, modelId),
|
|
132
|
+
timestamp: Date.now(),
|
|
133
|
+
};
|
|
134
|
+
logger.info(`[Cache] Applied caching for ${provider} model`);
|
|
51
135
|
return params;
|
|
52
136
|
},
|
|
53
137
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LanguageModelV3Middleware } from "@ai-sdk/provider";
|
|
2
2
|
export declare const createRateLimitMiddleware: ({ requestsPerMinute, }: {
|
|
3
3
|
requestsPerMinute: number;
|
|
4
|
-
}) =>
|
|
4
|
+
}) => LanguageModelV3Middleware;
|
|
5
5
|
//# sourceMappingURL=rate-limit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../source/middleware/rate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAGlE,eAAO,MAAM,yBAAyB,GAAI,wBAEvC;IACD,iBAAiB,EAAE,MAAM,CAAC;CAC3B,KAAG,
|
|
1
|
+
{"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../source/middleware/rate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAGlE,eAAO,MAAM,yBAAyB,GAAI,wBAEvC;IACD,iBAAiB,EAAE,MAAM,CAAC;CAC3B,KAAG,yBAiBH,CAAC"}
|
|
@@ -5,6 +5,7 @@ export const createRateLimitMiddleware = ({ requestsPerMinute, }) => {
|
|
|
5
5
|
interval: 60 * 1000, // 1 minute
|
|
6
6
|
});
|
|
7
7
|
return {
|
|
8
|
+
specificationVersion: "v3",
|
|
8
9
|
wrapGenerate: ({ doGenerate }) => {
|
|
9
10
|
const throttledGenerate = throttle(doGenerate);
|
|
10
11
|
return Promise.resolve(throttledGenerate());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-config.d.ts","sourceRoot":"","sources":["../../source/models/ai-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA2CpD,qBAAa,QAAQ;IACnB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;gBACX,EACV,aAAa,EACb,MAAM,GACP,EAAE;QAAE,aAAa,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAKnD,eAAe;IAUf,WAAW;IAKX,IAAI;IAMJ,eAAe,IAAI,wBAAwB;
|
|
1
|
+
{"version":3,"file":"ai-config.d.ts","sourceRoot":"","sources":["../../source/models/ai-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA2CpD,qBAAa,QAAQ;IACnB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;gBACX,EACV,aAAa,EACb,MAAM,GACP,EAAE;QAAE,aAAa,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAKnD,eAAe;IAUf,WAAW;IAKX,IAAI;IAMJ,eAAe,IAAI,wBAAwB;CA+D5C"}
|
package/dist/models/ai-config.js
CHANGED
|
@@ -40,7 +40,7 @@ export class AiConfig {
|
|
|
40
40
|
const maxTokens = modelConfig.provider === "anthropic" && modelConfig.supportsReasoning
|
|
41
41
|
? modelConfig.maxOutputTokens - thinkingLevel.tokenBudget
|
|
42
42
|
: modelConfig.maxOutputTokens;
|
|
43
|
-
return maxTokens;
|
|
43
|
+
return modelConfig.provider === "opencode" ? 8000 : maxTokens;
|
|
44
44
|
}
|
|
45
45
|
temperature() {
|
|
46
46
|
const temp = this.modelMetadata.defaultTemperature;
|
|
@@ -55,43 +55,60 @@ export class AiConfig {
|
|
|
55
55
|
providerOptions() {
|
|
56
56
|
const modelConfig = this.modelMetadata;
|
|
57
57
|
const thinkingLevel = calculateThinkingLevel(this.prompt);
|
|
58
|
+
const meta = {
|
|
59
|
+
[modelConfig.provider]: {},
|
|
60
|
+
};
|
|
58
61
|
if (modelConfig.supportsReasoning && thinkingLevel.effort !== "none") {
|
|
59
62
|
switch (modelConfig.provider) {
|
|
60
63
|
case "anthropic":
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
budgetTokens: thinkingLevel.tokenBudget,
|
|
66
|
-
},
|
|
64
|
+
Object.assign(meta["anthropic"], {
|
|
65
|
+
thinking: {
|
|
66
|
+
type: "enabled",
|
|
67
|
+
budgetTokens: thinkingLevel.tokenBudget,
|
|
67
68
|
},
|
|
68
|
-
};
|
|
69
|
+
});
|
|
70
|
+
break;
|
|
69
71
|
case "openai":
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
72
|
+
Object.assign(meta["openai"], {
|
|
73
|
+
reasoningEffort: thinkingLevel.effort,
|
|
74
|
+
});
|
|
75
|
+
break;
|
|
76
|
+
case "google":
|
|
77
|
+
Object.assign(meta["google"], {
|
|
78
|
+
thinkingConfig: {
|
|
79
|
+
thinkingBudget: thinkingLevel.tokenBudget,
|
|
77
80
|
},
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
case "openrouter":
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
effort: thinkingLevel.effort,
|
|
86
|
-
},
|
|
81
|
+
});
|
|
82
|
+
break;
|
|
83
|
+
case "openrouter":
|
|
84
|
+
Object.assign(meta["openrouter"], {
|
|
85
|
+
reasoning: {
|
|
86
|
+
enabled: true,
|
|
87
|
+
effort: thinkingLevel.effort,
|
|
87
88
|
},
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
});
|
|
90
|
+
break;
|
|
91
|
+
case "deepseek":
|
|
92
|
+
Object.assign(meta["deepseek"], {
|
|
93
|
+
thinking: {
|
|
94
|
+
type: "enabled",
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
break;
|
|
92
98
|
}
|
|
93
99
|
}
|
|
94
|
-
|
|
100
|
+
switch (modelConfig.provider) {
|
|
101
|
+
case "openrouter":
|
|
102
|
+
Object.assign(meta["openrouter"], {
|
|
103
|
+
usage: {
|
|
104
|
+
include: true,
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
if (Object.keys(meta[modelConfig.provider]).length > 0) {
|
|
110
|
+
return meta;
|
|
111
|
+
}
|
|
95
112
|
return {};
|
|
96
113
|
}
|
|
97
114
|
}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import type { ModelMetadata } from "./providers.ts";
|
|
2
2
|
declare const anthropicModels: {
|
|
3
|
-
readonly opus: import("@ai-sdk/provider").
|
|
4
|
-
readonly sonnet: import("@ai-sdk/provider").
|
|
5
|
-
readonly sonnet37: import("@ai-sdk/provider").
|
|
6
|
-
readonly "sonnet37-token-efficient-tools": import("@ai-sdk/provider").
|
|
7
|
-
readonly "sonnet37-128k": import("@ai-sdk/provider").
|
|
8
|
-
readonly sonnet35: import("@ai-sdk/provider").
|
|
9
|
-
readonly haiku: import("@ai-sdk/provider").
|
|
3
|
+
readonly opus: import("@ai-sdk/provider").LanguageModelV3;
|
|
4
|
+
readonly sonnet: import("@ai-sdk/provider").LanguageModelV3;
|
|
5
|
+
readonly sonnet37: import("@ai-sdk/provider").LanguageModelV3;
|
|
6
|
+
readonly "sonnet37-token-efficient-tools": import("@ai-sdk/provider").LanguageModelV3;
|
|
7
|
+
readonly "sonnet37-128k": import("@ai-sdk/provider").LanguageModelV3;
|
|
8
|
+
readonly sonnet35: import("@ai-sdk/provider").LanguageModelV3;
|
|
9
|
+
readonly haiku: import("@ai-sdk/provider").LanguageModelV3;
|
|
10
10
|
};
|
|
11
11
|
type ModelName = `anthropic:${keyof typeof anthropicModels}`;
|
|
12
12
|
export declare const anthropicModelNames: ModelName[];
|
|
13
13
|
export declare const anthropicProvider: {
|
|
14
|
-
anthropic: import("@ai-sdk/provider").
|
|
15
|
-
languageModel(modelId: "opus" | "sonnet" | "sonnet37" | "sonnet37-token-efficient-tools" | "sonnet37-128k" | "sonnet35" | "haiku"): import("@ai-sdk/provider").
|
|
16
|
-
|
|
17
|
-
imageModel(modelId: string): import("@ai-sdk/provider").
|
|
18
|
-
transcriptionModel(modelId: string): import("@ai-sdk/provider").
|
|
19
|
-
|
|
14
|
+
anthropic: import("@ai-sdk/provider").ProviderV3 & {
|
|
15
|
+
languageModel(modelId: "opus" | "sonnet" | "sonnet37" | "sonnet37-token-efficient-tools" | "sonnet37-128k" | "sonnet35" | "haiku"): import("@ai-sdk/provider").LanguageModelV3;
|
|
16
|
+
embeddingModel(modelId: string): import("@ai-sdk/provider").EmbeddingModelV3;
|
|
17
|
+
imageModel(modelId: string): import("@ai-sdk/provider").ImageModelV3;
|
|
18
|
+
transcriptionModel(modelId: string): import("@ai-sdk/provider").TranscriptionModelV3;
|
|
19
|
+
rerankingModel(modelId: string): import("@ai-sdk/provider").RerankingModelV3;
|
|
20
|
+
speechModel(modelId: string): import("@ai-sdk/provider").SpeechModelV3;
|
|
20
21
|
};
|
|
21
22
|
};
|
|
22
23
|
export declare const anthropicModelRegistry: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-provider.d.ts","sourceRoot":"","sources":["../../source/models/anthropic-provider.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,QAAA,MAAM,eAAe;;;;;;;;CAuBX,CAAC;AAEX,KAAK,SAAS,GAAG,aAAa,MAAM,OAAO,eAAe,EAAE,CAAC;AAE7D,eAAO,MAAM,mBAAmB,EAAE,SAAS,EAE1C,CAAC;AAEF,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"anthropic-provider.d.ts","sourceRoot":"","sources":["../../source/models/anthropic-provider.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,QAAA,MAAM,eAAe;;;;;;;;CAuBX,CAAC;AAEX,KAAK,SAAS,GAAG,aAAa,MAAM,OAAO,eAAe,EAAE,CAAC;AAE7D,eAAO,MAAM,mBAAmB,EAAE,SAAS,EAE1C,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;CAK7B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE;KAClC,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;CAsF3C,CAAC"}
|
|
@@ -44,7 +44,6 @@ export const anthropicModelRegistry = {
|
|
|
44
44
|
supportsToolCalling: true,
|
|
45
45
|
costPerInputToken: 0.000015,
|
|
46
46
|
costPerOutputToken: 0.000075,
|
|
47
|
-
category: "powerful",
|
|
48
47
|
},
|
|
49
48
|
"anthropic:sonnet": {
|
|
50
49
|
id: "anthropic:sonnet",
|
|
@@ -57,7 +56,6 @@ export const anthropicModelRegistry = {
|
|
|
57
56
|
supportsToolCalling: true,
|
|
58
57
|
costPerInputToken: 0.000003,
|
|
59
58
|
costPerOutputToken: 0.000015,
|
|
60
|
-
category: "balanced",
|
|
61
59
|
},
|
|
62
60
|
"anthropic:sonnet37": {
|
|
63
61
|
id: "anthropic:sonnet37",
|
|
@@ -70,7 +68,6 @@ export const anthropicModelRegistry = {
|
|
|
70
68
|
supportsToolCalling: true,
|
|
71
69
|
costPerInputToken: 0.000003,
|
|
72
70
|
costPerOutputToken: 0.000015,
|
|
73
|
-
category: "balanced",
|
|
74
71
|
},
|
|
75
72
|
"anthropic:sonnet37-token-efficient-tools": {
|
|
76
73
|
id: "anthropic:sonnet37-token-efficient-tools",
|
|
@@ -83,7 +80,6 @@ export const anthropicModelRegistry = {
|
|
|
83
80
|
supportsToolCalling: true,
|
|
84
81
|
costPerInputToken: 0.000003,
|
|
85
82
|
costPerOutputToken: 0.000015,
|
|
86
|
-
category: "balanced",
|
|
87
83
|
},
|
|
88
84
|
"anthropic:sonnet37-128k": {
|
|
89
85
|
id: "anthropic:sonnet37-128k",
|
|
@@ -96,7 +92,6 @@ export const anthropicModelRegistry = {
|
|
|
96
92
|
supportsToolCalling: true,
|
|
97
93
|
costPerInputToken: 0.000003,
|
|
98
94
|
costPerOutputToken: 0.000015,
|
|
99
|
-
category: "powerful",
|
|
100
95
|
},
|
|
101
96
|
"anthropic:sonnet35": {
|
|
102
97
|
id: "anthropic:sonnet35",
|
|
@@ -109,7 +104,6 @@ export const anthropicModelRegistry = {
|
|
|
109
104
|
supportsToolCalling: true,
|
|
110
105
|
costPerInputToken: 0.000003,
|
|
111
106
|
costPerOutputToken: 0.000015,
|
|
112
|
-
category: "balanced",
|
|
113
107
|
},
|
|
114
108
|
"anthropic:haiku": {
|
|
115
109
|
id: "anthropic:haiku",
|
|
@@ -122,6 +116,5 @@ export const anthropicModelRegistry = {
|
|
|
122
116
|
supportsToolCalling: true,
|
|
123
117
|
costPerInputToken: 0.0000008,
|
|
124
118
|
costPerOutputToken: 0.000004,
|
|
125
|
-
category: "fast",
|
|
126
119
|
},
|
|
127
120
|
};
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import type { ModelMetadata } from "./providers.ts";
|
|
2
2
|
declare const deepseekModels: {
|
|
3
|
-
readonly "deepseek-chat": import("@ai-sdk/provider").
|
|
4
|
-
readonly "deepseek-reasoner": import("@ai-sdk/provider").
|
|
3
|
+
readonly "deepseek-chat": import("@ai-sdk/provider").LanguageModelV3;
|
|
4
|
+
readonly "deepseek-reasoner": import("@ai-sdk/provider").LanguageModelV3;
|
|
5
5
|
};
|
|
6
6
|
type ModelName = `deepseek:${keyof typeof deepseekModels}`;
|
|
7
7
|
export declare const deepseekModelNames: ModelName[];
|
|
8
8
|
export declare const deepseekProvider: {
|
|
9
|
-
deepseek: import("@ai-sdk/provider").
|
|
10
|
-
languageModel(modelId: "deepseek-chat" | "deepseek-reasoner"): import("@ai-sdk/provider").
|
|
11
|
-
|
|
12
|
-
imageModel(modelId: string): import("@ai-sdk/provider").
|
|
13
|
-
transcriptionModel(modelId: string): import("@ai-sdk/provider").
|
|
14
|
-
|
|
9
|
+
deepseek: import("@ai-sdk/provider").ProviderV3 & {
|
|
10
|
+
languageModel(modelId: "deepseek-chat" | "deepseek-reasoner"): import("@ai-sdk/provider").LanguageModelV3;
|
|
11
|
+
embeddingModel(modelId: string): import("@ai-sdk/provider").EmbeddingModelV3;
|
|
12
|
+
imageModel(modelId: string): import("@ai-sdk/provider").ImageModelV3;
|
|
13
|
+
transcriptionModel(modelId: string): import("@ai-sdk/provider").TranscriptionModelV3;
|
|
14
|
+
rerankingModel(modelId: string): import("@ai-sdk/provider").RerankingModelV3;
|
|
15
|
+
speechModel(modelId: string): import("@ai-sdk/provider").SpeechModelV3;
|
|
15
16
|
};
|
|
16
17
|
};
|
|
17
18
|
export declare const deepseekModelRegistry: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek-provider.d.ts","sourceRoot":"","sources":["../../source/models/deepseek-provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,QAAA,MAAM,cAAc;;;CAGV,CAAC;AAEX,KAAK,SAAS,GAAG,YAAY,MAAM,OAAO,cAAc,EAAE,CAAC;AAE3D,eAAO,MAAM,kBAAkB,EAAE,SAAS,EAEzC,CAAC;AAEF,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"deepseek-provider.d.ts","sourceRoot":"","sources":["../../source/models/deepseek-provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,QAAA,MAAM,cAAc;;;CAGV,CAAC;AAEX,KAAK,SAAS,GAAG,YAAY,MAAM,OAAO,cAAc,EAAE,CAAC;AAE3D,eAAO,MAAM,kBAAkB,EAAE,SAAS,EAEzC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;CAK5B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE;KACjC,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;CA0B3C,CAAC"}
|
|
@@ -24,7 +24,6 @@ export const deepseekModelRegistry = {
|
|
|
24
24
|
supportsToolCalling: true,
|
|
25
25
|
costPerInputToken: 0.0000012, // Check official pricing
|
|
26
26
|
costPerOutputToken: 0.0000012, // Check official pricing
|
|
27
|
-
category: "balanced",
|
|
28
27
|
},
|
|
29
28
|
"deepseek:deepseek-reasoner": {
|
|
30
29
|
id: "deepseek:deepseek-reasoner",
|
|
@@ -37,6 +36,5 @@ export const deepseekModelRegistry = {
|
|
|
37
36
|
supportsToolCalling: true, // Check if this model supports tools
|
|
38
37
|
costPerInputToken: 0.00000055, // Check official pricing
|
|
39
38
|
costPerOutputToken: 0.00000219, // Check official pricing
|
|
40
|
-
category: "balanced",
|
|
41
39
|
},
|
|
42
40
|
};
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import type { ModelMetadata } from "./providers.ts";
|
|
2
2
|
declare const googleModels: {
|
|
3
|
-
readonly flash25lite: import("@ai-sdk/provider").
|
|
4
|
-
readonly pro25: import("@ai-sdk/provider").
|
|
5
|
-
readonly flash25: import("@ai-sdk/provider").
|
|
3
|
+
readonly flash25lite: import("@ai-sdk/provider").LanguageModelV3;
|
|
4
|
+
readonly pro25: import("@ai-sdk/provider").LanguageModelV3;
|
|
5
|
+
readonly flash25: import("@ai-sdk/provider").LanguageModelV3;
|
|
6
6
|
};
|
|
7
7
|
type ModelName = `google:${keyof typeof googleModels}`;
|
|
8
8
|
export declare const googleModelNames: ModelName[];
|
|
9
9
|
export declare const googleProvider: {
|
|
10
|
-
google: import("@ai-sdk/provider").
|
|
11
|
-
languageModel(modelId: "flash25lite" | "pro25" | "flash25"): import("@ai-sdk/provider").
|
|
12
|
-
|
|
13
|
-
imageModel(modelId: string): import("@ai-sdk/provider").
|
|
14
|
-
transcriptionModel(modelId: string): import("@ai-sdk/provider").
|
|
15
|
-
|
|
10
|
+
google: import("@ai-sdk/provider").ProviderV3 & {
|
|
11
|
+
languageModel(modelId: "flash25lite" | "pro25" | "flash25"): import("@ai-sdk/provider").LanguageModelV3;
|
|
12
|
+
embeddingModel(modelId: string): import("@ai-sdk/provider").EmbeddingModelV3;
|
|
13
|
+
imageModel(modelId: string): import("@ai-sdk/provider").ImageModelV3;
|
|
14
|
+
transcriptionModel(modelId: string): import("@ai-sdk/provider").TranscriptionModelV3;
|
|
15
|
+
rerankingModel(modelId: string): import("@ai-sdk/provider").RerankingModelV3;
|
|
16
|
+
speechModel(modelId: string): import("@ai-sdk/provider").SpeechModelV3;
|
|
16
17
|
};
|
|
17
18
|
};
|
|
18
19
|
export declare const googleModelRegistry: Record<ModelName, ModelMetadata<ModelName>>;
|