@defai.digital/ax-cli 4.4.6 → 4.4.10
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/bin/ax-cli +1 -5
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +158 -9
- package/dist/index.js.map +1 -1
- package/dist/setup.d.ts +27 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +591 -0
- package/dist/setup.js.map +1 -0
- package/package.json +43 -135
- package/LICENSE +0 -22
- package/README.md +0 -387
- package/config-defaults/messages.yaml +0 -75
- package/config-defaults/models.yaml +0 -57
- package/config-defaults/prompts.yaml +0 -948
- package/config-defaults/settings.yaml +0 -157
- package/dist/agent/agent-executor.d.ts +0 -61
- package/dist/agent/agent-executor.js +0 -194
- package/dist/agent/agent-executor.js.map +0 -1
- package/dist/agent/agent-router.d.ts +0 -68
- package/dist/agent/agent-router.js +0 -242
- package/dist/agent/agent-router.js.map +0 -1
- package/dist/agent/context-manager.d.ts +0 -122
- package/dist/agent/context-manager.js +0 -406
- package/dist/agent/context-manager.js.map +0 -1
- package/dist/agent/core/index.d.ts +0 -8
- package/dist/agent/core/index.js +0 -9
- package/dist/agent/core/index.js.map +0 -1
- package/dist/agent/core/types.d.ts +0 -92
- package/dist/agent/core/types.js +0 -11
- package/dist/agent/core/types.js.map +0 -1
- package/dist/agent/dependency-resolver.d.ts +0 -90
- package/dist/agent/dependency-resolver.js +0 -366
- package/dist/agent/dependency-resolver.js.map +0 -1
- package/dist/agent/execution/index.d.ts +0 -9
- package/dist/agent/execution/index.js +0 -9
- package/dist/agent/execution/index.js.map +0 -1
- package/dist/agent/execution/tool-executor.d.ts +0 -93
- package/dist/agent/execution/tool-executor.js +0 -552
- package/dist/agent/execution/tool-executor.js.map +0 -1
- package/dist/agent/index.d.ts +0 -14
- package/dist/agent/index.js +0 -145
- package/dist/agent/index.js.map +0 -1
- package/dist/agent/llm-agent.d.ts +0 -368
- package/dist/agent/llm-agent.js +0 -1931
- package/dist/agent/llm-agent.js.map +0 -1
- package/dist/agent/loop-detector.d.ts +0 -72
- package/dist/agent/loop-detector.js +0 -335
- package/dist/agent/loop-detector.js.map +0 -1
- package/dist/agent/parallel-tools.d.ts +0 -69
- package/dist/agent/parallel-tools.js +0 -188
- package/dist/agent/parallel-tools.js.map +0 -1
- package/dist/agent/planning/index.d.ts +0 -9
- package/dist/agent/planning/index.js +0 -9
- package/dist/agent/planning/index.js.map +0 -1
- package/dist/agent/planning/plan-executor.d.ts +0 -79
- package/dist/agent/planning/plan-executor.js +0 -240
- package/dist/agent/planning/plan-executor.js.map +0 -1
- package/dist/agent/progress-tracker.d.ts +0 -94
- package/dist/agent/progress-tracker.js +0 -225
- package/dist/agent/progress-tracker.js.map +0 -1
- package/dist/agent/specialized/analysis-agent.d.ts +0 -11
- package/dist/agent/specialized/analysis-agent.js +0 -24
- package/dist/agent/specialized/analysis-agent.js.map +0 -1
- package/dist/agent/specialized/debug-agent.d.ts +0 -11
- package/dist/agent/specialized/debug-agent.js +0 -46
- package/dist/agent/specialized/debug-agent.js.map +0 -1
- package/dist/agent/specialized/documentation-agent.d.ts +0 -11
- package/dist/agent/specialized/documentation-agent.js +0 -24
- package/dist/agent/specialized/documentation-agent.js.map +0 -1
- package/dist/agent/specialized/index.d.ts +0 -11
- package/dist/agent/specialized/index.js +0 -12
- package/dist/agent/specialized/index.js.map +0 -1
- package/dist/agent/specialized/performance-agent.d.ts +0 -11
- package/dist/agent/specialized/performance-agent.js +0 -24
- package/dist/agent/specialized/performance-agent.js.map +0 -1
- package/dist/agent/specialized/refactoring-agent.d.ts +0 -11
- package/dist/agent/specialized/refactoring-agent.js +0 -24
- package/dist/agent/specialized/refactoring-agent.js.map +0 -1
- package/dist/agent/specialized/testing-agent.d.ts +0 -11
- package/dist/agent/specialized/testing-agent.js +0 -24
- package/dist/agent/specialized/testing-agent.js.map +0 -1
- package/dist/agent/status-reporter.d.ts +0 -114
- package/dist/agent/status-reporter.js +0 -335
- package/dist/agent/status-reporter.js.map +0 -1
- package/dist/agent/streaming/index.d.ts +0 -9
- package/dist/agent/streaming/index.js +0 -9
- package/dist/agent/streaming/index.js.map +0 -1
- package/dist/agent/streaming/stream-handler.d.ts +0 -62
- package/dist/agent/streaming/stream-handler.js +0 -217
- package/dist/agent/streaming/stream-handler.js.map +0 -1
- package/dist/agent/subagent-orchestrator.d.ts +0 -166
- package/dist/agent/subagent-orchestrator.js +0 -487
- package/dist/agent/subagent-orchestrator.js.map +0 -1
- package/dist/agent/subagent-types.d.ts +0 -261
- package/dist/agent/subagent-types.js +0 -257
- package/dist/agent/subagent-types.js.map +0 -1
- package/dist/agent/subagent.d.ts +0 -116
- package/dist/agent/subagent.js +0 -507
- package/dist/agent/subagent.js.map +0 -1
- package/dist/checkpoint/index.d.ts +0 -9
- package/dist/checkpoint/index.js +0 -11
- package/dist/checkpoint/index.js.map +0 -1
- package/dist/checkpoint/manager.d.ts +0 -101
- package/dist/checkpoint/manager.js +0 -407
- package/dist/checkpoint/manager.js.map +0 -1
- package/dist/checkpoint/storage.d.ts +0 -39
- package/dist/checkpoint/storage.js +0 -350
- package/dist/checkpoint/storage.js.map +0 -1
- package/dist/checkpoint/types.d.ts +0 -111
- package/dist/checkpoint/types.js +0 -17
- package/dist/checkpoint/types.js.map +0 -1
- package/dist/commands/cache.d.ts +0 -7
- package/dist/commands/cache.js +0 -284
- package/dist/commands/cache.js.map +0 -1
- package/dist/commands/custom-commands.d.ts +0 -77
- package/dist/commands/custom-commands.js +0 -251
- package/dist/commands/custom-commands.js.map +0 -1
- package/dist/commands/design.d.ts +0 -18
- package/dist/commands/design.js +0 -511
- package/dist/commands/design.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -6
- package/dist/commands/doctor.js +0 -773
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/frontend.d.ts +0 -9
- package/dist/commands/frontend.js +0 -645
- package/dist/commands/frontend.js.map +0 -1
- package/dist/commands/init/wizard.d.ts +0 -55
- package/dist/commands/init/wizard.js +0 -189
- package/dist/commands/init/wizard.js.map +0 -1
- package/dist/commands/init.d.ts +0 -8
- package/dist/commands/init.js +0 -195
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/mcp-migrate.d.ts +0 -9
- package/dist/commands/mcp-migrate.js +0 -175
- package/dist/commands/mcp-migrate.js.map +0 -1
- package/dist/commands/mcp.d.ts +0 -2
- package/dist/commands/mcp.js +0 -1292
- package/dist/commands/mcp.js.map +0 -1
- package/dist/commands/memory.d.ts +0 -6
- package/dist/commands/memory.js +0 -555
- package/dist/commands/memory.js.map +0 -1
- package/dist/commands/models.d.ts +0 -5
- package/dist/commands/models.js +0 -213
- package/dist/commands/models.js.map +0 -1
- package/dist/commands/plan.d.ts +0 -43
- package/dist/commands/plan.js +0 -362
- package/dist/commands/plan.js.map +0 -1
- package/dist/commands/rewind.d.ts +0 -19
- package/dist/commands/rewind.js +0 -221
- package/dist/commands/rewind.js.map +0 -1
- package/dist/commands/setup.d.ts +0 -14
- package/dist/commands/setup.js +0 -733
- package/dist/commands/setup.js.map +0 -1
- package/dist/commands/status.d.ts +0 -7
- package/dist/commands/status.js +0 -437
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/templates.d.ts +0 -5
- package/dist/commands/templates.js +0 -245
- package/dist/commands/templates.js.map +0 -1
- package/dist/commands/update.d.ts +0 -49
- package/dist/commands/update.js +0 -366
- package/dist/commands/update.js.map +0 -1
- package/dist/commands/usage.d.ts +0 -8
- package/dist/commands/usage.js +0 -264
- package/dist/commands/usage.js.map +0 -1
- package/dist/commands/vscode.d.ts +0 -7
- package/dist/commands/vscode.js +0 -419
- package/dist/commands/vscode.js.map +0 -1
- package/dist/constants.d.ts +0 -236
- package/dist/constants.js +0 -288
- package/dist/constants.js.map +0 -1
- package/dist/design/figma-alias.d.ts +0 -170
- package/dist/design/figma-alias.js +0 -577
- package/dist/design/figma-alias.js.map +0 -1
- package/dist/design/figma-audit.d.ts +0 -40
- package/dist/design/figma-audit.js +0 -383
- package/dist/design/figma-audit.js.map +0 -1
- package/dist/design/figma-client.d.ts +0 -131
- package/dist/design/figma-client.js +0 -369
- package/dist/design/figma-client.js.map +0 -1
- package/dist/design/figma-map.d.ts +0 -29
- package/dist/design/figma-map.js +0 -346
- package/dist/design/figma-map.js.map +0 -1
- package/dist/design/figma-tokens.d.ts +0 -73
- package/dist/design/figma-tokens.js +0 -448
- package/dist/design/figma-tokens.js.map +0 -1
- package/dist/design/index.d.ts +0 -13
- package/dist/design/index.js +0 -20
- package/dist/design/index.js.map +0 -1
- package/dist/design/types.d.ts +0 -98
- package/dist/design/types.js +0 -9
- package/dist/design/types.js.map +0 -1
- package/dist/hooks/hook-runner.d.ts +0 -142
- package/dist/hooks/hook-runner.js +0 -436
- package/dist/hooks/hook-runner.js.map +0 -1
- package/dist/hooks/index.d.ts +0 -9
- package/dist/hooks/index.js +0 -10
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/manager.d.ts +0 -84
- package/dist/hooks/manager.js +0 -348
- package/dist/hooks/manager.js.map +0 -1
- package/dist/hooks/types.d.ts +0 -134
- package/dist/hooks/types.js +0 -9
- package/dist/hooks/types.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/ipc/index.d.ts +0 -9
- package/dist/ipc/index.js +0 -10
- package/dist/ipc/index.js.map +0 -1
- package/dist/ipc/vscode-client.d.ts +0 -200
- package/dist/ipc/vscode-client.js +0 -495
- package/dist/ipc/vscode-client.js.map +0 -1
- package/dist/llm/client.d.ts +0 -205
- package/dist/llm/client.js +0 -735
- package/dist/llm/client.js.map +0 -1
- package/dist/llm/tools.d.ts +0 -102
- package/dist/llm/tools.js +0 -275
- package/dist/llm/tools.js.map +0 -1
- package/dist/llm/types.d.ts +0 -428
- package/dist/llm/types.js +0 -194
- package/dist/llm/types.js.map +0 -1
- package/dist/mcp/automatosx-auto-discovery.d.ts +0 -66
- package/dist/mcp/automatosx-auto-discovery.js +0 -169
- package/dist/mcp/automatosx-auto-discovery.js.map +0 -1
- package/dist/mcp/automatosx-loader.d.ts +0 -99
- package/dist/mcp/automatosx-loader.js +0 -250
- package/dist/mcp/automatosx-loader.js.map +0 -1
- package/dist/mcp/cancellation.d.ts +0 -182
- package/dist/mcp/cancellation.js +0 -275
- package/dist/mcp/cancellation.js.map +0 -1
- package/dist/mcp/client-v2.d.ts +0 -500
- package/dist/mcp/client-v2.js +0 -1433
- package/dist/mcp/client-v2.js.map +0 -1
- package/dist/mcp/client.d.ts +0 -170
- package/dist/mcp/client.js +0 -232
- package/dist/mcp/client.js.map +0 -1
- package/dist/mcp/config-detector.d.ts +0 -90
- package/dist/mcp/config-detector.js +0 -250
- package/dist/mcp/config-detector.js.map +0 -1
- package/dist/mcp/config-migrator.d.ts +0 -68
- package/dist/mcp/config-migrator.js +0 -291
- package/dist/mcp/config-migrator.js.map +0 -1
- package/dist/mcp/config.d.ts +0 -24
- package/dist/mcp/config.js +0 -273
- package/dist/mcp/config.js.map +0 -1
- package/dist/mcp/constants.d.ts +0 -66
- package/dist/mcp/constants.js +0 -85
- package/dist/mcp/constants.js.map +0 -1
- package/dist/mcp/content-length-transport.d.ts +0 -106
- package/dist/mcp/content-length-transport.js +0 -413
- package/dist/mcp/content-length-transport.js.map +0 -1
- package/dist/mcp/debug.d.ts +0 -211
- package/dist/mcp/debug.js +0 -404
- package/dist/mcp/debug.js.map +0 -1
- package/dist/mcp/error-formatter.d.ts +0 -40
- package/dist/mcp/error-formatter.js +0 -207
- package/dist/mcp/error-formatter.js.map +0 -1
- package/dist/mcp/error-remediation.d.ts +0 -45
- package/dist/mcp/error-remediation.js +0 -291
- package/dist/mcp/error-remediation.js.map +0 -1
- package/dist/mcp/health.d.ts +0 -120
- package/dist/mcp/health.js +0 -267
- package/dist/mcp/health.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -56
- package/dist/mcp/index.js +0 -89
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/invariants.d.ts +0 -141
- package/dist/mcp/invariants.js +0 -243
- package/dist/mcp/invariants.js.map +0 -1
- package/dist/mcp/mutex-safe.d.ts +0 -151
- package/dist/mcp/mutex-safe.js +0 -260
- package/dist/mcp/mutex-safe.js.map +0 -1
- package/dist/mcp/progress.d.ts +0 -155
- package/dist/mcp/progress.js +0 -252
- package/dist/mcp/progress.js.map +0 -1
- package/dist/mcp/prompts.d.ts +0 -68
- package/dist/mcp/prompts.js +0 -129
- package/dist/mcp/prompts.js.map +0 -1
- package/dist/mcp/provider-mcp-loader.d.ts +0 -130
- package/dist/mcp/provider-mcp-loader.js +0 -292
- package/dist/mcp/provider-mcp-loader.js.map +0 -1
- package/dist/mcp/reconnection.d.ts +0 -101
- package/dist/mcp/reconnection.js +0 -253
- package/dist/mcp/reconnection.js.map +0 -1
- package/dist/mcp/registry.d.ts +0 -75
- package/dist/mcp/registry.js +0 -276
- package/dist/mcp/registry.js.map +0 -1
- package/dist/mcp/resources.d.ts +0 -58
- package/dist/mcp/resources.js +0 -144
- package/dist/mcp/resources.js.map +0 -1
- package/dist/mcp/schema-validator.d.ts +0 -82
- package/dist/mcp/schema-validator.js +0 -161
- package/dist/mcp/schema-validator.js.map +0 -1
- package/dist/mcp/ssrf-protection.d.ts +0 -86
- package/dist/mcp/ssrf-protection.js +0 -311
- package/dist/mcp/ssrf-protection.js.map +0 -1
- package/dist/mcp/subscriptions.d.ts +0 -168
- package/dist/mcp/subscriptions.js +0 -248
- package/dist/mcp/subscriptions.js.map +0 -1
- package/dist/mcp/templates.d.ts +0 -52
- package/dist/mcp/templates.js +0 -627
- package/dist/mcp/templates.js.map +0 -1
- package/dist/mcp/transports.d.ts +0 -80
- package/dist/mcp/transports.js +0 -237
- package/dist/mcp/transports.js.map +0 -1
- package/dist/mcp/type-safety.d.ts +0 -225
- package/dist/mcp/type-safety.js +0 -237
- package/dist/mcp/type-safety.js.map +0 -1
- package/dist/mcp/validation.d.ts +0 -29
- package/dist/mcp/validation.js +0 -339
- package/dist/mcp/validation.js.map +0 -1
- package/dist/mcp/zai-detector.d.ts +0 -63
- package/dist/mcp/zai-detector.js +0 -193
- package/dist/mcp/zai-detector.js.map +0 -1
- package/dist/mcp/zai-templates.d.ts +0 -90
- package/dist/mcp/zai-templates.js +0 -157
- package/dist/mcp/zai-templates.js.map +0 -1
- package/dist/memory/context-generator.d.ts +0 -84
- package/dist/memory/context-generator.js +0 -546
- package/dist/memory/context-generator.js.map +0 -1
- package/dist/memory/context-injector.d.ts +0 -97
- package/dist/memory/context-injector.js +0 -159
- package/dist/memory/context-injector.js.map +0 -1
- package/dist/memory/context-store.d.ts +0 -103
- package/dist/memory/context-store.js +0 -264
- package/dist/memory/context-store.js.map +0 -1
- package/dist/memory/index.d.ts +0 -43
- package/dist/memory/index.js +0 -49
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/provider-context-store.d.ts +0 -127
- package/dist/memory/provider-context-store.js +0 -385
- package/dist/memory/provider-context-store.js.map +0 -1
- package/dist/memory/schemas.d.ts +0 -118
- package/dist/memory/schemas.js +0 -106
- package/dist/memory/schemas.js.map +0 -1
- package/dist/memory/stats-collector.d.ts +0 -73
- package/dist/memory/stats-collector.js +0 -170
- package/dist/memory/stats-collector.js.map +0 -1
- package/dist/memory/types.d.ts +0 -177
- package/dist/memory/types.js +0 -73
- package/dist/memory/types.js.map +0 -1
- package/dist/permissions/index.d.ts +0 -6
- package/dist/permissions/index.js +0 -7
- package/dist/permissions/index.js.map +0 -1
- package/dist/permissions/permission-manager.d.ts +0 -149
- package/dist/permissions/permission-manager.js +0 -410
- package/dist/permissions/permission-manager.js.map +0 -1
- package/dist/planner/dependency-resolver.d.ts +0 -72
- package/dist/planner/dependency-resolver.js +0 -272
- package/dist/planner/dependency-resolver.js.map +0 -1
- package/dist/planner/index.d.ts +0 -12
- package/dist/planner/index.js +0 -28
- package/dist/planner/index.js.map +0 -1
- package/dist/planner/plan-generator.d.ts +0 -74
- package/dist/planner/plan-generator.js +0 -244
- package/dist/planner/plan-generator.js.map +0 -1
- package/dist/planner/plan-storage.d.ts +0 -113
- package/dist/planner/plan-storage.js +0 -398
- package/dist/planner/plan-storage.js.map +0 -1
- package/dist/planner/prompts/planning-prompt.d.ts +0 -62
- package/dist/planner/prompts/planning-prompt.js +0 -414
- package/dist/planner/prompts/planning-prompt.js.map +0 -1
- package/dist/planner/task-planner.d.ts +0 -139
- package/dist/planner/task-planner.js +0 -532
- package/dist/planner/task-planner.js.map +0 -1
- package/dist/planner/token-estimator.d.ts +0 -63
- package/dist/planner/token-estimator.js +0 -295
- package/dist/planner/token-estimator.js.map +0 -1
- package/dist/planner/types.d.ts +0 -425
- package/dist/planner/types.js +0 -213
- package/dist/planner/types.js.map +0 -1
- package/dist/provider/config.d.ts +0 -227
- package/dist/provider/config.js +0 -430
- package/dist/provider/config.js.map +0 -1
- package/dist/schemas/api-schemas.d.ts +0 -45
- package/dist/schemas/api-schemas.js +0 -129
- package/dist/schemas/api-schemas.js.map +0 -1
- package/dist/schemas/confirmation-schemas.d.ts +0 -39
- package/dist/schemas/confirmation-schemas.js +0 -48
- package/dist/schemas/confirmation-schemas.js.map +0 -1
- package/dist/schemas/index-unified.d.ts +0 -12
- package/dist/schemas/index-unified.js +0 -17
- package/dist/schemas/index-unified.js.map +0 -1
- package/dist/schemas/index.d.ts +0 -83
- package/dist/schemas/index.js +0 -139
- package/dist/schemas/index.js.map +0 -1
- package/dist/schemas/settings-schemas.d.ts +0 -186
- package/dist/schemas/settings-schemas.js +0 -324
- package/dist/schemas/settings-schemas.js.map +0 -1
- package/dist/schemas/tool-schemas.d.ts +0 -127
- package/dist/schemas/tool-schemas.js +0 -84
- package/dist/schemas/tool-schemas.js.map +0 -1
- package/dist/schemas/yaml-schemas.d.ts +0 -231
- package/dist/schemas/yaml-schemas.js +0 -199
- package/dist/schemas/yaml-schemas.js.map +0 -1
- package/dist/sdk/errors.d.ts +0 -100
- package/dist/sdk/errors.js +0 -138
- package/dist/sdk/errors.js.map +0 -1
- package/dist/sdk/index.d.ts +0 -901
- package/dist/sdk/index.js +0 -1272
- package/dist/sdk/index.js.map +0 -1
- package/dist/sdk/progress-reporter.d.ts +0 -123
- package/dist/sdk/progress-reporter.js +0 -220
- package/dist/sdk/progress-reporter.js.map +0 -1
- package/dist/sdk/testing.d.ts +0 -427
- package/dist/sdk/testing.js +0 -725
- package/dist/sdk/testing.js.map +0 -1
- package/dist/sdk/tool-registry.d.ts +0 -194
- package/dist/sdk/tool-registry.js +0 -326
- package/dist/sdk/tool-registry.js.map +0 -1
- package/dist/sdk/types.d.ts +0 -53
- package/dist/sdk/types.js +0 -8
- package/dist/sdk/types.js.map +0 -1
- package/dist/sdk/unified-logger.d.ts +0 -173
- package/dist/sdk/unified-logger.js +0 -327
- package/dist/sdk/unified-logger.js.map +0 -1
- package/dist/sdk/version.d.ts +0 -163
- package/dist/sdk/version.js +0 -205
- package/dist/sdk/version.js.map +0 -1
- package/dist/tools/ask-user.d.ts +0 -126
- package/dist/tools/ask-user.js +0 -290
- package/dist/tools/ask-user.js.map +0 -1
- package/dist/tools/ax-agent.d.ts +0 -71
- package/dist/tools/ax-agent.js +0 -283
- package/dist/tools/ax-agent.js.map +0 -1
- package/dist/tools/bash-output.d.ts +0 -25
- package/dist/tools/bash-output.js +0 -146
- package/dist/tools/bash-output.js.map +0 -1
- package/dist/tools/bash.d.ts +0 -67
- package/dist/tools/bash.js +0 -522
- package/dist/tools/bash.js.map +0 -1
- package/dist/tools/confirmation-tool.d.ts +0 -16
- package/dist/tools/confirmation-tool.js +0 -76
- package/dist/tools/confirmation-tool.js.map +0 -1
- package/dist/tools/definitions/ask-user.d.ts +0 -8
- package/dist/tools/definitions/ask-user.js +0 -168
- package/dist/tools/definitions/ask-user.js.map +0 -1
- package/dist/tools/definitions/ax-agent.d.ts +0 -8
- package/dist/tools/definitions/ax-agent.js +0 -276
- package/dist/tools/definitions/ax-agent.js.map +0 -1
- package/dist/tools/definitions/bash-output.d.ts +0 -7
- package/dist/tools/definitions/bash-output.js +0 -78
- package/dist/tools/definitions/bash-output.js.map +0 -1
- package/dist/tools/definitions/bash.d.ts +0 -8
- package/dist/tools/definitions/bash.js +0 -152
- package/dist/tools/definitions/bash.js.map +0 -1
- package/dist/tools/definitions/create-file.d.ts +0 -7
- package/dist/tools/definitions/create-file.js +0 -129
- package/dist/tools/definitions/create-file.js.map +0 -1
- package/dist/tools/definitions/design.d.ts +0 -12
- package/dist/tools/definitions/design.js +0 -368
- package/dist/tools/definitions/design.js.map +0 -1
- package/dist/tools/definitions/index.d.ts +0 -49
- package/dist/tools/definitions/index.js +0 -87
- package/dist/tools/definitions/index.js.map +0 -1
- package/dist/tools/definitions/multi-edit.d.ts +0 -7
- package/dist/tools/definitions/multi-edit.js +0 -123
- package/dist/tools/definitions/multi-edit.js.map +0 -1
- package/dist/tools/definitions/search.d.ts +0 -7
- package/dist/tools/definitions/search.js +0 -159
- package/dist/tools/definitions/search.js.map +0 -1
- package/dist/tools/definitions/str-replace-editor.d.ts +0 -7
- package/dist/tools/definitions/str-replace-editor.js +0 -145
- package/dist/tools/definitions/str-replace-editor.js.map +0 -1
- package/dist/tools/definitions/todo.d.ts +0 -8
- package/dist/tools/definitions/todo.js +0 -261
- package/dist/tools/definitions/todo.js.map +0 -1
- package/dist/tools/definitions/view-file.d.ts +0 -7
- package/dist/tools/definitions/view-file.js +0 -111
- package/dist/tools/definitions/view-file.js.map +0 -1
- package/dist/tools/design-tool.d.ts +0 -68
- package/dist/tools/design-tool.js +0 -299
- package/dist/tools/design-tool.js.map +0 -1
- package/dist/tools/format-generators.d.ts +0 -62
- package/dist/tools/format-generators.js +0 -291
- package/dist/tools/format-generators.js.map +0 -1
- package/dist/tools/index.d.ts +0 -8
- package/dist/tools/index.js +0 -11
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/priority-registry.d.ts +0 -124
- package/dist/tools/priority-registry.js +0 -401
- package/dist/tools/priority-registry.js.map +0 -1
- package/dist/tools/priority.d.ts +0 -158
- package/dist/tools/priority.js +0 -350
- package/dist/tools/priority.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -146
- package/dist/tools/registry.js +0 -171
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/search.d.ts +0 -85
- package/dist/tools/search.js +0 -430
- package/dist/tools/search.js.map +0 -1
- package/dist/tools/text-editor.d.ts +0 -87
- package/dist/tools/text-editor.js +0 -1369
- package/dist/tools/text-editor.js.map +0 -1
- package/dist/tools/todo-tool.d.ts +0 -20
- package/dist/tools/todo-tool.js +0 -186
- package/dist/tools/todo-tool.js.map +0 -1
- package/dist/tools/types.d.ts +0 -175
- package/dist/tools/types.js +0 -11
- package/dist/tools/types.js.map +0 -1
- package/dist/types/index.d.ts +0 -30
- package/dist/types/index.js +0 -2
- package/dist/types/index.js.map +0 -1
- package/dist/types/project-analysis.d.ts +0 -84
- package/dist/types/project-analysis.js +0 -5
- package/dist/types/project-analysis.js.map +0 -1
- package/dist/types/template.d.ts +0 -53
- package/dist/types/template.js +0 -5
- package/dist/types/template.js.map +0 -1
- package/dist/ui/app.d.ts +0 -7
- package/dist/ui/app.js +0 -102
- package/dist/ui/app.js.map +0 -1
- package/dist/ui/components/api-key-input.d.ts +0 -7
- package/dist/ui/components/api-key-input.js +0 -92
- package/dist/ui/components/api-key-input.js.map +0 -1
- package/dist/ui/components/chat-history.d.ts +0 -12
- package/dist/ui/components/chat-history.js +0 -391
- package/dist/ui/components/chat-history.js.map +0 -1
- package/dist/ui/components/chat-input.d.ts +0 -13
- package/dist/ui/components/chat-input.js +0 -179
- package/dist/ui/components/chat-input.js.map +0 -1
- package/dist/ui/components/chat-interface.d.ts +0 -11
- package/dist/ui/components/chat-interface.js +0 -830
- package/dist/ui/components/chat-interface.js.map +0 -1
- package/dist/ui/components/collapsible-tool-result.d.ts +0 -42
- package/dist/ui/components/collapsible-tool-result.js +0 -216
- package/dist/ui/components/collapsible-tool-result.js.map +0 -1
- package/dist/ui/components/command-suggestions.d.ts +0 -29
- package/dist/ui/components/command-suggestions.js +0 -88
- package/dist/ui/components/command-suggestions.js.map +0 -1
- package/dist/ui/components/confirmation-dialog.d.ts +0 -11
- package/dist/ui/components/confirmation-dialog.js +0 -100
- package/dist/ui/components/confirmation-dialog.js.map +0 -1
- package/dist/ui/components/context-breakdown.d.ts +0 -23
- package/dist/ui/components/context-breakdown.js +0 -124
- package/dist/ui/components/context-breakdown.js.map +0 -1
- package/dist/ui/components/diff-renderer.d.ts +0 -13
- package/dist/ui/components/diff-renderer.js +0 -192
- package/dist/ui/components/diff-renderer.js.map +0 -1
- package/dist/ui/components/index.d.ts +0 -18
- package/dist/ui/components/index.js +0 -20
- package/dist/ui/components/index.js.map +0 -1
- package/dist/ui/components/keyboard-help.d.ts +0 -17
- package/dist/ui/components/keyboard-help.js +0 -122
- package/dist/ui/components/keyboard-help.js.map +0 -1
- package/dist/ui/components/keyboard-hints.d.ts +0 -35
- package/dist/ui/components/keyboard-hints.js +0 -142
- package/dist/ui/components/keyboard-hints.js.map +0 -1
- package/dist/ui/components/loading-spinner.d.ts +0 -9
- package/dist/ui/components/loading-spinner.js +0 -120
- package/dist/ui/components/loading-spinner.js.map +0 -1
- package/dist/ui/components/mcp-dashboard.d.ts +0 -15
- package/dist/ui/components/mcp-dashboard.js +0 -520
- package/dist/ui/components/mcp-dashboard.js.map +0 -1
- package/dist/ui/components/mcp-status.d.ts +0 -5
- package/dist/ui/components/mcp-status.js +0 -58
- package/dist/ui/components/mcp-status.js.map +0 -1
- package/dist/ui/components/model-selection.d.ts +0 -12
- package/dist/ui/components/model-selection.js +0 -17
- package/dist/ui/components/model-selection.js.map +0 -1
- package/dist/ui/components/phase-progress.d.ts +0 -21
- package/dist/ui/components/phase-progress.js +0 -185
- package/dist/ui/components/phase-progress.js.map +0 -1
- package/dist/ui/components/question-dialog.d.ts +0 -17
- package/dist/ui/components/question-dialog.js +0 -181
- package/dist/ui/components/question-dialog.js.map +0 -1
- package/dist/ui/components/quick-actions.d.ts +0 -12
- package/dist/ui/components/quick-actions.js +0 -171
- package/dist/ui/components/quick-actions.js.map +0 -1
- package/dist/ui/components/reasoning-display.d.ts +0 -36
- package/dist/ui/components/reasoning-display.js +0 -46
- package/dist/ui/components/reasoning-display.js.map +0 -1
- package/dist/ui/components/status-bar.d.ts +0 -47
- package/dist/ui/components/status-bar.js +0 -310
- package/dist/ui/components/status-bar.js.map +0 -1
- package/dist/ui/components/subagent-monitor.d.ts +0 -41
- package/dist/ui/components/subagent-monitor.js +0 -122
- package/dist/ui/components/subagent-monitor.js.map +0 -1
- package/dist/ui/components/toast-notification.d.ts +0 -197
- package/dist/ui/components/toast-notification.js +0 -190
- package/dist/ui/components/toast-notification.js.map +0 -1
- package/dist/ui/components/tool-group-display.d.ts +0 -19
- package/dist/ui/components/tool-group-display.js +0 -222
- package/dist/ui/components/tool-group-display.js.map +0 -1
- package/dist/ui/components/virtualized-chat-history.d.ts +0 -33
- package/dist/ui/components/virtualized-chat-history.js +0 -182
- package/dist/ui/components/virtualized-chat-history.js.map +0 -1
- package/dist/ui/components/welcome-panel.d.ts +0 -11
- package/dist/ui/components/welcome-panel.js +0 -225
- package/dist/ui/components/welcome-panel.js.map +0 -1
- package/dist/ui/hooks/use-chat-reducer.d.ts +0 -69
- package/dist/ui/hooks/use-chat-reducer.js +0 -118
- package/dist/ui/hooks/use-chat-reducer.js.map +0 -1
- package/dist/ui/hooks/use-enhanced-input.d.ts +0 -53
- package/dist/ui/hooks/use-enhanced-input.js +0 -1275
- package/dist/ui/hooks/use-enhanced-input.js.map +0 -1
- package/dist/ui/hooks/use-input-handler.d.ts +0 -79
- package/dist/ui/hooks/use-input-handler.js +0 -2251
- package/dist/ui/hooks/use-input-handler.js.map +0 -1
- package/dist/ui/hooks/use-input-history.d.ts +0 -9
- package/dist/ui/hooks/use-input-history.js +0 -168
- package/dist/ui/hooks/use-input-history.js.map +0 -1
- package/dist/ui/shared/max-sized-box.d.ts +0 -17
- package/dist/ui/shared/max-sized-box.js +0 -14
- package/dist/ui/shared/max-sized-box.js.map +0 -1
- package/dist/ui/themes/index.d.ts +0 -5
- package/dist/ui/themes/index.js +0 -5
- package/dist/ui/themes/index.js.map +0 -1
- package/dist/ui/themes/theme-registry.d.ts +0 -55
- package/dist/ui/themes/theme-registry.js +0 -202
- package/dist/ui/themes/theme-registry.js.map +0 -1
- package/dist/ui/utils/bracketed-paste-handler.d.ts +0 -97
- package/dist/ui/utils/bracketed-paste-handler.js +0 -322
- package/dist/ui/utils/bracketed-paste-handler.js.map +0 -1
- package/dist/ui/utils/change-summarizer.d.ts +0 -20
- package/dist/ui/utils/change-summarizer.js +0 -282
- package/dist/ui/utils/change-summarizer.js.map +0 -1
- package/dist/ui/utils/code-colorizer.d.ts +0 -9
- package/dist/ui/utils/code-colorizer.js +0 -13
- package/dist/ui/utils/code-colorizer.js.map +0 -1
- package/dist/ui/utils/colors.d.ts +0 -41
- package/dist/ui/utils/colors.js +0 -80
- package/dist/ui/utils/colors.js.map +0 -1
- package/dist/ui/utils/image-handler.d.ts +0 -29
- package/dist/ui/utils/image-handler.js +0 -129
- package/dist/ui/utils/image-handler.js.map +0 -1
- package/dist/ui/utils/markdown-renderer.d.ts +0 -4
- package/dist/ui/utils/markdown-renderer.js +0 -40
- package/dist/ui/utils/markdown-renderer.js.map +0 -1
- package/dist/ui/utils/semantic-action-detector.d.ts +0 -49
- package/dist/ui/utils/semantic-action-detector.js +0 -339
- package/dist/ui/utils/semantic-action-detector.js.map +0 -1
- package/dist/ui/utils/tool-grouper.d.ts +0 -94
- package/dist/ui/utils/tool-grouper.js +0 -618
- package/dist/ui/utils/tool-grouper.js.map +0 -1
- package/dist/utils/api-error.d.ts +0 -61
- package/dist/utils/api-error.js +0 -176
- package/dist/utils/api-error.js.map +0 -1
- package/dist/utils/audit-logger.d.ts +0 -206
- package/dist/utils/audit-logger.js +0 -286
- package/dist/utils/audit-logger.js.map +0 -1
- package/dist/utils/auto-accept-logger.d.ts +0 -175
- package/dist/utils/auto-accept-logger.js +0 -423
- package/dist/utils/auto-accept-logger.js.map +0 -1
- package/dist/utils/automatosx-detector.d.ts +0 -19
- package/dist/utils/automatosx-detector.js +0 -52
- package/dist/utils/automatosx-detector.js.map +0 -1
- package/dist/utils/background-task-manager.d.ts +0 -114
- package/dist/utils/background-task-manager.js +0 -470
- package/dist/utils/background-task-manager.js.map +0 -1
- package/dist/utils/cache.d.ts +0 -77
- package/dist/utils/cache.js +0 -180
- package/dist/utils/cache.js.map +0 -1
- package/dist/utils/command-security.d.ts +0 -85
- package/dist/utils/command-security.js +0 -210
- package/dist/utils/command-security.js.map +0 -1
- package/dist/utils/config-loader.d.ts +0 -190
- package/dist/utils/config-loader.js +0 -108
- package/dist/utils/config-loader.js.map +0 -1
- package/dist/utils/confirmation-service.d.ts +0 -51
- package/dist/utils/confirmation-service.js +0 -220
- package/dist/utils/confirmation-service.js.map +0 -1
- package/dist/utils/console-messenger.d.ts +0 -80
- package/dist/utils/console-messenger.js +0 -142
- package/dist/utils/console-messenger.js.map +0 -1
- package/dist/utils/custom-instructions.d.ts +0 -1
- package/dist/utils/custom-instructions.js +0 -24
- package/dist/utils/custom-instructions.js.map +0 -1
- package/dist/utils/encryption.d.ts +0 -86
- package/dist/utils/encryption.js +0 -236
- package/dist/utils/encryption.js.map +0 -1
- package/dist/utils/enhanced-error-messages.d.ts +0 -33
- package/dist/utils/enhanced-error-messages.js +0 -440
- package/dist/utils/enhanced-error-messages.js.map +0 -1
- package/dist/utils/error-handler.d.ts +0 -65
- package/dist/utils/error-handler.js +0 -148
- package/dist/utils/error-handler.js.map +0 -1
- package/dist/utils/error-translator.d.ts +0 -25
- package/dist/utils/error-translator.js +0 -203
- package/dist/utils/error-translator.js.map +0 -1
- package/dist/utils/external-editor.d.ts +0 -47
- package/dist/utils/external-editor.js +0 -179
- package/dist/utils/external-editor.js.map +0 -1
- package/dist/utils/file-cache.d.ts +0 -148
- package/dist/utils/file-cache.js +0 -413
- package/dist/utils/file-cache.js.map +0 -1
- package/dist/utils/file-lock.d.ts +0 -141
- package/dist/utils/file-lock.js +0 -554
- package/dist/utils/file-lock.js.map +0 -1
- package/dist/utils/file-mentions.d.ts +0 -68
- package/dist/utils/file-mentions.js +0 -225
- package/dist/utils/file-mentions.js.map +0 -1
- package/dist/utils/history-manager.d.ts +0 -52
- package/dist/utils/history-manager.js +0 -211
- package/dist/utils/history-manager.js.map +0 -1
- package/dist/utils/history-migration.d.ts +0 -9
- package/dist/utils/history-migration.js +0 -37
- package/dist/utils/history-migration.js.map +0 -1
- package/dist/utils/image-processor.d.ts +0 -33
- package/dist/utils/image-processor.js +0 -124
- package/dist/utils/image-processor.js.map +0 -1
- package/dist/utils/index.d.ts +0 -92
- package/dist/utils/index.js +0 -111
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/init-previewer.d.ts +0 -56
- package/dist/utils/init-previewer.js +0 -239
- package/dist/utils/init-previewer.js.map +0 -1
- package/dist/utils/init-validator.d.ts +0 -65
- package/dist/utils/init-validator.js +0 -252
- package/dist/utils/init-validator.js.map +0 -1
- package/dist/utils/input-sanitizer.d.ts +0 -210
- package/dist/utils/input-sanitizer.js +0 -362
- package/dist/utils/input-sanitizer.js.map +0 -1
- package/dist/utils/instruction-generator.d.ts +0 -21
- package/dist/utils/instruction-generator.js +0 -233
- package/dist/utils/instruction-generator.js.map +0 -1
- package/dist/utils/json-utils.d.ts +0 -72
- package/dist/utils/json-utils.js +0 -226
- package/dist/utils/json-utils.js.map +0 -1
- package/dist/utils/llm-optimized-instruction-generator.d.ts +0 -36
- package/dist/utils/llm-optimized-instruction-generator.js +0 -365
- package/dist/utils/llm-optimized-instruction-generator.js.map +0 -1
- package/dist/utils/message-optimizer.d.ts +0 -100
- package/dist/utils/message-optimizer.js +0 -297
- package/dist/utils/message-optimizer.js.map +0 -1
- package/dist/utils/onboarding-manager.d.ts +0 -45
- package/dist/utils/onboarding-manager.js +0 -131
- package/dist/utils/onboarding-manager.js.map +0 -1
- package/dist/utils/parallel-analyzer.d.ts +0 -123
- package/dist/utils/parallel-analyzer.js +0 -241
- package/dist/utils/parallel-analyzer.js.map +0 -1
- package/dist/utils/paste-utils.d.ts +0 -99
- package/dist/utils/paste-utils.js +0 -295
- package/dist/utils/paste-utils.js.map +0 -1
- package/dist/utils/path-helpers.d.ts +0 -8
- package/dist/utils/path-helpers.js +0 -35
- package/dist/utils/path-helpers.js.map +0 -1
- package/dist/utils/path-security.d.ts +0 -92
- package/dist/utils/path-security.js +0 -300
- package/dist/utils/path-security.js.map +0 -1
- package/dist/utils/path-utils.d.ts +0 -83
- package/dist/utils/path-utils.js +0 -122
- package/dist/utils/path-utils.js.map +0 -1
- package/dist/utils/path-validator.d.ts +0 -66
- package/dist/utils/path-validator.js +0 -141
- package/dist/utils/path-validator.js.map +0 -1
- package/dist/utils/performance.d.ts +0 -74
- package/dist/utils/performance.js +0 -133
- package/dist/utils/performance.js.map +0 -1
- package/dist/utils/process-pool.d.ts +0 -109
- package/dist/utils/process-pool.js +0 -332
- package/dist/utils/process-pool.js.map +0 -1
- package/dist/utils/progress-tracker.d.ts +0 -51
- package/dist/utils/progress-tracker.js +0 -152
- package/dist/utils/progress-tracker.js.map +0 -1
- package/dist/utils/project-analyzer.d.ts +0 -49
- package/dist/utils/project-analyzer.js +0 -396
- package/dist/utils/project-analyzer.js.map +0 -1
- package/dist/utils/prompt-builder.d.ts +0 -14
- package/dist/utils/prompt-builder.js +0 -100
- package/dist/utils/prompt-builder.js.map +0 -1
- package/dist/utils/provider-context.d.ts +0 -243
- package/dist/utils/provider-context.js +0 -421
- package/dist/utils/provider-context.js.map +0 -1
- package/dist/utils/provider-file-cache.d.ts +0 -91
- package/dist/utils/provider-file-cache.js +0 -165
- package/dist/utils/provider-file-cache.js.map +0 -1
- package/dist/utils/provider-settings.d.ts +0 -181
- package/dist/utils/provider-settings.js +0 -450
- package/dist/utils/provider-settings.js.map +0 -1
- package/dist/utils/rate-limiter.d.ts +0 -222
- package/dist/utils/rate-limiter.js +0 -338
- package/dist/utils/rate-limiter.js.map +0 -1
- package/dist/utils/retry-helper.d.ts +0 -81
- package/dist/utils/retry-helper.js +0 -244
- package/dist/utils/retry-helper.js.map +0 -1
- package/dist/utils/safety-rules.d.ts +0 -64
- package/dist/utils/safety-rules.js +0 -225
- package/dist/utils/safety-rules.js.map +0 -1
- package/dist/utils/settings-manager.d.ts +0 -256
- package/dist/utils/settings-manager.js +0 -967
- package/dist/utils/settings-manager.js.map +0 -1
- package/dist/utils/setup-validator.d.ts +0 -47
- package/dist/utils/setup-validator.js +0 -304
- package/dist/utils/setup-validator.js.map +0 -1
- package/dist/utils/string-utils.d.ts +0 -19
- package/dist/utils/string-utils.js +0 -28
- package/dist/utils/string-utils.js.map +0 -1
- package/dist/utils/template-manager.d.ts +0 -62
- package/dist/utils/template-manager.js +0 -366
- package/dist/utils/template-manager.js.map +0 -1
- package/dist/utils/text-utils.d.ts +0 -82
- package/dist/utils/text-utils.js +0 -203
- package/dist/utils/text-utils.js.map +0 -1
- package/dist/utils/token-counter.d.ts +0 -76
- package/dist/utils/token-counter.js +0 -231
- package/dist/utils/token-counter.js.map +0 -1
- package/dist/utils/usage-tracker.d.ts +0 -78
- package/dist/utils/usage-tracker.js +0 -126
- package/dist/utils/usage-tracker.js.map +0 -1
- package/dist/utils/version.d.ts +0 -14
- package/dist/utils/version.js +0 -70
- package/dist/utils/version.js.map +0 -1
package/dist/mcp/resources.d.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP Resource Management (Phase 4)
|
|
3
|
-
*
|
|
4
|
-
* Enables users to reference MCP-exposed resources using @mcp: syntax
|
|
5
|
-
* Similar to file references, but for database tables, API endpoints, etc.
|
|
6
|
-
*
|
|
7
|
-
* BUG FIX: Updated to use v2 manager's connection state instead of legacy clients Map.
|
|
8
|
-
* The v1 MCPManager now wraps v2 internally, so we access the v2 instance.
|
|
9
|
-
*/
|
|
10
|
-
import type { MCPManager } from './client.js';
|
|
11
|
-
import { MCPManagerV2 } from './client-v2.js';
|
|
12
|
-
export interface MCPResource {
|
|
13
|
-
/** Resource URI (e.g., database://users, api://endpoints/get-user) */
|
|
14
|
-
uri: string;
|
|
15
|
-
/** Human-readable name */
|
|
16
|
-
name: string;
|
|
17
|
-
/** Resource description */
|
|
18
|
-
description?: string;
|
|
19
|
-
/** MIME type if applicable */
|
|
20
|
-
mimeType?: string;
|
|
21
|
-
/** Server that provides this resource */
|
|
22
|
-
serverName: string;
|
|
23
|
-
/** Full reference string for user input: @mcp:server/uri */
|
|
24
|
-
reference: string;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* List all resources from MCP servers
|
|
28
|
-
*/
|
|
29
|
-
export declare function listAllResources(mcpManager: MCPManager | MCPManagerV2): Promise<MCPResource[]>;
|
|
30
|
-
/**
|
|
31
|
-
* List resources from a specific MCP server
|
|
32
|
-
*/
|
|
33
|
-
export declare function listServerResources(mcpManager: MCPManager | MCPManagerV2, serverName: string): Promise<MCPResource[]>;
|
|
34
|
-
/**
|
|
35
|
-
* Get resource content from MCP server
|
|
36
|
-
*/
|
|
37
|
-
export declare function getResourceContent(mcpManager: MCPManager | MCPManagerV2, serverName: string, uri: string): Promise<string>;
|
|
38
|
-
/**
|
|
39
|
-
* Parse @mcp: reference
|
|
40
|
-
* Format: @mcp:server/uri
|
|
41
|
-
*/
|
|
42
|
-
export declare function parseMCPReference(reference: string): {
|
|
43
|
-
serverName: string;
|
|
44
|
-
uri: string;
|
|
45
|
-
} | null;
|
|
46
|
-
/**
|
|
47
|
-
* Extract all MCP references from text
|
|
48
|
-
* BUG FIX: Exclude trailing punctuation that could be captured accidentally
|
|
49
|
-
*/
|
|
50
|
-
export declare function extractMCPReferences(text: string): string[];
|
|
51
|
-
/**
|
|
52
|
-
* Replace MCP references in text with actual content
|
|
53
|
-
*/
|
|
54
|
-
export declare function resolveMCPReferences(text: string, mcpManager: MCPManager | MCPManagerV2): Promise<string>;
|
|
55
|
-
/**
|
|
56
|
-
* Search resources by name or URI
|
|
57
|
-
*/
|
|
58
|
-
export declare function searchResources(resources: MCPResource[], query: string): MCPResource[];
|
package/dist/mcp/resources.js
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP Resource Management (Phase 4)
|
|
3
|
-
*
|
|
4
|
-
* Enables users to reference MCP-exposed resources using @mcp: syntax
|
|
5
|
-
* Similar to file references, but for database tables, API endpoints, etc.
|
|
6
|
-
*
|
|
7
|
-
* BUG FIX: Updated to use v2 manager's connection state instead of legacy clients Map.
|
|
8
|
-
* The v1 MCPManager now wraps v2 internally, so we access the v2 instance.
|
|
9
|
-
*/
|
|
10
|
-
import { MCPManagerV2, createServerName } from './client-v2.js';
|
|
11
|
-
import { extractErrorMessage } from '../utils/error-handler.js';
|
|
12
|
-
/**
|
|
13
|
-
* Get the v2 manager from either v1 or v2 instance
|
|
14
|
-
*/
|
|
15
|
-
function getV2Manager(mcpManager) {
|
|
16
|
-
// If it's already v2, return it directly
|
|
17
|
-
if (mcpManager instanceof MCPManagerV2) {
|
|
18
|
-
return mcpManager;
|
|
19
|
-
}
|
|
20
|
-
// Otherwise, it's v1 wrapper - access the internal v2 instance
|
|
21
|
-
return mcpManager.v2;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* List all resources from MCP servers
|
|
25
|
-
*/
|
|
26
|
-
export async function listAllResources(mcpManager) {
|
|
27
|
-
const resources = [];
|
|
28
|
-
const v2 = getV2Manager(mcpManager);
|
|
29
|
-
const servers = v2.getServers();
|
|
30
|
-
for (const serverName of servers) {
|
|
31
|
-
try {
|
|
32
|
-
const serverResources = await listServerResources(mcpManager, String(serverName));
|
|
33
|
-
resources.push(...serverResources);
|
|
34
|
-
}
|
|
35
|
-
catch {
|
|
36
|
-
// Silently skip servers that don't support resources
|
|
37
|
-
console.warn(`Server "${serverName}" does not support resources or failed to list them`);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return resources;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* List resources from a specific MCP server
|
|
44
|
-
*/
|
|
45
|
-
export async function listServerResources(mcpManager, serverName) {
|
|
46
|
-
const v2 = getV2Manager(mcpManager);
|
|
47
|
-
const brandedServerName = createServerName(serverName);
|
|
48
|
-
if (!brandedServerName) {
|
|
49
|
-
return [];
|
|
50
|
-
}
|
|
51
|
-
// Use the v2 manager's listResources method
|
|
52
|
-
const result = await v2.listResources(brandedServerName);
|
|
53
|
-
if (!result.success) {
|
|
54
|
-
return [];
|
|
55
|
-
}
|
|
56
|
-
// Convert to our resource format
|
|
57
|
-
return result.value.map(resource => ({
|
|
58
|
-
uri: resource.uri,
|
|
59
|
-
name: resource.name || resource.uri,
|
|
60
|
-
description: resource.description,
|
|
61
|
-
mimeType: resource.mimeType,
|
|
62
|
-
serverName,
|
|
63
|
-
reference: `@mcp:${serverName}/${resource.uri}`
|
|
64
|
-
}));
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Get resource content from MCP server
|
|
68
|
-
*/
|
|
69
|
-
export async function getResourceContent(mcpManager, serverName, uri) {
|
|
70
|
-
const v2 = getV2Manager(mcpManager);
|
|
71
|
-
const brandedServerName = createServerName(serverName);
|
|
72
|
-
if (!brandedServerName) {
|
|
73
|
-
throw new Error(`Invalid server name: "${serverName}"`);
|
|
74
|
-
}
|
|
75
|
-
const result = await v2.readResource(brandedServerName, uri);
|
|
76
|
-
if (!result.success) {
|
|
77
|
-
throw new Error(`Failed to read resource ${uri}: ${extractErrorMessage(result.error)}`);
|
|
78
|
-
}
|
|
79
|
-
return result.value;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Parse @mcp: reference
|
|
83
|
-
* Format: @mcp:server/uri
|
|
84
|
-
*/
|
|
85
|
-
export function parseMCPReference(reference) {
|
|
86
|
-
if (!reference.startsWith('@mcp:')) {
|
|
87
|
-
return null;
|
|
88
|
-
}
|
|
89
|
-
const withoutPrefix = reference.substring(5); // Remove '@mcp:'
|
|
90
|
-
const slashIndex = withoutPrefix.indexOf('/');
|
|
91
|
-
if (slashIndex === -1) {
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
const serverName = withoutPrefix.substring(0, slashIndex);
|
|
95
|
-
const uri = withoutPrefix.substring(slashIndex + 1);
|
|
96
|
-
// BUG FIX: Validate that both serverName and uri are non-empty
|
|
97
|
-
if (!serverName || !uri) {
|
|
98
|
-
return null;
|
|
99
|
-
}
|
|
100
|
-
return { serverName, uri };
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Extract all MCP references from text
|
|
104
|
-
* BUG FIX: Exclude trailing punctuation that could be captured accidentally
|
|
105
|
-
*/
|
|
106
|
-
export function extractMCPReferences(text) {
|
|
107
|
-
// Pattern captures @mcp:server/uri but excludes trailing punctuation
|
|
108
|
-
// [^\s.,;:!?)\]}>] ensures we don't capture sentence-ending punctuation
|
|
109
|
-
const pattern = /@mcp:[a-z0-9_-]+\/[^\s.,;:!?)\]}>]+/gi;
|
|
110
|
-
const matches = text.match(pattern);
|
|
111
|
-
return matches || [];
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Replace MCP references in text with actual content
|
|
115
|
-
*/
|
|
116
|
-
export async function resolveMCPReferences(text, mcpManager) {
|
|
117
|
-
const references = extractMCPReferences(text);
|
|
118
|
-
let result = text;
|
|
119
|
-
for (const reference of references) {
|
|
120
|
-
const parsed = parseMCPReference(reference);
|
|
121
|
-
if (!parsed)
|
|
122
|
-
continue;
|
|
123
|
-
try {
|
|
124
|
-
const content = await getResourceContent(mcpManager, parsed.serverName, parsed.uri);
|
|
125
|
-
// Replace reference with content (with context)
|
|
126
|
-
result = result.replace(reference, `\n--- Resource: ${reference} ---\n${content}\n--- End Resource ---\n`);
|
|
127
|
-
}
|
|
128
|
-
catch {
|
|
129
|
-
// Replace with error message
|
|
130
|
-
result = result.replace(reference, `[Error: Could not load resource ${reference}]`);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
return result;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Search resources by name or URI
|
|
137
|
-
*/
|
|
138
|
-
export function searchResources(resources, query) {
|
|
139
|
-
const lowerQuery = query.toLowerCase();
|
|
140
|
-
return resources.filter(resource => resource.name.toLowerCase().includes(lowerQuery) ||
|
|
141
|
-
resource.uri.toLowerCase().includes(lowerQuery) ||
|
|
142
|
-
(resource.description && resource.description.toLowerCase().includes(lowerQuery)));
|
|
143
|
-
}
|
|
144
|
-
//# sourceMappingURL=resources.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/mcp/resources.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAiBhE;;GAEG;AACH,SAAS,YAAY,CAAC,UAAqC;IACzD,yCAAyC;IACzC,IAAI,UAAU,YAAY,YAAY,EAAE,CAAC;QACvC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,+DAA+D;IAC/D,OAAQ,UAAkB,CAAC,EAAkB,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAqC;IAC1E,MAAM,SAAS,GAAkB,EAAE,CAAC;IACpC,MAAM,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;IAEhC,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YAClF,SAAS,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;YACrD,OAAO,CAAC,IAAI,CAAC,WAAW,UAAU,qDAAqD,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAqC,EACrC,UAAkB;IAElB,MAAM,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAEvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,4CAA4C;IAC5C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAEzD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,iCAAiC;IACjC,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnC,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG;QACnC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,UAAU;QACV,SAAS,EAAE,QAAQ,UAAU,IAAI,QAAQ,CAAC,GAAG,EAAE;KAChD,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAqC,EACrC,UAAkB,EAClB,GAAW;IAEX,MAAM,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAEvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IAE7D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,KAAK,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;IAC/D,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAEpD,+DAA+D;IAC/D,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,qEAAqE;IACrE,wEAAwE;IACxE,MAAM,OAAO,GAAG,uCAAuC,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,OAAO,IAAI,EAAE,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,UAAqC;IAErC,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM;YAAE,SAAS;QAEtB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YACpF,gDAAgD;YAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,SAAS,EACT,mBAAmB,SAAS,SAAS,OAAO,0BAA0B,CACvE,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;YAC7B,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,SAAS,EACT,mCAAmC,SAAS,GAAG,CAChD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,SAAwB,EAAE,KAAa;IACrE,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CACjC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChD,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC/C,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAClF,CAAC;AACJ,CAAC"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP Tool Output Schema Validation
|
|
3
|
-
*
|
|
4
|
-
* Validates tool outputs against their declared JSON schemas using Ajv.
|
|
5
|
-
* Uses the MCP SDK's AjvJsonSchemaValidator for consistency.
|
|
6
|
-
*
|
|
7
|
-
* MCP Specification: Tool Output Schemas (2025-06-18)
|
|
8
|
-
*
|
|
9
|
-
* @module mcp/schema-validator
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* Schema validation result status
|
|
13
|
-
*/
|
|
14
|
-
export type SchemaValidationStatus = 'valid' | 'invalid' | 'no-schema';
|
|
15
|
-
/**
|
|
16
|
-
* Schema validation result
|
|
17
|
-
*/
|
|
18
|
-
export interface SchemaValidationResult {
|
|
19
|
-
/** Validation status */
|
|
20
|
-
status: SchemaValidationStatus;
|
|
21
|
-
/** Validation errors (if status is 'invalid') */
|
|
22
|
-
errors?: string[];
|
|
23
|
-
/** The schema that was used for validation */
|
|
24
|
-
schema?: unknown;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Tool Output Schema Validator
|
|
28
|
-
*
|
|
29
|
-
* Validates MCP tool outputs against their declared JSON schemas.
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* ```typescript
|
|
33
|
-
* const validator = new ToolOutputValidator();
|
|
34
|
-
*
|
|
35
|
-
* // Validate tool output
|
|
36
|
-
* const result = validator.validate(outputSchema, toolOutput);
|
|
37
|
-
*
|
|
38
|
-
* if (result.status === 'invalid') {
|
|
39
|
-
* console.warn('Tool output validation failed:', result.errors);
|
|
40
|
-
* }
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
export declare class ToolOutputValidator {
|
|
44
|
-
private validator;
|
|
45
|
-
constructor();
|
|
46
|
-
/**
|
|
47
|
-
* Validate tool output against schema
|
|
48
|
-
*
|
|
49
|
-
* @param schema - JSON schema to validate against (or undefined if no schema)
|
|
50
|
-
* @param output - Tool output to validate
|
|
51
|
-
* @returns Validation result
|
|
52
|
-
*/
|
|
53
|
-
validate(schema: unknown, output: unknown): SchemaValidationResult;
|
|
54
|
-
/**
|
|
55
|
-
* Validate tool output content array
|
|
56
|
-
*
|
|
57
|
-
* MCP tool results return an array of content items.
|
|
58
|
-
* This method validates the extracted content.
|
|
59
|
-
*
|
|
60
|
-
* BUG FIX: Handles multiple text content items correctly by:
|
|
61
|
-
* 1. First trying direct concatenation (for chunked JSON from streaming)
|
|
62
|
-
* 2. If that fails, try parsing each item individually
|
|
63
|
-
* 3. If all items are valid JSON, validate as array of JSON objects
|
|
64
|
-
*
|
|
65
|
-
* @param schema - JSON schema
|
|
66
|
-
* @param content - MCP tool result content array
|
|
67
|
-
* @returns Validation result
|
|
68
|
-
*/
|
|
69
|
-
validateContent(schema: unknown, content: Array<{
|
|
70
|
-
type: string;
|
|
71
|
-
text?: string;
|
|
72
|
-
[key: string]: unknown;
|
|
73
|
-
}>): SchemaValidationResult;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Get the singleton validator instance
|
|
77
|
-
*/
|
|
78
|
-
export declare function getToolOutputValidator(): ToolOutputValidator;
|
|
79
|
-
/**
|
|
80
|
-
* Reset the validator (for testing)
|
|
81
|
-
*/
|
|
82
|
-
export declare function resetToolOutputValidator(): void;
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP Tool Output Schema Validation
|
|
3
|
-
*
|
|
4
|
-
* Validates tool outputs against their declared JSON schemas using Ajv.
|
|
5
|
-
* Uses the MCP SDK's AjvJsonSchemaValidator for consistency.
|
|
6
|
-
*
|
|
7
|
-
* MCP Specification: Tool Output Schemas (2025-06-18)
|
|
8
|
-
*
|
|
9
|
-
* @module mcp/schema-validator
|
|
10
|
-
*/
|
|
11
|
-
import { AjvJsonSchemaValidator } from '@modelcontextprotocol/sdk/validation/ajv';
|
|
12
|
-
import { extractErrorMessage } from '../utils/error-handler.js';
|
|
13
|
-
/**
|
|
14
|
-
* Tool Output Schema Validator
|
|
15
|
-
*
|
|
16
|
-
* Validates MCP tool outputs against their declared JSON schemas.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```typescript
|
|
20
|
-
* const validator = new ToolOutputValidator();
|
|
21
|
-
*
|
|
22
|
-
* // Validate tool output
|
|
23
|
-
* const result = validator.validate(outputSchema, toolOutput);
|
|
24
|
-
*
|
|
25
|
-
* if (result.status === 'invalid') {
|
|
26
|
-
* console.warn('Tool output validation failed:', result.errors);
|
|
27
|
-
* }
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
export class ToolOutputValidator {
|
|
31
|
-
validator;
|
|
32
|
-
constructor() {
|
|
33
|
-
this.validator = new AjvJsonSchemaValidator();
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Validate tool output against schema
|
|
37
|
-
*
|
|
38
|
-
* @param schema - JSON schema to validate against (or undefined if no schema)
|
|
39
|
-
* @param output - Tool output to validate
|
|
40
|
-
* @returns Validation result
|
|
41
|
-
*/
|
|
42
|
-
validate(schema, output) {
|
|
43
|
-
// No schema defined
|
|
44
|
-
if (schema === undefined || schema === null) {
|
|
45
|
-
return { status: 'no-schema' };
|
|
46
|
-
}
|
|
47
|
-
// Empty schema (matches anything)
|
|
48
|
-
if (typeof schema === 'object' && Object.keys(schema).length === 0) {
|
|
49
|
-
return { status: 'valid', schema };
|
|
50
|
-
}
|
|
51
|
-
try {
|
|
52
|
-
// Use the SDK's validator - getValidator returns a function
|
|
53
|
-
const validateFn = this.validator.getValidator(schema);
|
|
54
|
-
const result = validateFn(output);
|
|
55
|
-
if (result.valid) {
|
|
56
|
-
return { status: 'valid', schema };
|
|
57
|
-
}
|
|
58
|
-
// Extract error message
|
|
59
|
-
return {
|
|
60
|
-
status: 'invalid',
|
|
61
|
-
errors: result.errorMessage ? [result.errorMessage] : ['Validation failed'],
|
|
62
|
-
schema,
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
// Schema compilation error
|
|
67
|
-
return {
|
|
68
|
-
status: 'invalid',
|
|
69
|
-
errors: [`Schema compilation error: ${extractErrorMessage(error)}`],
|
|
70
|
-
schema,
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Validate tool output content array
|
|
76
|
-
*
|
|
77
|
-
* MCP tool results return an array of content items.
|
|
78
|
-
* This method validates the extracted content.
|
|
79
|
-
*
|
|
80
|
-
* BUG FIX: Handles multiple text content items correctly by:
|
|
81
|
-
* 1. First trying direct concatenation (for chunked JSON from streaming)
|
|
82
|
-
* 2. If that fails, try parsing each item individually
|
|
83
|
-
* 3. If all items are valid JSON, validate as array of JSON objects
|
|
84
|
-
*
|
|
85
|
-
* @param schema - JSON schema
|
|
86
|
-
* @param content - MCP tool result content array
|
|
87
|
-
* @returns Validation result
|
|
88
|
-
*/
|
|
89
|
-
validateContent(schema, content) {
|
|
90
|
-
if (schema === undefined || schema === null) {
|
|
91
|
-
return { status: 'no-schema' };
|
|
92
|
-
}
|
|
93
|
-
// Extract text content items
|
|
94
|
-
const textItems = content
|
|
95
|
-
.filter((item) => item.type === 'text' && item.text)
|
|
96
|
-
.map((item) => item.text);
|
|
97
|
-
if (textItems.length === 0) {
|
|
98
|
-
// No text content to validate
|
|
99
|
-
return { status: 'valid', schema };
|
|
100
|
-
}
|
|
101
|
-
// Single item - simple case
|
|
102
|
-
if (textItems.length === 1) {
|
|
103
|
-
let parsedOutput;
|
|
104
|
-
try {
|
|
105
|
-
parsedOutput = JSON.parse(textItems[0]);
|
|
106
|
-
}
|
|
107
|
-
catch {
|
|
108
|
-
// Not JSON - validate as string if schema allows
|
|
109
|
-
parsedOutput = textItems[0];
|
|
110
|
-
}
|
|
111
|
-
return this.validate(schema, parsedOutput);
|
|
112
|
-
}
|
|
113
|
-
// Multiple text items - try direct concatenation first
|
|
114
|
-
// This handles streaming chunked JSON like {"com" + "plete":true}
|
|
115
|
-
const directConcat = textItems.join('');
|
|
116
|
-
try {
|
|
117
|
-
const parsedOutput = JSON.parse(directConcat);
|
|
118
|
-
return this.validate(schema, parsedOutput);
|
|
119
|
-
}
|
|
120
|
-
catch {
|
|
121
|
-
// Direct concatenation didn't produce valid JSON
|
|
122
|
-
}
|
|
123
|
-
// BUG FIX: Try parsing each item individually
|
|
124
|
-
// If all parse successfully, validate as array of JSON objects
|
|
125
|
-
const parsedItems = [];
|
|
126
|
-
let allJson = true;
|
|
127
|
-
for (const text of textItems) {
|
|
128
|
-
try {
|
|
129
|
-
parsedItems.push(JSON.parse(text));
|
|
130
|
-
}
|
|
131
|
-
catch {
|
|
132
|
-
allJson = false;
|
|
133
|
-
break;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
if (allJson) {
|
|
137
|
-
// All items are valid JSON - validate as array (or single if only one)
|
|
138
|
-
return this.validate(schema, parsedItems.length === 1 ? parsedItems[0] : parsedItems);
|
|
139
|
-
}
|
|
140
|
-
// Not JSON - validate the concatenated text as string
|
|
141
|
-
return this.validate(schema, directConcat);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
// Singleton instance
|
|
145
|
-
let validatorInstance = null;
|
|
146
|
-
/**
|
|
147
|
-
* Get the singleton validator instance
|
|
148
|
-
*/
|
|
149
|
-
export function getToolOutputValidator() {
|
|
150
|
-
if (!validatorInstance) {
|
|
151
|
-
validatorInstance = new ToolOutputValidator();
|
|
152
|
-
}
|
|
153
|
-
return validatorInstance;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Reset the validator (for testing)
|
|
157
|
-
*/
|
|
158
|
-
export function resetToolOutputValidator() {
|
|
159
|
-
validatorInstance = null;
|
|
160
|
-
}
|
|
161
|
-
//# sourceMappingURL=schema-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../src/mcp/schema-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SSRF Protection for HTTP/SSE Transports (REQ-SEC-011)
|
|
3
|
-
*
|
|
4
|
-
* Prevents Server-Side Request Forgery attacks by validating URLs
|
|
5
|
-
* Blocks:
|
|
6
|
-
* - Private IP addresses (RFC 1918, loopback, link-local)
|
|
7
|
-
* - DNS rebinding attacks
|
|
8
|
-
* - Cloud metadata endpoints
|
|
9
|
-
* - Dangerous protocols
|
|
10
|
-
*
|
|
11
|
-
* Security: CVSS 8.6 (High Priority)
|
|
12
|
-
*/
|
|
13
|
-
/**
|
|
14
|
-
* URL validation result
|
|
15
|
-
*/
|
|
16
|
-
export interface SSRFValidationResult {
|
|
17
|
-
valid: boolean;
|
|
18
|
-
error?: string;
|
|
19
|
-
category?: SSRFThreatCategory;
|
|
20
|
-
resolvedIp?: string;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* SSRF threat categories
|
|
24
|
-
*/
|
|
25
|
-
export declare enum SSRFThreatCategory {
|
|
26
|
-
PRIVATE_IP = "PRIVATE_IP",
|
|
27
|
-
BLOCKED_HOSTNAME = "BLOCKED_HOSTNAME",
|
|
28
|
-
INVALID_PROTOCOL = "INVALID_PROTOCOL",
|
|
29
|
-
INVALID_URL = "INVALID_URL",
|
|
30
|
-
DNS_REBINDING = "DNS_REBINDING"
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Validate URL against SSRF threats
|
|
34
|
-
*
|
|
35
|
-
* @param urlString - URL to validate
|
|
36
|
-
* @returns Validation result
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```typescript
|
|
40
|
-
* const result = validateURL('https://api.example.com');
|
|
41
|
-
* if (!result.valid) {
|
|
42
|
-
* console.error(`SSRF threat detected: ${result.error}`);
|
|
43
|
-
* }
|
|
44
|
-
* ```
|
|
45
|
-
*/
|
|
46
|
-
export declare function validateURL(urlString: string): SSRFValidationResult;
|
|
47
|
-
/**
|
|
48
|
-
* Validate MCP HTTP/SSE transport URL
|
|
49
|
-
*
|
|
50
|
-
* @param url - Transport URL
|
|
51
|
-
* @param transportType - Transport type ('http' or 'sse')
|
|
52
|
-
* @returns Validation result
|
|
53
|
-
*/
|
|
54
|
-
export declare function validateTransportURL(url: string, transportType: 'http' | 'sse'): SSRFValidationResult;
|
|
55
|
-
/**
|
|
56
|
-
* Safe URL wrapper for HTTP requests
|
|
57
|
-
*
|
|
58
|
-
* @param url - URL to validate and wrap
|
|
59
|
-
* @returns Validated URL or throws error
|
|
60
|
-
*
|
|
61
|
-
* @example
|
|
62
|
-
* ```typescript
|
|
63
|
-
* try {
|
|
64
|
-
* const safeUrl = safeURL('https://api.example.com');
|
|
65
|
-
* await fetch(safeUrl);
|
|
66
|
-
* } catch (error) {
|
|
67
|
-
* console.error('SSRF protection blocked request:', error);
|
|
68
|
-
* }
|
|
69
|
-
* ```
|
|
70
|
-
*/
|
|
71
|
-
export declare function safeURL(url: string): string;
|
|
72
|
-
/**
|
|
73
|
-
* Batch validate multiple URLs
|
|
74
|
-
*
|
|
75
|
-
* @param urls - Array of URLs to validate
|
|
76
|
-
* @returns Array of validation results
|
|
77
|
-
*/
|
|
78
|
-
export declare function validateURLs(urls: string[]): SSRFValidationResult[];
|
|
79
|
-
/**
|
|
80
|
-
* Get SSRF protection statistics
|
|
81
|
-
*/
|
|
82
|
-
export declare function getSSRFStats(): {
|
|
83
|
-
blockedHostnames: number;
|
|
84
|
-
privateIPRanges: number;
|
|
85
|
-
allowedProtocols: number;
|
|
86
|
-
};
|