@dexto/core 1.5.7 → 1.6.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 +19 -8
- package/dist/agent/DextoAgent.cjs +383 -153
- package/dist/agent/DextoAgent.d.ts +112 -60
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +380 -150
- package/dist/{context/compaction/provider.cjs → agent/agent-options.cjs} +2 -2
- package/dist/agent/agent-options.d.ts +53 -0
- package/dist/agent/agent-options.d.ts.map +1 -0
- package/dist/agent/agentCard.cjs +1 -1
- package/dist/agent/errors.cjs +2 -2
- package/dist/agent/errors.d.ts.map +1 -1
- package/dist/agent/index.cjs +1 -6
- package/dist/agent/index.d.ts +3 -2
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -7
- package/dist/{storage/blob/provider.cjs → agent/runtime-config.cjs} +2 -2
- package/dist/agent/runtime-config.d.ts +53 -0
- package/dist/agent/runtime-config.d.ts.map +1 -0
- package/dist/agent/schemas.cjs +2 -99
- package/dist/agent/schemas.d.ts +10 -9160
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +1 -104
- package/dist/agent/state-manager.d.ts +5 -5
- package/dist/agent/state-manager.d.ts.map +1 -1
- package/dist/approval/error-codes.cjs +1 -1
- package/dist/approval/error-codes.d.ts +1 -1
- package/dist/approval/error-codes.d.ts.map +1 -1
- package/dist/approval/error-codes.js +1 -1
- package/dist/approval/errors.cjs +5 -5
- package/dist/approval/errors.d.ts +2 -2
- package/dist/approval/errors.d.ts.map +1 -1
- package/dist/approval/errors.js +5 -5
- package/dist/approval/index.cjs +8 -8
- package/dist/approval/index.d.ts +2 -2
- package/dist/approval/index.d.ts.map +1 -1
- package/dist/approval/index.js +8 -8
- package/dist/approval/manager.cjs +77 -57
- package/dist/approval/manager.d.ts +41 -43
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +75 -55
- package/dist/approval/schemas.cjs +26 -25
- package/dist/approval/schemas.d.ts +35 -15
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +22 -21
- package/dist/approval/types.cjs +1 -1
- package/dist/approval/types.d.ts +14 -14
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +1 -1
- package/dist/context/compaction/index.cjs +2 -23
- package/dist/context/compaction/index.d.ts +1 -7
- package/dist/context/compaction/index.d.ts.map +1 -1
- package/dist/context/compaction/index.js +1 -16
- package/dist/context/compaction/strategies/noop.cjs +19 -1
- package/dist/context/compaction/strategies/noop.d.ts +13 -3
- package/dist/context/compaction/strategies/noop.d.ts.map +1 -1
- package/dist/context/compaction/strategies/noop.js +19 -1
- package/dist/context/compaction/strategies/{reactive-overflow.cjs → reactive-overflow-compaction.cjs} +67 -64
- package/dist/context/compaction/strategies/{reactive-overflow.d.ts → reactive-overflow-compaction.d.ts} +19 -36
- package/dist/context/compaction/strategies/reactive-overflow-compaction.d.ts.map +1 -0
- package/dist/context/compaction/strategies/{reactive-overflow.js → reactive-overflow-compaction.js} +63 -60
- package/dist/context/compaction/types.d.ts +40 -8
- package/dist/context/compaction/types.d.ts.map +1 -1
- package/dist/context/manager.cjs +5 -3
- package/dist/context/manager.d.ts +4 -3
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +5 -3
- package/dist/context/types.d.ts +2 -0
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/utils.cjs +70 -43
- package/dist/context/utils.d.ts +14 -14
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +69 -42
- package/dist/errors/result-bridge.d.ts +2 -2
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/types.cjs +1 -1
- package/dist/errors/types.d.ts +3 -3
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +1 -1
- package/dist/events/index.cjs +15 -2
- package/dist/events/index.d.ts +78 -7
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +15 -2
- package/dist/{plugins → hooks}/builtins/content-policy.cjs +7 -6
- package/dist/hooks/builtins/content-policy.d.ts +24 -0
- package/dist/hooks/builtins/content-policy.d.ts.map +1 -0
- package/dist/{plugins → hooks}/builtins/content-policy.js +6 -5
- package/dist/{plugins → hooks}/builtins/response-sanitizer.cjs +3 -3
- package/dist/hooks/builtins/response-sanitizer.d.ts +22 -0
- package/dist/hooks/builtins/response-sanitizer.d.ts.map +1 -0
- package/dist/{plugins → hooks}/builtins/response-sanitizer.js +2 -2
- package/dist/hooks/error-codes.cjs +43 -0
- package/dist/hooks/error-codes.d.ts +34 -0
- package/dist/hooks/error-codes.d.ts.map +1 -0
- package/dist/hooks/error-codes.js +20 -0
- package/dist/{storage/cache/providers/memory.cjs → hooks/index.cjs} +15 -18
- package/dist/hooks/index.d.ts +14 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +11 -0
- package/dist/hooks/manager.cjs +354 -0
- package/dist/hooks/manager.d.ts +103 -0
- package/dist/hooks/manager.d.ts.map +1 -0
- package/dist/hooks/manager.js +331 -0
- package/dist/{plugins → hooks}/types.d.ts +36 -34
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/index.browser.cjs +13 -12
- package/dist/index.browser.d.ts +6 -6
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +8 -7
- package/dist/index.cjs +5 -7
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/llm/curation-config.cjs +82 -0
- package/dist/llm/curation-config.d.ts +13 -0
- package/dist/llm/curation-config.d.ts.map +1 -0
- package/dist/llm/curation-config.js +59 -0
- package/dist/llm/curation.cjs +57 -0
- package/dist/llm/curation.d.ts +16 -0
- package/dist/llm/curation.d.ts.map +1 -0
- package/dist/llm/curation.js +34 -0
- package/dist/llm/errors.cjs +2 -2
- package/dist/llm/errors.d.ts +8 -8
- package/dist/llm/errors.js +1 -1
- package/dist/llm/executor/provider-options.cjs +1 -1
- package/dist/llm/executor/provider-options.js +1 -1
- package/dist/llm/executor/stream-processor.cjs +131 -11
- package/dist/llm/executor/stream-processor.d.ts +7 -5
- package/dist/llm/executor/stream-processor.d.ts.map +1 -1
- package/dist/llm/executor/stream-processor.js +131 -11
- package/dist/llm/executor/turn-executor.cjs +57 -56
- package/dist/llm/executor/turn-executor.d.ts +7 -8
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +57 -56
- package/dist/llm/formatters/vercel.cjs +2 -2
- package/dist/llm/formatters/vercel.d.ts +2 -2
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/index.cjs +14 -3
- package/dist/llm/index.d.ts +3 -1
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +13 -2
- package/dist/llm/providers/local/schemas.d.ts +10 -10
- package/dist/llm/registry/auto-update.cjs +263 -0
- package/dist/llm/registry/auto-update.d.ts +27 -0
- package/dist/llm/registry/auto-update.d.ts.map +1 -0
- package/dist/llm/registry/auto-update.js +227 -0
- package/dist/llm/registry/index.cjs +806 -0
- package/dist/llm/{registry.d.ts → registry/index.d.ts} +21 -43
- package/dist/llm/registry/index.d.ts.map +1 -0
- package/dist/llm/registry/index.js +756 -0
- package/dist/llm/registry/models.generated.cjs +4861 -0
- package/dist/llm/registry/models.generated.d.ts +431 -0
- package/dist/llm/registry/models.generated.d.ts.map +1 -0
- package/dist/llm/registry/models.generated.js +4838 -0
- package/dist/{storage/database/providers/index.cjs → llm/registry/models.manual.cjs} +22 -12
- package/dist/llm/registry/models.manual.d.ts +22 -0
- package/dist/llm/registry/models.manual.d.ts.map +1 -0
- package/dist/llm/registry/models.manual.js +21 -0
- package/dist/llm/registry/sync.cjs +354 -0
- package/dist/llm/registry/sync.d.ts +41 -0
- package/dist/llm/registry/sync.d.ts.map +1 -0
- package/dist/llm/registry/sync.js +328 -0
- package/dist/llm/resolver.cjs +29 -20
- package/dist/llm/resolver.d.ts +4 -4
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +28 -20
- package/dist/llm/schemas.cjs +69 -94
- package/dist/llm/schemas.d.ts +19 -158
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +67 -91
- package/dist/llm/services/factory.cjs +6 -7
- package/dist/llm/services/factory.d.ts +3 -4
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +6 -7
- package/dist/llm/services/vercel.cjs +11 -15
- package/dist/llm/services/vercel.d.ts +7 -7
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +11 -15
- package/dist/llm/types.cjs +1 -1
- package/dist/llm/types.d.ts +1 -1
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js +1 -1
- package/dist/llm/validation.cjs +2 -2
- package/dist/llm/validation.d.ts +2 -2
- package/dist/llm/validation.d.ts.map +1 -1
- package/dist/llm/validation.js +1 -1
- package/dist/logger/browser.cjs +4 -4
- package/dist/logger/browser.d.ts +4 -4
- package/dist/logger/browser.d.ts.map +1 -1
- package/dist/logger/browser.js +3 -3
- package/dist/{context/compaction/providers/noop-provider.cjs → logger/default-logger-factory.cjs} +16 -22
- package/dist/logger/default-logger-factory.d.ts +301 -0
- package/dist/logger/default-logger-factory.d.ts.map +1 -0
- package/dist/logger/default-logger-factory.js +18 -0
- package/dist/logger/factory.d.ts +2 -2
- package/dist/logger/factory.d.ts.map +1 -1
- package/dist/logger/index.cjs +7 -2
- package/dist/logger/index.d.ts +5 -3
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +8 -2
- package/dist/logger/logger.cjs +4 -4
- package/dist/logger/logger.d.ts +4 -4
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +3 -3
- package/dist/logger/v2/dexto-logger.d.ts +3 -3
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
- package/dist/logger/v2/schemas.d.ts +12 -12
- package/dist/logger/v2/test-utils.d.ts +5 -5
- package/dist/logger/v2/test-utils.d.ts.map +1 -1
- package/dist/logger/v2/transport-factory.d.ts +3 -3
- package/dist/logger/v2/transport-factory.d.ts.map +1 -1
- package/dist/logger/v2/transports/console-transport.d.ts +2 -2
- package/dist/logger/v2/transports/console-transport.d.ts.map +1 -1
- package/dist/logger/v2/transports/file-transport.d.ts +2 -2
- package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
- package/dist/logger/v2/transports/silent-transport.d.ts +2 -2
- package/dist/logger/v2/transports/silent-transport.d.ts.map +1 -1
- package/dist/logger/v2/types.cjs +1 -1
- package/dist/logger/v2/types.d.ts +8 -8
- package/dist/logger/v2/types.d.ts.map +1 -1
- package/dist/logger/v2/types.js +1 -1
- package/dist/mcp/errors.cjs +2 -2
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/manager.cjs +16 -11
- package/dist/mcp/manager.d.ts +16 -13
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +17 -12
- package/dist/mcp/mcp-client.cjs +25 -20
- package/dist/mcp/mcp-client.d.ts +5 -5
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +20 -15
- package/dist/mcp/resolver.cjs +1 -1
- package/dist/mcp/schemas.cjs +5 -5
- package/dist/mcp/schemas.d.ts +4 -4
- package/dist/mcp/schemas.js +2 -2
- package/dist/mcp/types.d.ts +7 -7
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/memory/manager.d.ts +2 -2
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/schemas.d.ts +2 -2
- package/dist/prompts/errors.cjs +3 -3
- package/dist/prompts/errors.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.d.ts +3 -3
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.cjs +15 -29
- package/dist/prompts/providers/config-prompt-provider.d.ts +3 -3
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.js +15 -29
- package/dist/prompts/providers/custom-prompt-provider.d.ts +2 -2
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.d.ts +2 -2
- package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/schemas.d.ts +4 -4
- package/dist/resources/{internal-provider.cjs → agent-resources-provider.cjs} +16 -16
- package/dist/resources/{internal-provider.d.ts → agent-resources-provider.d.ts} +6 -6
- package/dist/resources/agent-resources-provider.d.ts.map +1 -0
- package/dist/resources/{internal-provider.js → agent-resources-provider.js} +13 -13
- package/dist/resources/errors.cjs +2 -2
- package/dist/resources/errors.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.d.ts +2 -2
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
- package/dist/resources/handlers/factory.d.ts +3 -3
- package/dist/resources/handlers/factory.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.cjs +25 -0
- package/dist/resources/handlers/filesystem-handler.d.ts +3 -2
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.js +25 -0
- package/dist/resources/index.cjs +7 -9
- package/dist/resources/index.d.ts +3 -3
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +5 -10
- package/dist/resources/manager.cjs +77 -74
- package/dist/resources/manager.d.ts +16 -7
- package/dist/resources/manager.d.ts.map +1 -1
- package/dist/resources/manager.js +77 -74
- package/dist/resources/schemas.cjs +6 -26
- package/dist/resources/schemas.d.ts +8 -100
- package/dist/resources/schemas.d.ts.map +1 -1
- package/dist/resources/schemas.js +4 -23
- package/dist/search/search-service.d.ts +2 -2
- package/dist/search/search-service.d.ts.map +1 -1
- package/dist/session/chat-session.cjs +16 -26
- package/dist/session/chat-session.d.ts +7 -5
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +17 -27
- package/dist/session/errors.cjs +2 -2
- package/dist/session/errors.d.ts.map +1 -1
- package/dist/session/history/database.cjs +1 -1
- package/dist/session/history/database.d.ts +4 -4
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/factory.d.ts +3 -3
- package/dist/session/history/factory.d.ts.map +1 -1
- package/dist/session/history/memory.d.ts +4 -4
- package/dist/session/history/memory.d.ts.map +1 -1
- package/dist/session/history/types.d.ts +2 -2
- package/dist/session/history/types.d.ts.map +1 -1
- package/dist/session/index.cjs +3 -0
- package/dist/session/index.d.ts +2 -0
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +2 -0
- package/dist/session/message-queue.cjs +29 -5
- package/dist/session/message-queue.d.ts +5 -3
- package/dist/session/message-queue.d.ts.map +1 -1
- package/dist/session/message-queue.js +29 -5
- package/dist/session/session-manager.cjs +107 -12
- package/dist/session/session-manager.d.ts +49 -8
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +97 -12
- package/dist/session/title-generator.cjs +2 -2
- package/dist/session/title-generator.d.ts +2 -2
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/session/types.d.ts +1 -0
- package/dist/session/types.d.ts.map +1 -1
- package/dist/storage/blob/index.cjs +0 -40
- package/dist/storage/blob/index.d.ts +2 -44
- package/dist/storage/blob/index.d.ts.map +1 -1
- package/dist/storage/blob/index.js +0 -30
- package/dist/storage/cache/index.cjs +0 -37
- package/dist/storage/cache/index.d.ts +0 -42
- package/dist/storage/cache/index.d.ts.map +1 -1
- package/dist/storage/cache/index.js +0 -28
- package/dist/storage/database/index.cjs +0 -42
- package/dist/storage/database/index.d.ts +0 -43
- package/dist/storage/database/index.d.ts.map +1 -1
- package/dist/storage/database/index.js +0 -37
- package/dist/storage/error-codes.cjs +1 -6
- package/dist/storage/error-codes.d.ts +2 -7
- package/dist/storage/error-codes.d.ts.map +1 -1
- package/dist/storage/error-codes.js +1 -6
- package/dist/storage/errors.cjs +18 -82
- package/dist/storage/errors.d.ts +4 -24
- package/dist/storage/errors.d.ts.map +1 -1
- package/dist/storage/errors.js +16 -80
- package/dist/storage/index.cjs +8 -69
- package/dist/storage/index.d.ts +11 -66
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +6 -50
- package/dist/storage/storage-manager.cjs +9 -25
- package/dist/storage/storage-manager.d.ts +11 -15
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +8 -23
- package/dist/storage/types.d.ts +0 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/systemPrompt/contributors.d.ts +4 -4
- package/dist/systemPrompt/contributors.d.ts.map +1 -1
- package/dist/systemPrompt/errors.cjs +2 -2
- package/dist/systemPrompt/errors.d.ts.map +1 -1
- package/dist/systemPrompt/manager.cjs +1 -5
- package/dist/systemPrompt/manager.d.ts +2 -3
- package/dist/systemPrompt/manager.d.ts.map +1 -1
- package/dist/systemPrompt/manager.js +1 -5
- package/dist/telemetry/index.cjs +3 -0
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/telemetry/index.d.ts.map +1 -1
- package/dist/telemetry/index.js +2 -0
- package/dist/telemetry/utils.d.ts +4 -4
- package/dist/telemetry/utils.d.ts.map +1 -1
- package/dist/test-utils/in-memory-storage.cjs +288 -0
- package/dist/test-utils/in-memory-storage.js +252 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +3 -3
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +4 -4
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -1
- package/dist/tools/{internal-tools/constants.cjs → define-tool.cjs} +8 -13
- package/dist/tools/define-tool.d.ts +11 -0
- package/dist/tools/define-tool.d.ts.map +1 -0
- package/dist/tools/define-tool.js +7 -0
- package/dist/tools/error-codes.cjs +2 -2
- package/dist/tools/error-codes.d.ts +2 -2
- package/dist/tools/error-codes.d.ts.map +1 -1
- package/dist/tools/error-codes.js +2 -2
- package/dist/tools/errors.cjs +11 -23
- package/dist/tools/errors.d.ts +4 -10
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +9 -21
- package/dist/tools/index.cjs +3 -8
- package/dist/tools/index.d.ts +2 -4
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -7
- package/dist/{storage/blob/providers/index.cjs → tools/pattern-utils.cjs} +11 -9
- package/dist/tools/pattern-utils.d.ts +20 -0
- package/dist/tools/pattern-utils.d.ts.map +1 -0
- package/dist/tools/pattern-utils.js +10 -0
- package/dist/tools/schemas.cjs +14 -40
- package/dist/tools/schemas.d.ts +6 -50
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +11 -32
- package/dist/tools/tool-call-metadata.cjs +75 -0
- package/dist/tools/tool-call-metadata.d.ts +16 -0
- package/dist/tools/tool-call-metadata.d.ts.map +1 -0
- package/dist/tools/tool-call-metadata.js +51 -0
- package/dist/tools/tool-manager.cjs +578 -302
- package/dist/tools/tool-manager.d.ts +105 -81
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +578 -306
- package/dist/tools/types.d.ts +112 -13
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/api-key-resolver.cjs +1 -1
- package/dist/utils/api-key-resolver.js +1 -1
- package/dist/utils/env.cjs +49 -0
- package/dist/utils/env.d.ts +4 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +24 -0
- package/dist/utils/error-conversion.d.ts +2 -2
- package/dist/utils/error-conversion.d.ts.map +1 -1
- package/dist/utils/index.cjs +3 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/path.d.ts +2 -2
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/result.cjs +1 -1
- package/dist/utils/result.d.ts.map +1 -1
- package/dist/utils/schema.cjs +9 -5
- package/dist/utils/schema.d.ts +4 -2
- package/dist/utils/schema.d.ts.map +1 -1
- package/dist/utils/schema.js +9 -5
- package/dist/utils/service-initializer.cjs +58 -51
- package/dist/utils/service-initializer.d.ts +31 -9
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +58 -51
- package/dist/{storage/cache/providers/index.cjs → workspace/error-codes.cjs} +8 -9
- package/dist/workspace/error-codes.d.ts +5 -0
- package/dist/workspace/error-codes.d.ts.map +1 -0
- package/dist/workspace/error-codes.js +7 -0
- package/dist/{storage/blob/factory.cjs → workspace/errors.cjs} +20 -14
- package/dist/workspace/errors.d.ts +5 -0
- package/dist/workspace/errors.d.ts.map +1 -0
- package/dist/workspace/errors.js +21 -0
- package/dist/{image → workspace}/index.cjs +12 -10
- package/dist/workspace/index.d.ts +5 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +9 -0
- package/dist/workspace/manager.cjs +113 -0
- package/dist/workspace/manager.d.ts +18 -0
- package/dist/workspace/manager.d.ts.map +1 -0
- package/dist/workspace/manager.js +90 -0
- package/dist/workspace/types.d.ts +14 -0
- package/dist/workspace/types.d.ts.map +1 -0
- package/package.json +7 -3
- package/dist/context/compaction/factory.cjs +0 -57
- package/dist/context/compaction/factory.d.ts +0 -17
- package/dist/context/compaction/factory.d.ts.map +0 -1
- package/dist/context/compaction/factory.js +0 -34
- package/dist/context/compaction/provider.d.ts +0 -48
- package/dist/context/compaction/provider.d.ts.map +0 -1
- package/dist/context/compaction/providers/noop-provider.d.ts +0 -24
- package/dist/context/compaction/providers/noop-provider.d.ts.map +0 -1
- package/dist/context/compaction/providers/noop-provider.js +0 -24
- package/dist/context/compaction/providers/reactive-overflow-provider.cjs +0 -76
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +0 -51
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +0 -1
- package/dist/context/compaction/providers/reactive-overflow-provider.js +0 -52
- package/dist/context/compaction/registry.cjs +0 -39
- package/dist/context/compaction/registry.d.ts +0 -19
- package/dist/context/compaction/registry.d.ts.map +0 -1
- package/dist/context/compaction/registry.js +0 -16
- package/dist/context/compaction/schemas.cjs +0 -58
- package/dist/context/compaction/schemas.d.ts +0 -69
- package/dist/context/compaction/schemas.d.ts.map +0 -1
- package/dist/context/compaction/schemas.js +0 -34
- package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +0 -1
- package/dist/image/define-image.cjs +0 -146
- package/dist/image/define-image.d.ts +0 -71
- package/dist/image/define-image.d.ts.map +0 -1
- package/dist/image/define-image.js +0 -121
- package/dist/image/index.d.ts +0 -53
- package/dist/image/index.d.ts.map +0 -1
- package/dist/image/index.js +0 -7
- package/dist/image/types.d.ts +0 -246
- package/dist/image/types.d.ts.map +0 -1
- package/dist/llm/registry.cjs +0 -2075
- package/dist/llm/registry.d.ts.map +0 -1
- package/dist/llm/registry.js +0 -2025
- package/dist/llm/services/test-utils.integration.cjs +0 -237
- package/dist/llm/services/test-utils.integration.d.ts +0 -48
- package/dist/llm/services/test-utils.integration.d.ts.map +0 -1
- package/dist/llm/services/test-utils.integration.js +0 -214
- package/dist/plugins/builtins/content-policy.d.ts +0 -26
- package/dist/plugins/builtins/content-policy.d.ts.map +0 -1
- package/dist/plugins/builtins/response-sanitizer.d.ts +0 -25
- package/dist/plugins/builtins/response-sanitizer.d.ts.map +0 -1
- package/dist/plugins/error-codes.cjs +0 -43
- package/dist/plugins/error-codes.d.ts +0 -34
- package/dist/plugins/error-codes.d.ts.map +0 -1
- package/dist/plugins/error-codes.js +0 -20
- package/dist/plugins/index.cjs +0 -61
- package/dist/plugins/index.d.ts +0 -21
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -30
- package/dist/plugins/loader.cjs +0 -171
- package/dist/plugins/loader.d.ts +0 -30
- package/dist/plugins/loader.d.ts.map +0 -1
- package/dist/plugins/loader.js +0 -145
- package/dist/plugins/manager.cjs +0 -473
- package/dist/plugins/manager.d.ts +0 -106
- package/dist/plugins/manager.d.ts.map +0 -1
- package/dist/plugins/manager.js +0 -450
- package/dist/plugins/registrations/builtins.cjs +0 -51
- package/dist/plugins/registrations/builtins.d.ts +0 -17
- package/dist/plugins/registrations/builtins.d.ts.map +0 -1
- package/dist/plugins/registrations/builtins.js +0 -28
- package/dist/plugins/registry.cjs +0 -63
- package/dist/plugins/registry.d.ts +0 -101
- package/dist/plugins/registry.d.ts.map +0 -1
- package/dist/plugins/registry.js +0 -39
- package/dist/plugins/schemas.cjs +0 -73
- package/dist/plugins/schemas.d.ts +0 -195
- package/dist/plugins/schemas.d.ts.map +0 -1
- package/dist/plugins/schemas.js +0 -47
- package/dist/plugins/types.d.ts.map +0 -1
- package/dist/providers/base-registry.cjs +0 -147
- package/dist/providers/base-registry.d.ts +0 -147
- package/dist/providers/base-registry.d.ts.map +0 -1
- package/dist/providers/base-registry.js +0 -123
- package/dist/providers/discovery.cjs +0 -109
- package/dist/providers/discovery.d.ts +0 -96
- package/dist/providers/discovery.d.ts.map +0 -1
- package/dist/providers/discovery.js +0 -84
- package/dist/providers/index.cjs +0 -24
- package/dist/providers/index.d.ts +0 -32
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -2
- package/dist/resources/internal-provider.d.ts.map +0 -1
- package/dist/storage/blob/factory.d.ts +0 -37
- package/dist/storage/blob/factory.d.ts.map +0 -1
- package/dist/storage/blob/factory.js +0 -15
- package/dist/storage/blob/local-blob-store.cjs +0 -496
- package/dist/storage/blob/local-blob-store.d.ts +0 -58
- package/dist/storage/blob/local-blob-store.d.ts.map +0 -1
- package/dist/storage/blob/local-blob-store.js +0 -463
- package/dist/storage/blob/memory-blob-store.cjs +0 -326
- package/dist/storage/blob/memory-blob-store.d.ts +0 -66
- package/dist/storage/blob/memory-blob-store.d.ts.map +0 -1
- package/dist/storage/blob/memory-blob-store.js +0 -303
- package/dist/storage/blob/provider.d.ts +0 -50
- package/dist/storage/blob/provider.d.ts.map +0 -1
- package/dist/storage/blob/providers/index.d.ts +0 -8
- package/dist/storage/blob/providers/index.d.ts.map +0 -1
- package/dist/storage/blob/providers/index.js +0 -7
- package/dist/storage/blob/providers/local.cjs +0 -39
- package/dist/storage/blob/providers/local.d.ts +0 -17
- package/dist/storage/blob/providers/local.d.ts.map +0 -1
- package/dist/storage/blob/providers/local.js +0 -16
- package/dist/storage/blob/providers/memory.cjs +0 -39
- package/dist/storage/blob/providers/memory.d.ts +0 -17
- package/dist/storage/blob/providers/memory.d.ts.map +0 -1
- package/dist/storage/blob/providers/memory.js +0 -16
- package/dist/storage/blob/registry.cjs +0 -50
- package/dist/storage/blob/registry.d.ts +0 -42
- package/dist/storage/blob/registry.d.ts.map +0 -1
- package/dist/storage/blob/registry.js +0 -26
- package/dist/storage/blob/schemas.cjs +0 -52
- package/dist/storage/blob/schemas.d.ts +0 -85
- package/dist/storage/blob/schemas.d.ts.map +0 -1
- package/dist/storage/blob/schemas.js +0 -26
- package/dist/storage/cache/factory.cjs +0 -38
- package/dist/storage/cache/factory.d.ts +0 -37
- package/dist/storage/cache/factory.d.ts.map +0 -1
- package/dist/storage/cache/factory.js +0 -15
- package/dist/storage/cache/memory-cache-store.cjs +0 -107
- package/dist/storage/cache/memory-cache-store.d.ts +0 -26
- package/dist/storage/cache/memory-cache-store.d.ts.map +0 -1
- package/dist/storage/cache/memory-cache-store.js +0 -84
- package/dist/storage/cache/provider.cjs +0 -16
- package/dist/storage/cache/provider.d.ts +0 -56
- package/dist/storage/cache/provider.d.ts.map +0 -1
- package/dist/storage/cache/provider.js +0 -0
- package/dist/storage/cache/providers/index.d.ts +0 -8
- package/dist/storage/cache/providers/index.d.ts.map +0 -1
- package/dist/storage/cache/providers/index.js +0 -7
- package/dist/storage/cache/providers/memory.d.ts +0 -17
- package/dist/storage/cache/providers/memory.d.ts.map +0 -1
- package/dist/storage/cache/providers/memory.js +0 -17
- package/dist/storage/cache/providers/redis.cjs +0 -66
- package/dist/storage/cache/providers/redis.d.ts +0 -20
- package/dist/storage/cache/providers/redis.d.ts.map +0 -1
- package/dist/storage/cache/providers/redis.js +0 -33
- package/dist/storage/cache/redis-store.cjs +0 -173
- package/dist/storage/cache/redis-store.d.ts +0 -32
- package/dist/storage/cache/redis-store.d.ts.map +0 -1
- package/dist/storage/cache/redis-store.js +0 -150
- package/dist/storage/cache/registry.cjs +0 -50
- package/dist/storage/cache/registry.d.ts +0 -42
- package/dist/storage/cache/registry.d.ts.map +0 -1
- package/dist/storage/cache/registry.js +0 -26
- package/dist/storage/cache/schemas.cjs +0 -81
- package/dist/storage/cache/schemas.d.ts +0 -150
- package/dist/storage/cache/schemas.d.ts.map +0 -1
- package/dist/storage/cache/schemas.js +0 -55
- package/dist/storage/database/factory.cjs +0 -38
- package/dist/storage/database/factory.d.ts +0 -39
- package/dist/storage/database/factory.d.ts.map +0 -1
- package/dist/storage/database/factory.js +0 -15
- package/dist/storage/database/memory-database-store.cjs +0 -122
- package/dist/storage/database/memory-database-store.d.ts +0 -29
- package/dist/storage/database/memory-database-store.d.ts.map +0 -1
- package/dist/storage/database/memory-database-store.js +0 -99
- package/dist/storage/database/postgres-store.cjs +0 -342
- package/dist/storage/database/postgres-store.d.ts +0 -55
- package/dist/storage/database/postgres-store.d.ts.map +0 -1
- package/dist/storage/database/postgres-store.js +0 -319
- package/dist/storage/database/provider.cjs +0 -16
- package/dist/storage/database/provider.d.ts +0 -56
- package/dist/storage/database/provider.d.ts.map +0 -1
- package/dist/storage/database/provider.js +0 -0
- package/dist/storage/database/providers/index.d.ts +0 -9
- package/dist/storage/database/providers/index.d.ts.map +0 -1
- package/dist/storage/database/providers/index.js +0 -9
- package/dist/storage/database/providers/memory.cjs +0 -40
- package/dist/storage/database/providers/memory.d.ts +0 -16
- package/dist/storage/database/providers/memory.d.ts.map +0 -1
- package/dist/storage/database/providers/memory.js +0 -17
- package/dist/storage/database/providers/postgres.cjs +0 -62
- package/dist/storage/database/providers/postgres.d.ts +0 -19
- package/dist/storage/database/providers/postgres.d.ts.map +0 -1
- package/dist/storage/database/providers/postgres.js +0 -29
- package/dist/storage/database/providers/sqlite.cjs +0 -66
- package/dist/storage/database/providers/sqlite.d.ts +0 -20
- package/dist/storage/database/providers/sqlite.d.ts.map +0 -1
- package/dist/storage/database/providers/sqlite.js +0 -33
- package/dist/storage/database/registry.cjs +0 -50
- package/dist/storage/database/registry.d.ts +0 -42
- package/dist/storage/database/registry.d.ts.map +0 -1
- package/dist/storage/database/registry.js +0 -26
- package/dist/storage/database/schemas.cjs +0 -97
- package/dist/storage/database/schemas.d.ts +0 -226
- package/dist/storage/database/schemas.d.ts.map +0 -1
- package/dist/storage/database/schemas.js +0 -70
- package/dist/storage/database/sqlite-store.cjs +0 -270
- package/dist/storage/database/sqlite-store.d.ts +0 -33
- package/dist/storage/database/sqlite-store.d.ts.map +0 -1
- package/dist/storage/database/sqlite-store.js +0 -237
- package/dist/storage/schemas.cjs +0 -57
- package/dist/storage/schemas.d.ts +0 -347
- package/dist/storage/schemas.d.ts.map +0 -1
- package/dist/storage/schemas.js +0 -37
- package/dist/tools/bash-pattern-utils.cjs +0 -91
- package/dist/tools/bash-pattern-utils.d.ts +0 -58
- package/dist/tools/bash-pattern-utils.d.ts.map +0 -1
- package/dist/tools/bash-pattern-utils.js +0 -64
- package/dist/tools/custom-tool-registry.cjs +0 -64
- package/dist/tools/custom-tool-registry.d.ts +0 -126
- package/dist/tools/custom-tool-registry.d.ts.map +0 -1
- package/dist/tools/custom-tool-registry.js +0 -40
- package/dist/tools/custom-tool-schema-registry.cjs +0 -164
- package/dist/tools/custom-tool-schema-registry.d.ts +0 -86
- package/dist/tools/custom-tool-schema-registry.d.ts.map +0 -1
- package/dist/tools/custom-tool-schema-registry.js +0 -140
- package/dist/tools/internal-tools/constants.d.ts +0 -12
- package/dist/tools/internal-tools/constants.d.ts.map +0 -1
- package/dist/tools/internal-tools/constants.js +0 -12
- package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +0 -57
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +0 -18
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/ask-user-tool.js +0 -34
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +0 -192
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +0 -33
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +0 -169
- package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +0 -113
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +0 -30
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/get-resource-tool.js +0 -90
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.cjs +0 -140
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts +0 -24
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.js +0 -117
- package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +0 -91
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +0 -24
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/list-resources-tool.js +0 -68
- package/dist/tools/internal-tools/implementations/search-history-tool.cjs +0 -61
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +0 -7
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/search-history-tool.js +0 -38
- package/dist/tools/internal-tools/index.cjs +0 -26
- package/dist/tools/internal-tools/index.d.ts +0 -4
- package/dist/tools/internal-tools/index.d.ts.map +0 -1
- package/dist/tools/internal-tools/index.js +0 -3
- package/dist/tools/internal-tools/provider.cjs +0 -324
- package/dist/tools/internal-tools/provider.d.ts +0 -114
- package/dist/tools/internal-tools/provider.d.ts.map +0 -1
- package/dist/tools/internal-tools/provider.js +0 -301
- package/dist/tools/internal-tools/registry.cjs +0 -71
- package/dist/tools/internal-tools/registry.d.ts +0 -91
- package/dist/tools/internal-tools/registry.d.ts.map +0 -1
- package/dist/tools/internal-tools/registry.js +0 -47
- /package/dist/{context/compaction/provider.js → agent/agent-options.js} +0 -0
- /package/dist/{image/types.js → agent/runtime-config.js} +0 -0
- /package/dist/{image → hooks}/types.cjs +0 -0
- /package/dist/{plugins → hooks}/types.js +0 -0
- /package/dist/{plugins → workspace}/types.cjs +0 -0
- /package/dist/{storage/blob/provider.js → workspace/types.js} +0 -0
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import "../../../chunk-PTJYTZNU.js";
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
const AskUserInputSchema = z.object({
|
|
4
|
-
question: z.string().describe("The question or prompt to display to the user"),
|
|
5
|
-
schema: z.object({
|
|
6
|
-
type: z.literal("object"),
|
|
7
|
-
properties: z.record(z.unknown()),
|
|
8
|
-
required: z.array(z.string()).optional()
|
|
9
|
-
}).passthrough().describe(
|
|
10
|
-
'JSON Schema defining form fields. Use descriptive property names as labels (e.g., "favorite_team", "World Cup winner country") - NOT generic names like "q1". Use "enum" for dropdowns, "boolean" for yes/no, "number" for numeric inputs, "string" for text. Include "required" array for mandatory fields.'
|
|
11
|
-
)
|
|
12
|
-
}).strict();
|
|
13
|
-
function createAskUserTool(approvalManager) {
|
|
14
|
-
return {
|
|
15
|
-
id: "ask_user",
|
|
16
|
-
description: 'Collect structured input from the user through a form interface. ONLY use this tool when you need: 1) Multiple fields at once (e.g., name + email + preferences), 2) Pre-defined options/choices (use enum for dropdowns like ["small","medium","large"]), 3) Specific data types with validation (boolean for yes/no, number for quantities). DO NOT use for simple conversational questions - just ask those naturally in your response. This tool is for form-like data collection, not chat. Examples: collecting user profile info, configuration settings, or selecting from preset options.',
|
|
17
|
-
inputSchema: AskUserInputSchema,
|
|
18
|
-
execute: async (input, context) => {
|
|
19
|
-
const { question, schema } = input;
|
|
20
|
-
const elicitationRequest = {
|
|
21
|
-
schema,
|
|
22
|
-
prompt: question,
|
|
23
|
-
serverName: "Dexto Agent"
|
|
24
|
-
};
|
|
25
|
-
if (context?.sessionId !== void 0) {
|
|
26
|
-
elicitationRequest.sessionId = context.sessionId;
|
|
27
|
-
}
|
|
28
|
-
return approvalManager.getElicitationData(elicitationRequest);
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
export {
|
|
33
|
-
createAskUserTool
|
|
34
|
-
};
|
|
@@ -1,192 +0,0 @@
|
|
|
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 delegate_to_url_tool_exports = {};
|
|
20
|
-
__export(delegate_to_url_tool_exports, {
|
|
21
|
-
createDelegateToUrlTool: () => createDelegateToUrlTool
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(delegate_to_url_tool_exports);
|
|
24
|
-
var import_zod = require("zod");
|
|
25
|
-
var import_errors = require("../../../errors/index.js");
|
|
26
|
-
const DelegateToUrlInputSchema = import_zod.z.object({
|
|
27
|
-
url: import_zod.z.string().url().describe(
|
|
28
|
-
'The A2A-compliant agent URL (e.g., "http://localhost:3001" or "https://agent.example.com"). The tool will automatically append the correct JSON-RPC endpoint.'
|
|
29
|
-
),
|
|
30
|
-
message: import_zod.z.string().min(1).describe(
|
|
31
|
-
"The message or task to delegate to the agent. This will be sent as natural language input."
|
|
32
|
-
),
|
|
33
|
-
sessionId: import_zod.z.string().optional().describe(
|
|
34
|
-
"Optional session ID for maintaining conversation state across multiple delegations to the same agent"
|
|
35
|
-
),
|
|
36
|
-
timeout: import_zod.z.number().optional().default(3e4).describe("Request timeout in milliseconds (default: 30000)")
|
|
37
|
-
}).strict();
|
|
38
|
-
class SimpleA2AClient {
|
|
39
|
-
url;
|
|
40
|
-
timeout;
|
|
41
|
-
constructor(url, timeout = 3e4) {
|
|
42
|
-
this.url = url.replace(/\/$/, "");
|
|
43
|
-
this.timeout = timeout;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Send a message to the A2A agent using JSON-RPC 2.0
|
|
47
|
-
*/
|
|
48
|
-
async sendMessage(message, sessionId) {
|
|
49
|
-
const messageId = this.generateId();
|
|
50
|
-
const taskId = sessionId || this.generateId();
|
|
51
|
-
const a2aMessage = {
|
|
52
|
-
role: "user",
|
|
53
|
-
parts: [
|
|
54
|
-
{
|
|
55
|
-
kind: "text",
|
|
56
|
-
text: message
|
|
57
|
-
}
|
|
58
|
-
],
|
|
59
|
-
messageId,
|
|
60
|
-
taskId,
|
|
61
|
-
contextId: taskId,
|
|
62
|
-
kind: "message"
|
|
63
|
-
};
|
|
64
|
-
const rpcRequest = {
|
|
65
|
-
jsonrpc: "2.0",
|
|
66
|
-
id: this.generateId(),
|
|
67
|
-
method: "message/send",
|
|
68
|
-
params: {
|
|
69
|
-
message: a2aMessage,
|
|
70
|
-
configuration: {
|
|
71
|
-
blocking: true
|
|
72
|
-
// Wait for completion
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
const endpoints = [
|
|
77
|
-
`${this.url}/v1/jsonrpc`,
|
|
78
|
-
// A2A v0.3.0 JSON-RPC endpoint
|
|
79
|
-
`${this.url}/jsonrpc`
|
|
80
|
-
// Alternative path
|
|
81
|
-
];
|
|
82
|
-
let lastError = null;
|
|
83
|
-
for (const endpoint of endpoints) {
|
|
84
|
-
try {
|
|
85
|
-
const controller = new AbortController();
|
|
86
|
-
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
87
|
-
const response = await fetch(endpoint, {
|
|
88
|
-
method: "POST",
|
|
89
|
-
headers: {
|
|
90
|
-
"Content-Type": "application/json",
|
|
91
|
-
"User-Agent": "@dexto/core"
|
|
92
|
-
},
|
|
93
|
-
body: JSON.stringify(rpcRequest),
|
|
94
|
-
signal: controller.signal
|
|
95
|
-
});
|
|
96
|
-
clearTimeout(timeoutId);
|
|
97
|
-
if (!response.ok) {
|
|
98
|
-
lastError = new Error(
|
|
99
|
-
`HTTP ${response.status}: ${response.statusText} (tried ${endpoint})`
|
|
100
|
-
);
|
|
101
|
-
continue;
|
|
102
|
-
}
|
|
103
|
-
const data = await response.json();
|
|
104
|
-
if ("error" in data && data.error) {
|
|
105
|
-
throw new Error(
|
|
106
|
-
`Agent returned error: ${data.error.message || "Unknown error"}`
|
|
107
|
-
);
|
|
108
|
-
}
|
|
109
|
-
if ("result" in data) {
|
|
110
|
-
return this.extractTaskResponse(data.result);
|
|
111
|
-
}
|
|
112
|
-
return data;
|
|
113
|
-
} catch (error) {
|
|
114
|
-
if (error instanceof Error && error.name === "AbortError") {
|
|
115
|
-
throw new import_errors.DextoRuntimeError(
|
|
116
|
-
`Delegation timeout after ${this.timeout}ms`,
|
|
117
|
-
import_errors.ErrorScope.TOOLS,
|
|
118
|
-
import_errors.ErrorType.TIMEOUT,
|
|
119
|
-
"DELEGATION_TIMEOUT"
|
|
120
|
-
);
|
|
121
|
-
}
|
|
122
|
-
lastError = error instanceof Error ? error : new Error(String(error));
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
throw new import_errors.DextoRuntimeError(
|
|
126
|
-
`Failed to connect to agent at ${this.url}. Tried endpoints: ${endpoints.join(", ")}. Last error: ${lastError?.message || "Unknown error"}`,
|
|
127
|
-
import_errors.ErrorScope.TOOLS,
|
|
128
|
-
import_errors.ErrorType.THIRD_PARTY,
|
|
129
|
-
"DELEGATION_FAILED"
|
|
130
|
-
);
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Extract response text from A2A Task structure
|
|
134
|
-
*/
|
|
135
|
-
extractTaskResponse(task) {
|
|
136
|
-
if (task.history && Array.isArray(task.history)) {
|
|
137
|
-
const agentMessages = task.history.filter((m) => m.role === "agent");
|
|
138
|
-
if (agentMessages.length > 0) {
|
|
139
|
-
const lastMessage = agentMessages[agentMessages.length - 1];
|
|
140
|
-
if (lastMessage.parts && Array.isArray(lastMessage.parts)) {
|
|
141
|
-
const textParts = lastMessage.parts.filter((p) => p.kind === "text").map((p) => p.text);
|
|
142
|
-
if (textParts.length > 0) {
|
|
143
|
-
return textParts.join("\n");
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
return JSON.stringify(task, null, 2);
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Generate unique ID
|
|
152
|
-
*/
|
|
153
|
-
generateId() {
|
|
154
|
-
return `${Date.now()}-${Math.random().toString(36).substring(2, 11)}`;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
function createDelegateToUrlTool() {
|
|
158
|
-
return {
|
|
159
|
-
id: "delegate_to_url",
|
|
160
|
-
description: 'Delegate a task to another A2A-compliant agent at a specific URL. Supports STATEFUL multi-turn conversations via sessionId parameter. USAGE: (1) First delegation: provide url + message. Tool returns a response AND a sessionId. (2) Follow-up: use the SAME sessionId to continue the conversation with that agent. The agent remembers previous context. EXAMPLE: First call {url: "http://agent:3001", message: "Analyze data X"} returns {sessionId: "xyz", response: "..."}. Second call {url: "http://agent:3001", message: "What was the top insight?", sessionId: "xyz"}. The agent will remember the first analysis and can answer specifically.',
|
|
161
|
-
inputSchema: DelegateToUrlInputSchema,
|
|
162
|
-
execute: async (input, _context) => {
|
|
163
|
-
const { url, message, sessionId, timeout } = input;
|
|
164
|
-
try {
|
|
165
|
-
const client = new SimpleA2AClient(url, timeout);
|
|
166
|
-
const effectiveSessionId = sessionId || `delegation-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
|
|
167
|
-
const response = await client.sendMessage(message, effectiveSessionId);
|
|
168
|
-
return {
|
|
169
|
-
success: true,
|
|
170
|
-
agentUrl: url,
|
|
171
|
-
sessionId: effectiveSessionId,
|
|
172
|
-
response,
|
|
173
|
-
_hint: sessionId ? "Continued existing conversation" : "Started new conversation - use this sessionId for follow-ups"
|
|
174
|
-
};
|
|
175
|
-
} catch (error) {
|
|
176
|
-
if (error instanceof import_errors.DextoRuntimeError) {
|
|
177
|
-
throw error;
|
|
178
|
-
}
|
|
179
|
-
throw new import_errors.DextoRuntimeError(
|
|
180
|
-
`Delegation failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
181
|
-
import_errors.ErrorScope.TOOLS,
|
|
182
|
-
import_errors.ErrorType.SYSTEM,
|
|
183
|
-
"DELEGATION_ERROR"
|
|
184
|
-
);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
190
|
-
0 && (module.exports = {
|
|
191
|
-
createDelegateToUrlTool
|
|
192
|
-
});
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { InternalTool } from '../../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Internal tool for agent-to-agent delegation
|
|
4
|
-
*
|
|
5
|
-
* Delegates tasks to other A2A-compliant agents at known URLs.
|
|
6
|
-
* Supports stateful multi-turn conversations via sessionId parameter.
|
|
7
|
-
*
|
|
8
|
-
* Features:
|
|
9
|
-
* - A2A Protocol v0.3.0 compliant (JSON-RPC 2.0 transport)
|
|
10
|
-
* - Stateful conversations with session management
|
|
11
|
-
* - Automatic endpoint discovery (/v1/jsonrpc, /jsonrpc)
|
|
12
|
-
* - Configurable timeouts and error handling
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* // Single delegation
|
|
17
|
-
* delegate_to_url({
|
|
18
|
-
* url: "http://pdf-analyzer:3001",
|
|
19
|
-
* message: "Extract all tables from the Q4 sales report"
|
|
20
|
-
* })
|
|
21
|
-
* → Returns: {sessionId: "delegation-xyz", response: "..."}
|
|
22
|
-
*
|
|
23
|
-
* // Multi-turn conversation (use same sessionId)
|
|
24
|
-
* delegate_to_url({
|
|
25
|
-
* url: "http://pdf-analyzer:3001",
|
|
26
|
-
* message: "Which table had the highest values?",
|
|
27
|
-
* sessionId: "delegation-xyz"
|
|
28
|
-
* })
|
|
29
|
-
* → Agent remembers the previous extraction and can answer specifically
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
export declare function createDelegateToUrlTool(): InternalTool;
|
|
33
|
-
//# sourceMappingURL=delegate-to-url-tool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delegate-to-url-tool.d.ts","sourceRoot":"","sources":["../../../../src/tools/internal-tools/implementations/delegate-to-url-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAwB,MAAM,gBAAgB,CAAC;AA8MpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,uBAAuB,IAAI,YAAY,CA8CtD"}
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
import "../../../chunk-PTJYTZNU.js";
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
import { DextoRuntimeError, ErrorScope, ErrorType } from "../../../errors/index.js";
|
|
4
|
-
const DelegateToUrlInputSchema = z.object({
|
|
5
|
-
url: z.string().url().describe(
|
|
6
|
-
'The A2A-compliant agent URL (e.g., "http://localhost:3001" or "https://agent.example.com"). The tool will automatically append the correct JSON-RPC endpoint.'
|
|
7
|
-
),
|
|
8
|
-
message: z.string().min(1).describe(
|
|
9
|
-
"The message or task to delegate to the agent. This will be sent as natural language input."
|
|
10
|
-
),
|
|
11
|
-
sessionId: z.string().optional().describe(
|
|
12
|
-
"Optional session ID for maintaining conversation state across multiple delegations to the same agent"
|
|
13
|
-
),
|
|
14
|
-
timeout: z.number().optional().default(3e4).describe("Request timeout in milliseconds (default: 30000)")
|
|
15
|
-
}).strict();
|
|
16
|
-
class SimpleA2AClient {
|
|
17
|
-
url;
|
|
18
|
-
timeout;
|
|
19
|
-
constructor(url, timeout = 3e4) {
|
|
20
|
-
this.url = url.replace(/\/$/, "");
|
|
21
|
-
this.timeout = timeout;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Send a message to the A2A agent using JSON-RPC 2.0
|
|
25
|
-
*/
|
|
26
|
-
async sendMessage(message, sessionId) {
|
|
27
|
-
const messageId = this.generateId();
|
|
28
|
-
const taskId = sessionId || this.generateId();
|
|
29
|
-
const a2aMessage = {
|
|
30
|
-
role: "user",
|
|
31
|
-
parts: [
|
|
32
|
-
{
|
|
33
|
-
kind: "text",
|
|
34
|
-
text: message
|
|
35
|
-
}
|
|
36
|
-
],
|
|
37
|
-
messageId,
|
|
38
|
-
taskId,
|
|
39
|
-
contextId: taskId,
|
|
40
|
-
kind: "message"
|
|
41
|
-
};
|
|
42
|
-
const rpcRequest = {
|
|
43
|
-
jsonrpc: "2.0",
|
|
44
|
-
id: this.generateId(),
|
|
45
|
-
method: "message/send",
|
|
46
|
-
params: {
|
|
47
|
-
message: a2aMessage,
|
|
48
|
-
configuration: {
|
|
49
|
-
blocking: true
|
|
50
|
-
// Wait for completion
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
const endpoints = [
|
|
55
|
-
`${this.url}/v1/jsonrpc`,
|
|
56
|
-
// A2A v0.3.0 JSON-RPC endpoint
|
|
57
|
-
`${this.url}/jsonrpc`
|
|
58
|
-
// Alternative path
|
|
59
|
-
];
|
|
60
|
-
let lastError = null;
|
|
61
|
-
for (const endpoint of endpoints) {
|
|
62
|
-
try {
|
|
63
|
-
const controller = new AbortController();
|
|
64
|
-
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
65
|
-
const response = await fetch(endpoint, {
|
|
66
|
-
method: "POST",
|
|
67
|
-
headers: {
|
|
68
|
-
"Content-Type": "application/json",
|
|
69
|
-
"User-Agent": "@dexto/core"
|
|
70
|
-
},
|
|
71
|
-
body: JSON.stringify(rpcRequest),
|
|
72
|
-
signal: controller.signal
|
|
73
|
-
});
|
|
74
|
-
clearTimeout(timeoutId);
|
|
75
|
-
if (!response.ok) {
|
|
76
|
-
lastError = new Error(
|
|
77
|
-
`HTTP ${response.status}: ${response.statusText} (tried ${endpoint})`
|
|
78
|
-
);
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
const data = await response.json();
|
|
82
|
-
if ("error" in data && data.error) {
|
|
83
|
-
throw new Error(
|
|
84
|
-
`Agent returned error: ${data.error.message || "Unknown error"}`
|
|
85
|
-
);
|
|
86
|
-
}
|
|
87
|
-
if ("result" in data) {
|
|
88
|
-
return this.extractTaskResponse(data.result);
|
|
89
|
-
}
|
|
90
|
-
return data;
|
|
91
|
-
} catch (error) {
|
|
92
|
-
if (error instanceof Error && error.name === "AbortError") {
|
|
93
|
-
throw new DextoRuntimeError(
|
|
94
|
-
`Delegation timeout after ${this.timeout}ms`,
|
|
95
|
-
ErrorScope.TOOLS,
|
|
96
|
-
ErrorType.TIMEOUT,
|
|
97
|
-
"DELEGATION_TIMEOUT"
|
|
98
|
-
);
|
|
99
|
-
}
|
|
100
|
-
lastError = error instanceof Error ? error : new Error(String(error));
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
throw new DextoRuntimeError(
|
|
104
|
-
`Failed to connect to agent at ${this.url}. Tried endpoints: ${endpoints.join(", ")}. Last error: ${lastError?.message || "Unknown error"}`,
|
|
105
|
-
ErrorScope.TOOLS,
|
|
106
|
-
ErrorType.THIRD_PARTY,
|
|
107
|
-
"DELEGATION_FAILED"
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Extract response text from A2A Task structure
|
|
112
|
-
*/
|
|
113
|
-
extractTaskResponse(task) {
|
|
114
|
-
if (task.history && Array.isArray(task.history)) {
|
|
115
|
-
const agentMessages = task.history.filter((m) => m.role === "agent");
|
|
116
|
-
if (agentMessages.length > 0) {
|
|
117
|
-
const lastMessage = agentMessages[agentMessages.length - 1];
|
|
118
|
-
if (lastMessage.parts && Array.isArray(lastMessage.parts)) {
|
|
119
|
-
const textParts = lastMessage.parts.filter((p) => p.kind === "text").map((p) => p.text);
|
|
120
|
-
if (textParts.length > 0) {
|
|
121
|
-
return textParts.join("\n");
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
return JSON.stringify(task, null, 2);
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Generate unique ID
|
|
130
|
-
*/
|
|
131
|
-
generateId() {
|
|
132
|
-
return `${Date.now()}-${Math.random().toString(36).substring(2, 11)}`;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
function createDelegateToUrlTool() {
|
|
136
|
-
return {
|
|
137
|
-
id: "delegate_to_url",
|
|
138
|
-
description: 'Delegate a task to another A2A-compliant agent at a specific URL. Supports STATEFUL multi-turn conversations via sessionId parameter. USAGE: (1) First delegation: provide url + message. Tool returns a response AND a sessionId. (2) Follow-up: use the SAME sessionId to continue the conversation with that agent. The agent remembers previous context. EXAMPLE: First call {url: "http://agent:3001", message: "Analyze data X"} returns {sessionId: "xyz", response: "..."}. Second call {url: "http://agent:3001", message: "What was the top insight?", sessionId: "xyz"}. The agent will remember the first analysis and can answer specifically.',
|
|
139
|
-
inputSchema: DelegateToUrlInputSchema,
|
|
140
|
-
execute: async (input, _context) => {
|
|
141
|
-
const { url, message, sessionId, timeout } = input;
|
|
142
|
-
try {
|
|
143
|
-
const client = new SimpleA2AClient(url, timeout);
|
|
144
|
-
const effectiveSessionId = sessionId || `delegation-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
|
|
145
|
-
const response = await client.sendMessage(message, effectiveSessionId);
|
|
146
|
-
return {
|
|
147
|
-
success: true,
|
|
148
|
-
agentUrl: url,
|
|
149
|
-
sessionId: effectiveSessionId,
|
|
150
|
-
response,
|
|
151
|
-
_hint: sessionId ? "Continued existing conversation" : "Started new conversation - use this sessionId for follow-ups"
|
|
152
|
-
};
|
|
153
|
-
} catch (error) {
|
|
154
|
-
if (error instanceof DextoRuntimeError) {
|
|
155
|
-
throw error;
|
|
156
|
-
}
|
|
157
|
-
throw new DextoRuntimeError(
|
|
158
|
-
`Delegation failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
159
|
-
ErrorScope.TOOLS,
|
|
160
|
-
ErrorType.SYSTEM,
|
|
161
|
-
"DELEGATION_ERROR"
|
|
162
|
-
);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
export {
|
|
168
|
-
createDelegateToUrlTool
|
|
169
|
-
};
|
|
@@ -1,113 +0,0 @@
|
|
|
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
|
-
});
|
|
@@ -1,30 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,90 +0,0 @@
|
|
|
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
|
-
};
|