indusagi 0.12.6 → 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/index.d.ts +1 -0
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +2 -0
- package/dist/agent/index.js.map +1 -1
- 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 +56 -0
- package/dist/agent/tools/bash.d.ts.map +1 -0
- package/dist/agent/tools/bash.js +250 -0
- package/dist/agent/tools/bash.js.map +1 -0
- package/dist/agent/tools/edit-diff.d.ts +63 -0
- package/dist/agent/tools/edit-diff.d.ts.map +1 -0
- package/dist/agent/tools/edit-diff.js +241 -0
- package/dist/agent/tools/edit-diff.js.map +1 -0
- package/dist/agent/tools/edit.d.ts +42 -0
- package/dist/agent/tools/edit.d.ts.map +1 -0
- package/dist/agent/tools/edit.js +160 -0
- package/dist/agent/tools/edit.js.map +1 -0
- package/dist/agent/tools/find.d.ts +26 -0
- package/dist/agent/tools/find.d.ts.map +1 -0
- package/dist/agent/tools/find.js +135 -0
- package/dist/agent/tools/find.js.map +1 -0
- package/dist/agent/tools/grep.d.ts +43 -0
- package/dist/agent/tools/grep.d.ts.map +1 -0
- package/dist/agent/tools/grep.js +189 -0
- package/dist/agent/tools/grep.js.map +1 -0
- package/dist/agent/tools/index.d.ts +174 -0
- package/dist/agent/tools/index.d.ts.map +1 -0
- package/dist/agent/tools/index.js +142 -0
- package/dist/agent/tools/index.js.map +1 -0
- package/dist/agent/tools/ls.d.ts +40 -0
- package/dist/agent/tools/ls.d.ts.map +1 -0
- package/dist/agent/tools/ls.js +123 -0
- package/dist/agent/tools/ls.js.map +1 -0
- package/dist/agent/tools/path-utils.d.ts +8 -0
- package/dist/agent/tools/path-utils.d.ts.map +1 -0
- package/dist/agent/tools/path-utils.js +56 -0
- package/dist/agent/tools/path-utils.js.map +1 -0
- package/dist/agent/tools/read.d.ts +37 -0
- package/dist/agent/tools/read.d.ts.map +1 -0
- package/dist/agent/tools/read.js +168 -0
- package/dist/agent/tools/read.js.map +1 -0
- 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 +26 -0
- package/dist/agent/tools/task.d.ts.map +1 -0
- package/dist/agent/tools/task.js +36 -0
- package/dist/agent/tools/task.js.map +1 -0
- package/dist/agent/tools/todo-store.d.ts +24 -0
- package/dist/agent/tools/todo-store.d.ts.map +1 -0
- package/dist/agent/tools/todo-store.js +36 -0
- package/dist/agent/tools/todo-store.js.map +1 -0
- package/dist/agent/tools/todo.d.ts +30 -0
- package/dist/agent/tools/todo.d.ts.map +1 -0
- package/dist/agent/tools/todo.js +62 -0
- package/dist/agent/tools/todo.js.map +1 -0
- package/dist/agent/tools/truncate.d.ts +73 -0
- package/dist/agent/tools/truncate.d.ts.map +1 -0
- package/dist/agent/tools/truncate.js +205 -0
- package/dist/agent/tools/truncate.js.map +1 -0
- package/dist/agent/tools/utils/hook-runner.d.ts +14 -0
- package/dist/agent/tools/utils/hook-runner.d.ts.map +1 -0
- package/dist/agent/tools/utils/hook-runner.js +31 -0
- package/dist/agent/tools/utils/hook-runner.js.map +1 -0
- package/dist/agent/tools/utils/image-resize.d.ts +33 -0
- package/dist/agent/tools/utils/image-resize.d.ts.map +1 -0
- package/dist/agent/tools/utils/image-resize.js +47 -0
- package/dist/agent/tools/utils/image-resize.js.map +1 -0
- package/dist/agent/tools/utils/mime.d.ts +10 -0
- package/dist/agent/tools/utils/mime.d.ts.map +1 -0
- package/dist/agent/tools/utils/mime.js +54 -0
- package/dist/agent/tools/utils/mime.js.map +1 -0
- package/dist/agent/tools/utils/shell.d.ts +35 -0
- package/dist/agent/tools/utils/shell.d.ts.map +1 -0
- package/dist/agent/tools/utils/shell.js +146 -0
- package/dist/agent/tools/utils/shell.js.map +1 -0
- package/dist/agent/tools/webfetch.d.ts +36 -0
- package/dist/agent/tools/webfetch.d.ts.map +1 -0
- package/dist/agent/tools/webfetch.js +247 -0
- package/dist/agent/tools/webfetch.js.map +1 -0
- package/dist/agent/tools/websearch.d.ts +35 -0
- package/dist/agent/tools/websearch.d.ts.map +1 -0
- package/dist/agent/tools/websearch.js +89 -0
- package/dist/agent/tools/websearch.js.map +1 -0
- package/dist/agent/tools/write.d.ts +31 -0
- package/dist/agent/tools/write.d.ts.map +1 -0
- package/dist/agent/tools/write.js +96 -0
- package/dist/agent/tools/write.js.map +1 -0
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-builtins.js","sourceRoot":"","sources":["../../../src/ai/providers/register-builtins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"register-builtins.js","sourceRoot":"","sources":["../../../src/ai/providers/register-builtins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAoB,MAAM,oBAAoB,CAAC;AAE9F,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC3G,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC3G,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAE3F,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAC9C,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEzC,SAAS,eAAe,CAAmB,QAA0C;IACpF,mBAAmB,CAAC,QAAQ,EAAE;QAC7B,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,IAAI;KACb,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B;IAC1C,eAAe,CAAC;QACf,GAAG,EAAE,oBAAoB;QACzB,MAAM,EAAE,eAAe;QACvB,YAAY,EAAE,qBAAqB;KACnC,CAAC,CAAC;IAEH,eAAe,CAAC;QACf,GAAG,EAAE,oBAAoB;QACzB,MAAM,EAAE,uBAAuB;QAC/B,YAAY,EAAE,6BAA6B;KAC3C,CAAC,CAAC;IAEH,eAAe,CAAC;QACf,GAAG,EAAE,kBAAkB;QACvB,MAAM,EAAE,qBAAqB;QAC7B,YAAY,EAAE,2BAA2B;KACzC,CAAC,CAAC;IAEH,eAAe,CAAC;QACf,GAAG,EAAE,wBAAwB;QAC7B,MAAM,EAAE,0BAA0B;QAClC,YAAY,EAAE,gCAAgC;KAC9C,CAAC,CAAC;IAEH,eAAe,CAAC;QACf,GAAG,EAAE,wBAAwB;QAC7B,MAAM,EAAE,0BAA0B;QAClC,YAAY,EAAE,gCAAgC;KAC9C,CAAC,CAAC;IAEH,eAAe,CAAC;QACf,GAAG,EAAE,sBAAsB;QAC3B,MAAM,EAAE,YAAY;QACpB,YAAY,EAAE,kBAAkB;KAChC,CAAC,CAAC;IAEH,eAAe,CAAC;QACf,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE,kBAAkB;QAC1B,YAAY,EAAE,wBAAwB;KACtC,CAAC,CAAC;IAEH,eAAe,CAAC;QACf,GAAG,EAAE,yBAAyB;QAC9B,MAAM,EAAE,aAAa;QACrB,YAAY,EAAE,mBAAmB;KACjC,CAAC,CAAC;IAEH,mGAAmG;AACpG,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,iBAAiB,EAAE,CAAC;IACpB,2BAA2B,EAAE,CAAC;AAC/B,CAAC;AAED,2BAA2B,EAAE,CAAC"}
|
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
import type { Api, Model, SimpleStreamOptions, StreamOptions, ThinkingBudgets, ThinkingLevel } from "../types.js";
|
|
2
|
+
export interface ProviderLifecycleHooks<TRequest = unknown, TResponse = unknown> {
|
|
3
|
+
onBeforeRequest?: (request: TRequest) => void | Promise<void>;
|
|
4
|
+
onAfterResponse?: (response: TResponse) => void | Promise<void>;
|
|
5
|
+
onError?: (error: unknown) => void | Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export interface RetryPolicy {
|
|
8
|
+
maxAttempts: number;
|
|
9
|
+
baseDelayMs: number;
|
|
10
|
+
maxDelayMs?: number;
|
|
11
|
+
shouldRetry?: (error: unknown, attempt: number) => boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare class SimpleOptionsProviderError extends Error {
|
|
14
|
+
readonly code: "rate_limit" | "timeout" | "network" | "validation" | "auth" | "unknown";
|
|
15
|
+
readonly cause?: unknown | undefined;
|
|
16
|
+
constructor(message: string, code?: "rate_limit" | "timeout" | "network" | "validation" | "auth" | "unknown", cause?: unknown | undefined);
|
|
17
|
+
}
|
|
18
|
+
export declare function normalizeProviderError(error: unknown): SimpleOptionsProviderError;
|
|
19
|
+
export declare function executeWithRetry<T>(operation: () => Promise<T>, policy: RetryPolicy): Promise<T>;
|
|
2
20
|
export declare function buildBaseOptions(model: Model<Api>, options?: SimpleStreamOptions, apiKey?: string): StreamOptions;
|
|
3
21
|
export declare function clampReasoning(effort: ThinkingLevel | undefined): Exclude<ThinkingLevel, "xhigh"> | undefined;
|
|
22
|
+
export declare function mapThinkingLevel(level: ThinkingLevel | undefined, provider?: "supports-xhigh" | "clamp-xhigh"): ThinkingLevel | Exclude<ThinkingLevel, "xhigh"> | undefined;
|
|
4
23
|
export declare function adjustMaxTokensForThinking(baseMaxTokens: number, modelMaxTokens: number, reasoningLevel: ThinkingLevel, customBudgets?: ThinkingBudgets): {
|
|
5
24
|
maxTokens: number;
|
|
6
25
|
thinkingBudget: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-options.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/simple-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAElH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAUjH;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,SAAS,CAE7G;AAED,wBAAgB,0BAA0B,CACzC,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,aAAa,EAC7B,aAAa,CAAC,EAAE,eAAe,GAC7B;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAmB/C"}
|
|
1
|
+
{"version":3,"file":"simple-options.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/simple-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAElH,MAAM,WAAW,sBAAsB,CAAC,QAAQ,GAAG,OAAO,EAAE,SAAS,GAAG,OAAO;IAC9E,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,WAAW;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3D;AAED,qBAAa,0BAA2B,SAAQ,KAAK;aAGnC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS;aAC9E,KAAK,CAAC,EAAE,OAAO;gBAF/B,OAAO,EAAE,MAAM,EACC,IAAI,GAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,SAAqB,EAC1F,KAAK,CAAC,EAAE,OAAO,YAAA;CAKhC;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B,CAsBjF;AAED,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAuBtG;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAUjH;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,SAAS,CAE7G;AAED,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,aAAa,GAAG,SAAS,EAChC,QAAQ,GAAE,gBAAgB,GAAG,aAA6B,GACxD,aAAa,GAAG,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,SAAS,CAI7D;AAED,wBAAgB,0BAA0B,CACzC,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,aAAa,EAC7B,aAAa,CAAC,EAAE,eAAe,GAC7B;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAmB/C"}
|
|
@@ -1,3 +1,58 @@
|
|
|
1
|
+
export class SimpleOptionsProviderError extends Error {
|
|
2
|
+
constructor(message, code = "unknown", cause) {
|
|
3
|
+
super(message);
|
|
4
|
+
this.code = code;
|
|
5
|
+
this.cause = cause;
|
|
6
|
+
this.name = "SimpleOptionsProviderError";
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export function normalizeProviderError(error) {
|
|
10
|
+
if (error instanceof SimpleOptionsProviderError)
|
|
11
|
+
return error;
|
|
12
|
+
if (error instanceof Error) {
|
|
13
|
+
const message = error.message.toLowerCase();
|
|
14
|
+
if (message.includes("rate") && message.includes("limit")) {
|
|
15
|
+
return new SimpleOptionsProviderError(error.message, "rate_limit", error);
|
|
16
|
+
}
|
|
17
|
+
if (message.includes("timeout") || message.includes("timed out")) {
|
|
18
|
+
return new SimpleOptionsProviderError(error.message, "timeout", error);
|
|
19
|
+
}
|
|
20
|
+
if (message.includes("network") || message.includes("fetch")) {
|
|
21
|
+
return new SimpleOptionsProviderError(error.message, "network", error);
|
|
22
|
+
}
|
|
23
|
+
if (message.includes("auth") || message.includes("unauthorized") || message.includes("forbidden")) {
|
|
24
|
+
return new SimpleOptionsProviderError(error.message, "auth", error);
|
|
25
|
+
}
|
|
26
|
+
if (message.includes("invalid") || message.includes("schema") || message.includes("validation")) {
|
|
27
|
+
return new SimpleOptionsProviderError(error.message, "validation", error);
|
|
28
|
+
}
|
|
29
|
+
return new SimpleOptionsProviderError(error.message, "unknown", error);
|
|
30
|
+
}
|
|
31
|
+
return new SimpleOptionsProviderError("Unknown provider error", "unknown", error);
|
|
32
|
+
}
|
|
33
|
+
export async function executeWithRetry(operation, policy) {
|
|
34
|
+
let attempt = 0;
|
|
35
|
+
let lastError;
|
|
36
|
+
while (attempt < policy.maxAttempts) {
|
|
37
|
+
attempt++;
|
|
38
|
+
try {
|
|
39
|
+
return await operation();
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
lastError = error;
|
|
43
|
+
const normalized = normalizeProviderError(error);
|
|
44
|
+
const defaultRetryable = normalized.code === "rate_limit" || normalized.code === "timeout" || normalized.code === "network";
|
|
45
|
+
const retryable = policy.shouldRetry ? policy.shouldRetry(error, attempt) : defaultRetryable;
|
|
46
|
+
if (!retryable || attempt >= policy.maxAttempts) {
|
|
47
|
+
throw normalized;
|
|
48
|
+
}
|
|
49
|
+
const maxDelay = policy.maxDelayMs ?? Number.MAX_SAFE_INTEGER;
|
|
50
|
+
const backoff = Math.min(policy.baseDelayMs * 2 ** (attempt - 1), maxDelay);
|
|
51
|
+
await new Promise((resolve) => setTimeout(resolve, backoff));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
throw normalizeProviderError(lastError);
|
|
55
|
+
}
|
|
1
56
|
export function buildBaseOptions(model, options, apiKey) {
|
|
2
57
|
return {
|
|
3
58
|
temperature: options?.temperature,
|
|
@@ -12,6 +67,13 @@ export function buildBaseOptions(model, options, apiKey) {
|
|
|
12
67
|
export function clampReasoning(effort) {
|
|
13
68
|
return effort === "xhigh" ? "high" : effort;
|
|
14
69
|
}
|
|
70
|
+
export function mapThinkingLevel(level, provider = "clamp-xhigh") {
|
|
71
|
+
if (!level)
|
|
72
|
+
return undefined;
|
|
73
|
+
if (provider === "supports-xhigh")
|
|
74
|
+
return level;
|
|
75
|
+
return clampReasoning(level);
|
|
76
|
+
}
|
|
15
77
|
export function adjustMaxTokensForThinking(baseMaxTokens, modelMaxTokens, reasoningLevel, customBudgets) {
|
|
16
78
|
const defaultBudgets = {
|
|
17
79
|
minimal: 1024,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-options.js","sourceRoot":"","sources":["../../../src/ai/providers/simple-options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"simple-options.js","sourceRoot":"","sources":["../../../src/ai/providers/simple-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
import type { Api, AssistantMessage, Message, Model } from "../types.js";
|
|
2
|
+
export interface MessageTransformContext<TApi extends Api> {
|
|
3
|
+
model: Model<TApi>;
|
|
4
|
+
normalizeToolCallId?: (id: string, model: Model<TApi>, source: AssistantMessage) => string;
|
|
5
|
+
debug?: (stage: string, details?: unknown) => void;
|
|
6
|
+
}
|
|
7
|
+
export interface MessageTransformation<TApi extends Api> {
|
|
8
|
+
name: string;
|
|
9
|
+
apply(messages: Message[], context: MessageTransformContext<TApi>): Message[];
|
|
10
|
+
}
|
|
11
|
+
export declare class MessageTransformationPipeline<TApi extends Api> {
|
|
12
|
+
private transformations;
|
|
13
|
+
addTransformation(transformation: MessageTransformation<TApi>): this;
|
|
14
|
+
transform(messages: Message[], context: MessageTransformContext<TApi>): Message[];
|
|
15
|
+
}
|
|
2
16
|
/**
|
|
3
17
|
* Normalize tool call ID for cross-provider compatibility.
|
|
4
18
|
* OpenAI Responses API generates IDs that are 450+ chars with special characters like `|`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-messages.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/transform-messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAA+B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"transform-messages.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/transform-messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAA+B,MAAM,aAAa,CAAC;AAGtG,MAAM,WAAW,uBAAuB,CAAC,IAAI,SAAS,GAAG;IACxD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,mBAAmB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAC;IAC3F,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,qBAAqB,CAAC,IAAI,SAAS,GAAG;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,uBAAuB,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;CAC9E;AAsID,qBAAa,6BAA6B,CAAC,IAAI,SAAS,GAAG;IAC1D,OAAO,CAAC,eAAe,CAAqC;IAE5D,iBAAiB,CAAC,cAAc,EAAE,qBAAqB,CAAC,IAAI,CAAC,GAAG,IAAI;IAKpE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,uBAAuB,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE;CAWjF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,SAAS,GAAG,EACjD,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,mBAAmB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,KAAK,MAAM,GACxF,OAAO,EAAE,CAMX"}
|
|
@@ -1,54 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (normalizedId && normalizedId !== msg.toolCallId) {
|
|
19
|
-
return { ...msg, toolCallId: normalizedId };
|
|
1
|
+
import { validateMessage } from "../types.js";
|
|
2
|
+
class NormalizeAssistantContentTransformation {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.name = "normalize-assistant-content";
|
|
5
|
+
}
|
|
6
|
+
apply(messages, context) {
|
|
7
|
+
const { model, normalizeToolCallId } = context;
|
|
8
|
+
const toolCallIdMap = new Map();
|
|
9
|
+
return messages.map((msg) => {
|
|
10
|
+
if (msg.role === "user")
|
|
11
|
+
return msg;
|
|
12
|
+
if (msg.role === "toolResult") {
|
|
13
|
+
const normalizedId = toolCallIdMap.get(msg.toolCallId);
|
|
14
|
+
if (normalizedId && normalizedId !== msg.toolCallId) {
|
|
15
|
+
return { ...msg, toolCallId: normalizedId };
|
|
16
|
+
}
|
|
17
|
+
return msg;
|
|
20
18
|
}
|
|
21
|
-
return msg;
|
|
22
|
-
}
|
|
23
|
-
// Assistant messages need transformation check
|
|
24
|
-
if (msg.role === "assistant") {
|
|
25
19
|
const assistantMsg = msg;
|
|
26
20
|
const isSameModel = assistantMsg.provider === model.provider &&
|
|
27
21
|
assistantMsg.api === model.api &&
|
|
28
22
|
assistantMsg.model === model.id;
|
|
29
23
|
const transformedContent = assistantMsg.content.flatMap((block) => {
|
|
30
24
|
if (block.type === "thinking") {
|
|
31
|
-
// For same model: keep thinking blocks with signatures (needed for replay)
|
|
32
|
-
// even if the thinking text is empty (OpenAI encrypted reasoning)
|
|
33
25
|
if (isSameModel && block.thinkingSignature)
|
|
34
26
|
return block;
|
|
35
|
-
// Skip empty thinking blocks, convert others to plain text
|
|
36
27
|
if (!block.thinking || block.thinking.trim() === "")
|
|
37
28
|
return [];
|
|
38
29
|
if (isSameModel)
|
|
39
30
|
return block;
|
|
40
|
-
return {
|
|
41
|
-
type: "text",
|
|
42
|
-
text: block.thinking,
|
|
43
|
-
};
|
|
31
|
+
return { type: "text", text: block.thinking };
|
|
44
32
|
}
|
|
45
33
|
if (block.type === "text") {
|
|
46
34
|
if (isSameModel)
|
|
47
35
|
return block;
|
|
48
|
-
return {
|
|
49
|
-
type: "text",
|
|
50
|
-
text: block.text,
|
|
51
|
-
};
|
|
36
|
+
return { type: "text", text: block.text };
|
|
52
37
|
}
|
|
53
38
|
if (block.type === "toolCall") {
|
|
54
39
|
const toolCall = block;
|
|
@@ -68,72 +53,50 @@ export function transformMessages(messages, model, normalizeToolCallId) {
|
|
|
68
53
|
}
|
|
69
54
|
return block;
|
|
70
55
|
});
|
|
71
|
-
return {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
result.push({
|
|
91
|
-
role: "toolResult",
|
|
92
|
-
toolCallId: tc.id,
|
|
93
|
-
toolName: tc.name,
|
|
94
|
-
content: [{ type: "text", text: "No result provided" }],
|
|
95
|
-
isError: true,
|
|
96
|
-
timestamp: Date.now(),
|
|
97
|
-
});
|
|
56
|
+
return { ...assistantMsg, content: transformedContent };
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
class InsertSyntheticToolResultsTransformation {
|
|
61
|
+
constructor() {
|
|
62
|
+
this.name = "insert-synthetic-tool-results";
|
|
63
|
+
}
|
|
64
|
+
apply(messages) {
|
|
65
|
+
const result = [];
|
|
66
|
+
let pendingToolCalls = [];
|
|
67
|
+
let existingToolResultIds = new Set();
|
|
68
|
+
for (const msg of messages) {
|
|
69
|
+
if (msg.role === "assistant") {
|
|
70
|
+
if (pendingToolCalls.length > 0) {
|
|
71
|
+
for (const tc of pendingToolCalls) {
|
|
72
|
+
if (!existingToolResultIds.has(tc.id)) {
|
|
73
|
+
result.push(this.syntheticToolResult(tc));
|
|
74
|
+
}
|
|
98
75
|
}
|
|
76
|
+
pendingToolCalls = [];
|
|
77
|
+
existingToolResultIds = new Set();
|
|
99
78
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
79
|
+
const assistantMsg = msg;
|
|
80
|
+
if (assistantMsg.stopReason === "error" || assistantMsg.stopReason === "aborted") {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
const toolCalls = assistantMsg.content.filter((b) => b.type === "toolCall");
|
|
84
|
+
if (toolCalls.length > 0) {
|
|
85
|
+
pendingToolCalls = toolCalls;
|
|
86
|
+
existingToolResultIds = new Set();
|
|
87
|
+
}
|
|
88
|
+
result.push(msg);
|
|
110
89
|
continue;
|
|
111
90
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
existingToolResultIds = new Set();
|
|
91
|
+
if (msg.role === "toolResult") {
|
|
92
|
+
existingToolResultIds.add(msg.toolCallId);
|
|
93
|
+
result.push(msg);
|
|
94
|
+
continue;
|
|
117
95
|
}
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
else if (msg.role === "toolResult") {
|
|
121
|
-
existingToolResultIds.add(msg.toolCallId);
|
|
122
|
-
result.push(msg);
|
|
123
|
-
}
|
|
124
|
-
else if (msg.role === "user") {
|
|
125
|
-
// User message interrupts tool flow - insert synthetic results for orphaned calls
|
|
126
|
-
if (pendingToolCalls.length > 0) {
|
|
96
|
+
if (msg.role === "user" && pendingToolCalls.length > 0) {
|
|
127
97
|
for (const tc of pendingToolCalls) {
|
|
128
98
|
if (!existingToolResultIds.has(tc.id)) {
|
|
129
|
-
result.push(
|
|
130
|
-
role: "toolResult",
|
|
131
|
-
toolCallId: tc.id,
|
|
132
|
-
toolName: tc.name,
|
|
133
|
-
content: [{ type: "text", text: "No result provided" }],
|
|
134
|
-
isError: true,
|
|
135
|
-
timestamp: Date.now(),
|
|
136
|
-
});
|
|
99
|
+
result.push(this.syntheticToolResult(tc));
|
|
137
100
|
}
|
|
138
101
|
}
|
|
139
102
|
pendingToolCalls = [];
|
|
@@ -141,10 +104,50 @@ export function transformMessages(messages, model, normalizeToolCallId) {
|
|
|
141
104
|
}
|
|
142
105
|
result.push(msg);
|
|
143
106
|
}
|
|
144
|
-
|
|
145
|
-
|
|
107
|
+
return result;
|
|
108
|
+
}
|
|
109
|
+
syntheticToolResult(toolCall) {
|
|
110
|
+
return {
|
|
111
|
+
role: "toolResult",
|
|
112
|
+
toolCallId: toolCall.id,
|
|
113
|
+
toolName: toolCall.name,
|
|
114
|
+
content: [{ type: "text", text: "No result provided" }],
|
|
115
|
+
isError: true,
|
|
116
|
+
timestamp: Date.now(),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
export class MessageTransformationPipeline {
|
|
121
|
+
constructor() {
|
|
122
|
+
this.transformations = [];
|
|
123
|
+
}
|
|
124
|
+
addTransformation(transformation) {
|
|
125
|
+
this.transformations.push(transformation);
|
|
126
|
+
return this;
|
|
127
|
+
}
|
|
128
|
+
transform(messages, context) {
|
|
129
|
+
for (const message of messages)
|
|
130
|
+
validateMessage(message);
|
|
131
|
+
let current = [...messages];
|
|
132
|
+
for (const transformation of this.transformations) {
|
|
133
|
+
context.debug?.(transformation.name, { before: current.length });
|
|
134
|
+
current = transformation.apply(current, context);
|
|
135
|
+
context.debug?.(transformation.name, { after: current.length });
|
|
136
|
+
for (const message of current)
|
|
137
|
+
validateMessage(message);
|
|
146
138
|
}
|
|
139
|
+
return current;
|
|
147
140
|
}
|
|
148
|
-
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Normalize tool call ID for cross-provider compatibility.
|
|
144
|
+
* OpenAI Responses API generates IDs that are 450+ chars with special characters like `|`.
|
|
145
|
+
* Anthropic APIs require IDs matching ^[a-zA-Z0-9_-]+$ (max 64 chars).
|
|
146
|
+
*/
|
|
147
|
+
export function transformMessages(messages, model, normalizeToolCallId) {
|
|
148
|
+
const pipeline = new MessageTransformationPipeline()
|
|
149
|
+
.addTransformation(new NormalizeAssistantContentTransformation())
|
|
150
|
+
.addTransformation(new InsertSyntheticToolResultsTransformation());
|
|
151
|
+
return pipeline.transform(messages, { model, normalizeToolCallId });
|
|
149
152
|
}
|
|
150
153
|
//# sourceMappingURL=transform-messages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-messages.js","sourceRoot":"","sources":["../../../src/ai/providers/transform-messages.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transform-messages.js","sourceRoot":"","sources":["../../../src/ai/providers/transform-messages.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/stream.d.ts
CHANGED
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
import "./providers/register-builtins.js";
|
|
2
2
|
import type { Api, AssistantMessage, AssistantMessageEventStream, Context, Model, ProviderStreamOptions, SimpleStreamOptions } from "./types.js";
|
|
3
3
|
export { getEnvApiKey } from "./env-api-keys.js";
|
|
4
|
+
export interface StreamLogger {
|
|
5
|
+
debug?: (message: string, details?: unknown) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare class StreamOptionsBuilder {
|
|
8
|
+
private options;
|
|
9
|
+
withTemperature(temperature: number): this;
|
|
10
|
+
withMaxTokens(maxTokens: number): this;
|
|
11
|
+
withApiKey(apiKey: string): this;
|
|
12
|
+
withHeader(name: string, value: string): this;
|
|
13
|
+
withSignal(signal: AbortSignal): this;
|
|
14
|
+
build(): ProviderStreamOptions;
|
|
15
|
+
}
|
|
16
|
+
export declare function stream<TApi extends Api>(model: Model<TApi>, context: Context, options?: ProviderStreamOptions, logger?: StreamLogger): AssistantMessageEventStream;
|
|
4
17
|
export declare function stream<TApi extends Api>(model: Model<TApi>, context: Context, options?: ProviderStreamOptions): AssistantMessageEventStream;
|
|
5
|
-
export declare function complete<TApi extends Api>(model: Model<TApi>, context: Context, options?: ProviderStreamOptions): Promise<AssistantMessage>;
|
|
6
|
-
export declare function streamSimple<TApi extends Api>(model: Model<TApi>, context: Context, options?: SimpleStreamOptions): AssistantMessageEventStream;
|
|
7
|
-
export declare function completeSimple<TApi extends Api>(model: Model<TApi>, context: Context, options?: SimpleStreamOptions): Promise<AssistantMessage>;
|
|
18
|
+
export declare function complete<TApi extends Api>(model: Model<TApi>, context: Context, options?: ProviderStreamOptions, logger?: StreamLogger): Promise<AssistantMessage>;
|
|
19
|
+
export declare function streamSimple<TApi extends Api>(model: Model<TApi>, context: Context, options?: SimpleStreamOptions, logger?: StreamLogger): AssistantMessageEventStream;
|
|
20
|
+
export declare function completeSimple<TApi extends Api>(model: Model<TApi>, context: Context, options?: SimpleStreamOptions, logger?: StreamLogger): Promise<AssistantMessage>;
|
|
21
|
+
export declare function streamByApi<TApi extends Api>(api: TApi, model: Model<TApi>, context: Context, options?: ProviderStreamOptions, logger?: StreamLogger): AssistantMessageEventStream;
|
|
8
22
|
//# sourceMappingURL=stream.d.ts.map
|
package/dist/ai/stream.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/ai/stream.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC;AAG1C,OAAO,KAAK,EACX,GAAG,EACH,gBAAgB,EAChB,2BAA2B,EAC3B,OAAO,EACP,KAAK,EACL,qBAAqB,EACrB,mBAAmB,EAEnB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/ai/stream.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC;AAG1C,OAAO,KAAK,EACX,GAAG,EACH,gBAAgB,EAChB,2BAA2B,EAC3B,OAAO,EACP,KAAK,EACL,qBAAqB,EACrB,mBAAmB,EAEnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC5B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,qBAAa,oBAAoB;IAChC,OAAO,CAAC,OAAO,CAA6B;IAE5C,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAK1C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKtC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKhC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7C,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAKrC,KAAK,IAAI,qBAAqB;CAG9B;AAgCD,wBAAgB,MAAM,CAAC,IAAI,SAAS,GAAG,EACtC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,qBAAqB,EAC/B,MAAM,CAAC,EAAE,YAAY,GACnB,2BAA2B,CAAC;AAC/B,wBAAgB,MAAM,CAAC,IAAI,SAAS,GAAG,EACtC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,qBAAqB,GAC7B,2BAA2B,CAAC;AAc/B,wBAAsB,QAAQ,CAAC,IAAI,SAAS,GAAG,EAC9C,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,qBAAqB,EAC/B,MAAM,CAAC,EAAE,YAAY,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAED,wBAAgB,YAAY,CAAC,IAAI,SAAS,GAAG,EAC5C,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,mBAAmB,EAC7B,MAAM,CAAC,EAAE,YAAY,GACnB,2BAA2B,CAM7B;AAED,wBAAsB,cAAc,CAAC,IAAI,SAAS,GAAG,EACpD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,mBAAmB,EAC7B,MAAM,CAAC,EAAE,YAAY,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAED,wBAAgB,WAAW,CAAC,IAAI,SAAS,GAAG,EAC3C,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,qBAAqB,EAC/B,MAAM,CAAC,EAAE,YAAY,GACnB,2BAA2B,CAK7B"}
|
package/dist/ai/stream.js
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
import "./providers/register-builtins.js";
|
|
2
2
|
import { getApiProvider } from "./api-registry.js";
|
|
3
|
+
import { validateContext } from "./types.js";
|
|
3
4
|
export { getEnvApiKey } from "./env-api-keys.js";
|
|
5
|
+
export class StreamOptionsBuilder {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.options = {};
|
|
8
|
+
}
|
|
9
|
+
withTemperature(temperature) {
|
|
10
|
+
this.options.temperature = temperature;
|
|
11
|
+
return this;
|
|
12
|
+
}
|
|
13
|
+
withMaxTokens(maxTokens) {
|
|
14
|
+
this.options.maxTokens = maxTokens;
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
withApiKey(apiKey) {
|
|
18
|
+
this.options.apiKey = apiKey;
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
withHeader(name, value) {
|
|
22
|
+
this.options.headers = { ...(this.options.headers ?? {}), [name]: value };
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
withSignal(signal) {
|
|
26
|
+
this.options.signal = signal;
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
build() {
|
|
30
|
+
return { ...this.options };
|
|
31
|
+
}
|
|
32
|
+
}
|
|
4
33
|
// Set up http proxy according to env variables for `fetch` based SDKs in Node.js.
|
|
5
34
|
// Bun has builtin support for this.
|
|
6
35
|
if (typeof process !== "undefined" && process.versions?.node) {
|
|
@@ -9,6 +38,17 @@ if (typeof process !== "undefined" && process.versions?.node) {
|
|
|
9
38
|
setGlobalDispatcher(new EnvHttpProxyAgent());
|
|
10
39
|
});
|
|
11
40
|
}
|
|
41
|
+
function validateModel(model) {
|
|
42
|
+
if (!model || typeof model !== "object")
|
|
43
|
+
throw new Error("Invalid model: expected object");
|
|
44
|
+
if (!model.api || typeof model.api !== "string")
|
|
45
|
+
throw new Error("Invalid model: api is required");
|
|
46
|
+
if (!model.id || typeof model.id !== "string")
|
|
47
|
+
throw new Error("Invalid model: id is required");
|
|
48
|
+
if (!model.provider || typeof model.provider !== "string") {
|
|
49
|
+
throw new Error("Invalid model: provider is required");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
12
52
|
function resolveApiProvider(api) {
|
|
13
53
|
const provider = getApiProvider(api);
|
|
14
54
|
if (!provider) {
|
|
@@ -16,20 +56,35 @@ function resolveApiProvider(api) {
|
|
|
16
56
|
}
|
|
17
57
|
return provider;
|
|
18
58
|
}
|
|
19
|
-
|
|
59
|
+
function log(logger, message, details) {
|
|
60
|
+
logger?.debug?.(message, details);
|
|
61
|
+
}
|
|
62
|
+
export function stream(model, context, options, logger) {
|
|
63
|
+
validateModel(model);
|
|
64
|
+
validateContext(context);
|
|
20
65
|
const provider = resolveApiProvider(model.api);
|
|
66
|
+
log(logger, "ai.stream.start", { api: model.api, model: model.id, hasTools: !!context.tools?.length });
|
|
21
67
|
return provider.stream(model, context, options);
|
|
22
68
|
}
|
|
23
|
-
export async function complete(model, context, options) {
|
|
24
|
-
const s = stream(model, context, options);
|
|
69
|
+
export async function complete(model, context, options, logger) {
|
|
70
|
+
const s = stream(model, context, options, logger);
|
|
25
71
|
return s.result();
|
|
26
72
|
}
|
|
27
|
-
export function streamSimple(model, context, options) {
|
|
73
|
+
export function streamSimple(model, context, options, logger) {
|
|
74
|
+
validateModel(model);
|
|
75
|
+
validateContext(context);
|
|
28
76
|
const provider = resolveApiProvider(model.api);
|
|
77
|
+
log(logger, "ai.stream.simple.start", { api: model.api, model: model.id });
|
|
29
78
|
return provider.streamSimple(model, context, options);
|
|
30
79
|
}
|
|
31
|
-
export async function completeSimple(model, context, options) {
|
|
32
|
-
const s = streamSimple(model, context, options);
|
|
80
|
+
export async function completeSimple(model, context, options, logger) {
|
|
81
|
+
const s = streamSimple(model, context, options, logger);
|
|
33
82
|
return s.result();
|
|
34
83
|
}
|
|
84
|
+
export function streamByApi(api, model, context, options, logger) {
|
|
85
|
+
if (model.api !== api) {
|
|
86
|
+
throw new Error(`Mismatched api: model=${model.api} expected=${api}`);
|
|
87
|
+
}
|
|
88
|
+
return stream(model, context, options, logger);
|
|
89
|
+
}
|
|
35
90
|
//# sourceMappingURL=stream.js.map
|
package/dist/ai/stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/ai/stream.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/ai/stream.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/types.d.ts
CHANGED
|
@@ -231,4 +231,21 @@ export interface Model<TApi extends Api> {
|
|
|
231
231
|
/** Compatibility overrides for OpenAI-compatible APIs. If not set, auto-detected from baseUrl. */
|
|
232
232
|
compat?: TApi extends "openai-completions" ? OpenAICompletionsCompat : TApi extends "openai-responses" ? OpenAIResponsesCompat : never;
|
|
233
233
|
}
|
|
234
|
+
/** Canonical known API identifiers supported by built-in providers. */
|
|
235
|
+
export declare const API_NAMES: readonly KnownApi[];
|
|
236
|
+
/** Canonical known provider identifiers. */
|
|
237
|
+
export declare const PROVIDER_NAMES: readonly KnownProvider[];
|
|
238
|
+
/** Stop reasons emitted by all providers. */
|
|
239
|
+
export declare const STOP_REASONS: readonly StopReason[];
|
|
240
|
+
export declare const isTextContent: (value: unknown) => value is TextContent;
|
|
241
|
+
export declare const isThinkingContent: (value: unknown) => value is ThinkingContent;
|
|
242
|
+
export declare const isImageContent: (value: unknown) => value is ImageContent;
|
|
243
|
+
export declare const isToolCall: (value: unknown) => value is ToolCall;
|
|
244
|
+
export declare const isUserMessage: (value: unknown) => value is UserMessage;
|
|
245
|
+
export declare const isAssistantMessage: (value: unknown) => value is AssistantMessage;
|
|
246
|
+
export declare const isToolResultMessage: (value: unknown) => value is ToolResultMessage;
|
|
247
|
+
export declare const isMessage: (value: unknown) => value is Message;
|
|
248
|
+
export declare function validateTool(tool: unknown): asserts tool is Tool;
|
|
249
|
+
export declare function validateMessage(message: unknown): asserts message is Message;
|
|
250
|
+
export declare function validateContext(context: unknown): asserts context is Context;
|
|
234
251
|
//# sourceMappingURL=types.d.ts.map
|