indusagi 0.12.7 → 0.12.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/dist/agent/agent-loop.d.ts.map +1 -1
- package/dist/agent/agent-loop.js +10 -1
- package/dist/agent/agent-loop.js.map +1 -1
- package/dist/agent/agent.d.ts +2 -1
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +30 -38
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/error-handler.d.ts +8 -0
- package/dist/agent/error-handler.d.ts.map +1 -0
- package/dist/agent/error-handler.js +8 -0
- package/dist/agent/error-handler.js.map +1 -0
- package/dist/agent/event-bus.d.ts +9 -0
- package/dist/agent/event-bus.d.ts.map +1 -0
- package/dist/agent/event-bus.js +17 -0
- package/dist/agent/event-bus.js.map +1 -0
- package/dist/agent/proxy.d.ts +13 -19
- package/dist/agent/proxy.d.ts.map +1 -1
- package/dist/agent/proxy.js +45 -4
- package/dist/agent/proxy.js.map +1 -1
- package/dist/agent/state-manager.d.ts +22 -0
- package/dist/agent/state-manager.d.ts.map +1 -0
- package/dist/agent/state-manager.js +59 -0
- package/dist/agent/state-manager.js.map +1 -0
- package/dist/agent/telemetry.d.ts +7 -0
- package/dist/agent/telemetry.d.ts.map +1 -0
- package/dist/agent/telemetry.js +20 -0
- package/dist/agent/telemetry.js.map +1 -0
- package/dist/agent/tools/bash.d.ts +11 -0
- package/dist/agent/tools/bash.d.ts.map +1 -1
- package/dist/agent/tools/bash.js +27 -4
- package/dist/agent/tools/bash.js.map +1 -1
- package/dist/agent/tools/edit.d.ts +5 -0
- package/dist/agent/tools/edit.d.ts.map +1 -1
- package/dist/agent/tools/edit.js +16 -2
- package/dist/agent/tools/edit.js.map +1 -1
- package/dist/agent/tools/find.d.ts +2 -0
- package/dist/agent/tools/find.d.ts.map +1 -1
- package/dist/agent/tools/find.js +4 -1
- package/dist/agent/tools/find.js.map +1 -1
- package/dist/agent/tools/grep.d.ts.map +1 -1
- package/dist/agent/tools/grep.js +15 -4
- package/dist/agent/tools/grep.js.map +1 -1
- package/dist/agent/tools/index.d.ts +18 -2
- package/dist/agent/tools/index.d.ts.map +1 -1
- package/dist/agent/tools/index.js +64 -50
- package/dist/agent/tools/index.js.map +1 -1
- package/dist/agent/tools/ls.d.ts +2 -0
- package/dist/agent/tools/ls.d.ts.map +1 -1
- package/dist/agent/tools/ls.js +5 -0
- package/dist/agent/tools/ls.js.map +1 -1
- package/dist/agent/tools/path-utils.d.ts.map +1 -1
- package/dist/agent/tools/path-utils.js +3 -0
- package/dist/agent/tools/path-utils.js.map +1 -1
- package/dist/agent/tools/registry.d.ts +21 -0
- package/dist/agent/tools/registry.d.ts.map +1 -0
- package/dist/agent/tools/registry.js +25 -0
- package/dist/agent/tools/registry.js.map +1 -0
- package/dist/agent/tools/task.d.ts.map +1 -1
- package/dist/agent/tools/task.js +12 -6
- package/dist/agent/tools/task.js.map +1 -1
- package/dist/agent/tools/todo-store.d.ts +4 -0
- package/dist/agent/tools/todo-store.d.ts.map +1 -1
- package/dist/agent/tools/todo-store.js +12 -0
- package/dist/agent/tools/todo-store.js.map +1 -1
- package/dist/agent/tools/todo.d.ts +4 -0
- package/dist/agent/tools/todo.d.ts.map +1 -1
- package/dist/agent/tools/todo.js +14 -4
- package/dist/agent/tools/todo.js.map +1 -1
- package/dist/agent/tools/truncate.d.ts +3 -0
- package/dist/agent/tools/truncate.d.ts.map +1 -1
- package/dist/agent/tools/truncate.js.map +1 -1
- package/dist/agent/tools/utils/hook-runner.d.ts +8 -3
- package/dist/agent/tools/utils/hook-runner.d.ts.map +1 -1
- package/dist/agent/tools/utils/hook-runner.js +22 -5
- package/dist/agent/tools/utils/hook-runner.js.map +1 -1
- package/dist/agent/tools/utils/image-resize.d.ts +1 -0
- package/dist/agent/tools/utils/image-resize.d.ts.map +1 -1
- package/dist/agent/tools/utils/image-resize.js +5 -0
- package/dist/agent/tools/utils/image-resize.js.map +1 -1
- package/dist/agent/tools/utils/mime.d.ts.map +1 -1
- package/dist/agent/tools/utils/mime.js +6 -0
- package/dist/agent/tools/utils/mime.js.map +1 -1
- package/dist/agent/tools/utils/shell.d.ts +5 -0
- package/dist/agent/tools/utils/shell.d.ts.map +1 -1
- package/dist/agent/tools/utils/shell.js +9 -0
- package/dist/agent/tools/utils/shell.js.map +1 -1
- package/dist/agent/tools/webfetch.d.ts +2 -0
- package/dist/agent/tools/webfetch.d.ts.map +1 -1
- package/dist/agent/tools/webfetch.js +4 -1
- package/dist/agent/tools/webfetch.js.map +1 -1
- package/dist/agent/tools/websearch.d.ts +6 -0
- package/dist/agent/tools/websearch.d.ts.map +1 -1
- package/dist/agent/tools/websearch.js +22 -2
- package/dist/agent/tools/websearch.js.map +1 -1
- package/dist/agent/tools/write.d.ts +4 -0
- package/dist/agent/tools/write.d.ts.map +1 -1
- package/dist/agent/tools/write.js +19 -1
- package/dist/agent/tools/write.js.map +1 -1
- package/dist/agent/types.d.ts +22 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js +44 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/ai/api-registry.d.ts +34 -4
- package/dist/ai/api-registry.d.ts.map +1 -1
- package/dist/ai/api-registry.js +97 -19
- package/dist/ai/api-registry.js.map +1 -1
- package/dist/ai/cli.js +24 -3
- package/dist/ai/cli.js.map +1 -1
- package/dist/ai/env-api-keys.d.ts +9 -0
- package/dist/ai/env-api-keys.d.ts.map +1 -1
- package/dist/ai/env-api-keys.js +23 -0
- package/dist/ai/env-api-keys.js.map +1 -1
- package/dist/ai/index.d.ts +4 -2
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +4 -2
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/models.d.ts +30 -0
- package/dist/ai/models.d.ts.map +1 -1
- package/dist/ai/models.generated.d.ts +1 -0
- package/dist/ai/models.generated.d.ts.map +1 -1
- package/dist/ai/models.js +90 -18
- package/dist/ai/models.js.map +1 -1
- package/dist/ai/providers/amazon-bedrock.d.ts +19 -1
- package/dist/ai/providers/amazon-bedrock.d.ts.map +1 -1
- package/dist/ai/providers/amazon-bedrock.js +68 -40
- package/dist/ai/providers/amazon-bedrock.js.map +1 -1
- package/dist/ai/providers/anthropic.d.ts +50 -1
- package/dist/ai/providers/anthropic.d.ts.map +1 -1
- package/dist/ai/providers/anthropic.js +204 -161
- package/dist/ai/providers/anthropic.js.map +1 -1
- package/dist/ai/providers/azure-openai-responses.d.ts.map +1 -1
- package/dist/ai/providers/azure-openai-responses.js +36 -28
- package/dist/ai/providers/azure-openai-responses.js.map +1 -1
- package/dist/ai/providers/google-shared.d.ts +9 -0
- package/dist/ai/providers/google-shared.d.ts.map +1 -1
- package/dist/ai/providers/google-shared.js +16 -0
- package/dist/ai/providers/google-shared.js.map +1 -1
- package/dist/ai/providers/google-vertex.d.ts.map +1 -1
- package/dist/ai/providers/google-vertex.js +33 -26
- package/dist/ai/providers/google-vertex.js.map +1 -1
- package/dist/ai/providers/google.d.ts.map +1 -1
- package/dist/ai/providers/google.js +33 -26
- package/dist/ai/providers/google.js.map +1 -1
- package/dist/ai/providers/kimi.d.ts.map +1 -1
- package/dist/ai/providers/kimi.js +34 -24
- package/dist/ai/providers/kimi.js.map +1 -1
- package/dist/ai/providers/openai-codex-responses.d.ts.map +1 -1
- package/dist/ai/providers/openai-codex-responses.js +33 -25
- package/dist/ai/providers/openai-codex-responses.js.map +1 -1
- package/dist/ai/providers/openai-completions.d.ts +10 -0
- package/dist/ai/providers/openai-completions.d.ts.map +1 -1
- package/dist/ai/providers/openai-completions.js +51 -26
- package/dist/ai/providers/openai-completions.js.map +1 -1
- package/dist/ai/providers/openai-responses-shared.d.ts +9 -0
- package/dist/ai/providers/openai-responses-shared.d.ts.map +1 -1
- package/dist/ai/providers/openai-responses-shared.js +18 -2
- package/dist/ai/providers/openai-responses-shared.js.map +1 -1
- package/dist/ai/providers/openai-responses.d.ts.map +1 -1
- package/dist/ai/providers/openai-responses.js +35 -32
- package/dist/ai/providers/openai-responses.js.map +1 -1
- package/dist/ai/providers/register-builtins.d.ts.map +1 -1
- package/dist/ai/providers/register-builtins.js +17 -8
- package/dist/ai/providers/register-builtins.js.map +1 -1
- package/dist/ai/providers/simple-options.d.ts +19 -0
- package/dist/ai/providers/simple-options.d.ts.map +1 -1
- package/dist/ai/providers/simple-options.js +62 -0
- package/dist/ai/providers/simple-options.js.map +1 -1
- package/dist/ai/providers/transform-messages.d.ts +14 -0
- package/dist/ai/providers/transform-messages.d.ts.map +1 -1
- package/dist/ai/providers/transform-messages.js +99 -96
- package/dist/ai/providers/transform-messages.js.map +1 -1
- package/dist/ai/stream.d.ts +17 -3
- package/dist/ai/stream.d.ts.map +1 -1
- package/dist/ai/stream.js +61 -6
- package/dist/ai/stream.js.map +1 -1
- package/dist/ai/types.d.ts +17 -0
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/types.js +87 -1
- package/dist/ai/types.js.map +1 -1
- package/dist/ai/types.test.d.ts +8 -0
- package/dist/ai/types.test.d.ts.map +1 -0
- package/dist/ai/types.test.js +389 -0
- package/dist/ai/types.test.js.map +1 -0
- package/dist/ai/utils/base-stream-handler.d.ts +16 -0
- package/dist/ai/utils/base-stream-handler.d.ts.map +1 -0
- package/dist/ai/utils/base-stream-handler.js +24 -0
- package/dist/ai/utils/base-stream-handler.js.map +1 -0
- package/dist/ai/utils/event-stream.d.ts +26 -4
- package/dist/ai/utils/event-stream.d.ts.map +1 -1
- package/dist/ai/utils/event-stream.js +89 -5
- package/dist/ai/utils/event-stream.js.map +1 -1
- package/dist/ai/utils/index.d.ts +15 -0
- package/dist/ai/utils/index.d.ts.map +1 -0
- package/dist/ai/utils/index.js +15 -0
- package/dist/ai/utils/index.js.map +1 -0
- package/dist/ai/utils/json-parse.d.ts +13 -4
- package/dist/ai/utils/json-parse.d.ts.map +1 -1
- package/dist/ai/utils/json-parse.js +31 -19
- package/dist/ai/utils/json-parse.js.map +1 -1
- package/dist/ai/utils/message-transform.d.ts +29 -0
- package/dist/ai/utils/message-transform.d.ts.map +1 -0
- package/dist/ai/utils/message-transform.js +55 -0
- package/dist/ai/utils/message-transform.js.map +1 -0
- package/dist/ai/utils/oauth/anthropic.d.ts +1 -0
- package/dist/ai/utils/oauth/anthropic.d.ts.map +1 -1
- package/dist/ai/utils/oauth/anthropic.js +3 -0
- package/dist/ai/utils/oauth/anthropic.js.map +1 -1
- package/dist/ai/utils/oauth/github-copilot.d.ts +1 -0
- package/dist/ai/utils/oauth/github-copilot.d.ts.map +1 -1
- package/dist/ai/utils/oauth/github-copilot.js +3 -0
- package/dist/ai/utils/oauth/github-copilot.js.map +1 -1
- package/dist/ai/utils/oauth/index.d.ts +2 -1
- package/dist/ai/utils/oauth/index.d.ts.map +1 -1
- package/dist/ai/utils/oauth/index.js +10 -0
- package/dist/ai/utils/oauth/index.js.map +1 -1
- package/dist/ai/utils/oauth/kimi.d.ts +1 -0
- package/dist/ai/utils/oauth/kimi.d.ts.map +1 -1
- package/dist/ai/utils/oauth/kimi.js +3 -0
- package/dist/ai/utils/oauth/kimi.js.map +1 -1
- package/dist/ai/utils/oauth/openai-codex.d.ts +1 -0
- package/dist/ai/utils/oauth/openai-codex.d.ts.map +1 -1
- package/dist/ai/utils/oauth/openai-codex.js +3 -0
- package/dist/ai/utils/oauth/openai-codex.js.map +1 -1
- package/dist/ai/utils/oauth/pkce.d.ts +1 -0
- package/dist/ai/utils/oauth/pkce.d.ts.map +1 -1
- package/dist/ai/utils/oauth/pkce.js +5 -0
- package/dist/ai/utils/oauth/pkce.js.map +1 -1
- package/dist/ai/utils/oauth/types.d.ts +6 -0
- package/dist/ai/utils/oauth/types.d.ts.map +1 -1
- package/dist/ai/utils/output-factory.d.ts +3 -0
- package/dist/ai/utils/output-factory.d.ts.map +1 -0
- package/dist/ai/utils/output-factory.js +23 -0
- package/dist/ai/utils/output-factory.js.map +1 -0
- package/dist/ai/utils/overflow.d.ts +6 -47
- package/dist/ai/utils/overflow.d.ts.map +1 -1
- package/dist/ai/utils/overflow.js +28 -92
- package/dist/ai/utils/overflow.js.map +1 -1
- package/dist/ai/utils/provider-adapter.d.ts +57 -0
- package/dist/ai/utils/provider-adapter.d.ts.map +1 -0
- package/dist/ai/utils/provider-adapter.js +28 -0
- package/dist/ai/utils/provider-adapter.js.map +1 -0
- package/dist/ai/utils/provider-client-builder.d.ts +37 -0
- package/dist/ai/utils/provider-client-builder.d.ts.map +1 -0
- package/dist/ai/utils/provider-client-builder.js +50 -0
- package/dist/ai/utils/provider-client-builder.js.map +1 -0
- package/dist/ai/utils/provider-consolidation.d.ts +4 -0
- package/dist/ai/utils/provider-consolidation.d.ts.map +1 -0
- package/dist/ai/utils/provider-consolidation.js +33 -0
- package/dist/ai/utils/provider-consolidation.js.map +1 -0
- package/dist/ai/utils/provider-constants.d.ts +35 -0
- package/dist/ai/utils/provider-constants.d.ts.map +1 -0
- package/dist/ai/utils/provider-constants.js +35 -0
- package/dist/ai/utils/provider-constants.js.map +1 -0
- package/dist/ai/utils/provider-errors.d.ts +46 -0
- package/dist/ai/utils/provider-errors.d.ts.map +1 -0
- package/dist/ai/utils/provider-errors.js +101 -0
- package/dist/ai/utils/provider-errors.js.map +1 -0
- package/dist/ai/utils/sanitize-unicode.d.ts +1 -0
- package/dist/ai/utils/sanitize-unicode.d.ts.map +1 -1
- package/dist/ai/utils/sanitize-unicode.js +16 -0
- package/dist/ai/utils/sanitize-unicode.js.map +1 -1
- package/dist/ai/utils/stream-event-helper.d.ts +28 -0
- package/dist/ai/utils/stream-event-helper.d.ts.map +1 -0
- package/dist/ai/utils/stream-event-helper.js +49 -0
- package/dist/ai/utils/stream-event-helper.js.map +1 -0
- package/dist/ai/utils/stream-handler-types.d.ts +43 -0
- package/dist/ai/utils/stream-handler-types.d.ts.map +1 -0
- package/dist/ai/utils/stream-handler-types.js +18 -0
- package/dist/ai/utils/stream-handler-types.js.map +1 -0
- package/dist/ai/utils/streaming-state-manager.d.ts +50 -0
- package/dist/ai/utils/streaming-state-manager.d.ts.map +1 -0
- package/dist/ai/utils/streaming-state-manager.js +65 -0
- package/dist/ai/utils/streaming-state-manager.js.map +1 -0
- package/dist/ai/utils/tool-converter.d.ts +50 -0
- package/dist/ai/utils/tool-converter.d.ts.map +1 -0
- package/dist/ai/utils/tool-converter.js +54 -0
- package/dist/ai/utils/tool-converter.js.map +1 -0
- package/dist/ai/utils/typebox-helpers.d.ts +6 -1
- package/dist/ai/utils/typebox-helpers.d.ts.map +1 -1
- package/dist/ai/utils/typebox-helpers.js +7 -0
- package/dist/ai/utils/typebox-helpers.js.map +1 -1
- package/dist/ai/utils/validation.d.ts +6 -0
- package/dist/ai/utils/validation.d.ts.map +1 -1
- package/dist/ai/utils/validation.js +23 -9
- package/dist/ai/utils/validation.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/tui/autocomplete.d.ts +17 -0
- package/dist/tui/autocomplete.d.ts.map +1 -1
- package/dist/tui/autocomplete.js +33 -3
- package/dist/tui/autocomplete.js.map +1 -1
- package/dist/tui/components/box.d.ts +2 -2
- package/dist/tui/components/box.d.ts.map +1 -1
- package/dist/tui/components/box.js +7 -5
- package/dist/tui/components/box.js.map +1 -1
- package/dist/tui/components/cancellable-loader.d.ts +1 -0
- package/dist/tui/components/cancellable-loader.d.ts.map +1 -1
- package/dist/tui/components/cancellable-loader.js +4 -0
- package/dist/tui/components/cancellable-loader.js.map +1 -1
- package/dist/tui/components/editor.d.ts +2 -2
- package/dist/tui/components/editor.d.ts.map +1 -1
- package/dist/tui/components/editor.js +6 -3
- package/dist/tui/components/editor.js.map +1 -1
- package/dist/tui/components/image.d.ts +2 -2
- package/dist/tui/components/image.d.ts.map +1 -1
- package/dist/tui/components/image.js +35 -33
- package/dist/tui/components/image.js.map +1 -1
- package/dist/tui/components/input.d.ts +2 -2
- package/dist/tui/components/input.d.ts.map +1 -1
- package/dist/tui/components/input.js +6 -3
- package/dist/tui/components/input.js.map +1 -1
- package/dist/tui/components/loader.d.ts +2 -0
- package/dist/tui/components/loader.d.ts.map +1 -1
- package/dist/tui/components/loader.js +8 -0
- package/dist/tui/components/loader.js.map +1 -1
- package/dist/tui/components/markdown.d.ts +2 -2
- package/dist/tui/components/markdown.d.ts.map +1 -1
- package/dist/tui/components/markdown.js +61 -57
- package/dist/tui/components/markdown.js.map +1 -1
- package/dist/tui/components/select-list.d.ts +2 -2
- package/dist/tui/components/select-list.d.ts.map +1 -1
- package/dist/tui/components/select-list.js +79 -71
- package/dist/tui/components/select-list.js.map +1 -1
- package/dist/tui/components/settings-list.d.ts +2 -2
- package/dist/tui/components/settings-list.d.ts.map +1 -1
- package/dist/tui/components/settings-list.js +12 -1
- package/dist/tui/components/settings-list.js.map +1 -1
- package/dist/tui/components/spacer.d.ts +3 -3
- package/dist/tui/components/spacer.d.ts.map +1 -1
- package/dist/tui/components/spacer.js +13 -8
- package/dist/tui/components/spacer.js.map +1 -1
- package/dist/tui/components/text-renderer.d.ts +7 -0
- package/dist/tui/components/text-renderer.d.ts.map +1 -0
- package/dist/tui/components/text-renderer.js +25 -0
- package/dist/tui/components/text-renderer.js.map +1 -0
- package/dist/tui/components/text.d.ts +2 -4
- package/dist/tui/components/text.d.ts.map +1 -1
- package/dist/tui/components/text.js +35 -54
- package/dist/tui/components/text.js.map +1 -1
- package/dist/tui/components/truncated-text.d.ts +2 -2
- package/dist/tui/components/truncated-text.d.ts.map +1 -1
- package/dist/tui/components/truncated-text.js +7 -4
- package/dist/tui/components/truncated-text.js.map +1 -1
- package/dist/tui/editor-component.d.ts +2 -0
- package/dist/tui/editor-component.d.ts.map +1 -1
- package/dist/tui/fuzzy.d.ts +10 -0
- package/dist/tui/fuzzy.d.ts.map +1 -1
- package/dist/tui/fuzzy.js +75 -56
- package/dist/tui/fuzzy.js.map +1 -1
- package/dist/tui/keybindings.d.ts +16 -3
- package/dist/tui/keybindings.d.ts.map +1 -1
- package/dist/tui/keybindings.js +68 -12
- package/dist/tui/keybindings.js.map +1 -1
- package/dist/tui/keys.d.ts +5 -0
- package/dist/tui/keys.d.ts.map +1 -1
- package/dist/tui/keys.js +72 -1
- package/dist/tui/keys.js.map +1 -1
- package/dist/tui/stdin-buffer.d.ts +5 -0
- package/dist/tui/stdin-buffer.d.ts.map +1 -1
- package/dist/tui/stdin-buffer.js +20 -7
- package/dist/tui/stdin-buffer.js.map +1 -1
- package/dist/tui/terminal-image.d.ts.map +1 -1
- package/dist/tui/terminal-image.js +17 -6
- package/dist/tui/terminal-image.js.map +1 -1
- package/dist/tui/terminal.d.ts +15 -0
- package/dist/tui/terminal.d.ts.map +1 -1
- package/dist/tui/terminal.js +39 -6
- package/dist/tui/terminal.js.map +1 -1
- package/dist/tui/tui.d.ts +50 -4
- package/dist/tui/tui.d.ts.map +1 -1
- package/dist/tui/tui.js +201 -186
- package/dist/tui/tui.js.map +1 -1
- package/dist/tui/utils.d.ts +19 -0
- package/dist/tui/utils.d.ts.map +1 -1
- package/dist/tui/utils.js +39 -0
- package/dist/tui/utils.js.map +1 -1
- package/package.json +7 -9
- package/dist/webui/ChatPanel.d.ts +0 -28
- package/dist/webui/ChatPanel.d.ts.map +0 -1
- package/dist/webui/ChatPanel.js +0 -193
- package/dist/webui/ChatPanel.js.map +0 -1
- package/dist/webui/components/AgentInterface.d.ts +0 -39
- package/dist/webui/components/AgentInterface.d.ts.map +0 -1
- package/dist/webui/components/AgentInterface.js +0 -371
- package/dist/webui/components/AgentInterface.js.map +0 -1
- package/dist/webui/components/AttachmentTile.d.ts +0 -12
- package/dist/webui/components/AttachmentTile.d.ts.map +0 -1
- package/dist/webui/components/AttachmentTile.js +0 -111
- package/dist/webui/components/AttachmentTile.js.map +0 -1
- package/dist/webui/components/ConsoleBlock.d.ts +0 -12
- package/dist/webui/components/ConsoleBlock.d.ts.map +0 -1
- package/dist/webui/components/ConsoleBlock.js +0 -84
- package/dist/webui/components/ConsoleBlock.js.map +0 -1
- package/dist/webui/components/CustomProviderCard.d.ts +0 -17
- package/dist/webui/components/CustomProviderCard.d.ts.map +0 -1
- package/dist/webui/components/CustomProviderCard.js +0 -110
- package/dist/webui/components/CustomProviderCard.js.map +0 -1
- package/dist/webui/components/ExpandableSection.d.ts +0 -15
- package/dist/webui/components/ExpandableSection.d.ts.map +0 -1
- package/dist/webui/components/ExpandableSection.js +0 -63
- package/dist/webui/components/ExpandableSection.js.map +0 -1
- package/dist/webui/components/Input.d.ts +0 -26
- package/dist/webui/components/Input.d.ts.map +0 -1
- package/dist/webui/components/Input.js +0 -57
- package/dist/webui/components/Input.js.map +0 -1
- package/dist/webui/components/MessageEditor.d.ts +0 -44
- package/dist/webui/components/MessageEditor.d.ts.map +0 -1
- package/dist/webui/components/MessageEditor.js +0 -414
- package/dist/webui/components/MessageEditor.js.map +0 -1
- package/dist/webui/components/MessageList.d.ts +0 -14
- package/dist/webui/components/MessageList.d.ts.map +0 -1
- package/dist/webui/components/MessageList.js +0 -104
- package/dist/webui/components/MessageList.js.map +0 -1
- package/dist/webui/components/Messages.d.ts +0 -94
- package/dist/webui/components/Messages.d.ts.map +0 -1
- package/dist/webui/components/Messages.js +0 -352
- package/dist/webui/components/Messages.js.map +0 -1
- package/dist/webui/components/ProviderKeyInput.d.ts +0 -16
- package/dist/webui/components/ProviderKeyInput.d.ts.map +0 -1
- package/dist/webui/components/ProviderKeyInput.js +0 -171
- package/dist/webui/components/ProviderKeyInput.js.map +0 -1
- package/dist/webui/components/SandboxedIframe.d.ts +0 -85
- package/dist/webui/components/SandboxedIframe.d.ts.map +0 -1
- package/dist/webui/components/SandboxedIframe.js +0 -511
- package/dist/webui/components/SandboxedIframe.js.map +0 -1
- package/dist/webui/components/StreamingMessageContainer.d.ts +0 -19
- package/dist/webui/components/StreamingMessageContainer.d.ts.map +0 -1
- package/dist/webui/components/StreamingMessageContainer.js +0 -117
- package/dist/webui/components/StreamingMessageContainer.js.map +0 -1
- package/dist/webui/components/ThinkingBlock.d.ts +0 -11
- package/dist/webui/components/ThinkingBlock.d.ts.map +0 -1
- package/dist/webui/components/ThinkingBlock.js +0 -58
- package/dist/webui/components/ThinkingBlock.js.map +0 -1
- package/dist/webui/components/message-renderer-registry.d.ts +0 -12
- package/dist/webui/components/message-renderer-registry.d.ts.map +0 -1
- package/dist/webui/components/message-renderer-registry.js +0 -12
- package/dist/webui/components/message-renderer-registry.js.map +0 -1
- package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.d.ts +0 -35
- package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.d.ts.map +0 -1
- package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.js +0 -189
- package/dist/webui/components/sandbox/ArtifactsRuntimeProvider.js.map +0 -1
- package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.d.ts +0 -17
- package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.d.ts.map +0 -1
- package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.js +0 -64
- package/dist/webui/components/sandbox/AttachmentsRuntimeProvider.js.map +0 -1
- package/dist/webui/components/sandbox/ConsoleRuntimeProvider.d.ts +0 -42
- package/dist/webui/components/sandbox/ConsoleRuntimeProvider.d.ts.map +0 -1
- package/dist/webui/components/sandbox/ConsoleRuntimeProvider.js +0 -161
- package/dist/webui/components/sandbox/ConsoleRuntimeProvider.js.map +0 -1
- package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.d.ts +0 -30
- package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.d.ts.map +0 -1
- package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.js +0 -97
- package/dist/webui/components/sandbox/FileDownloadRuntimeProvider.js.map +0 -1
- package/dist/webui/components/sandbox/RuntimeMessageBridge.d.ts +0 -19
- package/dist/webui/components/sandbox/RuntimeMessageBridge.d.ts.map +0 -1
- package/dist/webui/components/sandbox/RuntimeMessageBridge.js +0 -74
- package/dist/webui/components/sandbox/RuntimeMessageBridge.js.map +0 -1
- package/dist/webui/components/sandbox/RuntimeMessageRouter.d.ts +0 -65
- package/dist/webui/components/sandbox/RuntimeMessageRouter.d.ts.map +0 -1
- package/dist/webui/components/sandbox/RuntimeMessageRouter.js +0 -168
- package/dist/webui/components/sandbox/RuntimeMessageRouter.js.map +0 -1
- package/dist/webui/components/sandbox/SandboxRuntimeProvider.d.ts +0 -48
- package/dist/webui/components/sandbox/SandboxRuntimeProvider.d.ts.map +0 -1
- package/dist/webui/components/sandbox/SandboxRuntimeProvider.js +0 -2
- package/dist/webui/components/sandbox/SandboxRuntimeProvider.js.map +0 -1
- package/dist/webui/dialogs/ApiKeyPromptDialog.d.ts +0 -15
- package/dist/webui/dialogs/ApiKeyPromptDialog.d.ts.map +0 -1
- package/dist/webui/dialogs/ApiKeyPromptDialog.js +0 -79
- package/dist/webui/dialogs/ApiKeyPromptDialog.js.map +0 -1
- package/dist/webui/dialogs/AttachmentOverlay.d.ts +0 -32
- package/dist/webui/dialogs/AttachmentOverlay.d.ts.map +0 -1
- package/dist/webui/dialogs/AttachmentOverlay.js +0 -576
- package/dist/webui/dialogs/AttachmentOverlay.js.map +0 -1
- package/dist/webui/dialogs/CustomProviderDialog.d.ts +0 -25
- package/dist/webui/dialogs/CustomProviderDialog.d.ts.map +0 -1
- package/dist/webui/dialogs/CustomProviderDialog.js +0 -270
- package/dist/webui/dialogs/CustomProviderDialog.js.map +0 -1
- package/dist/webui/dialogs/ModelSelector.d.ts +0 -27
- package/dist/webui/dialogs/ModelSelector.d.ts.map +0 -1
- package/dist/webui/dialogs/ModelSelector.js +0 -320
- package/dist/webui/dialogs/ModelSelector.js.map +0 -1
- package/dist/webui/dialogs/PersistentStorageDialog.d.ts +0 -17
- package/dist/webui/dialogs/PersistentStorageDialog.d.ts.map +0 -1
- package/dist/webui/dialogs/PersistentStorageDialog.js +0 -147
- package/dist/webui/dialogs/PersistentStorageDialog.js.map +0 -1
- package/dist/webui/dialogs/ProvidersModelsTab.d.ts +0 -20
- package/dist/webui/dialogs/ProvidersModelsTab.d.ts.map +0 -1
- package/dist/webui/dialogs/ProvidersModelsTab.js +0 -191
- package/dist/webui/dialogs/ProvidersModelsTab.js.map +0 -1
- package/dist/webui/dialogs/SessionListDialog.d.ts +0 -19
- package/dist/webui/dialogs/SessionListDialog.d.ts.map +0 -1
- package/dist/webui/dialogs/SessionListDialog.js +0 -154
- package/dist/webui/dialogs/SessionListDialog.js.map +0 -1
- package/dist/webui/dialogs/SettingsDialog.d.ts +0 -30
- package/dist/webui/dialogs/SettingsDialog.d.ts.map +0 -1
- package/dist/webui/dialogs/SettingsDialog.js +0 -229
- package/dist/webui/dialogs/SettingsDialog.js.map +0 -1
- package/dist/webui/index.d.ts +0 -65
- package/dist/webui/index.d.ts.map +0 -1
- package/dist/webui/index.js +0 -68
- package/dist/webui/index.js.map +0 -1
- package/dist/webui/prompts/prompts.d.ts +0 -11
- package/dist/webui/prompts/prompts.d.ts.map +0 -1
- package/dist/webui/prompts/prompts.js +0 -272
- package/dist/webui/prompts/prompts.js.map +0 -1
- package/dist/webui/storage/app-storage.d.ts +0 -33
- package/dist/webui/storage/app-storage.d.ts.map +0 -1
- package/dist/webui/storage/app-storage.js +0 -38
- package/dist/webui/storage/app-storage.js.map +0 -1
- package/dist/webui/storage/backends/indexeddb-storage-backend.d.ts +0 -27
- package/dist/webui/storage/backends/indexeddb-storage-backend.d.ts.map +0 -1
- package/dist/webui/storage/backends/indexeddb-storage-backend.js +0 -166
- package/dist/webui/storage/backends/indexeddb-storage-backend.js.map +0 -1
- package/dist/webui/storage/store.d.ts +0 -23
- package/dist/webui/storage/store.d.ts.map +0 -1
- package/dist/webui/storage/store.js +0 -26
- package/dist/webui/storage/store.js.map +0 -1
- package/dist/webui/storage/stores/custom-providers-store.d.ts +0 -25
- package/dist/webui/storage/stores/custom-providers-store.d.ts.map +0 -1
- package/dist/webui/storage/stores/custom-providers-store.js +0 -35
- package/dist/webui/storage/stores/custom-providers-store.js.map +0 -1
- package/dist/webui/storage/stores/provider-keys-store.d.ts +0 -14
- package/dist/webui/storage/stores/provider-keys-store.d.ts.map +0 -1
- package/dist/webui/storage/stores/provider-keys-store.js +0 -27
- package/dist/webui/storage/stores/provider-keys-store.js.map +0 -1
- package/dist/webui/storage/stores/sessions-store.d.ts +0 -32
- package/dist/webui/storage/stores/sessions-store.d.ts.map +0 -1
- package/dist/webui/storage/stores/sessions-store.js +0 -113
- package/dist/webui/storage/stores/sessions-store.js.map +0 -1
- package/dist/webui/storage/stores/settings-store.d.ts +0 -14
- package/dist/webui/storage/stores/settings-store.d.ts.map +0 -1
- package/dist/webui/storage/stores/settings-store.js +0 -28
- package/dist/webui/storage/stores/settings-store.js.map +0 -1
- package/dist/webui/storage/types.d.ts +0 -176
- package/dist/webui/storage/types.d.ts.map +0 -1
- package/dist/webui/storage/types.js +0 -2
- package/dist/webui/storage/types.js.map +0 -1
- package/dist/webui/tools/artifacts/ArtifactElement.d.ts +0 -9
- package/dist/webui/tools/artifacts/ArtifactElement.d.ts.map +0 -1
- package/dist/webui/tools/artifacts/ArtifactElement.js +0 -11
- package/dist/webui/tools/artifacts/ArtifactElement.js.map +0 -1
- package/dist/webui/tools/artifacts/ArtifactPill.d.ts +0 -4
- package/dist/webui/tools/artifacts/ArtifactPill.d.ts.map +0 -1
- package/dist/webui/tools/artifacts/ArtifactPill.js +0 -23
- package/dist/webui/tools/artifacts/ArtifactPill.js.map +0 -1
- package/dist/webui/tools/artifacts/Console.d.ts +0 -18
- package/dist/webui/tools/artifacts/Console.d.ts.map +0 -1
- package/dist/webui/tools/artifacts/Console.js +0 -95
- package/dist/webui/tools/artifacts/Console.js.map +0 -1
- package/dist/webui/tools/artifacts/DocxArtifact.d.ts +0 -22
- package/dist/webui/tools/artifacts/DocxArtifact.d.ts.map +0 -1
- package/dist/webui/tools/artifacts/DocxArtifact.js +0 -208
- package/dist/webui/tools/artifacts/DocxArtifact.js.map +0 -1
- package/dist/webui/tools/artifacts/ExcelArtifact.d.ts +0 -24
- package/dist/webui/tools/artifacts/ExcelArtifact.d.ts.map +0 -1
- package/dist/webui/tools/artifacts/ExcelArtifact.js +0 -216
- package/dist/webui/tools/artifacts/ExcelArtifact.js.map +0 -1
- package/dist/webui/tools/artifacts/GenericArtifact.d.ts +0 -19
- package/dist/webui/tools/artifacts/GenericArtifact.d.ts.map +0 -1
- package/dist/webui/tools/artifacts/GenericArtifact.js +0 -117
- package/dist/webui/tools/artifacts/GenericArtifact.js.map +0 -1
- package/dist/webui/tools/artifacts/HtmlArtifact.d.ts +0 -27
- package/dist/webui/tools/artifacts/HtmlArtifact.d.ts.map +0 -1
- package/dist/webui/tools/artifacts/HtmlArtifact.js +0 -189
- package/dist/webui/tools/artifacts/HtmlArtifact.js.map +0 -1
- package/dist/webui/tools/artifacts/ImageArtifact.d.ts +0 -20
- package/dist/webui/tools/artifacts/ImageArtifact.d.ts.map +0 -1
- package/dist/webui/tools/artifacts/ImageArtifact.js +0 -120
- package/dist/webui/tools/artifacts/ImageArtifact.js.map +0 -1
- package/dist/webui/tools/artifacts/MarkdownArtifact.d.ts +0 -19
- package/dist/webui/tools/artifacts/MarkdownArtifact.d.ts.map +0 -1
- package/dist/webui/tools/artifacts/MarkdownArtifact.js +0 -82
- package/dist/webui/tools/artifacts/MarkdownArtifact.js.map +0 -1
- package/dist/webui/tools/artifacts/PdfArtifact.d.ts +0 -25
- package/dist/webui/tools/artifacts/PdfArtifact.d.ts.map +0 -1
- package/dist/webui/tools/artifacts/PdfArtifact.js +0 -184
- package/dist/webui/tools/artifacts/PdfArtifact.js.map +0 -1
- package/dist/webui/tools/artifacts/SvgArtifact.d.ts +0 -18
- package/dist/webui/tools/artifacts/SvgArtifact.d.ts.map +0 -1
- package/dist/webui/tools/artifacts/SvgArtifact.js +0 -78
- package/dist/webui/tools/artifacts/SvgArtifact.js.map +0 -1
- package/dist/webui/tools/artifacts/TextArtifact.d.ts +0 -19
- package/dist/webui/tools/artifacts/TextArtifact.d.ts.map +0 -1
- package/dist/webui/tools/artifacts/TextArtifact.js +0 -144
- package/dist/webui/tools/artifacts/TextArtifact.js.map +0 -1
- package/dist/webui/tools/artifacts/artifacts-tool-renderer.d.ts +0 -11
- package/dist/webui/tools/artifacts/artifacts-tool-renderer.d.ts.map +0 -1
- package/dist/webui/tools/artifacts/artifacts-tool-renderer.js +0 -272
- package/dist/webui/tools/artifacts/artifacts-tool-renderer.js.map +0 -1
- package/dist/webui/tools/artifacts/artifacts.d.ts +0 -63
- package/dist/webui/tools/artifacts/artifacts.d.ts.map +0 -1
- package/dist/webui/tools/artifacts/artifacts.js +0 -659
- package/dist/webui/tools/artifacts/artifacts.js.map +0 -1
- package/dist/webui/tools/artifacts/index.d.ts +0 -8
- package/dist/webui/tools/artifacts/index.d.ts.map +0 -1
- package/dist/webui/tools/artifacts/index.js +0 -8
- package/dist/webui/tools/artifacts/index.js.map +0 -1
- package/dist/webui/tools/extract-document.d.ts +0 -24
- package/dist/webui/tools/extract-document.d.ts.map +0 -1
- package/dist/webui/tools/extract-document.js +0 -216
- package/dist/webui/tools/extract-document.js.map +0 -1
- package/dist/webui/tools/index.d.ts +0 -16
- package/dist/webui/tools/index.d.ts.map +0 -1
- package/dist/webui/tools/index.js +0 -33
- package/dist/webui/tools/index.js.map +0 -1
- package/dist/webui/tools/javascript-repl.d.ts +0 -44
- package/dist/webui/tools/javascript-repl.d.ts.map +0 -1
- package/dist/webui/tools/javascript-repl.js +0 -224
- package/dist/webui/tools/javascript-repl.js.map +0 -1
- package/dist/webui/tools/renderer-registry.d.ts +0 -23
- package/dist/webui/tools/renderer-registry.d.ts.map +0 -1
- package/dist/webui/tools/renderer-registry.js +0 -107
- package/dist/webui/tools/renderer-registry.js.map +0 -1
- package/dist/webui/tools/renderers/BashRenderer.d.ts +0 -10
- package/dist/webui/tools/renderers/BashRenderer.d.ts.map +0 -1
- package/dist/webui/tools/renderers/BashRenderer.js +0 -42
- package/dist/webui/tools/renderers/BashRenderer.js.map +0 -1
- package/dist/webui/tools/renderers/CalculateRenderer.d.ts +0 -10
- package/dist/webui/tools/renderers/CalculateRenderer.d.ts.map +0 -1
- package/dist/webui/tools/renderers/CalculateRenderer.js +0 -45
- package/dist/webui/tools/renderers/CalculateRenderer.js.map +0 -1
- package/dist/webui/tools/renderers/DefaultRenderer.d.ts +0 -6
- package/dist/webui/tools/renderers/DefaultRenderer.d.ts.map +0 -1
- package/dist/webui/tools/renderers/DefaultRenderer.js +0 -94
- package/dist/webui/tools/renderers/DefaultRenderer.js.map +0 -1
- package/dist/webui/tools/renderers/GetCurrentTimeRenderer.d.ts +0 -10
- package/dist/webui/tools/renderers/GetCurrentTimeRenderer.d.ts.map +0 -1
- package/dist/webui/tools/renderers/GetCurrentTimeRenderer.js +0 -72
- package/dist/webui/tools/renderers/GetCurrentTimeRenderer.js.map +0 -1
- package/dist/webui/tools/types.d.ts +0 -10
- package/dist/webui/tools/types.d.ts.map +0 -1
- package/dist/webui/tools/types.js +0 -2
- package/dist/webui/tools/types.js.map +0 -1
- package/dist/webui/utils/attachment-utils.d.ts +0 -19
- package/dist/webui/utils/attachment-utils.d.ts.map +0 -1
- package/dist/webui/utils/attachment-utils.js +0 -415
- package/dist/webui/utils/attachment-utils.js.map +0 -1
- package/dist/webui/utils/auth-token.d.ts +0 -3
- package/dist/webui/utils/auth-token.d.ts.map +0 -1
- package/dist/webui/utils/auth-token.js +0 -19
- package/dist/webui/utils/auth-token.js.map +0 -1
- package/dist/webui/utils/format.d.ts +0 -6
- package/dist/webui/utils/format.d.ts.map +0 -1
- package/dist/webui/utils/format.js +0 -47
- package/dist/webui/utils/format.js.map +0 -1
- package/dist/webui/utils/i18n.d.ts +0 -636
- package/dist/webui/utils/i18n.d.ts.map +0 -1
- package/dist/webui/utils/i18n.js +0 -418
- package/dist/webui/utils/i18n.js.map +0 -1
- package/dist/webui/utils/model-discovery.d.ts +0 -38
- package/dist/webui/utils/model-discovery.d.ts.map +0 -1
- package/dist/webui/utils/model-discovery.js +0 -243
- package/dist/webui/utils/model-discovery.js.map +0 -1
- package/dist/webui/utils/proxy-utils.d.ts +0 -45
- package/dist/webui/utils/proxy-utils.d.ts.map +0 -1
- package/dist/webui/utils/proxy-utils.js +0 -116
- package/dist/webui/utils/proxy-utils.js.map +0 -1
- package/dist/webui/utils/test-sessions.d.ts +0 -359
- package/dist/webui/utils/test-sessions.d.ts.map +0 -1
- package/dist/webui/utils/test-sessions.js +0 -2325
- package/dist/webui/utils/test-sessions.js.map +0 -1
- package/dist/webui.d.ts +0 -2
- package/dist/webui.d.ts.map +0 -1
- package/dist/webui.js +0 -2
- package/dist/webui.js.map +0 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared error handling utilities for provider streaming.
|
|
3
|
+
*/
|
|
4
|
+
import type { StopReason } from "../types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Standardized error codes for provider errors.
|
|
7
|
+
*/
|
|
8
|
+
export declare enum ProviderErrorCode {
|
|
9
|
+
/** Authentication failed (invalid API key). */
|
|
10
|
+
AUTHENTICATION_FAILED = "AUTHENTICATION_FAILED",
|
|
11
|
+
/** Rate limit exceeded. */
|
|
12
|
+
RATE_LIMITED = "RATE_LIMITED",
|
|
13
|
+
/** Request timed out. */
|
|
14
|
+
TIMEOUT = "TIMEOUT",
|
|
15
|
+
/** Network connection error. */
|
|
16
|
+
NETWORK_ERROR = "NETWORK_ERROR",
|
|
17
|
+
/** Invalid request parameters. */
|
|
18
|
+
INVALID_REQUEST = "INVALID_REQUEST",
|
|
19
|
+
/** Provider service unavailable. */
|
|
20
|
+
SERVICE_UNAVAILABLE = "SERVICE_UNAVAILABLE",
|
|
21
|
+
/** Content policy violation. */
|
|
22
|
+
CONTENT_FILTERED = "CONTENT_FILTERED",
|
|
23
|
+
/** Unknown or unexpected error. */
|
|
24
|
+
UNKNOWN = "UNKNOWN"
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Standardized provider error.
|
|
28
|
+
*/
|
|
29
|
+
export declare class ProviderError extends Error {
|
|
30
|
+
readonly code: ProviderErrorCode;
|
|
31
|
+
readonly originalError?: unknown | undefined;
|
|
32
|
+
constructor(message: string, code: ProviderErrorCode, originalError?: unknown | undefined);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Map provider-specific stop reason to standardized StopReason.
|
|
36
|
+
*/
|
|
37
|
+
export declare function mapProviderStopReason(reason: string | null | undefined, provider: string): StopReason;
|
|
38
|
+
/**
|
|
39
|
+
* Create a standardized error response message.
|
|
40
|
+
*/
|
|
41
|
+
export declare function formatProviderError(error: unknown, providerName: string): string;
|
|
42
|
+
/**
|
|
43
|
+
* Check if an error is retryable.
|
|
44
|
+
*/
|
|
45
|
+
export declare function isRetryableError(error: unknown): boolean;
|
|
46
|
+
//# sourceMappingURL=provider-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-errors.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/provider-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,oBAAY,iBAAiB;IAC5B,+CAA+C;IAC/C,qBAAqB,0BAA0B;IAE/C,2BAA2B;IAC3B,YAAY,iBAAiB;IAE7B,yBAAyB;IACzB,OAAO,YAAY;IAEnB,gCAAgC;IAChC,aAAa,kBAAkB;IAE/B,kCAAkC;IAClC,eAAe,oBAAoB;IAEnC,oCAAoC;IACpC,mBAAmB,wBAAwB;IAE3C,gCAAgC;IAChC,gBAAgB,qBAAqB;IAErC,mCAAmC;IACnC,OAAO,YAAY;CACnB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;aAGtB,IAAI,EAAE,iBAAiB;aACvB,aAAa,CAAC,EAAE,OAAO;gBAFvC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,iBAAiB,EACvB,aAAa,CAAC,EAAE,OAAO,YAAA;CAKxC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAwBrG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAQhF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAuBxD"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared error handling utilities for provider streaming.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Standardized error codes for provider errors.
|
|
6
|
+
*/
|
|
7
|
+
export var ProviderErrorCode;
|
|
8
|
+
(function (ProviderErrorCode) {
|
|
9
|
+
/** Authentication failed (invalid API key). */
|
|
10
|
+
ProviderErrorCode["AUTHENTICATION_FAILED"] = "AUTHENTICATION_FAILED";
|
|
11
|
+
/** Rate limit exceeded. */
|
|
12
|
+
ProviderErrorCode["RATE_LIMITED"] = "RATE_LIMITED";
|
|
13
|
+
/** Request timed out. */
|
|
14
|
+
ProviderErrorCode["TIMEOUT"] = "TIMEOUT";
|
|
15
|
+
/** Network connection error. */
|
|
16
|
+
ProviderErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
|
|
17
|
+
/** Invalid request parameters. */
|
|
18
|
+
ProviderErrorCode["INVALID_REQUEST"] = "INVALID_REQUEST";
|
|
19
|
+
/** Provider service unavailable. */
|
|
20
|
+
ProviderErrorCode["SERVICE_UNAVAILABLE"] = "SERVICE_UNAVAILABLE";
|
|
21
|
+
/** Content policy violation. */
|
|
22
|
+
ProviderErrorCode["CONTENT_FILTERED"] = "CONTENT_FILTERED";
|
|
23
|
+
/** Unknown or unexpected error. */
|
|
24
|
+
ProviderErrorCode["UNKNOWN"] = "UNKNOWN";
|
|
25
|
+
})(ProviderErrorCode || (ProviderErrorCode = {}));
|
|
26
|
+
/**
|
|
27
|
+
* Standardized provider error.
|
|
28
|
+
*/
|
|
29
|
+
export class ProviderError extends Error {
|
|
30
|
+
constructor(message, code, originalError) {
|
|
31
|
+
super(message);
|
|
32
|
+
this.code = code;
|
|
33
|
+
this.originalError = originalError;
|
|
34
|
+
this.name = "ProviderError";
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Map provider-specific stop reason to standardized StopReason.
|
|
39
|
+
*/
|
|
40
|
+
export function mapProviderStopReason(reason, provider) {
|
|
41
|
+
if (!reason)
|
|
42
|
+
return "stop";
|
|
43
|
+
const lower = reason.toLowerCase();
|
|
44
|
+
switch (lower) {
|
|
45
|
+
case "stop":
|
|
46
|
+
case "end_turn":
|
|
47
|
+
case "stop_sequence":
|
|
48
|
+
return "stop";
|
|
49
|
+
case "max_tokens":
|
|
50
|
+
case "length":
|
|
51
|
+
return "length";
|
|
52
|
+
case "tool_use":
|
|
53
|
+
case "tool_calls":
|
|
54
|
+
case "function_call":
|
|
55
|
+
return "toolUse";
|
|
56
|
+
case "content_filter":
|
|
57
|
+
case "refusal":
|
|
58
|
+
case "safety":
|
|
59
|
+
return "error";
|
|
60
|
+
default:
|
|
61
|
+
return "error";
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Create a standardized error response message.
|
|
66
|
+
*/
|
|
67
|
+
export function formatProviderError(error, providerName) {
|
|
68
|
+
if (error instanceof ProviderError) {
|
|
69
|
+
return `[${providerName}] ${error.message} (${error.code})`;
|
|
70
|
+
}
|
|
71
|
+
if (error instanceof Error) {
|
|
72
|
+
return `[${providerName}] ${error.message}`;
|
|
73
|
+
}
|
|
74
|
+
return `[${providerName}] Unknown error: ${String(error)}`;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Check if an error is retryable.
|
|
78
|
+
*/
|
|
79
|
+
export function isRetryableError(error) {
|
|
80
|
+
if (error instanceof ProviderError) {
|
|
81
|
+
switch (error.code) {
|
|
82
|
+
case ProviderErrorCode.RATE_LIMITED:
|
|
83
|
+
case ProviderErrorCode.TIMEOUT:
|
|
84
|
+
case ProviderErrorCode.NETWORK_ERROR:
|
|
85
|
+
case ProviderErrorCode.SERVICE_UNAVAILABLE:
|
|
86
|
+
return true;
|
|
87
|
+
default:
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
if (error instanceof Error) {
|
|
92
|
+
const msg = error.message.toLowerCase();
|
|
93
|
+
return (msg.includes("rate limit") ||
|
|
94
|
+
msg.includes("timeout") ||
|
|
95
|
+
msg.includes("network") ||
|
|
96
|
+
msg.includes("econnreset") ||
|
|
97
|
+
msg.includes("etimedout"));
|
|
98
|
+
}
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=provider-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-errors.js","sourceRoot":"","sources":["../../../src/ai/utils/provider-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,CAAN,IAAY,iBAwBX;AAxBD,WAAY,iBAAiB;IAC5B,+CAA+C;IAC/C,oEAA+C,CAAA;IAE/C,2BAA2B;IAC3B,kDAA6B,CAAA;IAE7B,yBAAyB;IACzB,wCAAmB,CAAA;IAEnB,gCAAgC;IAChC,oDAA+B,CAAA;IAE/B,kCAAkC;IAClC,wDAAmC,CAAA;IAEnC,oCAAoC;IACpC,gEAA2C,CAAA;IAE3C,gCAAgC;IAChC,0DAAqC,CAAA;IAErC,mCAAmC;IACnC,wCAAmB,CAAA;AACpB,CAAC,EAxBW,iBAAiB,KAAjB,iBAAiB,QAwB5B;AAED;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IACvC,YACC,OAAe,EACC,IAAuB,EACvB,aAAuB;QAEvC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAmB;QACvB,kBAAa,GAAb,aAAa,CAAU;QAGvC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC7B,CAAC;CACD;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAiC,EAAE,QAAgB;IACxF,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAE3B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAEnC,QAAQ,KAAK,EAAE,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe;YACnB,OAAO,MAAM,CAAC;QACf,KAAK,YAAY,CAAC;QAClB,KAAK,QAAQ;YACZ,OAAO,QAAQ,CAAC;QACjB,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC;QAClB,KAAK,eAAe;YACnB,OAAO,SAAS,CAAC;QAClB,KAAK,gBAAgB,CAAC;QACtB,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACZ,OAAO,OAAO,CAAC;QAChB;YACC,OAAO,OAAO,CAAC;IACjB,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAc,EAAE,YAAoB;IACvE,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACpC,OAAO,IAAI,YAAY,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC;IAC7D,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC5B,OAAO,IAAI,YAAY,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,YAAY,oBAAoB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC9C,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;QACpC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,iBAAiB,CAAC,YAAY,CAAC;YACpC,KAAK,iBAAiB,CAAC,OAAO,CAAC;YAC/B,KAAK,iBAAiB,CAAC,aAAa,CAAC;YACrC,KAAK,iBAAiB,CAAC,mBAAmB;gBACzC,OAAO,IAAI,CAAC;YACb;gBACC,OAAO,KAAK,CAAC;QACf,CAAC;IACF,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACxC,OAAO,CACN,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1B,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;YACvB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;YACvB,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1B,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CACzB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize-unicode.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/sanitize-unicode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIvD"}
|
|
1
|
+
{"version":3,"file":"sanitize-unicode.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/sanitize-unicode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAerD"}
|
|
@@ -23,4 +23,20 @@ export function sanitizeSurrogates(text) {
|
|
|
23
23
|
// Replace unpaired low surrogates (0xDC00-0xDFFF not preceded by high surrogate)
|
|
24
24
|
return text.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g, "");
|
|
25
25
|
}
|
|
26
|
+
export function sanitizeUnknownUnicode(value) {
|
|
27
|
+
if (typeof value === "string") {
|
|
28
|
+
return sanitizeSurrogates(value);
|
|
29
|
+
}
|
|
30
|
+
if (Array.isArray(value)) {
|
|
31
|
+
return value.map((item) => sanitizeUnknownUnicode(item));
|
|
32
|
+
}
|
|
33
|
+
if (value && typeof value === "object") {
|
|
34
|
+
const out = {};
|
|
35
|
+
for (const [key, val] of Object.entries(value)) {
|
|
36
|
+
out[key] = sanitizeUnknownUnicode(val);
|
|
37
|
+
}
|
|
38
|
+
return out;
|
|
39
|
+
}
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
26
42
|
//# sourceMappingURL=sanitize-unicode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize-unicode.js","sourceRoot":"","sources":["../../../src/ai/utils/sanitize-unicode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC9C,iFAAiF;IACjF,iFAAiF;IACjF,OAAO,IAAI,CAAC,OAAO,CAAC,yEAAyE,EAAE,EAAE,CAAC,CAAC;AACpG,CAAC"}
|
|
1
|
+
{"version":3,"file":"sanitize-unicode.js","sourceRoot":"","sources":["../../../src/ai/utils/sanitize-unicode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC9C,iFAAiF;IACjF,iFAAiF;IACjF,OAAO,IAAI,CAAC,OAAO,CAAC,yEAAyE,EAAE,EAAE,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAI,KAAQ;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,kBAAkB,CAAC,KAAK,CAAM,CAAC;IACvC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAM,CAAC;IAC/D,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,GAAQ,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AssistantMessage, TextContent, ThinkingContent, ToolCall } from "../types.js";
|
|
2
|
+
import type { AssistantMessageEventStream } from "./event-stream.js";
|
|
3
|
+
export type StreamBlock = TextContent | ThinkingContent | ToolCall;
|
|
4
|
+
/** Utility for locating provider blocks by provider-native `index` values. */
|
|
5
|
+
export declare class BlockTracker<TBlock extends StreamBlock = StreamBlock> {
|
|
6
|
+
private readonly blocks;
|
|
7
|
+
constructor(output: AssistantMessage);
|
|
8
|
+
findByIndex(index: number): (TBlock & {
|
|
9
|
+
index?: number;
|
|
10
|
+
}) | undefined;
|
|
11
|
+
findPositionByIndex(index: number): number;
|
|
12
|
+
}
|
|
13
|
+
export declare class StreamEventHelper {
|
|
14
|
+
private readonly stream;
|
|
15
|
+
private readonly output;
|
|
16
|
+
constructor(stream: AssistantMessageEventStream, output: AssistantMessage);
|
|
17
|
+
start(): void;
|
|
18
|
+
textStart(contentIndex: number): void;
|
|
19
|
+
textDelta(contentIndex: number, delta: string): void;
|
|
20
|
+
textEnd(contentIndex: number, content: string): void;
|
|
21
|
+
thinkingStart(contentIndex: number): void;
|
|
22
|
+
thinkingDelta(contentIndex: number, delta: string): void;
|
|
23
|
+
thinkingEnd(contentIndex: number, content: string): void;
|
|
24
|
+
toolCallStart(contentIndex: number): void;
|
|
25
|
+
toolCallDelta(contentIndex: number, delta: string): void;
|
|
26
|
+
toolCallEnd(contentIndex: number, toolCall: ToolCall): void;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=stream-event-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-event-helper.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/stream-event-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,eAAe,GAAG,QAAQ,CAAC;AAEnE,8EAA8E;AAC9E,qBAAa,YAAY,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW;IACjE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEhD,MAAM,EAAE,gBAAgB;IAIpC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS;IAIrE,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAG1C;AAED,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,MAAM,EAAE,2BAA2B,EACnC,MAAM,EAAE,gBAAgB;IAG1C,KAAK,IAAI,IAAI;IAIb,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAGrC,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAGpD,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIpD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAGzC,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAGxD,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIxD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAGzC,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAGxD,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAG3D"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/** Utility for locating provider blocks by provider-native `index` values. */
|
|
2
|
+
export class BlockTracker {
|
|
3
|
+
constructor(output) {
|
|
4
|
+
this.blocks = output.content;
|
|
5
|
+
}
|
|
6
|
+
findByIndex(index) {
|
|
7
|
+
return this.blocks.find((b) => b.index === index);
|
|
8
|
+
}
|
|
9
|
+
findPositionByIndex(index) {
|
|
10
|
+
return this.blocks.findIndex((b) => b.index === index);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export class StreamEventHelper {
|
|
14
|
+
constructor(stream, output) {
|
|
15
|
+
this.stream = stream;
|
|
16
|
+
this.output = output;
|
|
17
|
+
}
|
|
18
|
+
start() {
|
|
19
|
+
this.stream.pushStart(this.output);
|
|
20
|
+
}
|
|
21
|
+
textStart(contentIndex) {
|
|
22
|
+
this.stream.pushTextStart(contentIndex, this.output);
|
|
23
|
+
}
|
|
24
|
+
textDelta(contentIndex, delta) {
|
|
25
|
+
this.stream.pushTextDelta(contentIndex, delta, this.output);
|
|
26
|
+
}
|
|
27
|
+
textEnd(contentIndex, content) {
|
|
28
|
+
this.stream.pushTextEnd(contentIndex, content, this.output);
|
|
29
|
+
}
|
|
30
|
+
thinkingStart(contentIndex) {
|
|
31
|
+
this.stream.pushThinkingStart(contentIndex, this.output);
|
|
32
|
+
}
|
|
33
|
+
thinkingDelta(contentIndex, delta) {
|
|
34
|
+
this.stream.pushThinkingDelta(contentIndex, delta, this.output);
|
|
35
|
+
}
|
|
36
|
+
thinkingEnd(contentIndex, content) {
|
|
37
|
+
this.stream.pushThinkingEnd(contentIndex, content, this.output);
|
|
38
|
+
}
|
|
39
|
+
toolCallStart(contentIndex) {
|
|
40
|
+
this.stream.pushToolCallStart(contentIndex, this.output);
|
|
41
|
+
}
|
|
42
|
+
toolCallDelta(contentIndex, delta) {
|
|
43
|
+
this.stream.pushToolCallDelta(contentIndex, delta, this.output);
|
|
44
|
+
}
|
|
45
|
+
toolCallEnd(contentIndex, toolCall) {
|
|
46
|
+
this.stream.pushToolCallEnd(contentIndex, toolCall, this.output);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=stream-event-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-event-helper.js","sourceRoot":"","sources":["../../../src/ai/utils/stream-event-helper.ts"],"names":[],"mappings":"AAKA,8EAA8E;AAC9E,MAAM,OAAO,YAAY;IAGxB,YAAY,MAAwB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAA6C,CAAC;IACpE,CAAC;IAED,WAAW,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,mBAAmB,CAAC,KAAa;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACxD,CAAC;CACD;AAED,MAAM,OAAO,iBAAiB;IAC7B,YACkB,MAAmC,EACnC,MAAwB;QADxB,WAAM,GAAN,MAAM,CAA6B;QACnC,WAAM,GAAN,MAAM,CAAkB;IACvC,CAAC;IAEJ,KAAK;QACJ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,CAAC,YAAoB;QAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IACD,SAAS,CAAC,YAAoB,EAAE,KAAa;QAC5C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,CAAC,YAAoB,EAAE,OAAe;QAC5C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,aAAa,CAAC,YAAoB;QACjC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,aAAa,CAAC,YAAoB,EAAE,KAAa;QAChD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IACD,WAAW,CAAC,YAAoB,EAAE,OAAe;QAChD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,aAAa,CAAC,YAAoB;QACjC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IACD,aAAa,CAAC,YAAoB,EAAE,KAAa;QAChD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IACD,WAAW,CAAC,YAAoB,EAAE,QAAkB;QACnD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;CACD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Api, AssistantMessage, Context, Model, StreamOptions } from "../types.js";
|
|
2
|
+
import type { AssistantMessageEventStream } from "./event-stream.js";
|
|
3
|
+
import type { StreamingStateManager } from "./streaming-state-manager.js";
|
|
4
|
+
/**
|
|
5
|
+
* Shared type definitions for stream handler implementations.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Context provided to stream handlers during execution.
|
|
9
|
+
*/
|
|
10
|
+
export interface StreamHandlerExecutionContext {
|
|
11
|
+
model: Model<Api>;
|
|
12
|
+
context: Context;
|
|
13
|
+
stream: AssistantMessageEventStream;
|
|
14
|
+
options?: StreamOptions;
|
|
15
|
+
signal?: AbortSignal;
|
|
16
|
+
state: StreamingStateManager;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Generic provider request shape (to be extended by each provider).
|
|
20
|
+
*/
|
|
21
|
+
export interface ProviderRequest {
|
|
22
|
+
[key: string]: unknown;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Generic provider response shape.
|
|
26
|
+
*/
|
|
27
|
+
export interface ProviderResponse {
|
|
28
|
+
[key: string]: unknown;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Abstract handler base with shared context typing.
|
|
32
|
+
*/
|
|
33
|
+
export declare abstract class TypedStreamHandler<TOptions extends StreamOptions = StreamOptions> {
|
|
34
|
+
protected readonly model: Model<Api>;
|
|
35
|
+
protected readonly context: Context;
|
|
36
|
+
protected readonly stream: AssistantMessageEventStream;
|
|
37
|
+
protected readonly options?: TOptions | undefined;
|
|
38
|
+
protected readonly signal?: AbortSignal | undefined;
|
|
39
|
+
constructor(model: Model<Api>, context: Context, stream: AssistantMessageEventStream, options?: TOptions | undefined, signal?: AbortSignal | undefined);
|
|
40
|
+
protected createStateManager(initialOutput: AssistantMessage): StreamingStateManager;
|
|
41
|
+
abstract execute(): AssistantMessageEventStream;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=stream-handler-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-handler-types.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/stream-handler-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC7C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,2BAA2B,CAAC;IACpC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,qBAAqB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,CAAE,GAAG,EAAE,MAAM,GAAI,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,CAAE,GAAG,EAAE,MAAM,GAAI,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,8BAAsB,kBAAkB,CAAC,QAAQ,SAAS,aAAa,GAAG,aAAa;IAErF,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO;IACnC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,2BAA2B;IACtD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ;IACrC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW;gBAJpB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,2BAA2B,EACnC,OAAO,CAAC,EAAE,QAAQ,YAAA,EAClB,MAAM,CAAC,EAAE,WAAW,YAAA;IAGxC,SAAS,CAAC,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,GAAG,qBAAqB;IAMpF,QAAQ,CAAC,OAAO,IAAI,2BAA2B;CAC/C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Abstract handler base with shared context typing.
|
|
3
|
+
*/
|
|
4
|
+
export class TypedStreamHandler {
|
|
5
|
+
constructor(model, context, stream, options, signal) {
|
|
6
|
+
this.model = model;
|
|
7
|
+
this.context = context;
|
|
8
|
+
this.stream = stream;
|
|
9
|
+
this.options = options;
|
|
10
|
+
this.signal = signal;
|
|
11
|
+
}
|
|
12
|
+
createStateManager(initialOutput) {
|
|
13
|
+
// Lazy import to avoid circular reference
|
|
14
|
+
const { StreamingStateManager } = require("./streaming-state-manager.js");
|
|
15
|
+
return new StreamingStateManager(initialOutput);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=stream-handler-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-handler-types.js","sourceRoot":"","sources":["../../../src/ai/utils/stream-handler-types.ts"],"names":[],"mappings":"AAkCA;;GAEG;AACH,MAAM,OAAgB,kBAAkB;IACvC,YACoB,KAAiB,EACjB,OAAgB,EAChB,MAAmC,EACnC,OAAkB,EAClB,MAAoB;QAJpB,UAAK,GAAL,KAAK,CAAY;QACjB,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAA6B;QACnC,YAAO,GAAP,OAAO,CAAW;QAClB,WAAM,GAAN,MAAM,CAAc;IACrC,CAAC;IAEM,kBAAkB,CAAC,aAA+B;QAC3D,0CAA0C;QAC1C,MAAM,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC1E,OAAO,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;CAGD"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { AssistantMessage, StopReason, Usage } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Centralized streaming state manager for provider handlers.
|
|
4
|
+
*
|
|
5
|
+
* Tracks output, usage, stop reason, and stream lifecycle in a single
|
|
6
|
+
* place to avoid duplicated state management across provider implementations.
|
|
7
|
+
*/
|
|
8
|
+
export declare class StreamingStateManager {
|
|
9
|
+
/** The mutable assistant output message being built. */
|
|
10
|
+
readonly output: AssistantMessage;
|
|
11
|
+
private _stopReason;
|
|
12
|
+
private _isComplete;
|
|
13
|
+
/**
|
|
14
|
+
* Create a new streaming state manager.
|
|
15
|
+
*
|
|
16
|
+
* @param initialOutput - The initial assistant output message.
|
|
17
|
+
*/
|
|
18
|
+
constructor(initialOutput: AssistantMessage);
|
|
19
|
+
/**
|
|
20
|
+
* Update usage fields from a partial usage update.
|
|
21
|
+
*
|
|
22
|
+
* @param update - Partial usage object with fields to update.
|
|
23
|
+
*/
|
|
24
|
+
setUsage(update: Partial<Usage>): void;
|
|
25
|
+
/**
|
|
26
|
+
* Update the stop reason.
|
|
27
|
+
*
|
|
28
|
+
* @param reason - New stop reason.
|
|
29
|
+
*/
|
|
30
|
+
setStopReason(reason: StopReason): void;
|
|
31
|
+
/**
|
|
32
|
+
* Get the current stop reason.
|
|
33
|
+
*/
|
|
34
|
+
get stopReason(): StopReason;
|
|
35
|
+
/**
|
|
36
|
+
* Mark streaming as complete.
|
|
37
|
+
*/
|
|
38
|
+
complete(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Check if streaming is marked complete.
|
|
41
|
+
*/
|
|
42
|
+
get isComplete(): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Mark streaming as errored.
|
|
45
|
+
*
|
|
46
|
+
* @param errorMessage - Human-readable error message.
|
|
47
|
+
*/
|
|
48
|
+
error(errorMessage: string): void;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=streaming-state-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming-state-manager.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/streaming-state-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEvE;;;;;GAKG;AACH,qBAAa,qBAAqB;IACjC,wDAAwD;IACxD,SAAgB,MAAM,EAAE,gBAAgB,CAAC;IAEzC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,WAAW,CAAS;IAE5B;;;;OAIG;gBAEF,aAAa,EAAE,gBAAgB;IAKhC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI;IAItC;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKvC;;OAEG;IACH,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;OAEG;IACH,QAAQ,IAAI,IAAI;IAIhB;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;CAMjC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized streaming state manager for provider handlers.
|
|
3
|
+
*
|
|
4
|
+
* Tracks output, usage, stop reason, and stream lifecycle in a single
|
|
5
|
+
* place to avoid duplicated state management across provider implementations.
|
|
6
|
+
*/
|
|
7
|
+
export class StreamingStateManager {
|
|
8
|
+
/**
|
|
9
|
+
* Create a new streaming state manager.
|
|
10
|
+
*
|
|
11
|
+
* @param initialOutput - The initial assistant output message.
|
|
12
|
+
*/
|
|
13
|
+
constructor(initialOutput) {
|
|
14
|
+
this._stopReason = "stop";
|
|
15
|
+
this._isComplete = false;
|
|
16
|
+
this.output = initialOutput;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Update usage fields from a partial usage update.
|
|
20
|
+
*
|
|
21
|
+
* @param update - Partial usage object with fields to update.
|
|
22
|
+
*/
|
|
23
|
+
setUsage(update) {
|
|
24
|
+
Object.assign(this.output.usage, update);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Update the stop reason.
|
|
28
|
+
*
|
|
29
|
+
* @param reason - New stop reason.
|
|
30
|
+
*/
|
|
31
|
+
setStopReason(reason) {
|
|
32
|
+
this._stopReason = reason;
|
|
33
|
+
this.output.stopReason = reason;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get the current stop reason.
|
|
37
|
+
*/
|
|
38
|
+
get stopReason() {
|
|
39
|
+
return this._stopReason;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Mark streaming as complete.
|
|
43
|
+
*/
|
|
44
|
+
complete() {
|
|
45
|
+
this._isComplete = true;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Check if streaming is marked complete.
|
|
49
|
+
*/
|
|
50
|
+
get isComplete() {
|
|
51
|
+
return this._isComplete;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Mark streaming as errored.
|
|
55
|
+
*
|
|
56
|
+
* @param errorMessage - Human-readable error message.
|
|
57
|
+
*/
|
|
58
|
+
error(errorMessage) {
|
|
59
|
+
this._isComplete = true;
|
|
60
|
+
this._stopReason = "error";
|
|
61
|
+
this.output.stopReason = "error";
|
|
62
|
+
this.output.errorMessage = errorMessage;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=streaming-state-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming-state-manager.js","sourceRoot":"","sources":["../../../src/ai/utils/streaming-state-manager.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IAOjC;;;;OAIG;IACH,YACC,aAA+B;QATxB,gBAAW,GAAe,MAAM,CAAC;QACjC,gBAAW,GAAG,KAAK,CAAC;QAU3B,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,MAAsB;QAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,MAAkB;QAC/B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,QAAQ;QACP,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAoB;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;IACzC,CAAC;CACD"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { Tool } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Shared conversion helpers for tool schemas across providers.
|
|
4
|
+
*
|
|
5
|
+
* This module provides utilities for converting between generic tool definitions
|
|
6
|
+
* and provider-specific tool schemas.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Normalize tool name to provider-specific format.
|
|
10
|
+
*
|
|
11
|
+
* @param name - Original tool name.
|
|
12
|
+
* @param maxLength - Maximum length for the normalized name (default: 64).
|
|
13
|
+
* @returns Normalized tool name.
|
|
14
|
+
*
|
|
15
|
+
* Default implementation removes special characters and truncates to maxLength.
|
|
16
|
+
*/
|
|
17
|
+
export declare function normalizeToolName(name: string, maxLength?: number): string;
|
|
18
|
+
/**
|
|
19
|
+
* Provider-agnostic tool schema shape.
|
|
20
|
+
*/
|
|
21
|
+
export interface ProviderToolSchema {
|
|
22
|
+
/** Tool name. */
|
|
23
|
+
name: string;
|
|
24
|
+
/** Tool description. */
|
|
25
|
+
description: string;
|
|
26
|
+
/** Tool parameters (JSON Schema). */
|
|
27
|
+
parameters: unknown;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Convert a generic tool to provider tool schema.
|
|
31
|
+
*
|
|
32
|
+
* @param tool - Generic tool definition.
|
|
33
|
+
* @returns Provider-specific tool schema.
|
|
34
|
+
*/
|
|
35
|
+
export declare function toProviderTool(tool: Tool): ProviderToolSchema;
|
|
36
|
+
/**
|
|
37
|
+
* Convert a provider tool schema back to generic tool.
|
|
38
|
+
*
|
|
39
|
+
* @param schema - Provider-specific tool schema.
|
|
40
|
+
* @returns Generic tool definition.
|
|
41
|
+
*/
|
|
42
|
+
export declare function fromProviderTool(schema: ProviderToolSchema): Tool;
|
|
43
|
+
/**
|
|
44
|
+
* Convert an array of generic tools to provider format.
|
|
45
|
+
*
|
|
46
|
+
* @param tools - Array of generic tool definitions.
|
|
47
|
+
* @returns Array of provider-specific tool schemas.
|
|
48
|
+
*/
|
|
49
|
+
export declare function convertTools(tools: Tool[]): ProviderToolSchema[];
|
|
50
|
+
//# sourceMappingURL=tool-converter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-converter.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/tool-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAW,GACpB,MAAM,CAER;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,UAAU,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,kBAAkB,CAM7D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAMjE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAEhE"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared conversion helpers for tool schemas across providers.
|
|
3
|
+
*
|
|
4
|
+
* This module provides utilities for converting between generic tool definitions
|
|
5
|
+
* and provider-specific tool schemas.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Normalize tool name to provider-specific format.
|
|
9
|
+
*
|
|
10
|
+
* @param name - Original tool name.
|
|
11
|
+
* @param maxLength - Maximum length for the normalized name (default: 64).
|
|
12
|
+
* @returns Normalized tool name.
|
|
13
|
+
*
|
|
14
|
+
* Default implementation removes special characters and truncates to maxLength.
|
|
15
|
+
*/
|
|
16
|
+
export function normalizeToolName(name, maxLength = 64) {
|
|
17
|
+
return name.replace(/[^a-zA-Z0-9_-]/g, "_").slice(0, maxLength);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Convert a generic tool to provider tool schema.
|
|
21
|
+
*
|
|
22
|
+
* @param tool - Generic tool definition.
|
|
23
|
+
* @returns Provider-specific tool schema.
|
|
24
|
+
*/
|
|
25
|
+
export function toProviderTool(tool) {
|
|
26
|
+
return {
|
|
27
|
+
name: tool.name,
|
|
28
|
+
description: tool.description,
|
|
29
|
+
parameters: tool.parameters,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Convert a provider tool schema back to generic tool.
|
|
34
|
+
*
|
|
35
|
+
* @param schema - Provider-specific tool schema.
|
|
36
|
+
* @returns Generic tool definition.
|
|
37
|
+
*/
|
|
38
|
+
export function fromProviderTool(schema) {
|
|
39
|
+
return {
|
|
40
|
+
name: schema.name,
|
|
41
|
+
description: schema.description,
|
|
42
|
+
parameters: schema.parameters,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Convert an array of generic tools to provider format.
|
|
47
|
+
*
|
|
48
|
+
* @param tools - Array of generic tool definitions.
|
|
49
|
+
* @returns Array of provider-specific tool schemas.
|
|
50
|
+
*/
|
|
51
|
+
export function convertTools(tools) {
|
|
52
|
+
return tools.map(toProviderTool);
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=tool-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-converter.js","sourceRoot":"","sources":["../../../src/ai/utils/tool-converter.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAChC,IAAY,EACZ,YAAoB,EAAE;IAEtB,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACjE,CAAC;AAcD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAU;IACxC,OAAO;QACN,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;KAC3B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA0B;IAC1D,OAAO;QACN,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAiB;KACpC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type TUnsafe } from "@sinclair/typebox";
|
|
1
|
+
import { type TSchema, type TUnsafe } from "@sinclair/typebox";
|
|
2
2
|
/**
|
|
3
3
|
* Creates a string enum schema compatible with Google's API and other providers
|
|
4
4
|
* that don't support anyOf/const patterns.
|
|
@@ -14,4 +14,9 @@ export declare function StringEnum<T extends readonly string[]>(values: T, optio
|
|
|
14
14
|
description?: string;
|
|
15
15
|
default?: T[number];
|
|
16
16
|
}): TUnsafe<T[number]>;
|
|
17
|
+
/**
|
|
18
|
+
* Produces a schema object safe for validator compilation.
|
|
19
|
+
* Useful when providers/tools pass non-plain schema values.
|
|
20
|
+
*/
|
|
21
|
+
export declare function normalizeSchemaForValidation(schema: TSchema): TSchema;
|
|
17
22
|
//# sourceMappingURL=typebox-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typebox-helpers.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/typebox-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"typebox-helpers.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/typebox-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAC;AAErE;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EACrD,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;CAAE,GACrD,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAOpB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAErE"}
|
|
@@ -18,4 +18,11 @@ export function StringEnum(values, options) {
|
|
|
18
18
|
...(options?.default && { default: options.default }),
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Produces a schema object safe for validator compilation.
|
|
23
|
+
* Useful when providers/tools pass non-plain schema values.
|
|
24
|
+
*/
|
|
25
|
+
export function normalizeSchemaForValidation(schema) {
|
|
26
|
+
return structuredClone(schema);
|
|
27
|
+
}
|
|
21
28
|
//# sourceMappingURL=typebox-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typebox-helpers.js","sourceRoot":"","sources":["../../../src/ai/utils/typebox-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"typebox-helpers.js","sourceRoot":"","sources":["../../../src/ai/utils/typebox-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAErE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CACzB,MAAS,EACT,OAAuD;IAEvD,OAAO,IAAI,CAAC,MAAM,CAAY;QAC7B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAa;QACnB,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;QACjE,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;KACrD,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAe;IAC3D,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
|