@dexto/core 1.1.11 → 1.2.0
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 +24 -4
- package/dist/Dexto.cjs +4 -14
- package/dist/Dexto.d.ts +8 -29
- package/dist/Dexto.d.ts.map +1 -1
- package/dist/Dexto.js +4 -12
- package/dist/agent/DextoAgent.cjs +92 -3
- package/dist/agent/DextoAgent.d.ts +12 -4
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +52 -3
- package/dist/agent/agentCard.js +1 -0
- package/dist/agent/error-codes.cjs +1 -0
- package/dist/agent/error-codes.d.ts +1 -0
- package/dist/agent/error-codes.d.ts.map +1 -1
- package/dist/agent/error-codes.js +2 -0
- package/dist/agent/errors.cjs +13 -0
- package/dist/agent/errors.d.ts +4 -0
- package/dist/agent/errors.d.ts.map +1 -1
- package/dist/agent/errors.js +14 -0
- package/dist/agent/index.js +1 -0
- package/dist/agent/registry/error-codes.js +1 -0
- package/dist/agent/registry/errors.js +1 -0
- package/dist/agent/registry/registry.js +1 -0
- package/dist/agent/registry/types.js +1 -0
- package/dist/agent/registry/user-registry.js +1 -0
- package/dist/agent/schemas.cjs +6 -1
- package/dist/agent/schemas.d.ts +113 -3
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +7 -1
- package/dist/agent/state-manager.js +1 -0
- package/dist/approval/error-codes.js +1 -0
- package/dist/approval/errors.js +1 -0
- package/dist/approval/index.js +1 -0
- package/dist/approval/manager.cjs +30 -0
- package/dist/approval/manager.d.ts +23 -1
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +31 -0
- package/dist/approval/providers/event-based-approval-provider.js +1 -0
- package/dist/approval/providers/factory.js +1 -0
- package/dist/approval/providers/noop-approval-provider.js +1 -0
- package/dist/approval/schemas.cjs +36 -0
- package/dist/approval/schemas.d.ts +173 -0
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +33 -0
- package/dist/approval/types.cjs +1 -0
- package/dist/approval/types.d.ts +27 -1
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +2 -0
- package/dist/chunk-C6A6W6XS.js +53 -0
- package/dist/config/agent-resolver.js +1 -0
- package/dist/config/error-codes.js +1 -0
- package/dist/config/errors.js +1 -0
- package/dist/config/loader.js +1 -0
- package/dist/config/writer.js +1 -0
- package/dist/context/compression/middle-removal.js +1 -0
- package/dist/context/compression/oldest-removal.js +1 -0
- package/dist/context/error-codes.js +1 -0
- package/dist/context/errors.js +1 -0
- package/dist/context/index.js +1 -0
- package/dist/context/manager.cjs +36 -1
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +27 -1
- package/dist/context/media-helpers.js +1 -0
- package/dist/context/utils.cjs +102 -6
- package/dist/context/utils.d.ts +35 -2
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +100 -6
- package/dist/errors/DextoBaseError.js +1 -0
- package/dist/errors/DextoRuntimeError.js +1 -0
- package/dist/errors/DextoValidationError.js +1 -0
- package/dist/errors/index.js +1 -0
- package/dist/errors/result-bridge.js +1 -0
- package/dist/errors/types.cjs +3 -0
- package/dist/errors/types.d.ts +7 -2
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +4 -0
- package/dist/events/index.cjs +1 -0
- package/dist/events/index.d.ts +6 -2
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +2 -0
- package/dist/filesystem/error-codes.cjs +53 -0
- package/dist/filesystem/error-codes.d.ts +31 -0
- package/dist/filesystem/error-codes.d.ts.map +1 -0
- package/dist/filesystem/error-codes.js +30 -0
- package/dist/filesystem/errors.cjs +303 -0
- package/dist/filesystem/errors.d.ts +109 -0
- package/dist/filesystem/errors.d.ts.map +1 -0
- package/dist/filesystem/errors.js +280 -0
- package/dist/filesystem/filesystem-service.cjs +482 -0
- package/dist/filesystem/filesystem-service.d.ts +57 -0
- package/dist/filesystem/filesystem-service.d.ts.map +1 -0
- package/dist/filesystem/filesystem-service.js +449 -0
- package/dist/filesystem/index.cjs +37 -0
- package/dist/filesystem/index.d.ts +11 -0
- package/dist/filesystem/index.d.ts.map +1 -0
- package/dist/filesystem/index.js +11 -0
- package/dist/filesystem/path-validator.cjs +172 -0
- package/dist/filesystem/path-validator.d.ts +53 -0
- package/dist/filesystem/path-validator.d.ts.map +1 -0
- package/dist/filesystem/path-validator.js +139 -0
- package/dist/filesystem/types.cjs +16 -0
- package/dist/filesystem/types.d.ts +171 -0
- package/dist/filesystem/types.d.ts.map +1 -0
- package/dist/filesystem/types.js +0 -0
- package/dist/index.browser.js +1 -0
- package/dist/index.cjs +3 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/llm/error-codes.js +1 -0
- package/dist/llm/errors.js +1 -0
- package/dist/llm/formatters/anthropic.js +1 -0
- package/dist/llm/formatters/factory.js +1 -0
- package/dist/llm/formatters/openai.js +1 -0
- package/dist/llm/formatters/vercel.js +1 -0
- package/dist/llm/registry.cjs +15 -15
- package/dist/llm/registry.d.ts +1 -1
- package/dist/llm/registry.js +16 -15
- package/dist/llm/resolver.js +1 -0
- package/dist/llm/schemas.cjs +6 -2
- package/dist/llm/schemas.d.ts +10 -0
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +7 -2
- package/dist/llm/services/anthropic.cjs +67 -0
- package/dist/llm/services/anthropic.d.ts +6 -0
- package/dist/llm/services/anthropic.d.ts.map +1 -1
- package/dist/llm/services/anthropic.js +27 -0
- package/dist/llm/services/factory.js +1 -0
- package/dist/llm/services/openai.cjs +87 -0
- package/dist/llm/services/openai.d.ts +6 -0
- package/dist/llm/services/openai.d.ts.map +1 -1
- package/dist/llm/services/openai.js +47 -0
- package/dist/llm/services/test-utils.integration.cjs +1 -1
- package/dist/llm/services/test-utils.integration.js +2 -1
- package/dist/llm/services/vercel.cjs +144 -97
- package/dist/llm/services/vercel.d.ts +6 -1
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +105 -98
- package/dist/llm/tokenizer/anthropic.js +1 -0
- package/dist/llm/tokenizer/default.js +1 -0
- package/dist/llm/tokenizer/factory.js +1 -0
- package/dist/llm/tokenizer/google.js +1 -0
- package/dist/llm/tokenizer/openai.cjs +1 -1
- package/dist/llm/tokenizer/openai.d.ts +1 -1
- package/dist/llm/tokenizer/openai.js +2 -1
- package/dist/llm/tokenizer/types.js +1 -0
- package/dist/llm/types.d.ts +2 -2
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js +1 -0
- package/dist/llm/validation.js +1 -0
- package/dist/logger/browser.js +1 -0
- package/dist/logger/logger.d.ts +42 -0
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +1 -0
- package/dist/mcp/error-codes.cjs +1 -0
- package/dist/mcp/error-codes.d.ts +1 -0
- package/dist/mcp/error-codes.d.ts.map +1 -1
- package/dist/mcp/error-codes.js +2 -0
- package/dist/mcp/errors.cjs +12 -0
- package/dist/mcp/errors.d.ts +7 -0
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/errors.js +13 -0
- package/dist/mcp/manager.cjs +66 -16
- package/dist/mcp/manager.d.ts +7 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +67 -16
- package/dist/mcp/mcp-client.js +1 -0
- package/dist/mcp/resolver.js +1 -0
- package/dist/mcp/schemas.js +1 -0
- package/dist/mcp/types.d.ts +1 -1
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/memory/error-codes.js +1 -0
- package/dist/memory/errors.js +1 -0
- package/dist/memory/index.js +1 -0
- package/dist/memory/manager.js +1 -0
- package/dist/memory/schemas.js +1 -0
- package/dist/plugins/builtins/content-policy.js +1 -0
- package/dist/plugins/builtins/response-sanitizer.js +1 -0
- package/dist/plugins/error-codes.js +1 -0
- package/dist/plugins/index.js +1 -0
- package/dist/plugins/loader.js +1 -0
- package/dist/plugins/manager.js +1 -0
- package/dist/plugins/registrations/builtins.js +1 -0
- package/dist/plugins/schemas.js +1 -0
- package/dist/preferences/constants.js +1 -0
- package/dist/preferences/error-codes.js +1 -0
- package/dist/preferences/errors.js +1 -0
- package/dist/preferences/index.js +1 -0
- package/dist/preferences/loader.cjs +3 -1
- package/dist/preferences/loader.d.ts +10 -1
- package/dist/preferences/loader.d.ts.map +1 -1
- package/dist/preferences/loader.js +4 -1
- package/dist/preferences/schemas.cjs +2 -1
- package/dist/preferences/schemas.d.ts +8 -0
- package/dist/preferences/schemas.d.ts.map +1 -1
- package/dist/preferences/schemas.js +3 -1
- package/dist/process/command-validator.cjs +544 -0
- package/dist/process/command-validator.d.ts +46 -0
- package/dist/process/command-validator.d.ts.map +1 -0
- package/dist/process/command-validator.js +521 -0
- package/dist/process/error-codes.cjs +47 -0
- package/dist/process/error-codes.d.ts +25 -0
- package/dist/process/error-codes.d.ts.map +1 -0
- package/dist/process/error-codes.js +24 -0
- package/dist/process/errors.cjs +244 -0
- package/dist/process/errors.d.ts +87 -0
- package/dist/process/errors.d.ts.map +1 -0
- package/dist/process/errors.js +221 -0
- package/dist/process/index.cjs +37 -0
- package/dist/process/index.d.ts +11 -0
- package/dist/process/index.d.ts.map +1 -0
- package/dist/process/index.js +11 -0
- package/dist/process/process-service.cjs +443 -0
- package/dist/process/process-service.d.ts +62 -0
- package/dist/process/process-service.d.ts.map +1 -0
- package/dist/process/process-service.js +410 -0
- package/dist/process/types.cjs +16 -0
- package/dist/process/types.d.ts +107 -0
- package/dist/process/types.d.ts.map +1 -0
- package/dist/process/types.js +0 -0
- package/dist/prompts/error-codes.js +1 -0
- package/dist/prompts/errors.js +1 -0
- package/dist/prompts/index.js +1 -0
- package/dist/prompts/name-validation.js +1 -0
- package/dist/prompts/prompt-manager.js +1 -0
- package/dist/prompts/providers/custom-prompt-provider.js +1 -0
- package/dist/prompts/providers/file-prompt-provider.js +1 -0
- package/dist/prompts/providers/mcp-prompt-provider.js +1 -0
- package/dist/prompts/providers/starter-prompt-provider.js +1 -0
- package/dist/prompts/schemas.js +1 -0
- package/dist/prompts/utils.js +1 -0
- package/dist/resources/error-codes.js +1 -0
- package/dist/resources/errors.js +1 -0
- package/dist/resources/handlers/blob-handler.js +1 -0
- package/dist/resources/handlers/factory.js +1 -0
- package/dist/resources/handlers/filesystem-handler.cjs +1 -1
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.js +2 -1
- package/dist/resources/index.js +1 -0
- package/dist/resources/internal-provider.js +1 -0
- package/dist/resources/manager.js +1 -0
- package/dist/resources/reference-parser.js +1 -0
- package/dist/resources/schemas.js +1 -0
- package/dist/search/index.js +1 -0
- package/dist/search/search-service.js +1 -0
- package/dist/session/chat-session.cjs +2 -2
- package/dist/session/chat-session.d.ts +2 -2
- package/dist/session/chat-session.js +3 -2
- package/dist/session/error-codes.js +1 -0
- package/dist/session/errors.js +1 -0
- package/dist/session/history/database.js +1 -0
- package/dist/session/history/factory.js +1 -0
- package/dist/session/history/memory.js +1 -0
- package/dist/session/index.js +1 -0
- package/dist/session/schemas.js +1 -0
- package/dist/session/session-manager.d.ts +6 -0
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +1 -0
- package/dist/session/title-generator.js +1 -0
- package/dist/storage/blob/factory.cjs +3 -3
- package/dist/storage/blob/factory.d.ts +3 -1
- package/dist/storage/blob/factory.d.ts.map +1 -1
- package/dist/storage/blob/factory.js +4 -3
- package/dist/storage/blob/local-blob-store.cjs +18 -2
- package/dist/storage/blob/local-blob-store.d.ts +2 -1
- package/dist/storage/blob/local-blob-store.d.ts.map +1 -1
- package/dist/storage/blob/local-blob-store.js +19 -2
- package/dist/storage/blob/schemas.js +1 -0
- package/dist/storage/cache/factory.js +1 -0
- package/dist/storage/cache/memory-cache-store.js +1 -0
- package/dist/storage/cache/redis-store.js +1 -0
- package/dist/storage/cache/schemas.js +1 -0
- package/dist/storage/database/factory.cjs +7 -5
- package/dist/storage/database/factory.d.ts +3 -1
- package/dist/storage/database/factory.d.ts.map +1 -1
- package/dist/storage/database/factory.js +8 -5
- package/dist/storage/database/memory-database-store.js +1 -0
- package/dist/storage/database/postgres-store.js +1 -0
- package/dist/storage/database/schemas.cjs +1 -1
- package/dist/storage/database/schemas.js +2 -1
- package/dist/storage/database/sqlite-store.cjs +20 -2
- package/dist/storage/database/sqlite-store.d.ts +2 -1
- package/dist/storage/database/sqlite-store.d.ts.map +1 -1
- package/dist/storage/database/sqlite-store.js +21 -2
- package/dist/storage/error-codes.cjs +1 -0
- package/dist/storage/error-codes.d.ts +1 -0
- package/dist/storage/error-codes.d.ts.map +1 -1
- package/dist/storage/error-codes.js +2 -0
- package/dist/storage/errors.cjs +15 -0
- package/dist/storage/errors.d.ts +4 -0
- package/dist/storage/errors.d.ts.map +1 -1
- package/dist/storage/errors.js +16 -0
- package/dist/storage/index.js +1 -0
- package/dist/storage/schemas.js +1 -0
- package/dist/storage/storage-manager.cjs +7 -5
- package/dist/storage/storage-manager.d.ts +5 -2
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +8 -5
- package/dist/systemPrompt/contributors.js +1 -0
- package/dist/systemPrompt/error-codes.js +1 -0
- package/dist/systemPrompt/errors.js +1 -0
- package/dist/systemPrompt/in-built-prompts.js +1 -0
- package/dist/systemPrompt/index.js +1 -0
- package/dist/systemPrompt/manager.js +1 -0
- package/dist/systemPrompt/registry.js +1 -0
- package/dist/systemPrompt/schemas.js +1 -0
- package/dist/telemetry/decorators.cjs +175 -0
- package/dist/telemetry/decorators.d.ts +17 -0
- package/dist/telemetry/decorators.d.ts.map +1 -0
- package/dist/telemetry/decorators.js +157 -0
- package/dist/telemetry/exporters.cjs +108 -0
- package/dist/telemetry/exporters.d.ts +29 -0
- package/dist/telemetry/exporters.d.ts.map +1 -0
- package/dist/telemetry/exporters.js +85 -0
- package/dist/telemetry/index.cjs +28 -0
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +5 -0
- package/dist/telemetry/schemas.cjs +71 -0
- package/dist/telemetry/schemas.d.ts +54 -0
- package/dist/telemetry/schemas.d.ts.map +1 -0
- package/dist/telemetry/schemas.js +48 -0
- package/dist/telemetry/telemetry.cjs +228 -0
- package/dist/telemetry/telemetry.d.ts +74 -0
- package/dist/telemetry/telemetry.d.ts.map +1 -0
- package/dist/telemetry/telemetry.js +205 -0
- package/dist/telemetry/types.cjs +16 -0
- package/dist/telemetry/types.d.ts +22 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +0 -0
- package/dist/telemetry/utils.cjs +87 -0
- package/dist/telemetry/utils.d.ts +21 -0
- package/dist/telemetry/utils.d.ts.map +1 -0
- package/dist/telemetry/utils.js +62 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +1 -0
- package/dist/tools/error-codes.js +1 -0
- package/dist/tools/errors.js +1 -0
- package/dist/tools/index.js +1 -0
- package/dist/tools/internal-tools/constants.cjs +39 -0
- package/dist/tools/internal-tools/constants.d.ts +12 -0
- package/dist/tools/internal-tools/constants.d.ts.map +1 -0
- package/dist/tools/internal-tools/constants.js +16 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.js +1 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +106 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +13 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +73 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +49 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.js +26 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +62 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.js +39 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +57 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.js +34 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +71 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.js +48 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +47 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.js +24 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.cjs +55 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.js +32 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.cjs +56 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.js +33 -0
- package/dist/tools/internal-tools/index.cjs +3 -1
- package/dist/tools/internal-tools/index.d.ts +1 -0
- package/dist/tools/internal-tools/index.d.ts.map +1 -1
- package/dist/tools/internal-tools/index.js +1 -0
- package/dist/tools/internal-tools/provider.js +1 -0
- package/dist/tools/internal-tools/registry.cjs +40 -4
- package/dist/tools/internal-tools/registry.d.ts +5 -9
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +41 -3
- package/dist/tools/schemas.cjs +18 -5
- package/dist/tools/schemas.d.ts +30 -1
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +15 -2
- package/dist/tools/tool-manager.cjs +158 -19
- package/dist/tools/tool-manager.d.ts +48 -2
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +118 -19
- package/dist/utils/api-key-resolver.js +1 -0
- package/dist/utils/api-key-store.js +1 -0
- package/dist/utils/async-context.js +1 -0
- package/dist/utils/debug.js +1 -0
- package/dist/utils/env.js +1 -0
- package/dist/utils/error-conversion.js +1 -0
- package/dist/utils/execution-context.js +1 -0
- package/dist/utils/fs-walk.js +1 -0
- package/dist/utils/path.js +1 -0
- package/dist/utils/port-utils.js +1 -0
- package/dist/utils/redactor.js +1 -0
- package/dist/utils/result.js +1 -0
- package/dist/utils/safe-stringify.js +1 -0
- package/dist/utils/schema-metadata.js +1 -0
- package/dist/utils/schema.js +1 -0
- package/dist/utils/service-initializer.cjs +42 -4
- package/dist/utils/service-initializer.d.ts +2 -1
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +33 -4
- package/dist/utils/user-info.js +1 -0
- package/dist/utils/zod-schema-converter.js +1 -0
- package/package.json +11 -1
package/dist/context/manager.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
1
2
|
import { MiddleRemovalStrategy } from "./compression/middle-removal.js";
|
|
2
3
|
import { OldestRemovalStrategy } from "./compression/oldest-removal.js";
|
|
3
4
|
import { logger } from "../logger/index.js";
|
|
@@ -432,12 +433,37 @@ ${prompt}`);
|
|
|
432
433
|
*/
|
|
433
434
|
async getFormattedMessages(contributorContext, llmContext, systemPrompt, history) {
|
|
434
435
|
let messageHistory = history ?? await this.historyProvider.getHistory();
|
|
436
|
+
let allowedMediaTypes = this.llmConfig.allowedMediaTypes;
|
|
437
|
+
if (!allowedMediaTypes) {
|
|
438
|
+
try {
|
|
439
|
+
const { getSupportedFileTypesForModel } = await import("../llm/registry.js");
|
|
440
|
+
const { fileTypesToMimePatterns } = await import("./utils.js");
|
|
441
|
+
const supportedFileTypes = getSupportedFileTypesForModel(
|
|
442
|
+
llmContext.provider,
|
|
443
|
+
llmContext.model
|
|
444
|
+
);
|
|
445
|
+
allowedMediaTypes = fileTypesToMimePatterns(supportedFileTypes);
|
|
446
|
+
logger.debug(
|
|
447
|
+
`Using model capabilities for media filtering: ${allowedMediaTypes.join(", ")}`
|
|
448
|
+
);
|
|
449
|
+
} catch (error) {
|
|
450
|
+
logger.warn(
|
|
451
|
+
`Could not determine model capabilities, allowing all media types: ${String(error)}`
|
|
452
|
+
);
|
|
453
|
+
allowedMediaTypes = void 0;
|
|
454
|
+
}
|
|
455
|
+
} else {
|
|
456
|
+
logger.debug(
|
|
457
|
+
`Using user-configured allowedMediaTypes: ${allowedMediaTypes.join(", ")}`
|
|
458
|
+
);
|
|
459
|
+
}
|
|
435
460
|
logger.debug("Resolving blob references in message history before formatting");
|
|
436
461
|
messageHistory = await Promise.all(
|
|
437
462
|
messageHistory.map(async (message) => {
|
|
438
463
|
const expandedContent = await expandBlobReferences(
|
|
439
464
|
message.content,
|
|
440
|
-
this.resourceManager
|
|
465
|
+
this.resourceManager,
|
|
466
|
+
allowedMediaTypes
|
|
441
467
|
);
|
|
442
468
|
return { ...message, content: expandedContent };
|
|
443
469
|
})
|
package/dist/context/utils.cjs
CHANGED
|
@@ -20,6 +20,7 @@ var utils_exports = {};
|
|
|
20
20
|
__export(utils_exports, {
|
|
21
21
|
countMessagesTokens: () => countMessagesTokens,
|
|
22
22
|
expandBlobReferences: () => expandBlobReferences,
|
|
23
|
+
fileTypesToMimePatterns: () => fileTypesToMimePatterns,
|
|
23
24
|
filterMessagesByLLMCapabilities: () => filterMessagesByLLMCapabilities,
|
|
24
25
|
getFileData: () => getFileData,
|
|
25
26
|
getFileDataWithBlobSupport: () => getFileDataWithBlobSupport,
|
|
@@ -28,6 +29,8 @@ __export(utils_exports, {
|
|
|
28
29
|
getImageDataWithBlobSupport: () => getImageDataWithBlobSupport,
|
|
29
30
|
getResourceKind: () => import_media_helpers.getResourceKind,
|
|
30
31
|
isLikelyBase64String: () => isLikelyBase64String,
|
|
32
|
+
matchesAnyMimePattern: () => matchesAnyMimePattern,
|
|
33
|
+
matchesMimePattern: () => matchesMimePattern,
|
|
31
34
|
normalizeToolResult: () => normalizeToolResult,
|
|
32
35
|
parseDataUri: () => parseDataUri,
|
|
33
36
|
persistToolMedia: () => persistToolMedia,
|
|
@@ -275,9 +278,24 @@ function buildToolBlobName(kind, mimeType, options, preferredName) {
|
|
|
275
278
|
const unique = generateUniqueSuffix();
|
|
276
279
|
return `${parts.join("-")}-${unique}.${ext}`;
|
|
277
280
|
}
|
|
278
|
-
async function resolveBlobReferenceToParts(resourceUri, resourceManager) {
|
|
281
|
+
async function resolveBlobReferenceToParts(resourceUri, resourceManager, allowedMediaTypes) {
|
|
279
282
|
try {
|
|
280
283
|
const result = await resourceManager.read(resourceUri);
|
|
284
|
+
if (allowedMediaTypes) {
|
|
285
|
+
const mimeType = result.contents[0]?.mimeType;
|
|
286
|
+
const metadata = result._meta;
|
|
287
|
+
if (mimeType && !matchesAnyMimePattern(mimeType, allowedMediaTypes)) {
|
|
288
|
+
const placeholderMetadata = {
|
|
289
|
+
mimeType,
|
|
290
|
+
size: metadata?.size ?? 0
|
|
291
|
+
};
|
|
292
|
+
if (metadata?.originalName) {
|
|
293
|
+
placeholderMetadata.originalName = metadata.originalName;
|
|
294
|
+
}
|
|
295
|
+
const placeholder = generateMediaPlaceholder(placeholderMetadata);
|
|
296
|
+
return [{ type: "text", text: placeholder }];
|
|
297
|
+
}
|
|
298
|
+
}
|
|
281
299
|
const parts = [];
|
|
282
300
|
for (const item of result.contents ?? []) {
|
|
283
301
|
if (!item || typeof item !== "object") {
|
|
@@ -453,7 +471,7 @@ async function getFileDataWithBlobSupport(filePart, resourceManager) {
|
|
|
453
471
|
}
|
|
454
472
|
return getFileData(filePart);
|
|
455
473
|
}
|
|
456
|
-
async function expandBlobReferences(content, resourceManager) {
|
|
474
|
+
async function expandBlobReferences(content, resourceManager, allowedMediaTypes) {
|
|
457
475
|
if (typeof content === "string") {
|
|
458
476
|
const blobRefPattern = /@blob:[a-f0-9]+/g;
|
|
459
477
|
const matches = [...content.matchAll(blobRefPattern)];
|
|
@@ -476,7 +494,11 @@ async function expandBlobReferences(content, resourceManager) {
|
|
|
476
494
|
const resourceUri = uri.startsWith("blob:") ? uri : `blob:${uri}`;
|
|
477
495
|
let resolvedParts = resolvedCache.get(resourceUri);
|
|
478
496
|
if (!resolvedParts) {
|
|
479
|
-
resolvedParts = await resolveBlobReferenceToParts(
|
|
497
|
+
resolvedParts = await resolveBlobReferenceToParts(
|
|
498
|
+
resourceUri,
|
|
499
|
+
resourceManager,
|
|
500
|
+
allowedMediaTypes
|
|
501
|
+
);
|
|
480
502
|
resolvedCache.set(resourceUri, resolvedParts);
|
|
481
503
|
}
|
|
482
504
|
if (resolvedParts.length > 0) {
|
|
@@ -504,7 +526,11 @@ async function expandBlobReferences(content, resourceManager) {
|
|
|
504
526
|
if (part.type === "image" && typeof part.image === "string" && part.image.startsWith("@blob:")) {
|
|
505
527
|
const uri = part.image.substring(1);
|
|
506
528
|
const resourceUri = uri.startsWith("blob:") ? uri : `blob:${uri}`;
|
|
507
|
-
const resolved = await resolveBlobReferenceToParts(
|
|
529
|
+
const resolved = await resolveBlobReferenceToParts(
|
|
530
|
+
resourceUri,
|
|
531
|
+
resourceManager,
|
|
532
|
+
allowedMediaTypes
|
|
533
|
+
);
|
|
508
534
|
if (resolved.length > 0) {
|
|
509
535
|
expandedParts.push(...resolved.map((part2) => ({ ...part2 })));
|
|
510
536
|
} else {
|
|
@@ -515,7 +541,11 @@ async function expandBlobReferences(content, resourceManager) {
|
|
|
515
541
|
if (part.type === "file" && typeof part.data === "string" && part.data.startsWith("@blob:")) {
|
|
516
542
|
const uri = part.data.substring(1);
|
|
517
543
|
const resourceUri = uri.startsWith("blob:") ? uri : `blob:${uri}`;
|
|
518
|
-
const resolved = await resolveBlobReferenceToParts(
|
|
544
|
+
const resolved = await resolveBlobReferenceToParts(
|
|
545
|
+
resourceUri,
|
|
546
|
+
resourceManager,
|
|
547
|
+
allowedMediaTypes
|
|
548
|
+
);
|
|
519
549
|
if (resolved.length > 0) {
|
|
520
550
|
expandedParts.push(...resolved.map((part2) => ({ ...part2 })));
|
|
521
551
|
} else {
|
|
@@ -533,7 +563,11 @@ async function expandBlobReferences(content, resourceManager) {
|
|
|
533
563
|
continue;
|
|
534
564
|
}
|
|
535
565
|
if (part.type === "text" && part.text.includes("@blob:")) {
|
|
536
|
-
const expanded = await expandBlobReferences(
|
|
566
|
+
const expanded = await expandBlobReferences(
|
|
567
|
+
part.text,
|
|
568
|
+
resourceManager,
|
|
569
|
+
allowedMediaTypes
|
|
570
|
+
);
|
|
537
571
|
if (typeof expanded === "string") {
|
|
538
572
|
expandedParts.push({ ...part, text: expanded });
|
|
539
573
|
} else if (Array.isArray(expanded)) {
|
|
@@ -603,6 +637,65 @@ function parseDataUri(value) {
|
|
|
603
637
|
const base64 = value.slice(commaIdx + 1);
|
|
604
638
|
return { mediaType, base64 };
|
|
605
639
|
}
|
|
640
|
+
function matchesMimePattern(mimeType, pattern) {
|
|
641
|
+
if (!mimeType) return false;
|
|
642
|
+
const normalizedMime = mimeType.toLowerCase().trim();
|
|
643
|
+
const normalizedPattern = pattern.toLowerCase().trim();
|
|
644
|
+
if (normalizedPattern === "*" || normalizedPattern === "*/*") {
|
|
645
|
+
return true;
|
|
646
|
+
}
|
|
647
|
+
if (normalizedMime === normalizedPattern) {
|
|
648
|
+
return true;
|
|
649
|
+
}
|
|
650
|
+
if (normalizedPattern.endsWith("/*")) {
|
|
651
|
+
const patternType = normalizedPattern.slice(0, -2);
|
|
652
|
+
const mimeType2 = normalizedMime.split("/")[0];
|
|
653
|
+
return mimeType2 === patternType;
|
|
654
|
+
}
|
|
655
|
+
return false;
|
|
656
|
+
}
|
|
657
|
+
function matchesAnyMimePattern(mimeType, patterns) {
|
|
658
|
+
return patterns.some((pattern) => matchesMimePattern(mimeType, pattern));
|
|
659
|
+
}
|
|
660
|
+
function fileTypesToMimePatterns(fileTypes) {
|
|
661
|
+
const patterns = [];
|
|
662
|
+
for (const fileType of fileTypes) {
|
|
663
|
+
switch (fileType) {
|
|
664
|
+
case "image":
|
|
665
|
+
patterns.push("image/*");
|
|
666
|
+
break;
|
|
667
|
+
case "pdf":
|
|
668
|
+
patterns.push("application/pdf");
|
|
669
|
+
break;
|
|
670
|
+
case "audio":
|
|
671
|
+
patterns.push("audio/*");
|
|
672
|
+
break;
|
|
673
|
+
case "video":
|
|
674
|
+
patterns.push("video/*");
|
|
675
|
+
break;
|
|
676
|
+
default:
|
|
677
|
+
import_logger.logger.warn(`Unknown file type in registry: ${fileType}`);
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
return patterns;
|
|
681
|
+
}
|
|
682
|
+
function generateMediaPlaceholder(metadata) {
|
|
683
|
+
let typeLabel = "File";
|
|
684
|
+
if (metadata.mimeType.startsWith("video/")) typeLabel = "Video";
|
|
685
|
+
else if (metadata.mimeType.startsWith("audio/")) typeLabel = "Audio";
|
|
686
|
+
else if (metadata.mimeType.startsWith("image/")) typeLabel = "Image";
|
|
687
|
+
else if (metadata.mimeType === "application/pdf") typeLabel = "PDF";
|
|
688
|
+
const formatSize = (bytes) => {
|
|
689
|
+
if (bytes === 0) return "0 B";
|
|
690
|
+
const k = 1024;
|
|
691
|
+
const sizes = ["B", "KB", "MB", "GB"];
|
|
692
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
693
|
+
return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + " " + sizes[i];
|
|
694
|
+
};
|
|
695
|
+
const size = formatSize(metadata.size);
|
|
696
|
+
const name = metadata.originalName || "unknown";
|
|
697
|
+
return `[${typeLabel}: ${name} (${size})]`;
|
|
698
|
+
}
|
|
606
699
|
function sanitizeDeepObject(obj) {
|
|
607
700
|
if (obj == null) return obj;
|
|
608
701
|
if (typeof obj === "string") {
|
|
@@ -1128,6 +1221,7 @@ function toTextForToolMessage(content) {
|
|
|
1128
1221
|
0 && (module.exports = {
|
|
1129
1222
|
countMessagesTokens,
|
|
1130
1223
|
expandBlobReferences,
|
|
1224
|
+
fileTypesToMimePatterns,
|
|
1131
1225
|
filterMessagesByLLMCapabilities,
|
|
1132
1226
|
getFileData,
|
|
1133
1227
|
getFileDataWithBlobSupport,
|
|
@@ -1136,6 +1230,8 @@ function toTextForToolMessage(content) {
|
|
|
1136
1230
|
getImageDataWithBlobSupport,
|
|
1137
1231
|
getResourceKind,
|
|
1138
1232
|
isLikelyBase64String,
|
|
1233
|
+
matchesAnyMimePattern,
|
|
1234
|
+
matchesMimePattern,
|
|
1139
1235
|
normalizeToolResult,
|
|
1140
1236
|
parseDataUri,
|
|
1141
1237
|
persistToolMedia,
|
package/dist/context/utils.d.ts
CHANGED
|
@@ -84,11 +84,16 @@ export declare function getFileDataWithBlobSupport(filePart: {
|
|
|
84
84
|
/**
|
|
85
85
|
* Resolves blob references in message content to actual data.
|
|
86
86
|
* Expands @blob:id references to their actual base64 content for LLM consumption.
|
|
87
|
+
* Can optionally filter by MIME type patterns - unsupported types are replaced with descriptive placeholders.
|
|
88
|
+
*
|
|
87
89
|
* @param content The message content that may contain blob references
|
|
88
90
|
* @param resourceManager Resource manager for resolving blob references
|
|
89
|
-
* @
|
|
91
|
+
* @param allowedMediaTypes Optional array of MIME patterns (e.g., ["image/*", "application/pdf"]).
|
|
92
|
+
* If provided, only matching blobs are expanded; others become placeholders.
|
|
93
|
+
* If omitted, all blobs are expanded (legacy behavior).
|
|
94
|
+
* @returns Promise<Resolved content with blob references expanded or replaced with placeholders>
|
|
90
95
|
*/
|
|
91
|
-
export declare function expandBlobReferences(content: InternalMessage['content'], resourceManager: import('../resources/index.js').ResourceManager): Promise<InternalMessage['content']>;
|
|
96
|
+
export declare function expandBlobReferences(content: InternalMessage['content'], resourceManager: import('../resources/index.js').ResourceManager, allowedMediaTypes?: string[]): Promise<InternalMessage['content']>;
|
|
92
97
|
/**
|
|
93
98
|
* Filters message content based on LLM capabilities.
|
|
94
99
|
* Removes unsupported file attachments while preserving supported content.
|
|
@@ -111,6 +116,34 @@ export declare function parseDataUri(value: string): {
|
|
|
111
116
|
base64: string;
|
|
112
117
|
} | null;
|
|
113
118
|
export { getFileMediaKind, getResourceKind };
|
|
119
|
+
/**
|
|
120
|
+
* Check if a MIME type matches a pattern with wildcard support.
|
|
121
|
+
* Supports exact matches and wildcard patterns:
|
|
122
|
+
* - "image/png" matches "image/png" exactly
|
|
123
|
+
* - "image/star" (where star is asterisk) matches "image/png", "image/jpeg", etc.
|
|
124
|
+
* - Single asterisk or "asterisk/asterisk" matches everything
|
|
125
|
+
*
|
|
126
|
+
* @param mimeType The MIME type to check (e.g., "image/png")
|
|
127
|
+
* @param pattern The pattern to match against (e.g., "image/asterisk")
|
|
128
|
+
* @returns true if the MIME type matches the pattern
|
|
129
|
+
*/
|
|
130
|
+
export declare function matchesMimePattern(mimeType: string | undefined, pattern: string): boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Check if a MIME type matches any pattern in an array of patterns.
|
|
133
|
+
*
|
|
134
|
+
* @param mimeType The MIME type to check
|
|
135
|
+
* @param patterns Array of MIME patterns to match against
|
|
136
|
+
* @returns true if the MIME type matches any pattern
|
|
137
|
+
*/
|
|
138
|
+
export declare function matchesAnyMimePattern(mimeType: string | undefined, patterns: string[]): boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Convert supported file types to MIME type patterns.
|
|
141
|
+
* Used to translate LLM registry file types to MIME patterns for filtering.
|
|
142
|
+
*
|
|
143
|
+
* @param fileTypes Array of supported file types from LLM registry (e.g., ['image', 'pdf', 'audio'])
|
|
144
|
+
* @returns Array of MIME type patterns (e.g., ['image/*', 'application/pdf', 'audio/*'])
|
|
145
|
+
*/
|
|
146
|
+
export declare function fileTypesToMimePatterns(fileTypes: string[]): string[];
|
|
114
147
|
export declare function normalizeToolResult(result: unknown): Promise<NormalizedToolResult>;
|
|
115
148
|
export declare function persistToolMedia(normalized: NormalizedToolResult, options: PersistToolMediaOptions): Promise<PersistToolMediaResult>;
|
|
116
149
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/context/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAOvE,KAAK,qBAAqB,GAAG;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,KAAK,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC;AAExC,KAAK,eAAe,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;IAC9C,WAAW,EAAE,eAAe,EAAE,CAAC;CAClC;AAED,UAAU,uBAAuB;IAC7B,SAAS,CAAC,EAAE,OAAO,0BAA0B,EAAE,SAAS,CAAC;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,sBAAsB;IAC5B,KAAK,EAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;IAC9C,SAAS,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;CAChD;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/context/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/context/utils.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
1
2
|
import { logger } from "../logger/index.js";
|
|
2
3
|
import { validateModelFileSupport } from "../llm/registry.js";
|
|
3
4
|
import { ContextError } from "./errors.js";
|
|
@@ -236,9 +237,24 @@ function buildToolBlobName(kind, mimeType, options, preferredName) {
|
|
|
236
237
|
const unique = generateUniqueSuffix();
|
|
237
238
|
return `${parts.join("-")}-${unique}.${ext}`;
|
|
238
239
|
}
|
|
239
|
-
async function resolveBlobReferenceToParts(resourceUri, resourceManager) {
|
|
240
|
+
async function resolveBlobReferenceToParts(resourceUri, resourceManager, allowedMediaTypes) {
|
|
240
241
|
try {
|
|
241
242
|
const result = await resourceManager.read(resourceUri);
|
|
243
|
+
if (allowedMediaTypes) {
|
|
244
|
+
const mimeType = result.contents[0]?.mimeType;
|
|
245
|
+
const metadata = result._meta;
|
|
246
|
+
if (mimeType && !matchesAnyMimePattern(mimeType, allowedMediaTypes)) {
|
|
247
|
+
const placeholderMetadata = {
|
|
248
|
+
mimeType,
|
|
249
|
+
size: metadata?.size ?? 0
|
|
250
|
+
};
|
|
251
|
+
if (metadata?.originalName) {
|
|
252
|
+
placeholderMetadata.originalName = metadata.originalName;
|
|
253
|
+
}
|
|
254
|
+
const placeholder = generateMediaPlaceholder(placeholderMetadata);
|
|
255
|
+
return [{ type: "text", text: placeholder }];
|
|
256
|
+
}
|
|
257
|
+
}
|
|
242
258
|
const parts = [];
|
|
243
259
|
for (const item of result.contents ?? []) {
|
|
244
260
|
if (!item || typeof item !== "object") {
|
|
@@ -414,7 +430,7 @@ async function getFileDataWithBlobSupport(filePart, resourceManager) {
|
|
|
414
430
|
}
|
|
415
431
|
return getFileData(filePart);
|
|
416
432
|
}
|
|
417
|
-
async function expandBlobReferences(content, resourceManager) {
|
|
433
|
+
async function expandBlobReferences(content, resourceManager, allowedMediaTypes) {
|
|
418
434
|
if (typeof content === "string") {
|
|
419
435
|
const blobRefPattern = /@blob:[a-f0-9]+/g;
|
|
420
436
|
const matches = [...content.matchAll(blobRefPattern)];
|
|
@@ -437,7 +453,11 @@ async function expandBlobReferences(content, resourceManager) {
|
|
|
437
453
|
const resourceUri = uri.startsWith("blob:") ? uri : `blob:${uri}`;
|
|
438
454
|
let resolvedParts = resolvedCache.get(resourceUri);
|
|
439
455
|
if (!resolvedParts) {
|
|
440
|
-
resolvedParts = await resolveBlobReferenceToParts(
|
|
456
|
+
resolvedParts = await resolveBlobReferenceToParts(
|
|
457
|
+
resourceUri,
|
|
458
|
+
resourceManager,
|
|
459
|
+
allowedMediaTypes
|
|
460
|
+
);
|
|
441
461
|
resolvedCache.set(resourceUri, resolvedParts);
|
|
442
462
|
}
|
|
443
463
|
if (resolvedParts.length > 0) {
|
|
@@ -465,7 +485,11 @@ async function expandBlobReferences(content, resourceManager) {
|
|
|
465
485
|
if (part.type === "image" && typeof part.image === "string" && part.image.startsWith("@blob:")) {
|
|
466
486
|
const uri = part.image.substring(1);
|
|
467
487
|
const resourceUri = uri.startsWith("blob:") ? uri : `blob:${uri}`;
|
|
468
|
-
const resolved = await resolveBlobReferenceToParts(
|
|
488
|
+
const resolved = await resolveBlobReferenceToParts(
|
|
489
|
+
resourceUri,
|
|
490
|
+
resourceManager,
|
|
491
|
+
allowedMediaTypes
|
|
492
|
+
);
|
|
469
493
|
if (resolved.length > 0) {
|
|
470
494
|
expandedParts.push(...resolved.map((part2) => ({ ...part2 })));
|
|
471
495
|
} else {
|
|
@@ -476,7 +500,11 @@ async function expandBlobReferences(content, resourceManager) {
|
|
|
476
500
|
if (part.type === "file" && typeof part.data === "string" && part.data.startsWith("@blob:")) {
|
|
477
501
|
const uri = part.data.substring(1);
|
|
478
502
|
const resourceUri = uri.startsWith("blob:") ? uri : `blob:${uri}`;
|
|
479
|
-
const resolved = await resolveBlobReferenceToParts(
|
|
503
|
+
const resolved = await resolveBlobReferenceToParts(
|
|
504
|
+
resourceUri,
|
|
505
|
+
resourceManager,
|
|
506
|
+
allowedMediaTypes
|
|
507
|
+
);
|
|
480
508
|
if (resolved.length > 0) {
|
|
481
509
|
expandedParts.push(...resolved.map((part2) => ({ ...part2 })));
|
|
482
510
|
} else {
|
|
@@ -494,7 +522,11 @@ async function expandBlobReferences(content, resourceManager) {
|
|
|
494
522
|
continue;
|
|
495
523
|
}
|
|
496
524
|
if (part.type === "text" && part.text.includes("@blob:")) {
|
|
497
|
-
const expanded = await expandBlobReferences(
|
|
525
|
+
const expanded = await expandBlobReferences(
|
|
526
|
+
part.text,
|
|
527
|
+
resourceManager,
|
|
528
|
+
allowedMediaTypes
|
|
529
|
+
);
|
|
498
530
|
if (typeof expanded === "string") {
|
|
499
531
|
expandedParts.push({ ...part, text: expanded });
|
|
500
532
|
} else if (Array.isArray(expanded)) {
|
|
@@ -564,6 +596,65 @@ function parseDataUri(value) {
|
|
|
564
596
|
const base64 = value.slice(commaIdx + 1);
|
|
565
597
|
return { mediaType, base64 };
|
|
566
598
|
}
|
|
599
|
+
function matchesMimePattern(mimeType, pattern) {
|
|
600
|
+
if (!mimeType) return false;
|
|
601
|
+
const normalizedMime = mimeType.toLowerCase().trim();
|
|
602
|
+
const normalizedPattern = pattern.toLowerCase().trim();
|
|
603
|
+
if (normalizedPattern === "*" || normalizedPattern === "*/*") {
|
|
604
|
+
return true;
|
|
605
|
+
}
|
|
606
|
+
if (normalizedMime === normalizedPattern) {
|
|
607
|
+
return true;
|
|
608
|
+
}
|
|
609
|
+
if (normalizedPattern.endsWith("/*")) {
|
|
610
|
+
const patternType = normalizedPattern.slice(0, -2);
|
|
611
|
+
const mimeType2 = normalizedMime.split("/")[0];
|
|
612
|
+
return mimeType2 === patternType;
|
|
613
|
+
}
|
|
614
|
+
return false;
|
|
615
|
+
}
|
|
616
|
+
function matchesAnyMimePattern(mimeType, patterns) {
|
|
617
|
+
return patterns.some((pattern) => matchesMimePattern(mimeType, pattern));
|
|
618
|
+
}
|
|
619
|
+
function fileTypesToMimePatterns(fileTypes) {
|
|
620
|
+
const patterns = [];
|
|
621
|
+
for (const fileType of fileTypes) {
|
|
622
|
+
switch (fileType) {
|
|
623
|
+
case "image":
|
|
624
|
+
patterns.push("image/*");
|
|
625
|
+
break;
|
|
626
|
+
case "pdf":
|
|
627
|
+
patterns.push("application/pdf");
|
|
628
|
+
break;
|
|
629
|
+
case "audio":
|
|
630
|
+
patterns.push("audio/*");
|
|
631
|
+
break;
|
|
632
|
+
case "video":
|
|
633
|
+
patterns.push("video/*");
|
|
634
|
+
break;
|
|
635
|
+
default:
|
|
636
|
+
logger.warn(`Unknown file type in registry: ${fileType}`);
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
return patterns;
|
|
640
|
+
}
|
|
641
|
+
function generateMediaPlaceholder(metadata) {
|
|
642
|
+
let typeLabel = "File";
|
|
643
|
+
if (metadata.mimeType.startsWith("video/")) typeLabel = "Video";
|
|
644
|
+
else if (metadata.mimeType.startsWith("audio/")) typeLabel = "Audio";
|
|
645
|
+
else if (metadata.mimeType.startsWith("image/")) typeLabel = "Image";
|
|
646
|
+
else if (metadata.mimeType === "application/pdf") typeLabel = "PDF";
|
|
647
|
+
const formatSize = (bytes) => {
|
|
648
|
+
if (bytes === 0) return "0 B";
|
|
649
|
+
const k = 1024;
|
|
650
|
+
const sizes = ["B", "KB", "MB", "GB"];
|
|
651
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
652
|
+
return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + " " + sizes[i];
|
|
653
|
+
};
|
|
654
|
+
const size = formatSize(metadata.size);
|
|
655
|
+
const name = metadata.originalName || "unknown";
|
|
656
|
+
return `[${typeLabel}: ${name} (${size})]`;
|
|
657
|
+
}
|
|
567
658
|
function sanitizeDeepObject(obj) {
|
|
568
659
|
if (obj == null) return obj;
|
|
569
660
|
if (typeof obj === "string") {
|
|
@@ -1088,6 +1179,7 @@ function toTextForToolMessage(content) {
|
|
|
1088
1179
|
export {
|
|
1089
1180
|
countMessagesTokens,
|
|
1090
1181
|
expandBlobReferences,
|
|
1182
|
+
fileTypesToMimePatterns,
|
|
1091
1183
|
filterMessagesByLLMCapabilities,
|
|
1092
1184
|
getFileData,
|
|
1093
1185
|
getFileDataWithBlobSupport,
|
|
@@ -1096,6 +1188,8 @@ export {
|
|
|
1096
1188
|
getImageDataWithBlobSupport,
|
|
1097
1189
|
getResourceKind,
|
|
1098
1190
|
isLikelyBase64String,
|
|
1191
|
+
matchesAnyMimePattern,
|
|
1192
|
+
matchesMimePattern,
|
|
1099
1193
|
normalizeToolResult,
|
|
1100
1194
|
parseDataUri,
|
|
1101
1195
|
persistToolMedia,
|
package/dist/errors/index.js
CHANGED
package/dist/errors/types.cjs
CHANGED
|
@@ -38,6 +38,8 @@ var ErrorScope = /* @__PURE__ */ ((ErrorScope2) => {
|
|
|
38
38
|
ErrorScope2["PROMPT"] = "prompt";
|
|
39
39
|
ErrorScope2["MEMORY"] = "memory";
|
|
40
40
|
ErrorScope2["PLUGIN"] = "plugin";
|
|
41
|
+
ErrorScope2["FILESYSTEM"] = "filesystem";
|
|
42
|
+
ErrorScope2["PROCESS"] = "process";
|
|
41
43
|
return ErrorScope2;
|
|
42
44
|
})(ErrorScope || {});
|
|
43
45
|
var ErrorType = /* @__PURE__ */ ((ErrorType2) => {
|
|
@@ -45,6 +47,7 @@ var ErrorType = /* @__PURE__ */ ((ErrorType2) => {
|
|
|
45
47
|
ErrorType2["NOT_FOUND"] = "not_found";
|
|
46
48
|
ErrorType2["FORBIDDEN"] = "forbidden";
|
|
47
49
|
ErrorType2["TIMEOUT"] = "timeout";
|
|
50
|
+
ErrorType2["CONFLICT"] = "conflict";
|
|
48
51
|
ErrorType2["RATE_LIMIT"] = "rate_limit";
|
|
49
52
|
ErrorType2["SYSTEM"] = "system";
|
|
50
53
|
ErrorType2["THIRD_PARTY"] = "third_party";
|
package/dist/errors/types.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ import type { PromptErrorCode } from '../prompts/error-codes.js';
|
|
|
14
14
|
import type { ApprovalErrorCode } from '../approval/error-codes.js';
|
|
15
15
|
import type { MemoryErrorCode } from '../memory/error-codes.js';
|
|
16
16
|
import type { PluginErrorCode } from '../plugins/error-codes.js';
|
|
17
|
+
import type { FileSystemErrorCode } from '../filesystem/error-codes.js';
|
|
18
|
+
import type { ProcessErrorCode } from '../process/error-codes.js';
|
|
17
19
|
/**
|
|
18
20
|
* Error scopes representing functional domains in the system
|
|
19
21
|
* Each scope owns its validation and error logic
|
|
@@ -33,7 +35,9 @@ export declare enum ErrorScope {
|
|
|
33
35
|
RESOURCE = "resource",// Resource management (MCP/internal) discovery and access
|
|
34
36
|
PROMPT = "prompt",// Prompt management, resolution, and providers
|
|
35
37
|
MEMORY = "memory",// Memory management and storage
|
|
36
|
-
PLUGIN = "plugin"
|
|
38
|
+
PLUGIN = "plugin",// Plugin loading, validation, and execution
|
|
39
|
+
FILESYSTEM = "filesystem",// File system operations and path validation
|
|
40
|
+
PROCESS = "process"
|
|
37
41
|
}
|
|
38
42
|
/**
|
|
39
43
|
* Error types that map directly to HTTP status codes
|
|
@@ -44,6 +48,7 @@ export declare enum ErrorType {
|
|
|
44
48
|
NOT_FOUND = "not_found",// 404 - resource doesn't exist (session, file, etc.)
|
|
45
49
|
FORBIDDEN = "forbidden",// 403 - permission denied, unauthorized
|
|
46
50
|
TIMEOUT = "timeout",// 408 - operation timed out
|
|
51
|
+
CONFLICT = "conflict",// 409 - resource conflict, concurrent operation
|
|
47
52
|
RATE_LIMIT = "rate_limit",// 429 - too many requests
|
|
48
53
|
SYSTEM = "system",// 500 - bugs, internal failures, unexpected states
|
|
49
54
|
THIRD_PARTY = "third_party",// 502 - upstream provider failures, API errors
|
|
@@ -53,7 +58,7 @@ export declare enum ErrorType {
|
|
|
53
58
|
* Union type for all error codes across domains
|
|
54
59
|
* Provides type safety for error handling
|
|
55
60
|
*/
|
|
56
|
-
export type DextoErrorCode = LLMErrorCode | AgentErrorCode | ConfigErrorCode | ContextErrorCode | SessionErrorCode | MCPErrorCode | ToolErrorCode | StorageErrorCode | SystemPromptErrorCode | PreferenceErrorCode | RegistryErrorCode | ResourceErrorCode | PromptErrorCode | ApprovalErrorCode | MemoryErrorCode | PluginErrorCode;
|
|
61
|
+
export type DextoErrorCode = LLMErrorCode | AgentErrorCode | ConfigErrorCode | ContextErrorCode | SessionErrorCode | MCPErrorCode | ToolErrorCode | StorageErrorCode | SystemPromptErrorCode | PreferenceErrorCode | RegistryErrorCode | ResourceErrorCode | PromptErrorCode | ApprovalErrorCode | MemoryErrorCode | PluginErrorCode | FileSystemErrorCode | ProcessErrorCode;
|
|
57
62
|
/** Severity of an issue */
|
|
58
63
|
export type Severity = 'error' | 'warning';
|
|
59
64
|
/** Generic issue type for validation results */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/errors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/errors/types.ts"],"names":[],"mappings":"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"}
|
package/dist/errors/types.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "../chunk-C6A6W6XS.js";
|
|
1
2
|
var ErrorScope = /* @__PURE__ */ ((ErrorScope2) => {
|
|
2
3
|
ErrorScope2["LLM"] = "llm";
|
|
3
4
|
ErrorScope2["AGENT"] = "agent";
|
|
@@ -14,6 +15,8 @@ var ErrorScope = /* @__PURE__ */ ((ErrorScope2) => {
|
|
|
14
15
|
ErrorScope2["PROMPT"] = "prompt";
|
|
15
16
|
ErrorScope2["MEMORY"] = "memory";
|
|
16
17
|
ErrorScope2["PLUGIN"] = "plugin";
|
|
18
|
+
ErrorScope2["FILESYSTEM"] = "filesystem";
|
|
19
|
+
ErrorScope2["PROCESS"] = "process";
|
|
17
20
|
return ErrorScope2;
|
|
18
21
|
})(ErrorScope || {});
|
|
19
22
|
var ErrorType = /* @__PURE__ */ ((ErrorType2) => {
|
|
@@ -21,6 +24,7 @@ var ErrorType = /* @__PURE__ */ ((ErrorType2) => {
|
|
|
21
24
|
ErrorType2["NOT_FOUND"] = "not_found";
|
|
22
25
|
ErrorType2["FORBIDDEN"] = "forbidden";
|
|
23
26
|
ErrorType2["TIMEOUT"] = "timeout";
|
|
27
|
+
ErrorType2["CONFLICT"] = "conflict";
|
|
24
28
|
ErrorType2["RATE_LIMIT"] = "rate_limit";
|
|
25
29
|
ErrorType2["SYSTEM"] = "system";
|
|
26
30
|
ErrorType2["THIRD_PARTY"] = "third_party";
|
package/dist/events/index.cjs
CHANGED
package/dist/events/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type { SanitizedToolResult } from '../context/types.js';
|
|
|
6
6
|
/**
|
|
7
7
|
* Agent-level event names - events that occur at the agent/global level
|
|
8
8
|
*/
|
|
9
|
-
export declare const AGENT_EVENT_NAMES: readonly ["dexto:conversationReset", "dexto:mcpServerConnected", "dexto:availableToolsUpdated", "dexto:llmSwitched", "dexto:stateChanged", "dexto:stateExported", "dexto:stateReset", "dexto:sessionOverrideSet", "dexto:sessionOverrideCleared", "dexto:mcpServerAdded", "dexto:mcpServerRemoved", "dexto:mcpServerUpdated", "dexto:mcpResourceUpdated", "dexto:mcpPromptsListChanged", "dexto:mcpToolsListChanged", "dexto:resourceCacheInvalidated", "dexto:sessionTitleUpdated", "dexto:approvalRequest", "dexto:approvalResponse"];
|
|
9
|
+
export declare const AGENT_EVENT_NAMES: readonly ["dexto:conversationReset", "dexto:mcpServerConnected", "dexto:availableToolsUpdated", "dexto:llmSwitched", "dexto:stateChanged", "dexto:stateExported", "dexto:stateReset", "dexto:sessionOverrideSet", "dexto:sessionOverrideCleared", "dexto:mcpServerAdded", "dexto:mcpServerRemoved", "dexto:mcpServerRestarted", "dexto:mcpServerUpdated", "dexto:mcpResourceUpdated", "dexto:mcpPromptsListChanged", "dexto:mcpToolsListChanged", "dexto:resourceCacheInvalidated", "dexto:sessionTitleUpdated", "dexto:approvalRequest", "dexto:approvalResponse"];
|
|
10
10
|
/**
|
|
11
11
|
* Session-level event names - events that occur within individual sessions
|
|
12
12
|
*/
|
|
@@ -14,7 +14,7 @@ export declare const SESSION_EVENT_NAMES: readonly ["llmservice:thinking", "llms
|
|
|
14
14
|
/**
|
|
15
15
|
* All event names combined for backward compatibility
|
|
16
16
|
*/
|
|
17
|
-
export declare const EVENT_NAMES: readonly ["dexto:conversationReset", "dexto:mcpServerConnected", "dexto:availableToolsUpdated", "dexto:llmSwitched", "dexto:stateChanged", "dexto:stateExported", "dexto:stateReset", "dexto:sessionOverrideSet", "dexto:sessionOverrideCleared", "dexto:mcpServerAdded", "dexto:mcpServerRemoved", "dexto:mcpServerUpdated", "dexto:mcpResourceUpdated", "dexto:mcpPromptsListChanged", "dexto:mcpToolsListChanged", "dexto:resourceCacheInvalidated", "dexto:sessionTitleUpdated", "dexto:approvalRequest", "dexto:approvalResponse", "llmservice:thinking", "llmservice:chunk", "llmservice:response", "llmservice:toolCall", "llmservice:toolResult", "llmservice:error", "llmservice:switched", "llmservice:unsupportedInput"];
|
|
17
|
+
export declare const EVENT_NAMES: readonly ["dexto:conversationReset", "dexto:mcpServerConnected", "dexto:availableToolsUpdated", "dexto:llmSwitched", "dexto:stateChanged", "dexto:stateExported", "dexto:stateReset", "dexto:sessionOverrideSet", "dexto:sessionOverrideCleared", "dexto:mcpServerAdded", "dexto:mcpServerRemoved", "dexto:mcpServerRestarted", "dexto:mcpServerUpdated", "dexto:mcpResourceUpdated", "dexto:mcpPromptsListChanged", "dexto:mcpToolsListChanged", "dexto:resourceCacheInvalidated", "dexto:sessionTitleUpdated", "dexto:approvalRequest", "dexto:approvalResponse", "llmservice:thinking", "llmservice:chunk", "llmservice:response", "llmservice:toolCall", "llmservice:toolResult", "llmservice:error", "llmservice:switched", "llmservice:unsupportedInput"];
|
|
18
18
|
/**
|
|
19
19
|
* Combined event map for the agent bus - includes agent events and session events with sessionId
|
|
20
20
|
* This is what the global agent event bus uses to aggregate all events
|
|
@@ -140,6 +140,10 @@ export interface AgentEventMap {
|
|
|
140
140
|
'dexto:mcpServerRemoved': {
|
|
141
141
|
serverName: string;
|
|
142
142
|
};
|
|
143
|
+
/** Fired when MCP server is restarted */
|
|
144
|
+
'dexto:mcpServerRestarted': {
|
|
145
|
+
serverName: string;
|
|
146
|
+
};
|
|
143
147
|
/** Fired when MCP server is updated in runtime state */
|
|
144
148
|
'dexto:mcpServerUpdated': {
|
|
145
149
|
serverName: string;
|