@defai.digital/contracts 13.0.3
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/LICENSE +214 -0
- package/dist/ability/v1/index.d.ts +5 -0
- package/dist/ability/v1/index.d.ts.map +1 -0
- package/dist/ability/v1/index.js +5 -0
- package/dist/ability/v1/index.js.map +1 -0
- package/dist/ability/v1/schema.d.ts +288 -0
- package/dist/ability/v1/schema.d.ts.map +1 -0
- package/dist/ability/v1/schema.js +138 -0
- package/dist/ability/v1/schema.js.map +1 -0
- package/dist/agent/v1/index.d.ts +8 -0
- package/dist/agent/v1/index.d.ts.map +1 -0
- package/dist/agent/v1/index.js +31 -0
- package/dist/agent/v1/index.js.map +1 -0
- package/dist/agent/v1/schema.d.ts +4055 -0
- package/dist/agent/v1/schema.d.ts.map +1 -0
- package/dist/agent/v1/schema.js +970 -0
- package/dist/agent/v1/schema.js.map +1 -0
- package/dist/agent/v1/storage-port.d.ts +172 -0
- package/dist/agent/v1/storage-port.d.ts.map +1 -0
- package/dist/agent/v1/storage-port.js +10 -0
- package/dist/agent/v1/storage-port.js.map +1 -0
- package/dist/analysis/v1/index.d.ts +7 -0
- package/dist/analysis/v1/index.d.ts.map +1 -0
- package/dist/analysis/v1/index.js +21 -0
- package/dist/analysis/v1/index.js.map +1 -0
- package/dist/analysis/v1/schema.d.ts +348 -0
- package/dist/analysis/v1/schema.d.ts.map +1 -0
- package/dist/analysis/v1/schema.js +252 -0
- package/dist/analysis/v1/schema.js.map +1 -0
- package/dist/cli/v1/index.d.ts +8 -0
- package/dist/cli/v1/index.d.ts.map +1 -0
- package/dist/cli/v1/index.js +46 -0
- package/dist/cli/v1/index.js.map +1 -0
- package/dist/cli/v1/output.d.ts +347 -0
- package/dist/cli/v1/output.d.ts.map +1 -0
- package/dist/cli/v1/output.js +288 -0
- package/dist/cli/v1/output.js.map +1 -0
- package/dist/cli/v1/schema.d.ts +494 -0
- package/dist/cli/v1/schema.d.ts.map +1 -0
- package/dist/cli/v1/schema.js +342 -0
- package/dist/cli/v1/schema.js.map +1 -0
- package/dist/config/v1/config.d.ts +887 -0
- package/dist/config/v1/config.d.ts.map +1 -0
- package/dist/config/v1/config.js +348 -0
- package/dist/config/v1/config.js.map +1 -0
- package/dist/config/v1/errors.d.ts +84 -0
- package/dist/config/v1/errors.d.ts.map +1 -0
- package/dist/config/v1/errors.js +150 -0
- package/dist/config/v1/errors.js.map +1 -0
- package/dist/config/v1/events.d.ts +416 -0
- package/dist/config/v1/events.d.ts.map +1 -0
- package/dist/config/v1/events.js +204 -0
- package/dist/config/v1/events.js.map +1 -0
- package/dist/config/v1/index.d.ts +11 -0
- package/dist/config/v1/index.d.ts.map +1 -0
- package/dist/config/v1/index.js +49 -0
- package/dist/config/v1/index.js.map +1 -0
- package/dist/config/v1/operations.d.ts +293 -0
- package/dist/config/v1/operations.d.ts.map +1 -0
- package/dist/config/v1/operations.js +172 -0
- package/dist/config/v1/operations.js.map +1 -0
- package/dist/config/v1/provider-config.d.ts +124 -0
- package/dist/config/v1/provider-config.d.ts.map +1 -0
- package/dist/config/v1/provider-config.js +123 -0
- package/dist/config/v1/provider-config.js.map +1 -0
- package/dist/constants.d.ts +292 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +370 -0
- package/dist/constants.js.map +1 -0
- package/dist/context/v1/index.d.ts +5 -0
- package/dist/context/v1/index.d.ts.map +1 -0
- package/dist/context/v1/index.js +13 -0
- package/dist/context/v1/index.js.map +1 -0
- package/dist/context/v1/schema.d.ts +289 -0
- package/dist/context/v1/schema.d.ts.map +1 -0
- package/dist/context/v1/schema.js +145 -0
- package/dist/context/v1/schema.js.map +1 -0
- package/dist/cross-cutting/v1/dead-letter.d.ts +305 -0
- package/dist/cross-cutting/v1/dead-letter.d.ts.map +1 -0
- package/dist/cross-cutting/v1/dead-letter.js +172 -0
- package/dist/cross-cutting/v1/dead-letter.js.map +1 -0
- package/dist/cross-cutting/v1/idempotency.d.ts +222 -0
- package/dist/cross-cutting/v1/idempotency.d.ts.map +1 -0
- package/dist/cross-cutting/v1/idempotency.js +170 -0
- package/dist/cross-cutting/v1/idempotency.js.map +1 -0
- package/dist/cross-cutting/v1/index.d.ts +14 -0
- package/dist/cross-cutting/v1/index.d.ts.map +1 -0
- package/dist/cross-cutting/v1/index.js +18 -0
- package/dist/cross-cutting/v1/index.js.map +1 -0
- package/dist/cross-cutting/v1/retention.d.ts +347 -0
- package/dist/cross-cutting/v1/retention.d.ts.map +1 -0
- package/dist/cross-cutting/v1/retention.js +178 -0
- package/dist/cross-cutting/v1/retention.js.map +1 -0
- package/dist/cross-cutting/v1/saga.d.ts +358 -0
- package/dist/cross-cutting/v1/saga.d.ts.map +1 -0
- package/dist/cross-cutting/v1/saga.js +219 -0
- package/dist/cross-cutting/v1/saga.js.map +1 -0
- package/dist/design/v1/index.d.ts +5 -0
- package/dist/design/v1/index.d.ts.map +1 -0
- package/dist/design/v1/index.js +5 -0
- package/dist/design/v1/index.js.map +1 -0
- package/dist/design/v1/schema.d.ts +748 -0
- package/dist/design/v1/schema.d.ts.map +1 -0
- package/dist/design/v1/schema.js +316 -0
- package/dist/design/v1/schema.js.map +1 -0
- package/dist/discussion/v1/index.d.ts +10 -0
- package/dist/discussion/v1/index.d.ts.map +1 -0
- package/dist/discussion/v1/index.js +21 -0
- package/dist/discussion/v1/index.js.map +1 -0
- package/dist/discussion/v1/schema.d.ts +1186 -0
- package/dist/discussion/v1/schema.d.ts.map +1 -0
- package/dist/discussion/v1/schema.js +560 -0
- package/dist/discussion/v1/schema.js.map +1 -0
- package/dist/file-system/v1/index.d.ts +7 -0
- package/dist/file-system/v1/index.d.ts.map +1 -0
- package/dist/file-system/v1/index.js +7 -0
- package/dist/file-system/v1/index.js.map +1 -0
- package/dist/file-system/v1/schema.d.ts +644 -0
- package/dist/file-system/v1/schema.d.ts.map +1 -0
- package/dist/file-system/v1/schema.js +278 -0
- package/dist/file-system/v1/schema.js.map +1 -0
- package/dist/guard/v1/index.d.ts +9 -0
- package/dist/guard/v1/index.d.ts.map +1 -0
- package/dist/guard/v1/index.js +10 -0
- package/dist/guard/v1/index.js.map +1 -0
- package/dist/guard/v1/schema.d.ts +308 -0
- package/dist/guard/v1/schema.d.ts.map +1 -0
- package/dist/guard/v1/schema.js +267 -0
- package/dist/guard/v1/schema.js.map +1 -0
- package/dist/index.d.ts +68 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +117 -0
- package/dist/index.js.map +1 -0
- package/dist/iterate/v1/index.d.ts +5 -0
- package/dist/iterate/v1/index.d.ts.map +1 -0
- package/dist/iterate/v1/index.js +13 -0
- package/dist/iterate/v1/index.js.map +1 -0
- package/dist/iterate/v1/schema.d.ts +693 -0
- package/dist/iterate/v1/schema.d.ts.map +1 -0
- package/dist/iterate/v1/schema.js +244 -0
- package/dist/iterate/v1/schema.js.map +1 -0
- package/dist/mcp/v1/index.d.ts +8 -0
- package/dist/mcp/v1/index.d.ts.map +1 -0
- package/dist/mcp/v1/index.js +20 -0
- package/dist/mcp/v1/index.js.map +1 -0
- package/dist/mcp/v1/prompts/index.d.ts +5 -0
- package/dist/mcp/v1/prompts/index.d.ts.map +1 -0
- package/dist/mcp/v1/prompts/index.js +5 -0
- package/dist/mcp/v1/prompts/index.js.map +1 -0
- package/dist/mcp/v1/prompts/schema.d.ts +266 -0
- package/dist/mcp/v1/prompts/schema.d.ts.map +1 -0
- package/dist/mcp/v1/prompts/schema.js +138 -0
- package/dist/mcp/v1/prompts/schema.js.map +1 -0
- package/dist/mcp/v1/rate-limit.schema.d.ts +175 -0
- package/dist/mcp/v1/rate-limit.schema.d.ts.map +1 -0
- package/dist/mcp/v1/rate-limit.schema.js +164 -0
- package/dist/mcp/v1/rate-limit.schema.js.map +1 -0
- package/dist/mcp/v1/resources/index.d.ts +5 -0
- package/dist/mcp/v1/resources/index.d.ts.map +1 -0
- package/dist/mcp/v1/resources/index.js +5 -0
- package/dist/mcp/v1/resources/index.js.map +1 -0
- package/dist/mcp/v1/resources/schema.d.ts +169 -0
- package/dist/mcp/v1/resources/schema.d.ts.map +1 -0
- package/dist/mcp/v1/resources/schema.js +118 -0
- package/dist/mcp/v1/resources/schema.js.map +1 -0
- package/dist/mcp/v1/runtime/cache.d.ts +204 -0
- package/dist/mcp/v1/runtime/cache.d.ts.map +1 -0
- package/dist/mcp/v1/runtime/cache.js +92 -0
- package/dist/mcp/v1/runtime/cache.js.map +1 -0
- package/dist/mcp/v1/runtime/index.d.ts +5 -0
- package/dist/mcp/v1/runtime/index.d.ts.map +1 -0
- package/dist/mcp/v1/runtime/index.js +9 -0
- package/dist/mcp/v1/runtime/index.js.map +1 -0
- package/dist/mcp/v1/runtime/limits.d.ts +113 -0
- package/dist/mcp/v1/runtime/limits.d.ts.map +1 -0
- package/dist/mcp/v1/runtime/limits.js +95 -0
- package/dist/mcp/v1/runtime/limits.js.map +1 -0
- package/dist/mcp/v1/runtime/response.d.ts +467 -0
- package/dist/mcp/v1/runtime/response.d.ts.map +1 -0
- package/dist/mcp/v1/runtime/response.js +130 -0
- package/dist/mcp/v1/runtime/response.js.map +1 -0
- package/dist/mcp/v1/runtime/timeout.d.ts +116 -0
- package/dist/mcp/v1/runtime/timeout.d.ts.map +1 -0
- package/dist/mcp/v1/runtime/timeout.js +116 -0
- package/dist/mcp/v1/runtime/timeout.js.map +1 -0
- package/dist/mcp/v1/schema.d.ts +171 -0
- package/dist/mcp/v1/schema.d.ts.map +1 -0
- package/dist/mcp/v1/schema.js +97 -0
- package/dist/mcp/v1/schema.js.map +1 -0
- package/dist/mcp/v1/tools/agent.d.ts +485 -0
- package/dist/mcp/v1/tools/agent.d.ts.map +1 -0
- package/dist/mcp/v1/tools/agent.js +264 -0
- package/dist/mcp/v1/tools/agent.js.map +1 -0
- package/dist/mcp/v1/tools/guard.d.ts +243 -0
- package/dist/mcp/v1/tools/guard.d.ts.map +1 -0
- package/dist/mcp/v1/tools/guard.js +136 -0
- package/dist/mcp/v1/tools/guard.js.map +1 -0
- package/dist/mcp/v1/tools/index.d.ts +15 -0
- package/dist/mcp/v1/tools/index.d.ts.map +1 -0
- package/dist/mcp/v1/tools/index.js +22 -0
- package/dist/mcp/v1/tools/index.js.map +1 -0
- package/dist/mcp/v1/tools/memory.d.ts +569 -0
- package/dist/mcp/v1/tools/memory.d.ts.map +1 -0
- package/dist/mcp/v1/tools/memory.js +319 -0
- package/dist/mcp/v1/tools/memory.js.map +1 -0
- package/dist/mcp/v1/tools/session.d.ts +545 -0
- package/dist/mcp/v1/tools/session.d.ts.map +1 -0
- package/dist/mcp/v1/tools/session.js +309 -0
- package/dist/mcp/v1/tools/session.js.map +1 -0
- package/dist/mcp/v1/tools/tool-list-schemas.d.ts +354 -0
- package/dist/mcp/v1/tools/tool-list-schemas.d.ts.map +1 -0
- package/dist/mcp/v1/tools/tool-list-schemas.js +140 -0
- package/dist/mcp/v1/tools/tool-list-schemas.js.map +1 -0
- package/dist/mcp/v1/tools/trace.d.ts +282 -0
- package/dist/mcp/v1/tools/trace.d.ts.map +1 -0
- package/dist/mcp/v1/tools/trace.js +94 -0
- package/dist/mcp/v1/tools/trace.js.map +1 -0
- package/dist/mcp/v1/tools/workflow.d.ts +146 -0
- package/dist/mcp/v1/tools/workflow.d.ts.map +1 -0
- package/dist/mcp/v1/tools/workflow.js +68 -0
- package/dist/mcp/v1/tools/workflow.js.map +1 -0
- package/dist/mcp/v1/trace/index.d.ts +5 -0
- package/dist/mcp/v1/trace/index.d.ts.map +1 -0
- package/dist/mcp/v1/trace/index.js +5 -0
- package/dist/mcp/v1/trace/index.js.map +1 -0
- package/dist/mcp/v1/trace/tool-trace.d.ts +107 -0
- package/dist/mcp/v1/trace/tool-trace.d.ts.map +1 -0
- package/dist/mcp/v1/trace/tool-trace.js +91 -0
- package/dist/mcp/v1/trace/tool-trace.js.map +1 -0
- package/dist/memory/v1/index.d.ts +2 -0
- package/dist/memory/v1/index.d.ts.map +1 -0
- package/dist/memory/v1/index.js +2 -0
- package/dist/memory/v1/index.js.map +1 -0
- package/dist/memory/v1/schema.d.ts +188 -0
- package/dist/memory/v1/schema.d.ts.map +1 -0
- package/dist/memory/v1/schema.js +108 -0
- package/dist/memory/v1/schema.js.map +1 -0
- package/dist/ml-lifecycle/v1/index.d.ts +12 -0
- package/dist/ml-lifecycle/v1/index.d.ts.map +1 -0
- package/dist/ml-lifecycle/v1/index.js +12 -0
- package/dist/ml-lifecycle/v1/index.js.map +1 -0
- package/dist/ml-lifecycle/v1/schema.d.ts +1207 -0
- package/dist/ml-lifecycle/v1/schema.d.ts.map +1 -0
- package/dist/ml-lifecycle/v1/schema.js +481 -0
- package/dist/ml-lifecycle/v1/schema.js.map +1 -0
- package/dist/orchestration/v1/index.d.ts +5 -0
- package/dist/orchestration/v1/index.d.ts.map +1 -0
- package/dist/orchestration/v1/index.js +23 -0
- package/dist/orchestration/v1/index.js.map +1 -0
- package/dist/orchestration/v1/schema.d.ts +1384 -0
- package/dist/orchestration/v1/schema.d.ts.map +1 -0
- package/dist/orchestration/v1/schema.js +394 -0
- package/dist/orchestration/v1/schema.js.map +1 -0
- package/dist/provider/v1/circuit-breaker.d.ts +151 -0
- package/dist/provider/v1/circuit-breaker.d.ts.map +1 -0
- package/dist/provider/v1/circuit-breaker.js +119 -0
- package/dist/provider/v1/circuit-breaker.js.map +1 -0
- package/dist/provider/v1/health.d.ts +246 -0
- package/dist/provider/v1/health.d.ts.map +1 -0
- package/dist/provider/v1/health.js +190 -0
- package/dist/provider/v1/health.js.map +1 -0
- package/dist/provider/v1/index.d.ts +13 -0
- package/dist/provider/v1/index.d.ts.map +1 -0
- package/dist/provider/v1/index.js +17 -0
- package/dist/provider/v1/index.js.map +1 -0
- package/dist/provider/v1/port.d.ts +237 -0
- package/dist/provider/v1/port.d.ts.map +1 -0
- package/dist/provider/v1/port.js +113 -0
- package/dist/provider/v1/port.js.map +1 -0
- package/dist/provider/v1/rate-limit.d.ts +214 -0
- package/dist/provider/v1/rate-limit.d.ts.map +1 -0
- package/dist/provider/v1/rate-limit.js +165 -0
- package/dist/provider/v1/rate-limit.js.map +1 -0
- package/dist/resilience/v1/circuit-breaker.d.ts +135 -0
- package/dist/resilience/v1/circuit-breaker.d.ts.map +1 -0
- package/dist/resilience/v1/circuit-breaker.js +105 -0
- package/dist/resilience/v1/circuit-breaker.js.map +1 -0
- package/dist/resilience/v1/index.d.ts +17 -0
- package/dist/resilience/v1/index.d.ts.map +1 -0
- package/dist/resilience/v1/index.js +17 -0
- package/dist/resilience/v1/index.js.map +1 -0
- package/dist/resilience/v1/loop-guard.d.ts +123 -0
- package/dist/resilience/v1/loop-guard.d.ts.map +1 -0
- package/dist/resilience/v1/loop-guard.js +96 -0
- package/dist/resilience/v1/loop-guard.js.map +1 -0
- package/dist/resilience/v1/metrics.d.ts +323 -0
- package/dist/resilience/v1/metrics.d.ts.map +1 -0
- package/dist/resilience/v1/metrics.js +183 -0
- package/dist/resilience/v1/metrics.js.map +1 -0
- package/dist/resilience/v1/rate-limiter.d.ts +122 -0
- package/dist/resilience/v1/rate-limiter.d.ts.map +1 -0
- package/dist/resilience/v1/rate-limiter.js +119 -0
- package/dist/resilience/v1/rate-limiter.js.map +1 -0
- package/dist/resilience/v1/resource-limits.d.ts +146 -0
- package/dist/resilience/v1/resource-limits.d.ts.map +1 -0
- package/dist/resilience/v1/resource-limits.js +130 -0
- package/dist/resilience/v1/resource-limits.js.map +1 -0
- package/dist/review/v1/index.d.ts +7 -0
- package/dist/review/v1/index.d.ts.map +1 -0
- package/dist/review/v1/index.js +23 -0
- package/dist/review/v1/index.js.map +1 -0
- package/dist/review/v1/schema.d.ts +1284 -0
- package/dist/review/v1/schema.d.ts.map +1 -0
- package/dist/review/v1/schema.js +423 -0
- package/dist/review/v1/schema.js.map +1 -0
- package/dist/routing/v1/index.d.ts +2 -0
- package/dist/routing/v1/index.d.ts.map +1 -0
- package/dist/routing/v1/index.js +2 -0
- package/dist/routing/v1/index.js.map +1 -0
- package/dist/routing/v1/schema.d.ts +315 -0
- package/dist/routing/v1/schema.d.ts.map +1 -0
- package/dist/routing/v1/schema.js +103 -0
- package/dist/routing/v1/schema.js.map +1 -0
- package/dist/scaffold/v1/index.d.ts +7 -0
- package/dist/scaffold/v1/index.d.ts.map +1 -0
- package/dist/scaffold/v1/index.js +7 -0
- package/dist/scaffold/v1/index.js.map +1 -0
- package/dist/scaffold/v1/schema.d.ts +351 -0
- package/dist/scaffold/v1/schema.d.ts.map +1 -0
- package/dist/scaffold/v1/schema.js +238 -0
- package/dist/scaffold/v1/schema.js.map +1 -0
- package/dist/session/v1/index.d.ts +7 -0
- package/dist/session/v1/index.d.ts.map +1 -0
- package/dist/session/v1/index.js +23 -0
- package/dist/session/v1/index.js.map +1 -0
- package/dist/session/v1/schema.d.ts +1156 -0
- package/dist/session/v1/schema.d.ts.map +1 -0
- package/dist/session/v1/schema.js +315 -0
- package/dist/session/v1/schema.js.map +1 -0
- package/dist/storage/v1/index.d.ts +9 -0
- package/dist/storage/v1/index.d.ts.map +1 -0
- package/dist/storage/v1/index.js +21 -0
- package/dist/storage/v1/index.js.map +1 -0
- package/dist/storage/v1/schema.d.ts +411 -0
- package/dist/storage/v1/schema.d.ts.map +1 -0
- package/dist/storage/v1/schema.js +167 -0
- package/dist/storage/v1/schema.js.map +1 -0
- package/dist/telemetry/v1/index.d.ts +5 -0
- package/dist/telemetry/v1/index.d.ts.map +1 -0
- package/dist/telemetry/v1/index.js +5 -0
- package/dist/telemetry/v1/index.js.map +1 -0
- package/dist/telemetry/v1/schema.d.ts +747 -0
- package/dist/telemetry/v1/schema.d.ts.map +1 -0
- package/dist/telemetry/v1/schema.js +300 -0
- package/dist/telemetry/v1/schema.js.map +1 -0
- package/dist/token-budget/v1/index.d.ts +7 -0
- package/dist/token-budget/v1/index.d.ts.map +1 -0
- package/dist/token-budget/v1/index.js +25 -0
- package/dist/token-budget/v1/index.js.map +1 -0
- package/dist/token-budget/v1/schema.d.ts +588 -0
- package/dist/token-budget/v1/schema.d.ts.map +1 -0
- package/dist/token-budget/v1/schema.js +239 -0
- package/dist/token-budget/v1/schema.js.map +1 -0
- package/dist/trace/v1/index.d.ts +2 -0
- package/dist/trace/v1/index.d.ts.map +1 -0
- package/dist/trace/v1/index.js +4 -0
- package/dist/trace/v1/index.js.map +1 -0
- package/dist/trace/v1/schema.d.ts +531 -0
- package/dist/trace/v1/schema.d.ts.map +1 -0
- package/dist/trace/v1/schema.js +243 -0
- package/dist/trace/v1/schema.js.map +1 -0
- package/dist/workflow/v1/index.d.ts +3 -0
- package/dist/workflow/v1/index.d.ts.map +1 -0
- package/dist/workflow/v1/index.js +8 -0
- package/dist/workflow/v1/index.js.map +1 -0
- package/dist/workflow/v1/schema.d.ts +267 -0
- package/dist/workflow/v1/schema.d.ts.map +1 -0
- package/dist/workflow/v1/schema.js +95 -0
- package/dist/workflow/v1/schema.js.map +1 -0
- package/dist/workflow/v1/step-guard.d.ts +571 -0
- package/dist/workflow/v1/step-guard.d.ts.map +1 -0
- package/dist/workflow/v1/step-guard.js +305 -0
- package/dist/workflow/v1/step-guard.js.map +1 -0
- package/dist/workflow-templates/v1/index.d.ts +8 -0
- package/dist/workflow-templates/v1/index.d.ts.map +1 -0
- package/dist/workflow-templates/v1/index.js +8 -0
- package/dist/workflow-templates/v1/index.js.map +1 -0
- package/dist/workflow-templates/v1/schema.d.ts +714 -0
- package/dist/workflow-templates/v1/schema.d.ts.map +1 -0
- package/dist/workflow-templates/v1/schema.js +168 -0
- package/dist/workflow-templates/v1/schema.js.map +1 -0
- package/package.json +142 -0
- package/src/guard/v1/policy.schema.json +56 -0
- package/src/mcp/v1/tools.schema.json +108 -0
- package/src/memory/v1/event.schema.json +136 -0
- package/src/routing/v1/decision.schema.json +155 -0
- package/src/trace/v1/event.schema.json +197 -0
- package/src/workflow/v1/workflow.schema.json +142 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File System Contracts v1
|
|
3
|
+
*
|
|
4
|
+
* Defines schemas for file and directory operations with security invariants.
|
|
5
|
+
* Used by scaffold tools to write generated code to disk.
|
|
6
|
+
*
|
|
7
|
+
* @module @defai.digital/contracts/file-system/v1
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// Path Validation
|
|
12
|
+
// ============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* File path schema with security validation
|
|
15
|
+
*
|
|
16
|
+
* Invariants:
|
|
17
|
+
* - INV-FS-001: No path traversal allowed
|
|
18
|
+
*/
|
|
19
|
+
export const FilePathSchema = z
|
|
20
|
+
.string()
|
|
21
|
+
.min(1, 'Path cannot be empty')
|
|
22
|
+
.max(1000, 'Path too long')
|
|
23
|
+
.refine((path) => !path.includes('..'), 'Path traversal (..) not allowed')
|
|
24
|
+
.refine((path) => !path.includes('\0'), 'Null bytes not allowed in path');
|
|
25
|
+
// ============================================================================
|
|
26
|
+
// File Write Operations
|
|
27
|
+
// ============================================================================
|
|
28
|
+
/**
|
|
29
|
+
* File encoding options
|
|
30
|
+
*/
|
|
31
|
+
export const FileEncodingSchema = z.enum(['utf-8', 'ascii', 'base64', 'binary']);
|
|
32
|
+
/**
|
|
33
|
+
* Request to write a file
|
|
34
|
+
*
|
|
35
|
+
* Invariants:
|
|
36
|
+
* - INV-FS-002: No silent overwrites (requires explicit flag)
|
|
37
|
+
* - INV-FS-004: UTF-8 default encoding
|
|
38
|
+
*/
|
|
39
|
+
export const FileWriteRequestSchema = z.object({
|
|
40
|
+
/** Relative path from workspace root */
|
|
41
|
+
path: FilePathSchema,
|
|
42
|
+
/** File content to write */
|
|
43
|
+
content: z.string(),
|
|
44
|
+
/** Create parent directories if they don't exist */
|
|
45
|
+
createDirectories: z.boolean().default(true),
|
|
46
|
+
/** Allow overwriting existing files */
|
|
47
|
+
overwrite: z.boolean().default(false),
|
|
48
|
+
/** File encoding */
|
|
49
|
+
encoding: FileEncodingSchema.default('utf-8'),
|
|
50
|
+
/** Optional backup before overwrite */
|
|
51
|
+
backup: z.boolean().default(false),
|
|
52
|
+
});
|
|
53
|
+
/**
|
|
54
|
+
* Result of file write operation
|
|
55
|
+
*/
|
|
56
|
+
export const FileWriteResultSchema = z.object({
|
|
57
|
+
/** Whether the operation succeeded */
|
|
58
|
+
success: z.boolean(),
|
|
59
|
+
/** Path that was written */
|
|
60
|
+
path: z.string(),
|
|
61
|
+
/** Number of bytes written */
|
|
62
|
+
bytesWritten: z.number().int().min(0),
|
|
63
|
+
/** Whether a new file was created */
|
|
64
|
+
created: z.boolean(),
|
|
65
|
+
/** Whether an existing file was overwritten */
|
|
66
|
+
overwritten: z.boolean(),
|
|
67
|
+
/** Backup path if backup was created */
|
|
68
|
+
backupPath: z.string().optional(),
|
|
69
|
+
/** Error details if operation failed */
|
|
70
|
+
error: z
|
|
71
|
+
.object({
|
|
72
|
+
code: z.string(),
|
|
73
|
+
message: z.string(),
|
|
74
|
+
})
|
|
75
|
+
.optional(),
|
|
76
|
+
});
|
|
77
|
+
// ============================================================================
|
|
78
|
+
// Directory Operations
|
|
79
|
+
// ============================================================================
|
|
80
|
+
/**
|
|
81
|
+
* Request to create a directory
|
|
82
|
+
*/
|
|
83
|
+
export const DirectoryCreateRequestSchema = z.object({
|
|
84
|
+
/** Relative path from workspace root */
|
|
85
|
+
path: FilePathSchema,
|
|
86
|
+
/** Create parent directories if they don't exist */
|
|
87
|
+
recursive: z.boolean().default(true),
|
|
88
|
+
});
|
|
89
|
+
/**
|
|
90
|
+
* Result of directory creation
|
|
91
|
+
*/
|
|
92
|
+
export const DirectoryCreateResultSchema = z.object({
|
|
93
|
+
/** Whether the operation succeeded */
|
|
94
|
+
success: z.boolean(),
|
|
95
|
+
/** Path that was created */
|
|
96
|
+
path: z.string(),
|
|
97
|
+
/** Whether a new directory was created */
|
|
98
|
+
created: z.boolean(),
|
|
99
|
+
/** Whether the directory already existed */
|
|
100
|
+
existed: z.boolean(),
|
|
101
|
+
/** Error details if operation failed */
|
|
102
|
+
error: z
|
|
103
|
+
.object({
|
|
104
|
+
code: z.string(),
|
|
105
|
+
message: z.string(),
|
|
106
|
+
})
|
|
107
|
+
.optional(),
|
|
108
|
+
});
|
|
109
|
+
// ============================================================================
|
|
110
|
+
// File Read Operations (for validation/preview)
|
|
111
|
+
// ============================================================================
|
|
112
|
+
/**
|
|
113
|
+
* Request to check if a file exists
|
|
114
|
+
*/
|
|
115
|
+
export const FileExistsRequestSchema = z.object({
|
|
116
|
+
/** Relative path from workspace root */
|
|
117
|
+
path: FilePathSchema,
|
|
118
|
+
});
|
|
119
|
+
/**
|
|
120
|
+
* Result of file existence check
|
|
121
|
+
*/
|
|
122
|
+
export const FileExistsResultSchema = z.object({
|
|
123
|
+
/** Path that was checked */
|
|
124
|
+
path: z.string(),
|
|
125
|
+
/** Whether the file exists */
|
|
126
|
+
exists: z.boolean(),
|
|
127
|
+
/** Whether it's a file (vs directory) */
|
|
128
|
+
isFile: z.boolean().optional(),
|
|
129
|
+
/** Whether it's a directory */
|
|
130
|
+
isDirectory: z.boolean().optional(),
|
|
131
|
+
/** File size in bytes (if exists and is file) */
|
|
132
|
+
size: z.number().int().min(0).optional(),
|
|
133
|
+
});
|
|
134
|
+
// ============================================================================
|
|
135
|
+
// Batch Operations
|
|
136
|
+
// ============================================================================
|
|
137
|
+
/**
|
|
138
|
+
* Single file operation in a batch
|
|
139
|
+
*/
|
|
140
|
+
export const BatchFileOperationSchema = z.discriminatedUnion('operation', [
|
|
141
|
+
z.object({
|
|
142
|
+
operation: z.literal('write'),
|
|
143
|
+
path: FilePathSchema,
|
|
144
|
+
content: z.string(),
|
|
145
|
+
overwrite: z.boolean().default(false),
|
|
146
|
+
}),
|
|
147
|
+
z.object({
|
|
148
|
+
operation: z.literal('mkdir'),
|
|
149
|
+
path: FilePathSchema,
|
|
150
|
+
recursive: z.boolean().default(true),
|
|
151
|
+
}),
|
|
152
|
+
]);
|
|
153
|
+
/**
|
|
154
|
+
* Request for batch file operations
|
|
155
|
+
*/
|
|
156
|
+
export const BatchOperationRequestSchema = z.object({
|
|
157
|
+
/** List of operations to perform */
|
|
158
|
+
operations: z.array(BatchFileOperationSchema).min(1).max(100),
|
|
159
|
+
/** Stop on first error */
|
|
160
|
+
stopOnError: z.boolean().default(true),
|
|
161
|
+
/** Dry run - validate without executing */
|
|
162
|
+
dryRun: z.boolean().default(false),
|
|
163
|
+
});
|
|
164
|
+
/**
|
|
165
|
+
* Result of a single operation in a batch
|
|
166
|
+
*/
|
|
167
|
+
export const BatchOperationResultItemSchema = z.object({
|
|
168
|
+
/** Operation index in the batch */
|
|
169
|
+
index: z.number().int().min(0),
|
|
170
|
+
/** Path affected */
|
|
171
|
+
path: z.string(),
|
|
172
|
+
/** Whether operation succeeded */
|
|
173
|
+
success: z.boolean(),
|
|
174
|
+
/** Operation type */
|
|
175
|
+
operation: z.enum(['write', 'mkdir']),
|
|
176
|
+
/** Error if failed */
|
|
177
|
+
error: z
|
|
178
|
+
.object({
|
|
179
|
+
code: z.string(),
|
|
180
|
+
message: z.string(),
|
|
181
|
+
})
|
|
182
|
+
.optional(),
|
|
183
|
+
});
|
|
184
|
+
/**
|
|
185
|
+
* Result of batch operations
|
|
186
|
+
*/
|
|
187
|
+
export const BatchOperationResultSchema = z.object({
|
|
188
|
+
/** Overall success */
|
|
189
|
+
success: z.boolean(),
|
|
190
|
+
/** Total operations attempted */
|
|
191
|
+
total: z.number().int().min(0),
|
|
192
|
+
/** Successful operations */
|
|
193
|
+
succeeded: z.number().int().min(0),
|
|
194
|
+
/** Failed operations */
|
|
195
|
+
failed: z.number().int().min(0),
|
|
196
|
+
/** Individual results */
|
|
197
|
+
results: z.array(BatchOperationResultItemSchema),
|
|
198
|
+
/** Whether this was a dry run */
|
|
199
|
+
dryRun: z.boolean(),
|
|
200
|
+
});
|
|
201
|
+
// ============================================================================
|
|
202
|
+
// Error Codes
|
|
203
|
+
// ============================================================================
|
|
204
|
+
/**
|
|
205
|
+
* File system error codes
|
|
206
|
+
*/
|
|
207
|
+
export const FileSystemErrorCode = {
|
|
208
|
+
/** Path contains traversal attempt */
|
|
209
|
+
PATH_TRAVERSAL: 'PATH_TRAVERSAL',
|
|
210
|
+
/** File already exists (and overwrite=false) */
|
|
211
|
+
FILE_EXISTS: 'FILE_EXISTS',
|
|
212
|
+
/** Permission denied */
|
|
213
|
+
PERMISSION_DENIED: 'PERMISSION_DENIED',
|
|
214
|
+
/** Invalid path format */
|
|
215
|
+
INVALID_PATH: 'INVALID_PATH',
|
|
216
|
+
/** Write operation failed */
|
|
217
|
+
WRITE_FAILED: 'WRITE_FAILED',
|
|
218
|
+
/** Directory creation failed */
|
|
219
|
+
MKDIR_FAILED: 'MKDIR_FAILED',
|
|
220
|
+
/** Path is outside workspace */
|
|
221
|
+
OUTSIDE_WORKSPACE: 'OUTSIDE_WORKSPACE',
|
|
222
|
+
/** Path is a symlink (not allowed) */
|
|
223
|
+
SYMLINK_NOT_ALLOWED: 'SYMLINK_NOT_ALLOWED',
|
|
224
|
+
/** Operation would affect too many files */
|
|
225
|
+
BATCH_LIMIT_EXCEEDED: 'BATCH_LIMIT_EXCEEDED',
|
|
226
|
+
};
|
|
227
|
+
// ============================================================================
|
|
228
|
+
// Validation Functions
|
|
229
|
+
// ============================================================================
|
|
230
|
+
export function validateFileWriteRequest(data) {
|
|
231
|
+
return FileWriteRequestSchema.parse(data);
|
|
232
|
+
}
|
|
233
|
+
export function validateDirectoryCreateRequest(data) {
|
|
234
|
+
return DirectoryCreateRequestSchema.parse(data);
|
|
235
|
+
}
|
|
236
|
+
export function validateBatchOperationRequest(data) {
|
|
237
|
+
return BatchOperationRequestSchema.parse(data);
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Check if a path is safe (no traversal, within workspace)
|
|
241
|
+
*/
|
|
242
|
+
export function isPathSafe(filePath) {
|
|
243
|
+
try {
|
|
244
|
+
FilePathSchema.parse(filePath);
|
|
245
|
+
return true;
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
// ============================================================================
|
|
252
|
+
// MCP Tool Input/Output Schemas
|
|
253
|
+
// ============================================================================
|
|
254
|
+
/**
|
|
255
|
+
* file_write tool input schema
|
|
256
|
+
*/
|
|
257
|
+
export const FileWriteInputSchema = FileWriteRequestSchema;
|
|
258
|
+
/**
|
|
259
|
+
* file_write tool output schema
|
|
260
|
+
*/
|
|
261
|
+
export const FileWriteOutputSchema = FileWriteResultSchema;
|
|
262
|
+
/**
|
|
263
|
+
* directory_create tool input schema
|
|
264
|
+
*/
|
|
265
|
+
export const DirectoryCreateInputSchema = DirectoryCreateRequestSchema;
|
|
266
|
+
/**
|
|
267
|
+
* directory_create tool output schema
|
|
268
|
+
*/
|
|
269
|
+
export const DirectoryCreateOutputSchema = DirectoryCreateResultSchema;
|
|
270
|
+
/**
|
|
271
|
+
* file_exists tool input schema
|
|
272
|
+
*/
|
|
273
|
+
export const FileExistsInputSchema = FileExistsRequestSchema;
|
|
274
|
+
/**
|
|
275
|
+
* file_exists tool output schema
|
|
276
|
+
*/
|
|
277
|
+
export const FileExistsOutputSchema = FileExistsResultSchema;
|
|
278
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/file-system/v1/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;KAC9B,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC;KAC1B,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC9B,iCAAiC,CAClC;KACA,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC9B,gCAAgC,CACjC,CAAC;AAIJ,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAIjF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,wCAAwC;IACxC,IAAI,EAAE,cAAc;IAEpB,4BAA4B;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IAEnB,oDAAoD;IACpD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAE5C,uCAAuC;IACvC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAErC,oBAAoB;IACpB,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC;IAE7C,uCAAuC;IACvC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACnC,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,sCAAsC;IACtC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IAEpB,4BAA4B;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAEhB,8BAA8B;IAC9B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAErC,qCAAqC;IACrC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IAEpB,+CAA+C;IAC/C,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IAExB,wCAAwC;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAEjC,wCAAwC;IACxC,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAIH,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,wCAAwC;IACxC,IAAI,EAAE,cAAc;IAEpB,oDAAoD;IACpD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACrC,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,sCAAsC;IACtC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IAEpB,4BAA4B;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAEhB,0CAA0C;IAC1C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IAEpB,4CAA4C;IAC5C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IAEpB,wCAAwC;IACxC,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAIH,+EAA+E;AAC/E,gDAAgD;AAChD,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,wCAAwC;IACxC,IAAI,EAAE,cAAc;CACrB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,4BAA4B;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAEhB,8BAA8B;IAC9B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IAEnB,yCAAyC;IACzC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAE9B,+BAA+B;IAC/B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAEnC,iDAAiD;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAIH,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE;IACxE,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7B,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KACtC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7B,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;KACrC,CAAC;CACH,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,oCAAoC;IACpC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAE7D,0BAA0B;IAC1B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAEtC,2CAA2C;IAC3C,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACnC,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,mCAAmC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9B,oBAAoB;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAEhB,kCAAkC;IAClC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IAEpB,qBAAqB;IACrB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAErC,sBAAsB;IACtB,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,sBAAsB;IACtB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IAEpB,iCAAiC;IACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9B,4BAA4B;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAElC,wBAAwB;IACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE/B,yBAAyB;IACzB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC;IAEhD,iCAAiC;IACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;CACpB,CAAC,CAAC;AAIH,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,sCAAsC;IACtC,cAAc,EAAE,gBAAgB;IAEhC,gDAAgD;IAChD,WAAW,EAAE,aAAa;IAE1B,wBAAwB;IACxB,iBAAiB,EAAE,mBAAmB;IAEtC,0BAA0B;IAC1B,YAAY,EAAE,cAAc;IAE5B,6BAA6B;IAC7B,YAAY,EAAE,cAAc;IAE5B,gCAAgC;IAChC,YAAY,EAAE,cAAc;IAE5B,gCAAgC;IAChC,iBAAiB,EAAE,mBAAmB;IAEtC,sCAAsC;IACtC,mBAAmB,EAAE,qBAAqB;IAE1C,4CAA4C;IAC5C,oBAAoB,EAAE,sBAAsB;CACpC,CAAC;AAIX,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E,MAAM,UAAU,wBAAwB,CAAC,IAAa;IACpD,OAAO,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAa;IAC1D,OAAO,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAa;IACzD,OAAO,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,IAAI,CAAC;QACH,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAE3D;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,4BAA4B,CAAC;AAEvE;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,2BAA2B,CAAC;AAEvE;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AX Guard Policy Contract V1
|
|
3
|
+
*
|
|
4
|
+
* Governance policy schemas for AI coding checks and agent behavior.
|
|
5
|
+
*/
|
|
6
|
+
export { PolicySchema, GateTypeSchema, ContractTypeSchema, validatePolicy, safeValidatePolicy, } from './schema.js';
|
|
7
|
+
export type { Policy, GateType, ContractType } from './schema.js';
|
|
8
|
+
export { AgentPolicySchema, PolicyActionSchema, PolicyCheckResultSchema, ResourceUsageSchema, LimitCheckResultSchema, AgentPolicyErrorCodes, validateAgentPolicy, createDefaultAgentPolicy, createRestrictiveAgentPolicy, type AgentPolicy, type PolicyAction, type PolicyCheckResult, type ResourceUsage, type LimitCheckResult, type AgentPolicyErrorCode, } from './schema.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/guard/v1/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGlE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC5B,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AX Guard Policy Contract V1
|
|
3
|
+
*
|
|
4
|
+
* Governance policy schemas for AI coding checks and agent behavior.
|
|
5
|
+
*/
|
|
6
|
+
// Code Change Policy
|
|
7
|
+
export { PolicySchema, GateTypeSchema, ContractTypeSchema, validatePolicy, safeValidatePolicy, } from './schema.js';
|
|
8
|
+
// Agent Behavior Policy
|
|
9
|
+
export { AgentPolicySchema, PolicyActionSchema, PolicyCheckResultSchema, ResourceUsageSchema, LimitCheckResultSchema, AgentPolicyErrorCodes, validateAgentPolicy, createDefaultAgentPolicy, createRestrictiveAgentPolicy, } from './schema.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/guard/v1/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,qBAAqB;AACrB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAIrB,wBAAwB;AACxB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,GAO7B,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AX Guard Policy Schema
|
|
3
|
+
*
|
|
4
|
+
* Zod schema for runtime validation of governance policies.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
/**
|
|
8
|
+
* Available gate types
|
|
9
|
+
*/
|
|
10
|
+
export declare const GateTypeSchema: z.ZodEnum<["path_violation", "dependency", "change_radius", "contract_tests", "config_validation", "sensitive_change", "secrets_detection", "agent_selection"]>;
|
|
11
|
+
export type GateType = z.infer<typeof GateTypeSchema>;
|
|
12
|
+
/**
|
|
13
|
+
* Available contract types for testing
|
|
14
|
+
*/
|
|
15
|
+
export declare const ContractTypeSchema: z.ZodEnum<["workflow", "workflow-templates", "ml-lifecycle", "routing", "memory", "trace", "mcp", "agent", "session", "config", "guard", "ability"]>;
|
|
16
|
+
export type ContractType = z.infer<typeof ContractTypeSchema>;
|
|
17
|
+
/**
|
|
18
|
+
* Policy schema for AI coding governance
|
|
19
|
+
*/
|
|
20
|
+
export declare const PolicySchema: z.ZodObject<{
|
|
21
|
+
/**
|
|
22
|
+
* Unique identifier for this policy
|
|
23
|
+
*/
|
|
24
|
+
policyId: z.ZodString;
|
|
25
|
+
/**
|
|
26
|
+
* Glob patterns for paths that may be modified
|
|
27
|
+
* Supports {{variable}} placeholders
|
|
28
|
+
*/
|
|
29
|
+
allowedPaths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
30
|
+
/**
|
|
31
|
+
* Glob patterns for paths that must not be modified
|
|
32
|
+
*/
|
|
33
|
+
forbiddenPaths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
34
|
+
/**
|
|
35
|
+
* Contract test suites that must pass
|
|
36
|
+
*/
|
|
37
|
+
requiredContracts: z.ZodDefault<z.ZodArray<z.ZodEnum<["workflow", "workflow-templates", "ml-lifecycle", "routing", "memory", "trace", "mcp", "agent", "session", "config", "guard", "ability"]>, "many">>;
|
|
38
|
+
/**
|
|
39
|
+
* Gates to execute for this policy
|
|
40
|
+
*/
|
|
41
|
+
gates: z.ZodDefault<z.ZodArray<z.ZodEnum<["path_violation", "dependency", "change_radius", "contract_tests", "config_validation", "sensitive_change", "secrets_detection", "agent_selection"]>, "many">>;
|
|
42
|
+
/**
|
|
43
|
+
* Maximum number of packages that can be modified
|
|
44
|
+
*/
|
|
45
|
+
changeRadiusLimit: z.ZodDefault<z.ZodNumber>;
|
|
46
|
+
}, "strip", z.ZodTypeAny, {
|
|
47
|
+
gates: ("path_violation" | "dependency" | "change_radius" | "contract_tests" | "config_validation" | "sensitive_change" | "secrets_detection" | "agent_selection")[];
|
|
48
|
+
policyId: string;
|
|
49
|
+
allowedPaths: string[];
|
|
50
|
+
forbiddenPaths: string[];
|
|
51
|
+
changeRadiusLimit: number;
|
|
52
|
+
requiredContracts: ("memory" | "config" | "workflow" | "agent" | "session" | "trace" | "workflow-templates" | "ml-lifecycle" | "routing" | "mcp" | "guard" | "ability")[];
|
|
53
|
+
}, {
|
|
54
|
+
policyId: string;
|
|
55
|
+
gates?: ("path_violation" | "dependency" | "change_radius" | "contract_tests" | "config_validation" | "sensitive_change" | "secrets_detection" | "agent_selection")[] | undefined;
|
|
56
|
+
allowedPaths?: string[] | undefined;
|
|
57
|
+
forbiddenPaths?: string[] | undefined;
|
|
58
|
+
changeRadiusLimit?: number | undefined;
|
|
59
|
+
requiredContracts?: ("memory" | "config" | "workflow" | "agent" | "session" | "trace" | "workflow-templates" | "ml-lifecycle" | "routing" | "mcp" | "guard" | "ability")[] | undefined;
|
|
60
|
+
}>;
|
|
61
|
+
export type Policy = z.infer<typeof PolicySchema>;
|
|
62
|
+
/**
|
|
63
|
+
* Validates a policy object
|
|
64
|
+
*/
|
|
65
|
+
export declare function validatePolicy(data: unknown): Policy;
|
|
66
|
+
/**
|
|
67
|
+
* Safely validates a policy object
|
|
68
|
+
*/
|
|
69
|
+
export declare function safeValidatePolicy(data: unknown): {
|
|
70
|
+
success: true;
|
|
71
|
+
data: Policy;
|
|
72
|
+
} | {
|
|
73
|
+
success: false;
|
|
74
|
+
error: z.ZodError;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Agent behavior policy for controlling agent capabilities
|
|
78
|
+
*
|
|
79
|
+
* Invariants:
|
|
80
|
+
* - INV-AP-001: Policies merged by priority (higher wins)
|
|
81
|
+
* - INV-AP-002: Forbidden lists take precedence over allowed
|
|
82
|
+
* - INV-AP-003: Resource limits strictly enforced
|
|
83
|
+
*/
|
|
84
|
+
export declare const AgentPolicySchema: z.ZodObject<{
|
|
85
|
+
/** Policy identifier */
|
|
86
|
+
policyId: z.ZodString;
|
|
87
|
+
/** Agent this applies to (* for all) */
|
|
88
|
+
agentId: z.ZodDefault<z.ZodString>;
|
|
89
|
+
/** Team this applies to */
|
|
90
|
+
team: z.ZodOptional<z.ZodString>;
|
|
91
|
+
/** Can access memory domain */
|
|
92
|
+
canAccessMemory: z.ZodDefault<z.ZodBoolean>;
|
|
93
|
+
/** Can access session domain */
|
|
94
|
+
canAccessSessions: z.ZodDefault<z.ZodBoolean>;
|
|
95
|
+
/** Allowed memory namespaces (glob patterns) */
|
|
96
|
+
allowedMemoryNamespaces: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
97
|
+
/** Forbidden memory namespaces */
|
|
98
|
+
forbiddenMemoryNamespaces: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
99
|
+
/** Can delegate to other agents */
|
|
100
|
+
canDelegate: z.ZodDefault<z.ZodBoolean>;
|
|
101
|
+
/** Agents this can delegate to (patterns supported) */
|
|
102
|
+
allowedDelegates: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
103
|
+
/** Agents this cannot delegate to */
|
|
104
|
+
forbiddenDelegates: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
105
|
+
/** Maximum delegation depth */
|
|
106
|
+
maxDelegationDepth: z.ZodDefault<z.ZodNumber>;
|
|
107
|
+
/** Max tokens per request */
|
|
108
|
+
maxTokensPerRequest: z.ZodDefault<z.ZodNumber>;
|
|
109
|
+
/** Max requests per minute */
|
|
110
|
+
maxRequestsPerMinute: z.ZodDefault<z.ZodNumber>;
|
|
111
|
+
/** Max concurrent executions */
|
|
112
|
+
maxConcurrentExecutions: z.ZodDefault<z.ZodNumber>;
|
|
113
|
+
/** Max session duration in ms */
|
|
114
|
+
maxSessionDurationMs: z.ZodDefault<z.ZodNumber>;
|
|
115
|
+
/** Allowed capabilities (patterns) */
|
|
116
|
+
allowedCapabilities: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
117
|
+
/** Forbidden capabilities */
|
|
118
|
+
forbiddenCapabilities: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
119
|
+
/** Allowed MCP tools (patterns) */
|
|
120
|
+
allowedTools: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
121
|
+
/** Forbidden MCP tools */
|
|
122
|
+
forbiddenTools: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
123
|
+
/** Allowed paths (glob patterns) */
|
|
124
|
+
allowedPaths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
125
|
+
/** Forbidden paths (glob patterns) */
|
|
126
|
+
forbiddenPaths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
127
|
+
/** Policy enabled flag */
|
|
128
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
129
|
+
/** Priority for policy merging (INV-AP-001) */
|
|
130
|
+
priority: z.ZodDefault<z.ZodNumber>;
|
|
131
|
+
/** Policy description */
|
|
132
|
+
description: z.ZodOptional<z.ZodString>;
|
|
133
|
+
/** Policy tags */
|
|
134
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
135
|
+
}, "strip", z.ZodTypeAny, {
|
|
136
|
+
enabled: boolean;
|
|
137
|
+
policyId: string;
|
|
138
|
+
priority: number;
|
|
139
|
+
agentId: string;
|
|
140
|
+
allowedPaths: string[];
|
|
141
|
+
forbiddenPaths: string[];
|
|
142
|
+
maxDelegationDepth: number;
|
|
143
|
+
canAccessMemory: boolean;
|
|
144
|
+
canAccessSessions: boolean;
|
|
145
|
+
allowedMemoryNamespaces: string[];
|
|
146
|
+
forbiddenMemoryNamespaces: string[];
|
|
147
|
+
canDelegate: boolean;
|
|
148
|
+
allowedDelegates: string[];
|
|
149
|
+
forbiddenDelegates: string[];
|
|
150
|
+
maxTokensPerRequest: number;
|
|
151
|
+
maxRequestsPerMinute: number;
|
|
152
|
+
maxConcurrentExecutions: number;
|
|
153
|
+
maxSessionDurationMs: number;
|
|
154
|
+
allowedCapabilities: string[];
|
|
155
|
+
forbiddenCapabilities: string[];
|
|
156
|
+
allowedTools: string[];
|
|
157
|
+
forbiddenTools: string[];
|
|
158
|
+
description?: string | undefined;
|
|
159
|
+
team?: string | undefined;
|
|
160
|
+
tags?: string[] | undefined;
|
|
161
|
+
}, {
|
|
162
|
+
policyId: string;
|
|
163
|
+
description?: string | undefined;
|
|
164
|
+
enabled?: boolean | undefined;
|
|
165
|
+
priority?: number | undefined;
|
|
166
|
+
agentId?: string | undefined;
|
|
167
|
+
allowedPaths?: string[] | undefined;
|
|
168
|
+
forbiddenPaths?: string[] | undefined;
|
|
169
|
+
team?: string | undefined;
|
|
170
|
+
maxDelegationDepth?: number | undefined;
|
|
171
|
+
tags?: string[] | undefined;
|
|
172
|
+
canAccessMemory?: boolean | undefined;
|
|
173
|
+
canAccessSessions?: boolean | undefined;
|
|
174
|
+
allowedMemoryNamespaces?: string[] | undefined;
|
|
175
|
+
forbiddenMemoryNamespaces?: string[] | undefined;
|
|
176
|
+
canDelegate?: boolean | undefined;
|
|
177
|
+
allowedDelegates?: string[] | undefined;
|
|
178
|
+
forbiddenDelegates?: string[] | undefined;
|
|
179
|
+
maxTokensPerRequest?: number | undefined;
|
|
180
|
+
maxRequestsPerMinute?: number | undefined;
|
|
181
|
+
maxConcurrentExecutions?: number | undefined;
|
|
182
|
+
maxSessionDurationMs?: number | undefined;
|
|
183
|
+
allowedCapabilities?: string[] | undefined;
|
|
184
|
+
forbiddenCapabilities?: string[] | undefined;
|
|
185
|
+
allowedTools?: string[] | undefined;
|
|
186
|
+
forbiddenTools?: string[] | undefined;
|
|
187
|
+
}>;
|
|
188
|
+
export type AgentPolicy = z.infer<typeof AgentPolicySchema>;
|
|
189
|
+
/**
|
|
190
|
+
* Policy check action types
|
|
191
|
+
*/
|
|
192
|
+
export declare const PolicyActionSchema: z.ZodEnum<["accessMemory", "accessSession", "delegate", "useTool", "accessPath", "useCapability"]>;
|
|
193
|
+
export type PolicyAction = z.infer<typeof PolicyActionSchema>;
|
|
194
|
+
/**
|
|
195
|
+
* Policy check result
|
|
196
|
+
*/
|
|
197
|
+
export declare const PolicyCheckResultSchema: z.ZodObject<{
|
|
198
|
+
/** Whether action is allowed */
|
|
199
|
+
allowed: z.ZodBoolean;
|
|
200
|
+
/** Reason if not allowed */
|
|
201
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
202
|
+
/** Policy that made the decision */
|
|
203
|
+
policyId: z.ZodOptional<z.ZodString>;
|
|
204
|
+
}, "strip", z.ZodTypeAny, {
|
|
205
|
+
allowed: boolean;
|
|
206
|
+
policyId?: string | undefined;
|
|
207
|
+
reason?: string | undefined;
|
|
208
|
+
}, {
|
|
209
|
+
allowed: boolean;
|
|
210
|
+
policyId?: string | undefined;
|
|
211
|
+
reason?: string | undefined;
|
|
212
|
+
}>;
|
|
213
|
+
export type PolicyCheckResult = z.infer<typeof PolicyCheckResultSchema>;
|
|
214
|
+
/**
|
|
215
|
+
* Resource usage for limit checking
|
|
216
|
+
*/
|
|
217
|
+
export declare const ResourceUsageSchema: z.ZodObject<{
|
|
218
|
+
/** Tokens used in current request */
|
|
219
|
+
tokensThisRequest: z.ZodNumber;
|
|
220
|
+
/** Requests in current minute */
|
|
221
|
+
requestsThisMinute: z.ZodNumber;
|
|
222
|
+
/** Current concurrent executions */
|
|
223
|
+
concurrentExecutions: z.ZodNumber;
|
|
224
|
+
/** Session duration in ms */
|
|
225
|
+
sessionDurationMs: z.ZodOptional<z.ZodNumber>;
|
|
226
|
+
}, "strip", z.ZodTypeAny, {
|
|
227
|
+
tokensThisRequest: number;
|
|
228
|
+
requestsThisMinute: number;
|
|
229
|
+
concurrentExecutions: number;
|
|
230
|
+
sessionDurationMs?: number | undefined;
|
|
231
|
+
}, {
|
|
232
|
+
tokensThisRequest: number;
|
|
233
|
+
requestsThisMinute: number;
|
|
234
|
+
concurrentExecutions: number;
|
|
235
|
+
sessionDurationMs?: number | undefined;
|
|
236
|
+
}>;
|
|
237
|
+
export type ResourceUsage = z.infer<typeof ResourceUsageSchema>;
|
|
238
|
+
/**
|
|
239
|
+
* Limit check result
|
|
240
|
+
*/
|
|
241
|
+
export declare const LimitCheckResultSchema: z.ZodObject<{
|
|
242
|
+
/** Whether within all limits */
|
|
243
|
+
withinLimits: z.ZodBoolean;
|
|
244
|
+
/** List of violated limits */
|
|
245
|
+
violations: z.ZodArray<z.ZodString, "many">;
|
|
246
|
+
/** Current limits */
|
|
247
|
+
limits: z.ZodObject<{
|
|
248
|
+
maxTokensPerRequest: z.ZodNumber;
|
|
249
|
+
maxRequestsPerMinute: z.ZodNumber;
|
|
250
|
+
maxConcurrentExecutions: z.ZodNumber;
|
|
251
|
+
maxSessionDurationMs: z.ZodOptional<z.ZodNumber>;
|
|
252
|
+
}, "strip", z.ZodTypeAny, {
|
|
253
|
+
maxTokensPerRequest: number;
|
|
254
|
+
maxRequestsPerMinute: number;
|
|
255
|
+
maxConcurrentExecutions: number;
|
|
256
|
+
maxSessionDurationMs?: number | undefined;
|
|
257
|
+
}, {
|
|
258
|
+
maxTokensPerRequest: number;
|
|
259
|
+
maxRequestsPerMinute: number;
|
|
260
|
+
maxConcurrentExecutions: number;
|
|
261
|
+
maxSessionDurationMs?: number | undefined;
|
|
262
|
+
}>;
|
|
263
|
+
}, "strip", z.ZodTypeAny, {
|
|
264
|
+
withinLimits: boolean;
|
|
265
|
+
violations: string[];
|
|
266
|
+
limits: {
|
|
267
|
+
maxTokensPerRequest: number;
|
|
268
|
+
maxRequestsPerMinute: number;
|
|
269
|
+
maxConcurrentExecutions: number;
|
|
270
|
+
maxSessionDurationMs?: number | undefined;
|
|
271
|
+
};
|
|
272
|
+
}, {
|
|
273
|
+
withinLimits: boolean;
|
|
274
|
+
violations: string[];
|
|
275
|
+
limits: {
|
|
276
|
+
maxTokensPerRequest: number;
|
|
277
|
+
maxRequestsPerMinute: number;
|
|
278
|
+
maxConcurrentExecutions: number;
|
|
279
|
+
maxSessionDurationMs?: number | undefined;
|
|
280
|
+
};
|
|
281
|
+
}>;
|
|
282
|
+
export type LimitCheckResult = z.infer<typeof LimitCheckResultSchema>;
|
|
283
|
+
/**
|
|
284
|
+
* Agent policy error codes
|
|
285
|
+
*/
|
|
286
|
+
export declare const AgentPolicyErrorCodes: {
|
|
287
|
+
readonly POLICY_NOT_FOUND: "AGENT_POLICY_NOT_FOUND";
|
|
288
|
+
readonly ACCESS_DENIED: "AGENT_POLICY_ACCESS_DENIED";
|
|
289
|
+
readonly LIMIT_EXCEEDED: "AGENT_POLICY_LIMIT_EXCEEDED";
|
|
290
|
+
readonly DELEGATION_DENIED: "AGENT_POLICY_DELEGATION_DENIED";
|
|
291
|
+
readonly TOOL_DENIED: "AGENT_POLICY_TOOL_DENIED";
|
|
292
|
+
readonly PATH_DENIED: "AGENT_POLICY_PATH_DENIED";
|
|
293
|
+
readonly CAPABILITY_DENIED: "AGENT_POLICY_CAPABILITY_DENIED";
|
|
294
|
+
};
|
|
295
|
+
export type AgentPolicyErrorCode = (typeof AgentPolicyErrorCodes)[keyof typeof AgentPolicyErrorCodes];
|
|
296
|
+
/**
|
|
297
|
+
* Validates agent policy
|
|
298
|
+
*/
|
|
299
|
+
export declare function validateAgentPolicy(data: unknown): AgentPolicy;
|
|
300
|
+
/**
|
|
301
|
+
* Creates default agent policy (permissive)
|
|
302
|
+
*/
|
|
303
|
+
export declare function createDefaultAgentPolicy(agentId?: string): AgentPolicy;
|
|
304
|
+
/**
|
|
305
|
+
* Creates restrictive agent policy
|
|
306
|
+
*/
|
|
307
|
+
export declare function createRestrictiveAgentPolicy(policyId: string, agentId?: string): AgentPolicy;
|
|
308
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/guard/v1/schema.ts"],"names":[],"mappings":"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"}
|