@dexto/core 1.4.0 → 1.5.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 +36 -0
- package/dist/agent/DextoAgent.cjs +22 -3
- package/dist/agent/DextoAgent.d.ts +19 -2
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +23 -4
- package/dist/agent/index.cjs +4 -1
- package/dist/agent/index.d.ts +1 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +5 -1
- package/dist/agent/schemas.cjs +90 -71
- package/dist/agent/schemas.d.ts +5911 -96
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +87 -66
- package/dist/approval/manager.cjs +165 -1
- package/dist/approval/manager.d.ts +91 -2
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +155 -1
- package/dist/approval/schemas.cjs +39 -3
- package/dist/approval/schemas.d.ts +238 -1
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +35 -3
- package/dist/approval/types.cjs +1 -0
- package/dist/approval/types.d.ts +26 -1
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +1 -0
- package/dist/context/compaction/factory.cjs +57 -0
- package/dist/context/compaction/factory.d.ts +17 -0
- package/dist/context/compaction/factory.d.ts.map +1 -0
- package/dist/context/compaction/factory.js +34 -0
- package/dist/context/compaction/index.cjs +49 -0
- package/dist/context/compaction/index.d.ts +11 -0
- package/dist/context/compaction/index.d.ts.map +1 -0
- package/dist/context/compaction/index.js +19 -0
- package/dist/context/{compression → compaction}/overflow.cjs +3 -3
- package/dist/context/{compression → compaction}/overflow.d.ts +4 -4
- package/dist/context/compaction/overflow.d.ts.map +1 -0
- package/dist/context/{compression → compaction}/overflow.js +2 -2
- package/dist/context/compaction/provider.cjs +16 -0
- package/dist/context/compaction/provider.d.ts +48 -0
- package/dist/context/compaction/provider.d.ts.map +1 -0
- package/dist/context/compaction/providers/noop-provider.cjs +48 -0
- package/dist/context/compaction/providers/noop-provider.d.ts +24 -0
- package/dist/context/compaction/providers/noop-provider.d.ts.map +1 -0
- package/dist/context/compaction/providers/noop-provider.js +24 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.cjs +61 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +36 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +1 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.js +37 -0
- package/dist/context/compaction/registry.cjs +39 -0
- package/dist/context/compaction/registry.d.ts +19 -0
- package/dist/context/compaction/registry.d.ts.map +1 -0
- package/dist/context/compaction/registry.js +16 -0
- package/dist/context/compaction/schemas.cjs +38 -0
- package/dist/context/compaction/schemas.d.ts +24 -0
- package/dist/context/compaction/schemas.d.ts.map +1 -0
- package/dist/context/compaction/schemas.js +14 -0
- package/dist/context/compaction/strategies/noop.cjs +36 -0
- package/dist/context/compaction/strategies/noop.d.ts +18 -0
- package/dist/context/compaction/strategies/noop.d.ts.map +1 -0
- package/dist/context/compaction/strategies/noop.js +13 -0
- package/dist/context/{compression → compaction/strategies}/reactive-overflow.cjs +3 -3
- package/dist/context/{compression → compaction/strategies}/reactive-overflow.d.ts +6 -6
- package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +1 -0
- package/dist/context/{compression → compaction/strategies}/reactive-overflow.js +4 -4
- package/dist/context/{compression → compaction}/types.d.ts +4 -4
- package/dist/context/compaction/types.d.ts.map +1 -0
- package/dist/context/compaction/types.js +0 -0
- package/dist/context/error-codes.cjs +4 -0
- package/dist/context/error-codes.d.ts +4 -0
- package/dist/context/error-codes.d.ts.map +1 -1
- package/dist/context/error-codes.js +4 -0
- package/dist/context/errors.cjs +40 -0
- package/dist/context/errors.d.ts +14 -0
- package/dist/context/errors.d.ts.map +1 -1
- package/dist/context/errors.js +40 -0
- package/dist/context/index.cjs +3 -1
- package/dist/context/index.d.ts +1 -0
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +1 -0
- package/dist/context/types.d.ts +6 -0
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/utils.cjs +27 -7
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +27 -7
- package/dist/errors/result-bridge.cjs +2 -3
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/result-bridge.js +2 -3
- package/dist/events/index.cjs +2 -2
- package/dist/events/index.d.ts +16 -16
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +2 -2
- package/dist/filesystem/filesystem-service.cjs +39 -0
- package/dist/filesystem/filesystem-service.d.ts +32 -0
- package/dist/filesystem/filesystem-service.d.ts.map +1 -1
- package/dist/filesystem/filesystem-service.js +39 -0
- package/dist/filesystem/index.d.ts +1 -1
- package/dist/filesystem/index.d.ts.map +1 -1
- package/dist/filesystem/path-validator.cjs +69 -1
- package/dist/filesystem/path-validator.d.ts +43 -2
- package/dist/filesystem/path-validator.d.ts.map +1 -1
- package/dist/filesystem/path-validator.js +69 -1
- package/dist/image/define-image.cjs +146 -0
- package/dist/image/define-image.d.ts +71 -0
- package/dist/image/define-image.d.ts.map +1 -0
- package/dist/image/define-image.js +121 -0
- package/dist/image/index.cjs +32 -0
- package/dist/image/index.d.ts +53 -0
- package/dist/image/index.d.ts.map +1 -0
- package/dist/image/index.js +7 -0
- package/dist/image/types.cjs +16 -0
- package/dist/image/types.d.ts +231 -0
- package/dist/image/types.d.ts.map +1 -0
- package/dist/image/types.js +0 -0
- package/dist/index.cjs +5 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/llm/error-codes.cjs +1 -0
- package/dist/llm/error-codes.d.ts +1 -0
- package/dist/llm/error-codes.d.ts.map +1 -1
- package/dist/llm/error-codes.js +1 -0
- package/dist/llm/errors.cjs +24 -0
- package/dist/llm/errors.d.ts +19 -6
- package/dist/llm/errors.d.ts.map +1 -1
- package/dist/llm/errors.js +24 -0
- package/dist/llm/executor/stream-processor.cjs +11 -3
- package/dist/llm/executor/stream-processor.d.ts.map +1 -1
- package/dist/llm/executor/stream-processor.js +11 -3
- package/dist/llm/executor/turn-executor.cjs +50 -23
- package/dist/llm/executor/turn-executor.d.ts +6 -5
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +50 -23
- package/dist/llm/formatters/vercel.cjs +6 -2
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +6 -2
- package/dist/llm/index.cjs +18 -1
- package/dist/llm/index.d.ts +2 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +14 -0
- package/dist/llm/providers/local/ai-sdk-adapter.cjs +308 -0
- package/dist/llm/providers/local/ai-sdk-adapter.d.ts +29 -0
- package/dist/llm/providers/local/ai-sdk-adapter.d.ts.map +1 -0
- package/dist/llm/providers/local/ai-sdk-adapter.js +278 -0
- package/dist/llm/providers/local/downloader.cjs +291 -0
- package/dist/llm/providers/local/downloader.d.ts +82 -0
- package/dist/llm/providers/local/downloader.d.ts.map +1 -0
- package/dist/llm/providers/local/downloader.js +251 -0
- package/dist/llm/providers/local/error-codes.cjs +57 -0
- package/dist/llm/providers/local/error-codes.d.ts +66 -0
- package/dist/llm/providers/local/error-codes.d.ts.map +1 -0
- package/dist/llm/providers/local/error-codes.js +34 -0
- package/dist/llm/providers/local/errors.cjs +240 -0
- package/dist/llm/providers/local/errors.d.ts +31 -0
- package/dist/llm/providers/local/errors.d.ts.map +1 -0
- package/dist/llm/providers/local/errors.js +217 -0
- package/dist/llm/providers/local/gpu-detector.cjs +214 -0
- package/dist/llm/providers/local/gpu-detector.d.ts +28 -0
- package/dist/llm/providers/local/gpu-detector.d.ts.map +1 -0
- package/dist/llm/providers/local/gpu-detector.js +178 -0
- package/dist/llm/providers/local/index.cjs +147 -0
- package/dist/llm/providers/local/index.d.ts +21 -0
- package/dist/llm/providers/local/index.d.ts.map +1 -0
- package/dist/llm/providers/local/index.js +126 -0
- package/dist/llm/providers/local/node-llama-provider.cjs +216 -0
- package/dist/llm/providers/local/node-llama-provider.d.ts +90 -0
- package/dist/llm/providers/local/node-llama-provider.d.ts.map +1 -0
- package/dist/llm/providers/local/node-llama-provider.js +176 -0
- package/dist/llm/providers/local/ollama-provider.cjs +230 -0
- package/dist/llm/providers/local/ollama-provider.d.ts +70 -0
- package/dist/llm/providers/local/ollama-provider.d.ts.map +1 -0
- package/dist/llm/providers/local/ollama-provider.js +198 -0
- package/dist/llm/providers/local/registry.cjs +343 -0
- package/dist/llm/providers/local/registry.d.ts +51 -0
- package/dist/llm/providers/local/registry.d.ts.map +1 -0
- package/dist/llm/providers/local/registry.js +312 -0
- package/dist/llm/providers/local/schemas.cjs +169 -0
- package/dist/llm/providers/local/schemas.d.ts +395 -0
- package/dist/llm/providers/local/schemas.d.ts.map +1 -0
- package/dist/llm/providers/local/schemas.js +133 -0
- package/dist/llm/providers/local/types.cjs +16 -0
- package/dist/llm/providers/local/types.d.ts +219 -0
- package/dist/llm/providers/local/types.d.ts.map +1 -0
- package/dist/llm/providers/local/types.js +0 -0
- package/dist/llm/providers/openrouter-model-registry.cjs +350 -0
- package/dist/llm/providers/openrouter-model-registry.d.ts +120 -0
- package/dist/llm/providers/openrouter-model-registry.d.ts.map +1 -0
- package/dist/llm/providers/openrouter-model-registry.js +309 -0
- package/dist/llm/registry.cjs +535 -9
- package/dist/llm/registry.d.ts +26 -0
- package/dist/llm/registry.d.ts.map +1 -1
- package/dist/llm/registry.js +532 -9
- package/dist/llm/resolver.cjs +63 -5
- package/dist/llm/resolver.d.ts +3 -3
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +69 -6
- package/dist/llm/schemas.cjs +90 -80
- package/dist/llm/schemas.d.ts +158 -22
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +90 -80
- package/dist/llm/services/factory.cjs +87 -13
- package/dist/llm/services/factory.d.ts +4 -1
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +85 -12
- package/dist/llm/services/test-utils.integration.cjs +22 -2
- package/dist/llm/services/test-utils.integration.d.ts +7 -1
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
- package/dist/llm/services/test-utils.integration.js +26 -3
- package/dist/llm/services/vercel.cjs +5 -2
- package/dist/llm/services/vercel.d.ts +3 -2
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +5 -2
- package/dist/llm/types.cjs +11 -1
- package/dist/llm/types.d.ts +1 -1
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js +11 -1
- package/dist/mcp/manager.cjs +8 -0
- package/dist/mcp/manager.d.ts +17 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +8 -0
- package/dist/mcp/mcp-client.cjs +0 -3
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +0 -3
- package/dist/memory/schemas.d.ts +1 -1
- package/dist/plugins/error-codes.cjs +3 -0
- package/dist/plugins/error-codes.d.ts +7 -1
- package/dist/plugins/error-codes.d.ts.map +1 -1
- package/dist/plugins/error-codes.js +3 -0
- package/dist/plugins/index.cjs +7 -0
- package/dist/plugins/index.d.ts +4 -2
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +6 -1
- package/dist/plugins/manager.cjs +92 -7
- package/dist/plugins/manager.d.ts +10 -3
- package/dist/plugins/manager.d.ts.map +1 -1
- package/dist/plugins/manager.js +92 -7
- package/dist/plugins/registry.cjs +63 -0
- package/dist/plugins/registry.d.ts +101 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +39 -0
- package/dist/plugins/schemas.cjs +17 -5
- package/dist/plugins/schemas.d.ts +62 -5
- package/dist/plugins/schemas.d.ts.map +1 -1
- package/dist/plugins/schemas.js +15 -4
- package/dist/providers/base-registry.cjs +147 -0
- package/dist/providers/base-registry.d.ts +147 -0
- package/dist/providers/base-registry.d.ts.map +1 -0
- package/dist/providers/base-registry.js +123 -0
- package/dist/providers/discovery.cjs +95 -0
- package/dist/providers/discovery.d.ts +94 -0
- package/dist/providers/discovery.d.ts.map +1 -0
- package/dist/providers/discovery.js +70 -0
- package/dist/providers/index.cjs +24 -0
- package/dist/providers/index.d.ts +32 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +2 -0
- package/dist/resources/reference-parser.cjs +3 -3
- package/dist/resources/reference-parser.d.ts.map +1 -1
- package/dist/resources/reference-parser.js +3 -3
- package/dist/session/chat-session.cjs +20 -3
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +21 -4
- package/dist/storage/blob/factory.cjs +8 -11
- package/dist/storage/blob/factory.d.ts +32 -6
- package/dist/storage/blob/factory.d.ts.map +1 -1
- package/dist/storage/blob/factory.js +8 -11
- package/dist/storage/blob/index.cjs +56 -0
- package/dist/storage/blob/index.d.ts +45 -0
- package/dist/storage/blob/index.d.ts.map +1 -0
- package/dist/storage/blob/index.js +30 -0
- package/dist/storage/blob/provider.cjs +16 -0
- package/dist/storage/blob/provider.d.ts +50 -0
- package/dist/storage/blob/provider.d.ts.map +1 -0
- package/dist/storage/blob/provider.js +0 -0
- package/dist/storage/blob/providers/index.cjs +31 -0
- package/dist/storage/blob/providers/index.d.ts +8 -0
- package/dist/storage/blob/providers/index.d.ts.map +1 -0
- package/dist/storage/blob/providers/index.js +7 -0
- package/dist/storage/blob/providers/local.cjs +39 -0
- package/dist/storage/blob/providers/local.d.ts +17 -0
- package/dist/storage/blob/providers/local.d.ts.map +1 -0
- package/dist/storage/blob/providers/local.js +16 -0
- package/dist/storage/blob/providers/memory.cjs +39 -0
- package/dist/storage/blob/providers/memory.d.ts +17 -0
- package/dist/storage/blob/providers/memory.d.ts.map +1 -0
- package/dist/storage/blob/providers/memory.js +16 -0
- package/dist/storage/blob/registry.cjs +50 -0
- package/dist/storage/blob/registry.d.ts +42 -0
- package/dist/storage/blob/registry.d.ts.map +1 -0
- package/dist/storage/blob/registry.js +26 -0
- package/dist/storage/blob/schemas.cjs +9 -12
- package/dist/storage/blob/schemas.d.ts +39 -34
- package/dist/storage/blob/schemas.d.ts.map +1 -1
- package/dist/storage/blob/schemas.js +6 -11
- package/dist/storage/cache/factory.cjs +8 -36
- package/dist/storage/cache/factory.d.ts +32 -7
- package/dist/storage/cache/factory.d.ts.map +1 -1
- package/dist/storage/cache/factory.js +8 -26
- package/dist/storage/cache/index.cjs +53 -0
- package/dist/storage/cache/index.d.ts +44 -0
- package/dist/storage/cache/index.d.ts.map +1 -0
- package/dist/storage/cache/index.js +28 -0
- package/dist/storage/cache/provider.cjs +16 -0
- package/dist/storage/cache/provider.d.ts +56 -0
- package/dist/storage/cache/provider.d.ts.map +1 -0
- package/dist/storage/cache/provider.js +0 -0
- package/dist/storage/cache/providers/index.cjs +31 -0
- package/dist/storage/cache/providers/index.d.ts +8 -0
- package/dist/storage/cache/providers/index.d.ts.map +1 -0
- package/dist/storage/cache/providers/index.js +7 -0
- package/dist/storage/cache/providers/memory.cjs +40 -0
- package/dist/storage/cache/providers/memory.d.ts +17 -0
- package/dist/storage/cache/providers/memory.d.ts.map +1 -0
- package/dist/storage/cache/providers/memory.js +17 -0
- package/dist/storage/cache/providers/redis.cjs +66 -0
- package/dist/storage/cache/providers/redis.d.ts +20 -0
- package/dist/storage/cache/providers/redis.d.ts.map +1 -0
- package/dist/storage/cache/providers/redis.js +33 -0
- package/dist/storage/cache/registry.cjs +50 -0
- package/dist/storage/cache/registry.d.ts +42 -0
- package/dist/storage/cache/registry.d.ts.map +1 -0
- package/dist/storage/cache/registry.js +26 -0
- package/dist/storage/cache/schemas.cjs +6 -2
- package/dist/storage/cache/schemas.d.ts +2 -3
- package/dist/storage/cache/schemas.d.ts.map +1 -1
- package/dist/storage/cache/schemas.js +3 -1
- package/dist/storage/database/factory.cjs +8 -47
- package/dist/storage/database/factory.d.ts +34 -8
- package/dist/storage/database/factory.d.ts.map +1 -1
- package/dist/storage/database/factory.js +8 -37
- package/dist/storage/database/index.cjs +58 -0
- package/dist/storage/database/index.d.ts +45 -0
- package/dist/storage/database/index.d.ts.map +1 -0
- package/dist/storage/database/index.js +37 -0
- package/dist/storage/database/provider.cjs +16 -0
- package/dist/storage/database/provider.d.ts +56 -0
- package/dist/storage/database/provider.d.ts.map +1 -0
- package/dist/storage/database/provider.js +0 -0
- package/dist/storage/database/providers/index.cjs +34 -0
- package/dist/storage/database/providers/index.d.ts +9 -0
- package/dist/storage/database/providers/index.d.ts.map +1 -0
- package/dist/storage/database/providers/index.js +9 -0
- package/dist/storage/database/providers/memory.cjs +40 -0
- package/dist/storage/database/providers/memory.d.ts +16 -0
- package/dist/storage/database/providers/memory.d.ts.map +1 -0
- package/dist/storage/database/providers/memory.js +17 -0
- package/dist/storage/database/providers/postgres.cjs +62 -0
- package/dist/storage/database/providers/postgres.d.ts +19 -0
- package/dist/storage/database/providers/postgres.d.ts.map +1 -0
- package/dist/storage/database/providers/postgres.js +29 -0
- package/dist/storage/database/providers/sqlite.cjs +66 -0
- package/dist/storage/database/providers/sqlite.d.ts +20 -0
- package/dist/storage/database/providers/sqlite.d.ts.map +1 -0
- package/dist/storage/database/providers/sqlite.js +33 -0
- package/dist/storage/database/registry.cjs +50 -0
- package/dist/storage/database/registry.d.ts +42 -0
- package/dist/storage/database/registry.d.ts.map +1 -0
- package/dist/storage/database/registry.js +26 -0
- package/dist/storage/database/schemas.cjs +8 -2
- package/dist/storage/database/schemas.d.ts +3 -4
- package/dist/storage/database/schemas.d.ts.map +1 -1
- package/dist/storage/database/schemas.js +4 -1
- package/dist/storage/error-codes.cjs +6 -0
- package/dist/storage/error-codes.d.ts +7 -1
- package/dist/storage/error-codes.d.ts.map +1 -1
- package/dist/storage/error-codes.js +6 -0
- package/dist/storage/errors.cjs +80 -0
- package/dist/storage/errors.d.ts +24 -0
- package/dist/storage/errors.d.ts.map +1 -1
- package/dist/storage/errors.js +80 -0
- package/dist/storage/index.cjs +47 -4
- package/dist/storage/index.d.ts +34 -8
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +32 -3
- package/dist/storage/schemas.cjs +4 -0
- package/dist/storage/schemas.d.ts +17 -50
- package/dist/storage/schemas.d.ts.map +1 -1
- package/dist/storage/schemas.js +5 -1
- package/dist/storage/storage-manager.cjs +6 -6
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +3 -3
- package/dist/systemPrompt/in-built-prompts.cjs +7 -6
- package/dist/systemPrompt/in-built-prompts.d.ts +2 -2
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
- package/dist/systemPrompt/in-built-prompts.js +6 -5
- package/dist/systemPrompt/registry.cjs +2 -2
- package/dist/systemPrompt/registry.d.ts +1 -1
- package/dist/systemPrompt/registry.d.ts.map +1 -1
- package/dist/systemPrompt/registry.js +2 -2
- package/dist/systemPrompt/schemas.cjs +2 -2
- package/dist/systemPrompt/schemas.d.ts +13 -13
- package/dist/systemPrompt/schemas.js +2 -2
- package/dist/tools/custom-tool-registry.cjs +64 -0
- package/dist/tools/custom-tool-registry.d.ts +120 -0
- package/dist/tools/custom-tool-registry.d.ts.map +1 -0
- package/dist/tools/custom-tool-registry.js +40 -0
- package/dist/tools/custom-tool-schema-registry.cjs +164 -0
- package/dist/tools/custom-tool-schema-registry.d.ts +86 -0
- package/dist/tools/custom-tool-schema-registry.d.ts.map +1 -0
- package/dist/tools/custom-tool-schema-registry.js +140 -0
- package/dist/tools/error-codes.cjs +3 -0
- package/dist/tools/error-codes.d.ts +4 -1
- package/dist/tools/error-codes.d.ts.map +1 -1
- package/dist/tools/error-codes.js +3 -0
- package/dist/tools/errors.cjs +41 -0
- package/dist/tools/errors.d.ts +17 -0
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +41 -0
- package/dist/tools/index.cjs +13 -1
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +11 -1
- package/dist/tools/internal-tools/constants.cjs +3 -9
- package/dist/tools/internal-tools/constants.d.ts +1 -1
- package/dist/tools/internal-tools/constants.d.ts.map +1 -1
- package/dist/tools/internal-tools/constants.js +3 -9
- package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +113 -0
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +30 -0
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/get-resource-tool.js +90 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +91 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +24 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/list-resources-tool.js +68 -0
- package/dist/tools/internal-tools/provider.cjs +150 -23
- package/dist/tools/internal-tools/provider.d.ts +55 -10
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.js +150 -23
- package/dist/tools/internal-tools/registry.cjs +18 -43
- package/dist/tools/internal-tools/registry.d.ts +4 -4
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +18 -43
- package/dist/tools/schemas.cjs +20 -0
- package/dist/tools/schemas.d.ts +43 -1
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +16 -0
- package/dist/tools/tool-manager.cjs +140 -13
- package/dist/tools/tool-manager.d.ts +22 -3
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +140 -13
- package/dist/tools/types.d.ts +43 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/api-key-resolver.cjs +19 -1
- package/dist/utils/api-key-resolver.d.ts.map +1 -1
- package/dist/utils/api-key-resolver.js +19 -1
- package/dist/utils/index.cjs +0 -2
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/redactor.cjs +18 -3
- package/dist/utils/redactor.d.ts +0 -7
- package/dist/utils/redactor.d.ts.map +1 -1
- package/dist/utils/redactor.js +18 -3
- package/dist/utils/service-initializer.cjs +9 -35
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +9 -35
- package/package.json +5 -2
- package/dist/context/compression/overflow.d.ts.map +0 -1
- package/dist/context/compression/reactive-overflow.d.ts.map +0 -1
- package/dist/context/compression/types.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +0 -130
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +0 -13
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +0 -97
- package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +0 -49
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/bash-output-tool.js +0 -26
- package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +0 -127
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/edit-file-tool.js +0 -104
- package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +0 -70
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/glob-files-tool.js +0 -47
- package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +0 -86
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/grep-content-tool.js +0 -63
- package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +0 -47
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/kill-process-tool.js +0 -24
- package/dist/tools/internal-tools/implementations/read-file-tool.cjs +0 -63
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/read-file-tool.js +0 -40
- package/dist/tools/internal-tools/implementations/write-file-tool.cjs +0 -124
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +0 -12
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/write-file-tool.js +0 -103
- package/dist/utils/env-file.cjs +0 -118
- package/dist/utils/env-file.d.ts +0 -5
- package/dist/utils/env-file.d.ts.map +0 -1
- package/dist/utils/env-file.js +0 -85
- /package/dist/context/{compression/types.js → compaction/provider.js} +0 -0
- /package/dist/context/{compression → compaction}/types.cjs +0 -0
package/dist/tools/index.d.ts
CHANGED
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
export * from './types.js';
|
|
8
8
|
export * from './display-types.js';
|
|
9
9
|
export * from './internal-tools/index.js';
|
|
10
|
+
export { customToolRegistry, type CustomToolProvider, type CustomToolRegistry, type ToolCreationContext, } from './custom-tool-registry.js';
|
|
11
|
+
export { customToolSchemaRegistry } from './custom-tool-schema-registry.js';
|
|
10
12
|
export * from './schemas.js';
|
|
13
|
+
export { ToolError } from './errors.js';
|
|
14
|
+
export { ToolErrorCode } from './error-codes.js';
|
|
11
15
|
export { ToolManager, type InternalToolsOptions } from './tool-manager.js';
|
|
12
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,YAAY,CAAC;AAG3B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,WAAW,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,YAAY,CAAC;AAG3B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EACH,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GAC3B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -2,8 +2,18 @@ import "../chunk-PTJYTZNU.js";
|
|
|
2
2
|
export * from "./types.js";
|
|
3
3
|
export * from "./display-types.js";
|
|
4
4
|
export * from "./internal-tools/index.js";
|
|
5
|
+
import {
|
|
6
|
+
customToolRegistry
|
|
7
|
+
} from "./custom-tool-registry.js";
|
|
8
|
+
import { customToolSchemaRegistry } from "./custom-tool-schema-registry.js";
|
|
5
9
|
export * from "./schemas.js";
|
|
10
|
+
import { ToolError } from "./errors.js";
|
|
11
|
+
import { ToolErrorCode } from "./error-codes.js";
|
|
6
12
|
import { ToolManager } from "./tool-manager.js";
|
|
7
13
|
export {
|
|
8
|
-
|
|
14
|
+
ToolError,
|
|
15
|
+
ToolErrorCode,
|
|
16
|
+
ToolManager,
|
|
17
|
+
customToolRegistry,
|
|
18
|
+
customToolSchemaRegistry
|
|
9
19
|
};
|
|
@@ -24,15 +24,9 @@ module.exports = __toCommonJS(constants_exports);
|
|
|
24
24
|
const INTERNAL_TOOL_NAMES = [
|
|
25
25
|
"search_history",
|
|
26
26
|
"ask_user",
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"write_file",
|
|
31
|
-
"edit_file",
|
|
32
|
-
"bash_exec",
|
|
33
|
-
"bash_output",
|
|
34
|
-
"kill_process",
|
|
35
|
-
"delegate_to_url"
|
|
27
|
+
"delegate_to_url",
|
|
28
|
+
"list_resources",
|
|
29
|
+
"get_resource"
|
|
36
30
|
];
|
|
37
31
|
// Annotate the CommonJS export names for ESM import in node:
|
|
38
32
|
0 && (module.exports = {
|
|
@@ -7,6 +7,6 @@
|
|
|
7
7
|
* Available internal tool names
|
|
8
8
|
* Must be kept in sync with INTERNAL_TOOL_REGISTRY in registry.ts
|
|
9
9
|
*/
|
|
10
|
-
export declare const INTERNAL_TOOL_NAMES: readonly ["search_history", "ask_user", "
|
|
10
|
+
export declare const INTERNAL_TOOL_NAMES: readonly ["search_history", "ask_user", "delegate_to_url", "list_resources", "get_resource"];
|
|
11
11
|
export type KnownInternalTool = (typeof INTERNAL_TOOL_NAMES)[number];
|
|
12
12
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/tools/internal-tools/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/tools/internal-tools/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,8FAMtB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -2,15 +2,9 @@ import "../../chunk-PTJYTZNU.js";
|
|
|
2
2
|
const INTERNAL_TOOL_NAMES = [
|
|
3
3
|
"search_history",
|
|
4
4
|
"ask_user",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"write_file",
|
|
9
|
-
"edit_file",
|
|
10
|
-
"bash_exec",
|
|
11
|
-
"bash_output",
|
|
12
|
-
"kill_process",
|
|
13
|
-
"delegate_to_url"
|
|
5
|
+
"delegate_to_url",
|
|
6
|
+
"list_resources",
|
|
7
|
+
"get_resource"
|
|
14
8
|
];
|
|
15
9
|
export {
|
|
16
10
|
INTERNAL_TOOL_NAMES
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var get_resource_tool_exports = {};
|
|
20
|
+
__export(get_resource_tool_exports, {
|
|
21
|
+
createGetResourceTool: () => createGetResourceTool
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(get_resource_tool_exports);
|
|
24
|
+
var import_zod = require("zod");
|
|
25
|
+
const GetResourceInputSchema = import_zod.z.object({
|
|
26
|
+
reference: import_zod.z.string().describe(
|
|
27
|
+
'The resource reference to access. Formats: "blob:abc123" (from list_resources), "resource_ref:blob:abc123" (from tool annotations)'
|
|
28
|
+
),
|
|
29
|
+
format: import_zod.z.enum(["url", "metadata"]).default("url").describe(
|
|
30
|
+
'Output format: "url" for a shareable URL (requires remote storage like Supabase), "metadata" for resource information without loading the data'
|
|
31
|
+
)
|
|
32
|
+
}).strict();
|
|
33
|
+
function createGetResourceTool(resourceManager) {
|
|
34
|
+
return {
|
|
35
|
+
id: "get_resource",
|
|
36
|
+
description: 'Access a stored resource. Use format "url" to get a shareable URL for other agents or external systems (requires remote storage like Supabase). Use format "metadata" to get resource information without loading data. References can be obtained from tool result annotations or list_resources.',
|
|
37
|
+
inputSchema: GetResourceInputSchema,
|
|
38
|
+
execute: async (input, _context) => {
|
|
39
|
+
const { reference, format } = input;
|
|
40
|
+
try {
|
|
41
|
+
const blobStore = resourceManager.getBlobStore();
|
|
42
|
+
const storeType = blobStore.getStoreType();
|
|
43
|
+
let blobUri = reference;
|
|
44
|
+
if (blobUri.startsWith("resource_ref:")) {
|
|
45
|
+
blobUri = blobUri.substring("resource_ref:".length);
|
|
46
|
+
}
|
|
47
|
+
if (blobUri.startsWith("@")) {
|
|
48
|
+
blobUri = blobUri.substring(1);
|
|
49
|
+
}
|
|
50
|
+
if (!blobUri.startsWith("blob:")) {
|
|
51
|
+
blobUri = `blob:${blobUri}`;
|
|
52
|
+
}
|
|
53
|
+
const exists = await blobStore.exists(blobUri);
|
|
54
|
+
if (!exists) {
|
|
55
|
+
return {
|
|
56
|
+
success: false,
|
|
57
|
+
error: `Resource not found: ${reference}`,
|
|
58
|
+
_hint: "Use list_resources to see available resources"
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
if (format === "metadata") {
|
|
62
|
+
const allBlobs = await blobStore.listBlobs();
|
|
63
|
+
const blobRef = allBlobs.find((b) => b.uri === blobUri);
|
|
64
|
+
if (!blobRef) {
|
|
65
|
+
return {
|
|
66
|
+
success: false,
|
|
67
|
+
error: `Resource metadata not found: ${reference}`,
|
|
68
|
+
_hint: "Use list_resources to see available resources"
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
success: true,
|
|
73
|
+
format: "metadata",
|
|
74
|
+
reference: blobUri,
|
|
75
|
+
mimeType: blobRef.metadata.mimeType,
|
|
76
|
+
size: blobRef.metadata.size,
|
|
77
|
+
filename: blobRef.metadata.originalName,
|
|
78
|
+
source: blobRef.metadata.source,
|
|
79
|
+
createdAt: blobRef.metadata.createdAt.toISOString()
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
if (storeType === "memory" || storeType === "local") {
|
|
83
|
+
return {
|
|
84
|
+
success: false,
|
|
85
|
+
error: "URL generation not available with local/memory storage",
|
|
86
|
+
_hint: "Configure remote storage (e.g., Supabase) in your agent config to enable URL sharing. Local storage cannot generate shareable URLs.",
|
|
87
|
+
storeType
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
const blob = await blobStore.retrieve(blobUri, "url");
|
|
91
|
+
return {
|
|
92
|
+
success: true,
|
|
93
|
+
format: "url",
|
|
94
|
+
url: blob.data,
|
|
95
|
+
reference: blobUri,
|
|
96
|
+
mimeType: blob.metadata.mimeType,
|
|
97
|
+
size: blob.metadata.size,
|
|
98
|
+
filename: blob.metadata.originalName
|
|
99
|
+
};
|
|
100
|
+
} catch (error) {
|
|
101
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
102
|
+
return {
|
|
103
|
+
success: false,
|
|
104
|
+
error: `Failed to access resource: ${message}`
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
111
|
+
0 && (module.exports = {
|
|
112
|
+
createGetResourceTool
|
|
113
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { InternalTool } from '../../types.js';
|
|
2
|
+
import type { ResourceManager } from '../../../resources/manager.js';
|
|
3
|
+
/**
|
|
4
|
+
* Internal tool for accessing resources.
|
|
5
|
+
*
|
|
6
|
+
* This tool provides access to stored resources (images, files, etc.) in formats
|
|
7
|
+
* suitable for sharing or inspection, without loading binary data into context.
|
|
8
|
+
*
|
|
9
|
+
* Formats:
|
|
10
|
+
* - `url`: Returns a shareable URL. Requires remote storage (e.g., Supabase).
|
|
11
|
+
* Local/memory storage does not support URL generation.
|
|
12
|
+
* - `metadata`: Returns resource information (size, mimeType, filename, etc.)
|
|
13
|
+
* without loading the actual data.
|
|
14
|
+
*
|
|
15
|
+
* Design principle: Resources exist to keep binary data OUT of the context window.
|
|
16
|
+
* This tool never returns base64 or raw data - use URLs for sharing instead.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* // Get a shareable URL for an image
|
|
21
|
+
* get_resource({ reference: 'blob:abc123', format: 'url' })
|
|
22
|
+
* → { success: true, url: 'https://...', mimeType: 'image/png', ... }
|
|
23
|
+
*
|
|
24
|
+
* // Get metadata about a resource
|
|
25
|
+
* get_resource({ reference: 'blob:abc123', format: 'metadata' })
|
|
26
|
+
* → { success: true, mimeType: 'image/png', size: 12345, filename: '...', ... }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function createGetResourceTool(resourceManager: ResourceManager): InternalTool;
|
|
30
|
+
//# sourceMappingURL=get-resource-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-resource-tool.d.ts","sourceRoot":"","sources":["../../../../src/tools/internal-tools/implementations/get-resource-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAwB,MAAM,gBAAgB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAyBrE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,eAAe,GAAG,YAAY,CA2GpF"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import "../../../chunk-PTJYTZNU.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
const GetResourceInputSchema = z.object({
|
|
4
|
+
reference: z.string().describe(
|
|
5
|
+
'The resource reference to access. Formats: "blob:abc123" (from list_resources), "resource_ref:blob:abc123" (from tool annotations)'
|
|
6
|
+
),
|
|
7
|
+
format: z.enum(["url", "metadata"]).default("url").describe(
|
|
8
|
+
'Output format: "url" for a shareable URL (requires remote storage like Supabase), "metadata" for resource information without loading the data'
|
|
9
|
+
)
|
|
10
|
+
}).strict();
|
|
11
|
+
function createGetResourceTool(resourceManager) {
|
|
12
|
+
return {
|
|
13
|
+
id: "get_resource",
|
|
14
|
+
description: 'Access a stored resource. Use format "url" to get a shareable URL for other agents or external systems (requires remote storage like Supabase). Use format "metadata" to get resource information without loading data. References can be obtained from tool result annotations or list_resources.',
|
|
15
|
+
inputSchema: GetResourceInputSchema,
|
|
16
|
+
execute: async (input, _context) => {
|
|
17
|
+
const { reference, format } = input;
|
|
18
|
+
try {
|
|
19
|
+
const blobStore = resourceManager.getBlobStore();
|
|
20
|
+
const storeType = blobStore.getStoreType();
|
|
21
|
+
let blobUri = reference;
|
|
22
|
+
if (blobUri.startsWith("resource_ref:")) {
|
|
23
|
+
blobUri = blobUri.substring("resource_ref:".length);
|
|
24
|
+
}
|
|
25
|
+
if (blobUri.startsWith("@")) {
|
|
26
|
+
blobUri = blobUri.substring(1);
|
|
27
|
+
}
|
|
28
|
+
if (!blobUri.startsWith("blob:")) {
|
|
29
|
+
blobUri = `blob:${blobUri}`;
|
|
30
|
+
}
|
|
31
|
+
const exists = await blobStore.exists(blobUri);
|
|
32
|
+
if (!exists) {
|
|
33
|
+
return {
|
|
34
|
+
success: false,
|
|
35
|
+
error: `Resource not found: ${reference}`,
|
|
36
|
+
_hint: "Use list_resources to see available resources"
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (format === "metadata") {
|
|
40
|
+
const allBlobs = await blobStore.listBlobs();
|
|
41
|
+
const blobRef = allBlobs.find((b) => b.uri === blobUri);
|
|
42
|
+
if (!blobRef) {
|
|
43
|
+
return {
|
|
44
|
+
success: false,
|
|
45
|
+
error: `Resource metadata not found: ${reference}`,
|
|
46
|
+
_hint: "Use list_resources to see available resources"
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
success: true,
|
|
51
|
+
format: "metadata",
|
|
52
|
+
reference: blobUri,
|
|
53
|
+
mimeType: blobRef.metadata.mimeType,
|
|
54
|
+
size: blobRef.metadata.size,
|
|
55
|
+
filename: blobRef.metadata.originalName,
|
|
56
|
+
source: blobRef.metadata.source,
|
|
57
|
+
createdAt: blobRef.metadata.createdAt.toISOString()
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
if (storeType === "memory" || storeType === "local") {
|
|
61
|
+
return {
|
|
62
|
+
success: false,
|
|
63
|
+
error: "URL generation not available with local/memory storage",
|
|
64
|
+
_hint: "Configure remote storage (e.g., Supabase) in your agent config to enable URL sharing. Local storage cannot generate shareable URLs.",
|
|
65
|
+
storeType
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
const blob = await blobStore.retrieve(blobUri, "url");
|
|
69
|
+
return {
|
|
70
|
+
success: true,
|
|
71
|
+
format: "url",
|
|
72
|
+
url: blob.data,
|
|
73
|
+
reference: blobUri,
|
|
74
|
+
mimeType: blob.metadata.mimeType,
|
|
75
|
+
size: blob.metadata.size,
|
|
76
|
+
filename: blob.metadata.originalName
|
|
77
|
+
};
|
|
78
|
+
} catch (error) {
|
|
79
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
80
|
+
return {
|
|
81
|
+
success: false,
|
|
82
|
+
error: `Failed to access resource: ${message}`
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
export {
|
|
89
|
+
createGetResourceTool
|
|
90
|
+
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var list_resources_tool_exports = {};
|
|
20
|
+
__export(list_resources_tool_exports, {
|
|
21
|
+
createListResourcesTool: () => createListResourcesTool
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(list_resources_tool_exports);
|
|
24
|
+
var import_zod = require("zod");
|
|
25
|
+
const ListResourcesInputSchema = import_zod.z.object({
|
|
26
|
+
source: import_zod.z.enum(["all", "tool", "user"]).optional().default("all").describe(
|
|
27
|
+
'Filter by source: "tool" for tool-generated resources, "user" for user-uploaded, "all" for both'
|
|
28
|
+
),
|
|
29
|
+
kind: import_zod.z.enum(["all", "image", "audio", "video", "binary"]).optional().default("all").describe('Filter by type: "image", "audio", "video", "binary", or "all"'),
|
|
30
|
+
limit: import_zod.z.number().optional().default(50).describe("Maximum number of resources to return (default: 50)")
|
|
31
|
+
}).strict();
|
|
32
|
+
function createListResourcesTool(resourceManager) {
|
|
33
|
+
return {
|
|
34
|
+
id: "list_resources",
|
|
35
|
+
description: "List available resources (images, files, etc.). Returns resource references that can be used with get_resource to obtain shareable URLs or metadata. Filter by source (tool/user) or kind (image/audio/video/binary).",
|
|
36
|
+
inputSchema: ListResourcesInputSchema,
|
|
37
|
+
execute: async (input, _context) => {
|
|
38
|
+
const { source, kind, limit } = input;
|
|
39
|
+
try {
|
|
40
|
+
const blobStore = resourceManager.getBlobStore();
|
|
41
|
+
const allBlobs = await blobStore.listBlobs();
|
|
42
|
+
const resources = [];
|
|
43
|
+
for (const blob of allBlobs) {
|
|
44
|
+
if (blob.metadata.source === "system") {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
if (source !== "all" && blob.metadata.source !== source) {
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
const mimeType = blob.metadata.mimeType;
|
|
51
|
+
let resourceKind = "binary";
|
|
52
|
+
if (mimeType.startsWith("image/")) resourceKind = "image";
|
|
53
|
+
else if (mimeType.startsWith("audio/")) resourceKind = "audio";
|
|
54
|
+
else if (mimeType.startsWith("video/")) resourceKind = "video";
|
|
55
|
+
if (kind !== "all" && resourceKind !== kind) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
resources.push({
|
|
59
|
+
reference: blob.uri,
|
|
60
|
+
kind: resourceKind,
|
|
61
|
+
mimeType: blob.metadata.mimeType,
|
|
62
|
+
...blob.metadata.originalName && { filename: blob.metadata.originalName },
|
|
63
|
+
source: blob.metadata.source || "tool",
|
|
64
|
+
size: blob.metadata.size,
|
|
65
|
+
createdAt: blob.metadata.createdAt.toISOString()
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
resources.sort(
|
|
69
|
+
(a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()
|
|
70
|
+
);
|
|
71
|
+
const limitedResources = resources.slice(0, limit);
|
|
72
|
+
return {
|
|
73
|
+
success: true,
|
|
74
|
+
count: limitedResources.length,
|
|
75
|
+
resources: limitedResources,
|
|
76
|
+
_hint: limitedResources.length > 0 ? "Use get_resource with a reference to get a shareable URL or metadata" : "No resources found matching the criteria"
|
|
77
|
+
};
|
|
78
|
+
} catch (error) {
|
|
79
|
+
return {
|
|
80
|
+
success: false,
|
|
81
|
+
error: `Failed to list resources: ${error instanceof Error ? error.message : String(error)}`,
|
|
82
|
+
resources: []
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
89
|
+
0 && (module.exports = {
|
|
90
|
+
createListResourcesTool
|
|
91
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { InternalTool } from '../../types.js';
|
|
2
|
+
import type { ResourceManager } from '../../../resources/manager.js';
|
|
3
|
+
/**
|
|
4
|
+
* Internal tool for listing available resources.
|
|
5
|
+
*
|
|
6
|
+
* This tool allows agents to discover what resources (images, files, etc.) are
|
|
7
|
+
* available. Use this to find resources that can be accessed with get_resource.
|
|
8
|
+
*
|
|
9
|
+
* Resources are stored blobs from:
|
|
10
|
+
* - Tool results (images generated by tools, screenshots, etc.)
|
|
11
|
+
* - User uploads (files attached to messages)
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* // List all tool-generated images
|
|
16
|
+
* list_resources({ source: 'tool', kind: 'image' })
|
|
17
|
+
* → { resources: [{ reference: 'blob:abc123', kind: 'image', ... }] }
|
|
18
|
+
*
|
|
19
|
+
* // Get a URL for sharing
|
|
20
|
+
* get_resource({ reference: 'blob:abc123', format: 'url' })
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function createListResourcesTool(resourceManager: ResourceManager): InternalTool;
|
|
24
|
+
//# sourceMappingURL=list-resources-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-resources-tool.d.ts","sourceRoot":"","sources":["../../../../src/tools/internal-tools/implementations/list-resources-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAwB,MAAM,gBAAgB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAqDrE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,eAAe,GAAG,YAAY,CA8EtF"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import "../../../chunk-PTJYTZNU.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
const ListResourcesInputSchema = z.object({
|
|
4
|
+
source: z.enum(["all", "tool", "user"]).optional().default("all").describe(
|
|
5
|
+
'Filter by source: "tool" for tool-generated resources, "user" for user-uploaded, "all" for both'
|
|
6
|
+
),
|
|
7
|
+
kind: z.enum(["all", "image", "audio", "video", "binary"]).optional().default("all").describe('Filter by type: "image", "audio", "video", "binary", or "all"'),
|
|
8
|
+
limit: z.number().optional().default(50).describe("Maximum number of resources to return (default: 50)")
|
|
9
|
+
}).strict();
|
|
10
|
+
function createListResourcesTool(resourceManager) {
|
|
11
|
+
return {
|
|
12
|
+
id: "list_resources",
|
|
13
|
+
description: "List available resources (images, files, etc.). Returns resource references that can be used with get_resource to obtain shareable URLs or metadata. Filter by source (tool/user) or kind (image/audio/video/binary).",
|
|
14
|
+
inputSchema: ListResourcesInputSchema,
|
|
15
|
+
execute: async (input, _context) => {
|
|
16
|
+
const { source, kind, limit } = input;
|
|
17
|
+
try {
|
|
18
|
+
const blobStore = resourceManager.getBlobStore();
|
|
19
|
+
const allBlobs = await blobStore.listBlobs();
|
|
20
|
+
const resources = [];
|
|
21
|
+
for (const blob of allBlobs) {
|
|
22
|
+
if (blob.metadata.source === "system") {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
if (source !== "all" && blob.metadata.source !== source) {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
const mimeType = blob.metadata.mimeType;
|
|
29
|
+
let resourceKind = "binary";
|
|
30
|
+
if (mimeType.startsWith("image/")) resourceKind = "image";
|
|
31
|
+
else if (mimeType.startsWith("audio/")) resourceKind = "audio";
|
|
32
|
+
else if (mimeType.startsWith("video/")) resourceKind = "video";
|
|
33
|
+
if (kind !== "all" && resourceKind !== kind) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
resources.push({
|
|
37
|
+
reference: blob.uri,
|
|
38
|
+
kind: resourceKind,
|
|
39
|
+
mimeType: blob.metadata.mimeType,
|
|
40
|
+
...blob.metadata.originalName && { filename: blob.metadata.originalName },
|
|
41
|
+
source: blob.metadata.source || "tool",
|
|
42
|
+
size: blob.metadata.size,
|
|
43
|
+
createdAt: blob.metadata.createdAt.toISOString()
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
resources.sort(
|
|
47
|
+
(a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()
|
|
48
|
+
);
|
|
49
|
+
const limitedResources = resources.slice(0, limit);
|
|
50
|
+
return {
|
|
51
|
+
success: true,
|
|
52
|
+
count: limitedResources.length,
|
|
53
|
+
resources: limitedResources,
|
|
54
|
+
_hint: limitedResources.length > 0 ? "Use get_resource with a reference to get a shareable URL or metadata" : "No resources found matching the criteria"
|
|
55
|
+
};
|
|
56
|
+
} catch (error) {
|
|
57
|
+
return {
|
|
58
|
+
success: false,
|
|
59
|
+
error: `Failed to list resources: ${error instanceof Error ? error.message : String(error)}`,
|
|
60
|
+
resources: []
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export {
|
|
67
|
+
createListResourcesTool
|
|
68
|
+
};
|