indusagi 0.12.18 → 0.12.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -37
- package/dist/agent/agent-loop.d.ts +3 -9
- package/dist/agent/agent-loop.d.ts.map +1 -1
- package/dist/agent/agent-loop.js +19 -58
- package/dist/agent/agent-loop.js.map +1 -1
- package/dist/agent/agent.d.ts +9 -10
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +182 -129
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/error-handler.d.ts.map +1 -1
- package/dist/agent/error-handler.js.map +1 -1
- package/dist/agent/event-bus.d.ts.map +1 -1
- package/dist/agent/event-bus.js +1 -3
- package/dist/agent/event-bus.js.map +1 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +0 -6
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/messages.d.ts +1 -1
- package/dist/agent/messages.d.ts.map +1 -1
- package/dist/agent/proxy.d.ts +1 -14
- package/dist/agent/proxy.d.ts.map +1 -1
- package/dist/agent/proxy.js +67 -148
- package/dist/agent/proxy.js.map +1 -1
- package/dist/agent/session-manager.d.ts +10 -10
- package/dist/agent/session-manager.d.ts.map +1 -1
- package/dist/agent/session-manager.js +20 -16
- package/dist/agent/session-manager.js.map +1 -1
- package/dist/agent/state-manager.d.ts +1 -1
- package/dist/agent/state-manager.d.ts.map +1 -1
- package/dist/agent/state-manager.js +1 -0
- package/dist/agent/state-manager.js.map +1 -1
- package/dist/agent/telemetry.d.ts.map +1 -1
- package/dist/agent/telemetry.js +1 -3
- package/dist/agent/telemetry.js.map +1 -1
- package/dist/agent/tools/bash.d.ts.map +1 -1
- package/dist/agent/tools/bash.js +143 -118
- package/dist/agent/tools/bash.js.map +1 -1
- package/dist/agent/tools/edit-diff.d.ts +1 -1
- package/dist/agent/tools/edit-diff.d.ts.map +1 -1
- package/dist/agent/tools/edit-diff.js +189 -175
- package/dist/agent/tools/edit-diff.js.map +1 -1
- package/dist/agent/tools/edit.d.ts.map +1 -1
- package/dist/agent/tools/edit.js +137 -121
- package/dist/agent/tools/edit.js.map +1 -1
- package/dist/agent/tools/find.d.ts.map +1 -1
- package/dist/agent/tools/find.js +100 -65
- 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 +126 -97
- package/dist/agent/tools/grep.js.map +1 -1
- package/dist/agent/tools/index.d.ts +53 -40
- package/dist/agent/tools/index.d.ts.map +1 -1
- package/dist/agent/tools/index.js +19 -12
- package/dist/agent/tools/index.js.map +1 -1
- package/dist/agent/tools/ls.d.ts +2 -1
- package/dist/agent/tools/ls.d.ts.map +1 -1
- package/dist/agent/tools/ls.js +145 -94
- 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 +48 -29
- package/dist/agent/tools/path-utils.js.map +1 -1
- package/dist/agent/tools/process-controller.d.ts +15 -0
- package/dist/agent/tools/process-controller.d.ts.map +1 -0
- package/dist/agent/tools/process-controller.js +39 -0
- package/dist/agent/tools/process-controller.js.map +1 -0
- package/dist/agent/tools/process-manager.d.ts +60 -0
- package/dist/agent/tools/process-manager.d.ts.map +1 -0
- package/dist/agent/tools/process-manager.js +485 -0
- package/dist/agent/tools/process-manager.js.map +1 -0
- package/dist/agent/tools/process-types.d.ts +74 -0
- package/dist/agent/tools/process-types.d.ts.map +1 -0
- package/dist/agent/tools/process-types.js +7 -0
- package/dist/agent/tools/process-types.js.map +1 -0
- package/dist/agent/tools/process.d.ts +38 -0
- package/dist/agent/tools/process.d.ts.map +1 -0
- package/dist/agent/tools/process.js +360 -0
- package/dist/agent/tools/process.js.map +1 -0
- package/dist/agent/tools/read.d.ts.map +1 -1
- package/dist/agent/tools/read.js +157 -135
- package/dist/agent/tools/read.js.map +1 -1
- package/dist/agent/tools/registry.js +2 -4
- package/dist/agent/tools/registry.js.map +1 -1
- package/dist/agent/tools/teams/activity-tracker.d.ts +66 -0
- package/dist/agent/tools/teams/activity-tracker.d.ts.map +1 -0
- package/dist/agent/tools/teams/activity-tracker.js +480 -0
- package/dist/agent/tools/teams/activity-tracker.js.map +1 -0
- package/dist/agent/tools/teams/cleanup.d.ts +51 -0
- package/dist/agent/tools/teams/cleanup.d.ts.map +1 -0
- package/dist/agent/tools/teams/cleanup.js +219 -0
- package/dist/agent/tools/teams/cleanup.js.map +1 -0
- package/dist/agent/tools/teams/fs-lock.d.ts +12 -0
- package/dist/agent/tools/teams/fs-lock.d.ts.map +1 -0
- package/dist/agent/tools/teams/fs-lock.js +74 -0
- package/dist/agent/tools/teams/fs-lock.js.map +1 -0
- package/dist/agent/tools/teams/index.d.ts +12 -0
- package/dist/agent/tools/teams/index.d.ts.map +1 -0
- package/dist/agent/tools/teams/index.js +12 -0
- package/dist/agent/tools/teams/index.js.map +1 -0
- package/dist/agent/tools/teams/mailbox.d.ts +21 -0
- package/dist/agent/tools/teams/mailbox.d.ts.map +1 -0
- package/dist/agent/tools/teams/mailbox.js +106 -0
- package/dist/agent/tools/teams/mailbox.js.map +1 -0
- package/dist/agent/tools/teams/model-policy.d.ts +23 -0
- package/dist/agent/tools/teams/model-policy.d.ts.map +1 -0
- package/dist/agent/tools/teams/model-policy.js +113 -0
- package/dist/agent/tools/teams/model-policy.js.map +1 -0
- package/dist/agent/tools/teams/names.d.ts +28 -0
- package/dist/agent/tools/teams/names.d.ts.map +1 -0
- package/dist/agent/tools/teams/names.js +109 -0
- package/dist/agent/tools/teams/names.js.map +1 -0
- package/dist/agent/tools/teams/protocol.d.ts +75 -0
- package/dist/agent/tools/teams/protocol.d.ts.map +1 -0
- package/dist/agent/tools/teams/protocol.js +205 -0
- package/dist/agent/tools/teams/protocol.js.map +1 -0
- package/dist/agent/tools/teams/task-store.d.ts +89 -0
- package/dist/agent/tools/teams/task-store.d.ts.map +1 -0
- package/dist/agent/tools/teams/task-store.js +445 -0
- package/dist/agent/tools/teams/task-store.js.map +1 -0
- package/dist/agent/tools/teams/team-attach-claim.d.ts +36 -0
- package/dist/agent/tools/teams/team-attach-claim.d.ts.map +1 -0
- package/dist/agent/tools/teams/team-attach-claim.js +144 -0
- package/dist/agent/tools/teams/team-attach-claim.js.map +1 -0
- package/dist/agent/tools/teams/team-config.d.ts +55 -0
- package/dist/agent/tools/teams/team-config.d.ts.map +1 -0
- package/dist/agent/tools/teams/team-config.js +252 -0
- package/dist/agent/tools/teams/team-config.js.map +1 -0
- package/dist/agent/tools/teams/worktree.d.ts +40 -0
- package/dist/agent/tools/teams/worktree.d.ts.map +1 -0
- package/dist/agent/tools/teams/worktree.js +213 -0
- package/dist/agent/tools/teams/worktree.js.map +1 -0
- package/dist/agent/tools/todo-store.js +2 -1
- package/dist/agent/tools/todo-store.js.map +1 -1
- package/dist/agent/tools/todo.d.ts +2 -2
- package/dist/agent/tools/todo.js +2 -2
- package/dist/agent/tools/truncate.d.ts.map +1 -1
- package/dist/agent/tools/truncate.js +150 -134
- package/dist/agent/tools/truncate.js.map +1 -1
- package/dist/agent/tools/utils/hook-runner.d.ts +9 -10
- package/dist/agent/tools/utils/hook-runner.d.ts.map +1 -1
- package/dist/agent/tools/utils/hook-runner.js +18 -16
- package/dist/agent/tools/utils/hook-runner.js.map +1 -1
- package/dist/agent/tools/utils/image-resize.d.ts +1 -14
- package/dist/agent/tools/utils/image-resize.d.ts.map +1 -1
- package/dist/agent/tools/utils/image-resize.js +80 -34
- package/dist/agent/tools/utils/image-resize.js.map +1 -1
- package/dist/agent/tools/utils/mime.d.ts +0 -8
- package/dist/agent/tools/utils/mime.d.ts.map +1 -1
- package/dist/agent/tools/utils/mime.js +43 -32
- package/dist/agent/tools/utils/mime.js.map +1 -1
- package/dist/agent/tools/utils/shell.d.ts +1 -23
- package/dist/agent/tools/utils/shell.d.ts.map +1 -1
- package/dist/agent/tools/utils/shell.js +43 -86
- package/dist/agent/tools/utils/shell.js.map +1 -1
- package/dist/agent/tools/write.d.ts.map +1 -1
- package/dist/agent/tools/write.js +105 -62
- package/dist/agent/tools/write.js.map +1 -1
- package/dist/agent/types.d.ts +69 -64
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js +38 -23
- package/dist/agent/types.js.map +1 -1
- package/dist/agent.d.ts +4 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +4 -0
- package/dist/agent.js.map +1 -1
- package/dist/ai/api-registry.d.ts.map +1 -1
- package/dist/ai/api-registry.js +3 -4
- package/dist/ai/api-registry.js.map +1 -1
- package/dist/ai/cli.js +62 -82
- package/dist/ai/cli.js.map +1 -1
- package/dist/ai/env-api-keys.d.ts.map +1 -1
- package/dist/ai/env-api-keys.js +78 -81
- package/dist/ai/env-api-keys.js.map +1 -1
- package/dist/ai/index.d.ts +6 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +6 -0
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/models.d.ts +7 -17
- package/dist/ai/models.d.ts.map +1 -1
- package/dist/ai/models.generated.d.ts +87 -244
- package/dist/ai/models.generated.d.ts.map +1 -1
- package/dist/ai/models.generated.js +82 -241
- package/dist/ai/models.generated.js.map +1 -1
- package/dist/ai/models.js +17 -11
- package/dist/ai/models.js.map +1 -1
- package/dist/ai/providers/amazon-bedrock.d.ts.map +1 -1
- package/dist/ai/providers/amazon-bedrock.js +319 -248
- package/dist/ai/providers/amazon-bedrock.js.map +1 -1
- package/dist/ai/providers/anthropic.d.ts.map +1 -1
- package/dist/ai/providers/anthropic.js +378 -324
- 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 +164 -123
- package/dist/ai/providers/azure-openai-responses.js.map +1 -1
- package/dist/ai/providers/google-shared.d.ts +0 -18
- package/dist/ai/providers/google-shared.d.ts.map +1 -1
- package/dist/ai/providers/google-shared.js +224 -225
- 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 +244 -226
- package/dist/ai/providers/google-vertex.js.map +1 -1
- package/dist/ai/providers/google.d.ts +3 -0
- package/dist/ai/providers/google.d.ts.map +1 -1
- package/dist/ai/providers/google.js +232 -210
- package/dist/ai/providers/google.js.map +1 -1
- package/dist/ai/providers/kimi.js +1 -0
- package/dist/ai/providers/kimi.js.map +1 -1
- package/dist/ai/providers/mock.d.ts +10 -0
- package/dist/ai/providers/mock.d.ts.map +1 -0
- package/dist/ai/providers/mock.js +64 -0
- package/dist/ai/providers/mock.js.map +1 -0
- package/dist/ai/providers/openai-codex-responses.d.ts.map +1 -1
- package/dist/ai/providers/openai-codex-responses.js +178 -133
- package/dist/ai/providers/openai-codex-responses.js.map +1 -1
- package/dist/ai/providers/openai-completions.d.ts.map +1 -1
- package/dist/ai/providers/openai-completions.js +468 -387
- package/dist/ai/providers/openai-completions.js.map +1 -1
- package/dist/ai/providers/openai-responses-shared.d.ts.map +1 -1
- package/dist/ai/providers/openai-responses-shared.js +187 -166
- 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 +108 -85
- package/dist/ai/providers/openai-responses.js.map +1 -1
- package/dist/ai/providers/openai-scaffold.d.ts +4 -0
- package/dist/ai/providers/openai-scaffold.d.ts.map +1 -0
- package/dist/ai/providers/openai-scaffold.js +33 -0
- package/dist/ai/providers/openai-scaffold.js.map +1 -0
- package/dist/ai/providers/register-builtins.d.ts.map +1 -1
- package/dist/ai/providers/register-builtins.js +109 -42
- package/dist/ai/providers/register-builtins.js.map +1 -1
- package/dist/ai/providers/simple-options.js +2 -0
- package/dist/ai/providers/simple-options.js.map +1 -1
- package/dist/ai/providers/transform-messages.js +3 -9
- package/dist/ai/providers/transform-messages.js.map +1 -1
- package/dist/ai/stream.d.ts +4 -14
- package/dist/ai/stream.d.ts.map +1 -1
- package/dist/ai/stream.js +0 -36
- package/dist/ai/stream.js.map +1 -1
- package/dist/ai/types.d.ts +22 -3
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/types.js +154 -77
- package/dist/ai/types.js.map +1 -1
- package/dist/ai/utils/base-stream-handler.js +1 -0
- package/dist/ai/utils/base-stream-handler.js.map +1 -1
- package/dist/ai/utils/event-stream.d.ts +2 -0
- package/dist/ai/utils/event-stream.d.ts.map +1 -1
- package/dist/ai/utils/event-stream.js +22 -5
- package/dist/ai/utils/event-stream.js.map +1 -1
- package/dist/ai/utils/json-parse.d.ts +3 -0
- package/dist/ai/utils/json-parse.d.ts.map +1 -1
- package/dist/ai/utils/json-parse.js +8 -5
- package/dist/ai/utils/json-parse.js.map +1 -1
- package/dist/ai/utils/oauth/anthropic.d.ts.map +1 -1
- package/dist/ai/utils/oauth/anthropic.js +110 -65
- package/dist/ai/utils/oauth/anthropic.js.map +1 -1
- package/dist/ai/utils/oauth/github-copilot.d.ts +8 -16
- package/dist/ai/utils/oauth/github-copilot.d.ts.map +1 -1
- package/dist/ai/utils/oauth/github-copilot.js +218 -227
- package/dist/ai/utils/oauth/github-copilot.js.map +1 -1
- package/dist/ai/utils/oauth/openai-codex.d.ts +4 -2
- package/dist/ai/utils/oauth/openai-codex.d.ts.map +1 -1
- package/dist/ai/utils/oauth/openai-codex.js +221 -236
- package/dist/ai/utils/oauth/openai-codex.js.map +1 -1
- package/dist/ai/utils/oauth/pkce.d.ts +6 -5
- package/dist/ai/utils/oauth/pkce.d.ts.map +1 -1
- package/dist/ai/utils/oauth/pkce.js +24 -21
- package/dist/ai/utils/oauth/pkce.js.map +1 -1
- package/dist/ai/utils/oauth/types.d.ts +31 -12
- package/dist/ai/utils/oauth/types.d.ts.map +1 -1
- package/dist/ai/utils/oauth/types.js +10 -1
- package/dist/ai/utils/oauth/types.js.map +1 -1
- package/dist/ai/utils/overflow.d.ts.map +1 -1
- package/dist/ai/utils/overflow.js +49 -21
- package/dist/ai/utils/overflow.js.map +1 -1
- package/dist/ai/utils/provider-adapter.js +9 -0
- package/dist/ai/utils/provider-adapter.js.map +1 -1
- package/dist/ai/utils/provider-client-builder.js +1 -1
- package/dist/ai/utils/provider-client-builder.js.map +1 -1
- package/dist/ai/utils/provider-errors.js +2 -0
- package/dist/ai/utils/provider-errors.js.map +1 -1
- package/dist/ai/utils/sanitize-unicode.d.ts +0 -20
- package/dist/ai/utils/sanitize-unicode.d.ts.map +1 -1
- package/dist/ai/utils/sanitize-unicode.js +35 -17
- package/dist/ai/utils/sanitize-unicode.js.map +1 -1
- package/dist/ai/utils/stream-event-helper.js +3 -0
- package/dist/ai/utils/stream-event-helper.js.map +1 -1
- package/dist/ai/utils/stream-handler-types.js +5 -0
- package/dist/ai/utils/stream-handler-types.js.map +1 -1
- package/dist/ai/utils/streaming-state-manager.js +4 -2
- package/dist/ai/utils/streaming-state-manager.js.map +1 -1
- package/dist/ai/utils/typebox-helpers.d.ts +6 -4
- package/dist/ai/utils/typebox-helpers.d.ts.map +1 -1
- package/dist/ai/utils/typebox-helpers.js +25 -7
- package/dist/ai/utils/typebox-helpers.js.map +1 -1
- package/dist/ai/utils/validation.d.ts.map +1 -1
- package/dist/ai/utils/validation.js +67 -34
- package/dist/ai/utils/validation.js.map +1 -1
- package/dist/ai.d.ts +4 -0
- package/dist/ai.d.ts.map +1 -1
- package/dist/ai.js +4 -0
- package/dist/ai.js.map +1 -1
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +3 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/client-pool.js +3 -2
- package/dist/mcp/client-pool.js.map +1 -1
- package/dist/mcp/client.js +19 -6
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/config.d.ts +6 -6
- package/dist/mcp/config.js +17 -17
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/errors.js +8 -0
- package/dist/mcp/errors.js.map +1 -1
- package/dist/mcp/index.d.ts +5 -5
- package/dist/mcp/index.js +5 -5
- package/dist/mcp/schema-converter.d.ts +1 -1
- package/dist/mcp/schema-converter.js +1 -1
- package/dist/mcp/server.d.ts +4 -4
- package/dist/mcp/server.js +12 -7
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tool-factory.d.ts +2 -2
- package/dist/mcp/tool-factory.js +2 -2
- package/dist/mcp.d.ts +0 -4
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +0 -4
- package/dist/mcp.js.map +1 -1
- package/dist/observability.d.ts +2 -0
- package/dist/observability.d.ts.map +1 -0
- package/dist/observability.js +2 -0
- package/dist/observability.js.map +1 -0
- package/dist/tui/autocomplete.d.ts +14 -18
- package/dist/tui/autocomplete.d.ts.map +1 -1
- package/dist/tui/autocomplete.js +290 -402
- package/dist/tui/autocomplete.js.map +1 -1
- package/dist/tui/components/box.d.ts +1 -6
- package/dist/tui/components/box.d.ts.map +1 -1
- package/dist/tui/components/box.js +98 -67
- package/dist/tui/components/box.js.map +1 -1
- package/dist/tui/components/cancellable-loader.d.ts +6 -3
- package/dist/tui/components/cancellable-loader.d.ts.map +1 -1
- package/dist/tui/components/cancellable-loader.js +8 -9
- package/dist/tui/components/cancellable-loader.js.map +1 -1
- package/dist/tui/components/editor.d.ts +18 -0
- package/dist/tui/components/editor.d.ts.map +1 -1
- package/dist/tui/components/editor.js +356 -354
- package/dist/tui/components/editor.js.map +1 -1
- package/dist/tui/components/image.d.ts +2 -0
- package/dist/tui/components/image.d.ts.map +1 -1
- package/dist/tui/components/image.js +79 -37
- package/dist/tui/components/image.js.map +1 -1
- package/dist/tui/components/input.d.ts +4 -8
- package/dist/tui/components/input.d.ts.map +1 -1
- package/dist/tui/components/input.js +236 -232
- package/dist/tui/components/input.js.map +1 -1
- package/dist/tui/components/loader.d.ts +5 -5
- package/dist/tui/components/loader.d.ts.map +1 -1
- package/dist/tui/components/loader.js +22 -19
- package/dist/tui/components/loader.js.map +1 -1
- package/dist/tui/components/markdown.d.ts +2 -32
- package/dist/tui/components/markdown.d.ts.map +1 -1
- package/dist/tui/components/markdown.js +338 -357
- package/dist/tui/components/markdown.js.map +1 -1
- package/dist/tui/components/select-list.d.ts +1 -0
- package/dist/tui/components/select-list.d.ts.map +1 -1
- package/dist/tui/components/select-list.js +83 -82
- package/dist/tui/components/select-list.js.map +1 -1
- package/dist/tui/components/settings-list.d.ts +10 -10
- package/dist/tui/components/settings-list.d.ts.map +1 -1
- package/dist/tui/components/settings-list.js +48 -40
- package/dist/tui/components/settings-list.js.map +1 -1
- package/dist/tui/components/spacer.d.ts +1 -0
- package/dist/tui/components/spacer.d.ts.map +1 -1
- package/dist/tui/components/spacer.js +20 -5
- package/dist/tui/components/spacer.js.map +1 -1
- package/dist/tui/components/text.d.ts.map +1 -1
- package/dist/tui/components/text.js +47 -20
- package/dist/tui/components/text.js.map +1 -1
- package/dist/tui/components/truncated-text.d.ts +8 -4
- package/dist/tui/components/truncated-text.d.ts.map +1 -1
- package/dist/tui/components/truncated-text.js +15 -12
- package/dist/tui/components/truncated-text.js.map +1 -1
- package/dist/tui/editor-component.d.ts +87 -23
- package/dist/tui/editor-component.d.ts.map +1 -1
- package/dist/tui/fuzzy.d.ts.map +1 -1
- package/dist/tui/fuzzy.js +101 -50
- package/dist/tui/fuzzy.js.map +1 -1
- package/dist/tui/keybindings.d.ts +3 -3
- package/dist/tui/keybindings.d.ts.map +1 -1
- package/dist/tui/keybindings.js +137 -111
- package/dist/tui/keybindings.js.map +1 -1
- package/dist/tui/keys.d.ts +46 -43
- package/dist/tui/keys.d.ts.map +1 -1
- package/dist/tui/keys.js +493 -411
- package/dist/tui/keys.js.map +1 -1
- package/dist/tui/stdin-buffer.d.ts.map +1 -1
- package/dist/tui/stdin-buffer.js +162 -159
- package/dist/tui/stdin-buffer.js.map +1 -1
- package/dist/tui/terminal-image.d.ts +10 -5
- package/dist/tui/terminal-image.d.ts.map +1 -1
- package/dist/tui/terminal-image.js +53 -51
- package/dist/tui/terminal-image.js.map +1 -1
- package/dist/tui/terminal.d.ts +4 -27
- package/dist/tui/terminal.d.ts.map +1 -1
- package/dist/tui/terminal.js +123 -121
- package/dist/tui/terminal.js.map +1 -1
- package/dist/tui/tui.d.ts +14 -1
- package/dist/tui/tui.d.ts.map +1 -1
- package/dist/tui/tui.js +185 -145
- package/dist/tui/tui.js.map +1 -1
- package/dist/tui/utils.d.ts.map +1 -1
- package/dist/tui/utils.js +235 -216
- package/dist/tui/utils.js.map +1 -1
- package/dist/tui.d.ts +4 -0
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +4 -0
- package/dist/tui.js.map +1 -1
- package/package.json +23 -43
- package/LICENSE.md +0 -22
- package/dist/agent/tools/task-types.d.ts +0 -74
- package/dist/agent/tools/task-types.d.ts.map +0 -1
- package/dist/agent/tools/task-types.js +0 -8
- package/dist/agent/tools/task-types.js.map +0 -1
- package/dist/agent/tools/task.d.ts +0 -84
- package/dist/agent/tools/task.d.ts.map +0 -1
- package/dist/agent/tools/task.js +0 -184
- package/dist/agent/tools/task.js.map +0 -1
- package/dist/memory/embedder/base.d.ts +0 -41
- package/dist/memory/embedder/base.d.ts.map +0 -1
- package/dist/memory/embedder/base.js +0 -10
- package/dist/memory/embedder/base.js.map +0 -1
- package/dist/memory/embedder/index.d.ts +0 -8
- package/dist/memory/embedder/index.d.ts.map +0 -1
- package/dist/memory/embedder/index.js +0 -6
- package/dist/memory/embedder/index.js.map +0 -1
- package/dist/memory/embedder/openai.d.ts +0 -35
- package/dist/memory/embedder/openai.d.ts.map +0 -1
- package/dist/memory/embedder/openai.js +0 -103
- package/dist/memory/embedder/openai.js.map +0 -1
- package/dist/memory/index.d.ts +0 -33
- package/dist/memory/index.d.ts.map +0 -1
- package/dist/memory/index.js +0 -31
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/memory.d.ts +0 -126
- package/dist/memory/memory.d.ts.map +0 -1
- package/dist/memory/memory.js +0 -280
- package/dist/memory/memory.js.map +0 -1
- package/dist/memory/processors/base.d.ts +0 -42
- package/dist/memory/processors/base.d.ts.map +0 -1
- package/dist/memory/processors/base.js +0 -6
- package/dist/memory/processors/base.js.map +0 -1
- package/dist/memory/processors/index.d.ts +0 -16
- package/dist/memory/processors/index.d.ts.map +0 -1
- package/dist/memory/processors/index.js +0 -18
- package/dist/memory/processors/index.js.map +0 -1
- package/dist/memory/processors/message-history.d.ts +0 -35
- package/dist/memory/processors/message-history.d.ts.map +0 -1
- package/dist/memory/processors/message-history.js +0 -51
- package/dist/memory/processors/message-history.js.map +0 -1
- package/dist/memory/processors/observational-memory/index.d.ts +0 -82
- package/dist/memory/processors/observational-memory/index.d.ts.map +0 -1
- package/dist/memory/processors/observational-memory/index.js +0 -234
- package/dist/memory/processors/observational-memory/index.js.map +0 -1
- package/dist/memory/processors/observational-memory/observer-agent.d.ts +0 -64
- package/dist/memory/processors/observational-memory/observer-agent.d.ts.map +0 -1
- package/dist/memory/processors/observational-memory/observer-agent.js +0 -362
- package/dist/memory/processors/observational-memory/observer-agent.js.map +0 -1
- package/dist/memory/processors/observational-memory/reflector-agent.d.ts +0 -38
- package/dist/memory/processors/observational-memory/reflector-agent.d.ts.map +0 -1
- package/dist/memory/processors/observational-memory/reflector-agent.js +0 -213
- package/dist/memory/processors/observational-memory/reflector-agent.js.map +0 -1
- package/dist/memory/processors/observational-memory/token-counter.d.ts +0 -35
- package/dist/memory/processors/observational-memory/token-counter.d.ts.map +0 -1
- package/dist/memory/processors/observational-memory/token-counter.js +0 -90
- package/dist/memory/processors/observational-memory/token-counter.js.map +0 -1
- package/dist/memory/processors/semantic-recall.d.ts +0 -55
- package/dist/memory/processors/semantic-recall.d.ts.map +0 -1
- package/dist/memory/processors/semantic-recall.js +0 -143
- package/dist/memory/processors/semantic-recall.js.map +0 -1
- package/dist/memory/processors/working-memory.d.ts +0 -41
- package/dist/memory/processors/working-memory.d.ts.map +0 -1
- package/dist/memory/processors/working-memory.js +0 -82
- package/dist/memory/processors/working-memory.js.map +0 -1
- package/dist/memory/storage/base.d.ts +0 -288
- package/dist/memory/storage/base.d.ts.map +0 -1
- package/dist/memory/storage/base.js +0 -211
- package/dist/memory/storage/base.js.map +0 -1
- package/dist/memory/storage/index.d.ts +0 -9
- package/dist/memory/storage/index.d.ts.map +0 -1
- package/dist/memory/storage/index.js +0 -7
- package/dist/memory/storage/index.js.map +0 -1
- package/dist/memory/storage/inmemory.d.ts +0 -93
- package/dist/memory/storage/inmemory.d.ts.map +0 -1
- package/dist/memory/storage/inmemory.js +0 -646
- package/dist/memory/storage/inmemory.js.map +0 -1
- package/dist/memory/tools/working-memory.d.ts +0 -100
- package/dist/memory/tools/working-memory.d.ts.map +0 -1
- package/dist/memory/tools/working-memory.js +0 -237
- package/dist/memory/tools/working-memory.js.map +0 -1
- package/dist/memory/types.d.ts +0 -386
- package/dist/memory/types.d.ts.map +0 -1
- package/dist/memory/types.js +0 -58
- package/dist/memory/types.js.map +0 -1
- package/dist/memory/vector/base.d.ts +0 -145
- package/dist/memory/vector/base.d.ts.map +0 -1
- package/dist/memory/vector/base.js +0 -83
- package/dist/memory/vector/base.js.map +0 -1
- package/dist/memory/vector/index.d.ts +0 -8
- package/dist/memory/vector/index.d.ts.map +0 -1
- package/dist/memory/vector/index.js +0 -7
- package/dist/memory/vector/index.js.map +0 -1
- package/dist/memory/vector/inmemory.d.ts +0 -47
- package/dist/memory/vector/inmemory.d.ts.map +0 -1
- package/dist/memory/vector/inmemory.js +0 -234
- package/dist/memory/vector/inmemory.js.map +0 -1
|
@@ -2,35 +2,38 @@
|
|
|
2
2
|
* PKCE utilities using Web Crypto API.
|
|
3
3
|
* Works in both Node.js 20+ and browsers.
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
// ── Change 1: CryptoEncoder class (replaces module-level base64urlEncode) ──
|
|
6
|
+
class CryptoEncoder {
|
|
7
|
+
static toBase64Url(bytes) {
|
|
8
|
+
return btoa(Array.from(bytes, (b) => String.fromCharCode(b)).join(""))
|
|
9
|
+
.replace(/\+/g, "-")
|
|
10
|
+
.replace(/\//g, "_")
|
|
11
|
+
.replace(/=/g, "");
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
}
|
|
14
|
+
async function buildVerifier() {
|
|
15
|
+
const buf = new Uint8Array(32);
|
|
16
|
+
crypto.getRandomValues(buf);
|
|
17
|
+
return CryptoEncoder.toBase64Url(buf);
|
|
18
|
+
}
|
|
19
|
+
async function buildChallenge(verifier) {
|
|
20
|
+
const data = new TextEncoder().encode(verifier);
|
|
21
|
+
const hash = await crypto.subtle.digest("SHA-256", data);
|
|
22
|
+
return CryptoEncoder.toBase64Url(new Uint8Array(hash));
|
|
14
23
|
}
|
|
15
24
|
/**
|
|
16
25
|
* Generate PKCE code verifier and challenge.
|
|
17
26
|
* Uses Web Crypto API for cross-platform compatibility.
|
|
18
27
|
*/
|
|
19
28
|
export async function generatePKCE() {
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
crypto.getRandomValues(verifierBytes);
|
|
23
|
-
const verifier = base64urlEncode(verifierBytes);
|
|
24
|
-
// Compute SHA-256 challenge
|
|
25
|
-
const encoder = new TextEncoder();
|
|
26
|
-
const data = encoder.encode(verifier);
|
|
27
|
-
const hashBuffer = await crypto.subtle.digest("SHA-256", data);
|
|
28
|
-
const challenge = base64urlEncode(new Uint8Array(hashBuffer));
|
|
29
|
+
const verifier = await buildVerifier();
|
|
30
|
+
const challenge = await buildChallenge(verifier);
|
|
29
31
|
return { verifier, challenge };
|
|
30
32
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
// ── Change 3: generateOAuthState uses byteLength param name ──
|
|
34
|
+
export function generateOAuthState(byteLength = 24) {
|
|
35
|
+
const randomBytes = new Uint8Array(byteLength);
|
|
36
|
+
crypto.getRandomValues(randomBytes);
|
|
37
|
+
return CryptoEncoder.toBase64Url(randomBytes);
|
|
35
38
|
}
|
|
36
39
|
//# sourceMappingURL=pkce.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pkce.js","sourceRoot":"","sources":["../../../../src/ai/utils/oauth/pkce.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH
|
|
1
|
+
{"version":3,"file":"pkce.js","sourceRoot":"","sources":["../../../../src/ai/utils/oauth/pkce.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8EAA8E;AAC9E,MAAM,aAAa;IAClB,MAAM,CAAC,WAAW,CAAC,KAAiB;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACpE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACnB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrB,CAAC;CACD;AAQD,KAAK,UAAU,aAAa;IAC3B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzD,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IACjC,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,kBAAkB,CAAC,UAAU,GAAG,EAAE;IACjD,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -1,36 +1,51 @@
|
|
|
1
1
|
import type { Api, Model } from "../../types.js";
|
|
2
2
|
export type OAuthCredentials = {
|
|
3
|
-
|
|
3
|
+
/** Short-lived access token sent to the API */
|
|
4
4
|
access: string;
|
|
5
|
+
/** Long-lived token used to obtain a new access token */
|
|
6
|
+
refresh: string;
|
|
7
|
+
/** Unix ms timestamp when access token expires */
|
|
5
8
|
expires: number;
|
|
9
|
+
/** Unix ms timestamp when token was issued */
|
|
6
10
|
issuedAt?: number;
|
|
11
|
+
/** Provider identifier that issued this token */
|
|
7
12
|
provider?: string;
|
|
8
13
|
[key: string]: unknown;
|
|
9
14
|
};
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export type
|
|
15
|
+
export declare function makeOAuthCredentials(access: string, refresh: string, expiresMs: number, extra?: Partial<OAuthCredentials>): OAuthCredentials;
|
|
16
|
+
export type AuthProviderId = string;
|
|
17
|
+
/** @deprecated renamed to AuthProviderId */
|
|
18
|
+
export type OAuthProviderId = AuthProviderId;
|
|
19
|
+
/** @deprecated renamed to AuthProviderId */
|
|
20
|
+
export type OAuthProvider = AuthProviderId;
|
|
21
|
+
export type AuthInputPrompt = {
|
|
14
22
|
message: string;
|
|
15
23
|
placeholder?: string;
|
|
16
24
|
allowEmpty?: boolean;
|
|
17
25
|
};
|
|
18
|
-
|
|
26
|
+
/** @deprecated renamed to AuthInputPrompt */
|
|
27
|
+
export type OAuthPrompt = AuthInputPrompt;
|
|
28
|
+
export type AuthRedirectInfo = {
|
|
19
29
|
url: string;
|
|
20
30
|
instructions?: string;
|
|
21
31
|
};
|
|
32
|
+
/** @deprecated renamed to AuthRedirectInfo */
|
|
33
|
+
export type OAuthAuthInfo = AuthRedirectInfo;
|
|
22
34
|
export interface OAuthRefreshResult {
|
|
23
35
|
credentials: OAuthCredentials;
|
|
24
36
|
refreshed: boolean;
|
|
25
37
|
}
|
|
26
|
-
export interface
|
|
27
|
-
onAuth: (info:
|
|
28
|
-
onPrompt: (prompt:
|
|
29
|
-
onProgress?: (message: string) => void;
|
|
38
|
+
export interface OAuthFlowCallbacks {
|
|
39
|
+
onAuth: (info: AuthRedirectInfo) => void;
|
|
40
|
+
onPrompt: (prompt: AuthInputPrompt) => Promise<string>;
|
|
30
41
|
onManualCodeInput?: () => Promise<string>;
|
|
42
|
+
}
|
|
43
|
+
export interface OAuthFlowOptions {
|
|
44
|
+
onProgress?: (message: string) => void;
|
|
31
45
|
signal?: AbortSignal;
|
|
32
46
|
}
|
|
33
|
-
export
|
|
47
|
+
export type OAuthLoginCallbacks = OAuthFlowCallbacks & OAuthFlowOptions;
|
|
48
|
+
export interface AuthProviderContract {
|
|
34
49
|
readonly id: OAuthProviderId;
|
|
35
50
|
readonly name: string;
|
|
36
51
|
/** Run the login flow, return credentials to persist */
|
|
@@ -44,10 +59,14 @@ export interface OAuthProviderInterface {
|
|
|
44
59
|
/** Optional: modify models for this provider (e.g., update baseUrl) */
|
|
45
60
|
modifyModels?(models: Model<Api>[], credentials: OAuthCredentials): Model<Api>[];
|
|
46
61
|
}
|
|
47
|
-
/** @deprecated
|
|
62
|
+
/** @deprecated renamed to AuthProviderContract */
|
|
63
|
+
export type OAuthProviderInterface = AuthProviderContract;
|
|
64
|
+
/** @deprecated Use AuthProviderContract instead */
|
|
48
65
|
export interface OAuthProviderInfo {
|
|
49
66
|
id: OAuthProviderId;
|
|
50
67
|
name: string;
|
|
51
68
|
available: boolean;
|
|
52
69
|
}
|
|
70
|
+
export type OAuthTokenStatus = "valid" | "expired" | "missing";
|
|
71
|
+
export declare function getTokenStatus(creds: OAuthCredentials | null | undefined): OAuthTokenStatus;
|
|
53
72
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai/utils/oauth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,MAAM,gBAAgB,GAAG;IAC9B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai/utils/oauth/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,11 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export function makeOAuthCredentials(access, refresh, expiresMs, extra) {
|
|
2
|
+
return { access, refresh, expires: expiresMs, issuedAt: Date.now(), ...extra };
|
|
3
|
+
}
|
|
4
|
+
export function getTokenStatus(creds) {
|
|
5
|
+
if (!creds?.access)
|
|
6
|
+
return "missing";
|
|
7
|
+
if (creds.expires <= Date.now())
|
|
8
|
+
return "expired";
|
|
9
|
+
return "valid";
|
|
10
|
+
}
|
|
2
11
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ai/utils/oauth/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ai/utils/oauth/types.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,oBAAoB,CACnC,MAAc,EACd,OAAe,EACf,SAAiB,EACjB,KAAiC;IAEjC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;AAChF,CAAC;AAyED,MAAM,UAAU,cAAc,CAAC,KAA0C;IACxE,IAAI,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,SAAS,CAAC;IAClD,OAAO,OAAO,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overflow.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/overflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,qBAAqB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,uBAAuB,EAAE,qBAAqB,EAe1D,CAAC;
|
|
1
|
+
{"version":3,"file":"overflow.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/overflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,qBAAqB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,uBAAuB,EAAE,qBAAqB,EAe1D,CAAC;AAmDF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAE5F;AAED,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAQ1F"}
|
|
@@ -14,34 +14,62 @@ export const OVERFLOW_PATTERN_CONFIG = [
|
|
|
14
14
|
{ pattern: /too many tokens/i, suggestion: "Shorten request and retry." },
|
|
15
15
|
{ pattern: /token limit exceeded/i, suggestion: "Trim input and reduce output token budget." },
|
|
16
16
|
];
|
|
17
|
+
class ProviderStatusFallback {
|
|
18
|
+
static genericOverflowLikeStatus = /^4(00|13|29)\s*(status code)?\s*\(no body\)/i;
|
|
19
|
+
static matches(errorMessage) {
|
|
20
|
+
return this.genericOverflowLikeStatus.test(errorMessage);
|
|
21
|
+
}
|
|
22
|
+
static suggestion() {
|
|
23
|
+
return "Provider returned a generic overflow-like status. Retry with shorter context.";
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
class OverflowRuleEngine {
|
|
27
|
+
rules;
|
|
28
|
+
constructor(rules) {
|
|
29
|
+
this.rules = rules;
|
|
30
|
+
}
|
|
31
|
+
matchesError(errorMessage) {
|
|
32
|
+
return this.rules.some((entry) => entry.pattern.test(errorMessage));
|
|
33
|
+
}
|
|
34
|
+
suggestionFor(errorMessage) {
|
|
35
|
+
const directMatch = this.rules.find((entry) => entry.pattern.test(errorMessage));
|
|
36
|
+
return directMatch?.suggestion;
|
|
37
|
+
}
|
|
38
|
+
patterns() {
|
|
39
|
+
return this.rules.map((entry) => entry.pattern);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const overflowRules = new OverflowRuleEngine(OVERFLOW_PATTERN_CONFIG);
|
|
43
|
+
function hasOverflowErrorMessage(message) {
|
|
44
|
+
if (message.stopReason !== "error" || !message.errorMessage) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
if (overflowRules.matchesError(message.errorMessage)) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
return ProviderStatusFallback.matches(message.errorMessage);
|
|
51
|
+
}
|
|
52
|
+
function isWindowExceeded(message, contextWindow) {
|
|
53
|
+
if (!contextWindow || message.stopReason !== "stop") {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
const inputTokens = message.usage.input + message.usage.cacheRead;
|
|
57
|
+
return inputTokens > contextWindow;
|
|
58
|
+
}
|
|
17
59
|
export function isContextOverflow(message, contextWindow) {
|
|
18
|
-
|
|
19
|
-
if (OVERFLOW_PATTERN_CONFIG.some((entry) => entry.pattern.test(message.errorMessage))) {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
if (/^4(00|13|29)\s*(status code)?\s*\(no body\)/i.test(message.errorMessage)) {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
if (contextWindow && message.stopReason === "stop") {
|
|
27
|
-
const inputTokens = message.usage.input + message.usage.cacheRead;
|
|
28
|
-
if (inputTokens > contextWindow) {
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return false;
|
|
60
|
+
return hasOverflowErrorMessage(message) || isWindowExceeded(message, contextWindow);
|
|
33
61
|
}
|
|
34
62
|
export function getOverflowPatterns() {
|
|
35
|
-
return
|
|
63
|
+
return overflowRules.patterns();
|
|
36
64
|
}
|
|
37
65
|
export function getOverflowSuggestion(errorMessage) {
|
|
38
66
|
if (!errorMessage)
|
|
39
67
|
return undefined;
|
|
40
|
-
const
|
|
41
|
-
if (
|
|
42
|
-
return
|
|
43
|
-
if (
|
|
44
|
-
return
|
|
68
|
+
const directSuggestion = overflowRules.suggestionFor(errorMessage);
|
|
69
|
+
if (directSuggestion)
|
|
70
|
+
return directSuggestion;
|
|
71
|
+
if (ProviderStatusFallback.matches(errorMessage)) {
|
|
72
|
+
return ProviderStatusFallback.suggestion();
|
|
45
73
|
}
|
|
46
74
|
return undefined;
|
|
47
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overflow.js","sourceRoot":"","sources":["../../../src/ai/utils/overflow.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,uBAAuB,GAA4B;IAC/D,EAAE,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,mDAAmD,EAAE;IACnG,EAAE,OAAO,EAAE,wCAAwC,EAAE,UAAU,EAAE,gDAAgD,EAAE;IACnH,EAAE,OAAO,EAAE,6BAA6B,EAAE,UAAU,EAAE,mDAAmD,EAAE;IAC3G,EAAE,OAAO,EAAE,yCAAyC,EAAE,UAAU,EAAE,0CAA0C,EAAE;IAC9G,EAAE,OAAO,EAAE,+BAA+B,EAAE,UAAU,EAAE,wCAAwC,EAAE;IAClG,EAAE,OAAO,EAAE,oCAAoC,EAAE,UAAU,EAAE,2CAA2C,EAAE;IAC1G,EAAE,OAAO,EAAE,uCAAuC,EAAE,UAAU,EAAE,6CAA6C,EAAE;IAC/G,EAAE,OAAO,EAAE,2BAA2B,EAAE,UAAU,EAAE,mDAAmD,EAAE;IACzG,EAAE,OAAO,EAAE,qCAAqC,EAAE,UAAU,EAAE,uCAAuC,EAAE;IACvG,EAAE,OAAO,EAAE,kCAAkC,EAAE,UAAU,EAAE,kCAAkC,EAAE;IAC/F,EAAE,OAAO,EAAE,+BAA+B,EAAE,UAAU,EAAE,0CAA0C,EAAE;IACpG,EAAE,OAAO,EAAE,gCAAgC,EAAE,UAAU,EAAE,oCAAoC,EAAE;IAC/F,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,4BAA4B,EAAE;IACzE,EAAE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,4CAA4C,EAAE;CAC9F,CAAC;AAEF,MAAM,
|
|
1
|
+
{"version":3,"file":"overflow.js","sourceRoot":"","sources":["../../../src/ai/utils/overflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
* Base adapter with shared lifecycle and helper methods.
|
|
3
3
|
*/
|
|
4
4
|
export class BaseProviderAdapter {
|
|
5
|
+
model;
|
|
6
|
+
context;
|
|
7
|
+
stream;
|
|
8
|
+
options;
|
|
9
|
+
signal;
|
|
10
|
+
api;
|
|
11
|
+
provider;
|
|
5
12
|
constructor(model, context, stream, options, signal) {
|
|
6
13
|
this.model = model;
|
|
7
14
|
this.context = context;
|
|
@@ -11,6 +18,8 @@ export class BaseProviderAdapter {
|
|
|
11
18
|
this.api = model.api;
|
|
12
19
|
this.provider = model.provider;
|
|
13
20
|
}
|
|
21
|
+
/** To be set by subclasses during initialization. */
|
|
22
|
+
state;
|
|
14
23
|
cleanup() {
|
|
15
24
|
// No-op by default.
|
|
16
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-adapter.js","sourceRoot":"","sources":["../../../src/ai/utils/provider-adapter.ts"],"names":[],"mappings":"AAqDA;;GAEG;AACH,MAAM,OAAgB,mBAAmB;
|
|
1
|
+
{"version":3,"file":"provider-adapter.js","sourceRoot":"","sources":["../../../src/ai/utils/provider-adapter.ts"],"names":[],"mappings":"AAqDA;;GAEG;AACH,MAAM,OAAgB,mBAAmB;IAKvB;IACA;IACA;IACA;IACA;IARR,GAAG,CAAM;IACT,QAAQ,CAAS;IAE1B,YACiB,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;QAEpC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,qDAAqD;IACrD,KAAK,CAAyB;IAK9B,OAAO;QACN,oBAAoB;IACrB,CAAC;IAED,wBAAwB;IACd,SAAS;QAClB,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC;IACtC,CAAC;IAED,6BAA6B;IACnB,cAAc;QACvB,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;CACD"}
|
|
@@ -30,7 +30,7 @@ export class OpenAIClientBuilder {
|
|
|
30
30
|
* Shared client factory that resolves builders by API.
|
|
31
31
|
*/
|
|
32
32
|
export class ProviderClientFactory {
|
|
33
|
-
static
|
|
33
|
+
static builders = new Map();
|
|
34
34
|
static register(api, builder) {
|
|
35
35
|
this.builders.set(api, builder);
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-client-builder.js","sourceRoot":"","sources":["../../../src/ai/utils/provider-client-builder.ts"],"names":[],"mappings":"AAqBA;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAClC,KAAK,CAAC,MAAoB;QACzB,MAAM,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC;QACvD,OAAO,IAAI,SAAS,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,OAAO,EAAE,MAAM,CAAC,OAAO;SACvB,CAAC,CAAC;IACJ,CAAC;CACD;AAED;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAC/B,KAAK,CAAC,MAAoB;QACzB,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;QACzC,OAAO,IAAI,MAAM,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,OAAO,EAAE,MAAM,CAAC,OAAO;SACvB,CAAC,CAAC;IACJ,CAAC;CACD;AAED;;GAEG;AACH,MAAM,OAAO,qBAAqB;
|
|
1
|
+
{"version":3,"file":"provider-client-builder.js","sourceRoot":"","sources":["../../../src/ai/utils/provider-client-builder.ts"],"names":[],"mappings":"AAqBA;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAClC,KAAK,CAAC,MAAoB;QACzB,MAAM,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC;QACvD,OAAO,IAAI,SAAS,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,OAAO,EAAE,MAAM,CAAC,OAAO;SACvB,CAAC,CAAC;IACJ,CAAC;CACD;AAED;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAC/B,KAAK,CAAC,MAAoB;QACzB,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;QACzC,OAAO,IAAI,MAAM,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,OAAO,EAAE,MAAM,CAAC,OAAO;SACvB,CAAC,CAAC;IACJ,CAAC;CACD;AAED;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACzB,MAAM,CAAC,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IAEhE,MAAM,CAAC,QAAQ,CAAU,GAAQ,EAAE,OAA+B;QACjE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,MAAM,CAAU,GAAQ,EAAE,MAAoB;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAY,CAAC;IACzC,CAAC;;AAGF;;GAEG;AACH,qBAAqB,CAAC,QAAQ,CAAC,oBAAoB,EAAE,IAAI,sBAAsB,EAAE,CAAC,CAAC;AACnF,qBAAqB,CAAC,QAAQ,CAAC,oBAAoB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC"}
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"provider-errors.js","sourceRoot":"","sources":["../../../src/ai/utils/provider-errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Removes unpaired Unicode surrogate characters from a string.
|
|
3
|
-
*
|
|
4
|
-
* Unpaired surrogates (high surrogates 0xD800-0xDBFF without matching low surrogates 0xDC00-0xDFFF,
|
|
5
|
-
* or vice versa) cause JSON serialization errors in many API providers.
|
|
6
|
-
*
|
|
7
|
-
* Valid emoji and other characters outside the Basic Multilingual Plane use properly paired
|
|
8
|
-
* surrogates and will NOT be affected by this function.
|
|
9
|
-
*
|
|
10
|
-
* @param text - The text to sanitize
|
|
11
|
-
* @returns The sanitized text with unpaired surrogates removed
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* // Valid emoji (properly paired surrogates) are preserved
|
|
15
|
-
* sanitizeSurrogates("Hello 🙈 World") // => "Hello 🙈 World"
|
|
16
|
-
*
|
|
17
|
-
* // Unpaired high surrogate is removed
|
|
18
|
-
* const unpaired = String.fromCharCode(0xD83D); // high surrogate without low
|
|
19
|
-
* sanitizeSurrogates(`Text ${unpaired} here`) // => "Text here"
|
|
20
|
-
*/
|
|
21
1
|
export declare function sanitizeSurrogates(text: string): string;
|
|
22
2
|
export declare function sanitizeUnknownUnicode<T>(value: T): T;
|
|
23
3
|
//# sourceMappingURL=sanitize-unicode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize-unicode.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/sanitize-unicode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sanitize-unicode.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/sanitize-unicode.ts"],"names":[],"mappings":"AA+BA,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGvD;AA6BD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAErD"}
|
|
@@ -18,25 +18,43 @@
|
|
|
18
18
|
* const unpaired = String.fromCharCode(0xD83D); // high surrogate without low
|
|
19
19
|
* sanitizeSurrogates(`Text ${unpaired} here`) // => "Text here"
|
|
20
20
|
*/
|
|
21
|
+
const UNPAIRED_HIGH_SURROGATE_PATTERN = /[\uD800-\uDBFF](?![\uDC00-\uDFFF])/g;
|
|
22
|
+
const UNPAIRED_LOW_SURROGATE_PATTERN = /(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g;
|
|
23
|
+
function stripUnpairedHighSurrogates(input) {
|
|
24
|
+
return input.replace(UNPAIRED_HIGH_SURROGATE_PATTERN, "");
|
|
25
|
+
}
|
|
26
|
+
function stripUnpairedLowSurrogates(input) {
|
|
27
|
+
return input.replace(UNPAIRED_LOW_SURROGATE_PATTERN, "");
|
|
28
|
+
}
|
|
21
29
|
export function sanitizeSurrogates(text) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return text.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g, "");
|
|
30
|
+
const withoutUnpairedHigh = stripUnpairedHighSurrogates(text);
|
|
31
|
+
return stripUnpairedLowSurrogates(withoutUnpairedHigh);
|
|
25
32
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
const UnicodeSanitizer = {
|
|
34
|
+
walkArray(items) {
|
|
35
|
+
return items.map((item) => UnicodeSanitizer.walk(item));
|
|
36
|
+
},
|
|
37
|
+
walkObject(record) {
|
|
38
|
+
const nextRecord = {};
|
|
39
|
+
for (const [key, value] of Object.entries(record)) {
|
|
40
|
+
nextRecord[key] = UnicodeSanitizer.walk(value);
|
|
41
|
+
}
|
|
42
|
+
return nextRecord;
|
|
43
|
+
},
|
|
44
|
+
walk(value) {
|
|
45
|
+
if (typeof value === "string") {
|
|
46
|
+
return sanitizeSurrogates(value);
|
|
37
47
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
48
|
+
if (Array.isArray(value)) {
|
|
49
|
+
return UnicodeSanitizer.walkArray(value);
|
|
50
|
+
}
|
|
51
|
+
if (value && typeof value === "object") {
|
|
52
|
+
return UnicodeSanitizer.walkObject(value);
|
|
53
|
+
}
|
|
54
|
+
return value;
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
export function sanitizeUnknownUnicode(value) {
|
|
58
|
+
return UnicodeSanitizer.walk(value);
|
|
41
59
|
}
|
|
42
60
|
//# 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,
|
|
1
|
+
{"version":3,"file":"sanitize-unicode.js","sourceRoot":"","sources":["../../../src/ai/utils/sanitize-unicode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,+BAA+B,GAAG,qCAAqC,CAAC;AAC9E,MAAM,8BAA8B,GAAG,sCAAsC,CAAC;AAE9E,SAAS,2BAA2B,CAAC,KAAa;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa;IAChD,OAAO,KAAK,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC9C,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,0BAA0B,CAAC,mBAAmB,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,gBAAgB,GAAG;IACxB,SAAS,CAAC,KAAgB;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,UAAU,CAAC,MAA+B;QACzC,MAAM,UAAU,GAA4B,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,UAAU,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,KAAc;QAClB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,gBAAgB,CAAC,UAAU,CAAC,KAAgC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAI,KAAQ;IACjD,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAM,CAAC;AAC1C,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** Utility for locating provider blocks by provider-native `index` values. */
|
|
2
2
|
export class BlockTracker {
|
|
3
|
+
blocks;
|
|
3
4
|
constructor(output) {
|
|
4
5
|
this.blocks = output.content;
|
|
5
6
|
}
|
|
@@ -11,6 +12,8 @@ export class BlockTracker {
|
|
|
11
12
|
}
|
|
12
13
|
}
|
|
13
14
|
export class StreamEventHelper {
|
|
15
|
+
stream;
|
|
16
|
+
output;
|
|
14
17
|
constructor(stream, output) {
|
|
15
18
|
this.stream = stream;
|
|
16
19
|
this.output = output;
|
|
@@ -1 +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;
|
|
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;IACP,MAAM,CAAqC;IAE5D,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;IAEX;IACA;IAFlB,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"}
|
|
@@ -1 +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;
|
|
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;IAEnB;IACA;IACA;IACA;IACA;IALpB,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"}
|
|
@@ -5,14 +5,16 @@
|
|
|
5
5
|
* place to avoid duplicated state management across provider implementations.
|
|
6
6
|
*/
|
|
7
7
|
export class StreamingStateManager {
|
|
8
|
+
/** The mutable assistant output message being built. */
|
|
9
|
+
output;
|
|
10
|
+
_stopReason = "stop";
|
|
11
|
+
_isComplete = false;
|
|
8
12
|
/**
|
|
9
13
|
* Create a new streaming state manager.
|
|
10
14
|
*
|
|
11
15
|
* @param initialOutput - The initial assistant output message.
|
|
12
16
|
*/
|
|
13
17
|
constructor(initialOutput) {
|
|
14
|
-
this._stopReason = "stop";
|
|
15
|
-
this._isComplete = false;
|
|
16
18
|
this.output = initialOutput;
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
@@ -1 +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;
|
|
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;IACjC,wDAAwD;IACxC,MAAM,CAAmB;IAEjC,WAAW,GAAe,MAAM,CAAC;IACjC,WAAW,GAAG,KAAK,CAAC;IAE5B;;;;OAIG;IACH,YACC,aAA+B;QAE/B,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"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { type TSchema, type TUnsafe } from "@sinclair/typebox";
|
|
2
|
+
type StringEnumOptions<T extends readonly string[]> = {
|
|
3
|
+
description?: string;
|
|
4
|
+
default?: T[number];
|
|
5
|
+
};
|
|
2
6
|
/**
|
|
3
7
|
* Creates a string enum schema compatible with Google's API and other providers
|
|
4
8
|
* that don't support anyOf/const patterns.
|
|
@@ -10,13 +14,11 @@ import { type TSchema, type TUnsafe } from "@sinclair/typebox";
|
|
|
10
14
|
*
|
|
11
15
|
* type Operation = Static<typeof OperationSchema>; // "add" | "subtract" | "multiply" | "divide"
|
|
12
16
|
*/
|
|
13
|
-
export declare function StringEnum<T extends readonly string[]>(values: T, options?:
|
|
14
|
-
description?: string;
|
|
15
|
-
default?: T[number];
|
|
16
|
-
}): TUnsafe<T[number]>;
|
|
17
|
+
export declare function StringEnum<T extends readonly string[]>(values: T, options?: StringEnumOptions<T>): TUnsafe<T[number]>;
|
|
17
18
|
/**
|
|
18
19
|
* Produces a schema object safe for validator compilation.
|
|
19
20
|
* Useful when providers/tools pass non-plain schema values.
|
|
20
21
|
*/
|
|
21
22
|
export declare function normalizeSchemaForValidation(schema: TSchema): TSchema;
|
|
23
|
+
export {};
|
|
22
24
|
//# 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,EAAE,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAC;AAErE
|
|
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,KAAK,iBAAiB,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,IAAI;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;CACpB,CAAC;AA8BF;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAIrH;AAYD;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAErE"}
|