@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,358 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Saga Pattern Contract V1
|
|
3
|
+
*
|
|
4
|
+
* Provides contracts for managing distributed transactions with compensation.
|
|
5
|
+
* Enables rollback of multi-step operations on failure.
|
|
6
|
+
*
|
|
7
|
+
* Invariants:
|
|
8
|
+
* - INV-SG-001: Compensations run in reverse order on failure
|
|
9
|
+
* - INV-SG-002: Required compensations must succeed
|
|
10
|
+
* - INV-SG-003: Saga state transitions are valid
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
/**
|
|
14
|
+
* Compensation action type
|
|
15
|
+
*/
|
|
16
|
+
export declare const CompensationActionTypeSchema: z.ZodEnum<["rollback", "notify", "log", "custom"]>;
|
|
17
|
+
export type CompensationActionType = z.infer<typeof CompensationActionTypeSchema>;
|
|
18
|
+
/**
|
|
19
|
+
* Compensation action definition
|
|
20
|
+
*/
|
|
21
|
+
export declare const CompensationActionSchema: z.ZodObject<{
|
|
22
|
+
/** Step this compensation is for */
|
|
23
|
+
stepId: z.ZodString;
|
|
24
|
+
/** Type of compensation action */
|
|
25
|
+
action: z.ZodEnum<["rollback", "notify", "log", "custom"]>;
|
|
26
|
+
/** Handler function name or agent ID */
|
|
27
|
+
handler: z.ZodString;
|
|
28
|
+
/** Timeout for compensation in ms */
|
|
29
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
30
|
+
/** Whether this compensation must succeed (INV-SG-002) */
|
|
31
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
32
|
+
/** Retry configuration for compensation */
|
|
33
|
+
retryCount: z.ZodDefault<z.ZodNumber>;
|
|
34
|
+
/** Additional configuration */
|
|
35
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
36
|
+
}, "strip", z.ZodTypeAny, {
|
|
37
|
+
timeout: number;
|
|
38
|
+
stepId: string;
|
|
39
|
+
required: boolean;
|
|
40
|
+
retryCount: number;
|
|
41
|
+
action: "custom" | "rollback" | "notify" | "log";
|
|
42
|
+
handler: string;
|
|
43
|
+
config?: Record<string, unknown> | undefined;
|
|
44
|
+
}, {
|
|
45
|
+
stepId: string;
|
|
46
|
+
action: "custom" | "rollback" | "notify" | "log";
|
|
47
|
+
handler: string;
|
|
48
|
+
timeout?: number | undefined;
|
|
49
|
+
config?: Record<string, unknown> | undefined;
|
|
50
|
+
required?: boolean | undefined;
|
|
51
|
+
retryCount?: number | undefined;
|
|
52
|
+
}>;
|
|
53
|
+
export type CompensationAction = z.infer<typeof CompensationActionSchema>;
|
|
54
|
+
/**
|
|
55
|
+
* Saga failure handling strategy
|
|
56
|
+
*/
|
|
57
|
+
export declare const SagaFailureStrategySchema: z.ZodEnum<["compensate", "pause", "continue"]>;
|
|
58
|
+
export type SagaFailureStrategy = z.infer<typeof SagaFailureStrategySchema>;
|
|
59
|
+
/**
|
|
60
|
+
* Compensation execution order
|
|
61
|
+
*/
|
|
62
|
+
export declare const CompensationOrderSchema: z.ZodEnum<["reverse", "parallel"]>;
|
|
63
|
+
export type CompensationOrder = z.infer<typeof CompensationOrderSchema>;
|
|
64
|
+
/**
|
|
65
|
+
* Saga definition
|
|
66
|
+
*/
|
|
67
|
+
export declare const SagaDefinitionSchema: z.ZodObject<{
|
|
68
|
+
/** Unique saga identifier */
|
|
69
|
+
sagaId: z.ZodString;
|
|
70
|
+
/** Associated workflow ID */
|
|
71
|
+
workflowId: z.ZodOptional<z.ZodString>;
|
|
72
|
+
/** Compensation actions for each step */
|
|
73
|
+
compensations: z.ZodArray<z.ZodObject<{
|
|
74
|
+
/** Step this compensation is for */
|
|
75
|
+
stepId: z.ZodString;
|
|
76
|
+
/** Type of compensation action */
|
|
77
|
+
action: z.ZodEnum<["rollback", "notify", "log", "custom"]>;
|
|
78
|
+
/** Handler function name or agent ID */
|
|
79
|
+
handler: z.ZodString;
|
|
80
|
+
/** Timeout for compensation in ms */
|
|
81
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
82
|
+
/** Whether this compensation must succeed (INV-SG-002) */
|
|
83
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
84
|
+
/** Retry configuration for compensation */
|
|
85
|
+
retryCount: z.ZodDefault<z.ZodNumber>;
|
|
86
|
+
/** Additional configuration */
|
|
87
|
+
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
88
|
+
}, "strip", z.ZodTypeAny, {
|
|
89
|
+
timeout: number;
|
|
90
|
+
stepId: string;
|
|
91
|
+
required: boolean;
|
|
92
|
+
retryCount: number;
|
|
93
|
+
action: "custom" | "rollback" | "notify" | "log";
|
|
94
|
+
handler: string;
|
|
95
|
+
config?: Record<string, unknown> | undefined;
|
|
96
|
+
}, {
|
|
97
|
+
stepId: string;
|
|
98
|
+
action: "custom" | "rollback" | "notify" | "log";
|
|
99
|
+
handler: string;
|
|
100
|
+
timeout?: number | undefined;
|
|
101
|
+
config?: Record<string, unknown> | undefined;
|
|
102
|
+
required?: boolean | undefined;
|
|
103
|
+
retryCount?: number | undefined;
|
|
104
|
+
}>, "many">;
|
|
105
|
+
/** What to do on step failure */
|
|
106
|
+
onFailure: z.ZodDefault<z.ZodEnum<["compensate", "pause", "continue"]>>;
|
|
107
|
+
/** Order to run compensations */
|
|
108
|
+
compensationOrder: z.ZodDefault<z.ZodEnum<["reverse", "parallel"]>>;
|
|
109
|
+
/** Saga description */
|
|
110
|
+
description: z.ZodOptional<z.ZodString>;
|
|
111
|
+
/** Version for definition tracking */
|
|
112
|
+
version: z.ZodOptional<z.ZodString>;
|
|
113
|
+
}, "strip", z.ZodTypeAny, {
|
|
114
|
+
onFailure: "continue" | "compensate" | "pause";
|
|
115
|
+
sagaId: string;
|
|
116
|
+
compensations: {
|
|
117
|
+
timeout: number;
|
|
118
|
+
stepId: string;
|
|
119
|
+
required: boolean;
|
|
120
|
+
retryCount: number;
|
|
121
|
+
action: "custom" | "rollback" | "notify" | "log";
|
|
122
|
+
handler: string;
|
|
123
|
+
config?: Record<string, unknown> | undefined;
|
|
124
|
+
}[];
|
|
125
|
+
compensationOrder: "reverse" | "parallel";
|
|
126
|
+
workflowId?: string | undefined;
|
|
127
|
+
version?: string | undefined;
|
|
128
|
+
description?: string | undefined;
|
|
129
|
+
}, {
|
|
130
|
+
sagaId: string;
|
|
131
|
+
compensations: {
|
|
132
|
+
stepId: string;
|
|
133
|
+
action: "custom" | "rollback" | "notify" | "log";
|
|
134
|
+
handler: string;
|
|
135
|
+
timeout?: number | undefined;
|
|
136
|
+
config?: Record<string, unknown> | undefined;
|
|
137
|
+
required?: boolean | undefined;
|
|
138
|
+
retryCount?: number | undefined;
|
|
139
|
+
}[];
|
|
140
|
+
workflowId?: string | undefined;
|
|
141
|
+
version?: string | undefined;
|
|
142
|
+
description?: string | undefined;
|
|
143
|
+
onFailure?: "continue" | "compensate" | "pause" | undefined;
|
|
144
|
+
compensationOrder?: "reverse" | "parallel" | undefined;
|
|
145
|
+
}>;
|
|
146
|
+
export type SagaDefinition = z.infer<typeof SagaDefinitionSchema>;
|
|
147
|
+
/**
|
|
148
|
+
* Saga execution status
|
|
149
|
+
*/
|
|
150
|
+
export declare const SagaStatusSchema: z.ZodEnum<["running", "completed", "compensating", "compensated", "failed", "paused"]>;
|
|
151
|
+
export type SagaStatus = z.infer<typeof SagaStatusSchema>;
|
|
152
|
+
/**
|
|
153
|
+
* Compensation error record
|
|
154
|
+
*/
|
|
155
|
+
export declare const CompensationErrorSchema: z.ZodObject<{
|
|
156
|
+
stepId: z.ZodString;
|
|
157
|
+
error: z.ZodString;
|
|
158
|
+
timestamp: z.ZodString;
|
|
159
|
+
retryCount: z.ZodNumber;
|
|
160
|
+
}, "strip", z.ZodTypeAny, {
|
|
161
|
+
stepId: string;
|
|
162
|
+
timestamp: string;
|
|
163
|
+
error: string;
|
|
164
|
+
retryCount: number;
|
|
165
|
+
}, {
|
|
166
|
+
stepId: string;
|
|
167
|
+
timestamp: string;
|
|
168
|
+
error: string;
|
|
169
|
+
retryCount: number;
|
|
170
|
+
}>;
|
|
171
|
+
export type CompensationError = z.infer<typeof CompensationErrorSchema>;
|
|
172
|
+
/**
|
|
173
|
+
* Saga execution state
|
|
174
|
+
*/
|
|
175
|
+
export declare const SagaStateSchema: z.ZodObject<{
|
|
176
|
+
/** Saga definition ID */
|
|
177
|
+
sagaId: z.ZodString;
|
|
178
|
+
/** Unique execution ID */
|
|
179
|
+
executionId: z.ZodString;
|
|
180
|
+
/** Current execution status */
|
|
181
|
+
status: z.ZodEnum<["running", "completed", "compensating", "compensated", "failed", "paused"]>;
|
|
182
|
+
/** Steps that completed successfully */
|
|
183
|
+
completedSteps: z.ZodArray<z.ZodString, "many">;
|
|
184
|
+
/** Step that failed (if applicable) */
|
|
185
|
+
failedStep: z.ZodOptional<z.ZodString>;
|
|
186
|
+
/** Failure reason */
|
|
187
|
+
failureReason: z.ZodOptional<z.ZodString>;
|
|
188
|
+
/** Steps that have been compensated */
|
|
189
|
+
compensatedSteps: z.ZodArray<z.ZodString, "many">;
|
|
190
|
+
/** Errors from compensation attempts */
|
|
191
|
+
compensationErrors: z.ZodArray<z.ZodObject<{
|
|
192
|
+
stepId: z.ZodString;
|
|
193
|
+
error: z.ZodString;
|
|
194
|
+
timestamp: z.ZodString;
|
|
195
|
+
retryCount: z.ZodNumber;
|
|
196
|
+
}, "strip", z.ZodTypeAny, {
|
|
197
|
+
stepId: string;
|
|
198
|
+
timestamp: string;
|
|
199
|
+
error: string;
|
|
200
|
+
retryCount: number;
|
|
201
|
+
}, {
|
|
202
|
+
stepId: string;
|
|
203
|
+
timestamp: string;
|
|
204
|
+
error: string;
|
|
205
|
+
retryCount: number;
|
|
206
|
+
}>, "many">;
|
|
207
|
+
/** Execution start time */
|
|
208
|
+
startedAt: z.ZodString;
|
|
209
|
+
/** Execution end time */
|
|
210
|
+
completedAt: z.ZodOptional<z.ZodString>;
|
|
211
|
+
/** Additional context */
|
|
212
|
+
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
213
|
+
/** Correlation ID for tracing */
|
|
214
|
+
correlationId: z.ZodOptional<z.ZodString>;
|
|
215
|
+
}, "strip", z.ZodTypeAny, {
|
|
216
|
+
status: "completed" | "failed" | "running" | "paused" | "compensating" | "compensated";
|
|
217
|
+
executionId: string;
|
|
218
|
+
startedAt: string;
|
|
219
|
+
sagaId: string;
|
|
220
|
+
completedSteps: string[];
|
|
221
|
+
compensatedSteps: string[];
|
|
222
|
+
compensationErrors: {
|
|
223
|
+
stepId: string;
|
|
224
|
+
timestamp: string;
|
|
225
|
+
error: string;
|
|
226
|
+
retryCount: number;
|
|
227
|
+
}[];
|
|
228
|
+
context?: Record<string, unknown> | undefined;
|
|
229
|
+
completedAt?: string | undefined;
|
|
230
|
+
correlationId?: string | undefined;
|
|
231
|
+
failedStep?: string | undefined;
|
|
232
|
+
failureReason?: string | undefined;
|
|
233
|
+
}, {
|
|
234
|
+
status: "completed" | "failed" | "running" | "paused" | "compensating" | "compensated";
|
|
235
|
+
executionId: string;
|
|
236
|
+
startedAt: string;
|
|
237
|
+
sagaId: string;
|
|
238
|
+
completedSteps: string[];
|
|
239
|
+
compensatedSteps: string[];
|
|
240
|
+
compensationErrors: {
|
|
241
|
+
stepId: string;
|
|
242
|
+
timestamp: string;
|
|
243
|
+
error: string;
|
|
244
|
+
retryCount: number;
|
|
245
|
+
}[];
|
|
246
|
+
context?: Record<string, unknown> | undefined;
|
|
247
|
+
completedAt?: string | undefined;
|
|
248
|
+
correlationId?: string | undefined;
|
|
249
|
+
failedStep?: string | undefined;
|
|
250
|
+
failureReason?: string | undefined;
|
|
251
|
+
}>;
|
|
252
|
+
export type SagaState = z.infer<typeof SagaStateSchema>;
|
|
253
|
+
/**
|
|
254
|
+
* Saga execution result
|
|
255
|
+
*/
|
|
256
|
+
export declare const SagaResultSchema: z.ZodObject<{
|
|
257
|
+
/** Whether saga completed successfully */
|
|
258
|
+
success: z.ZodBoolean;
|
|
259
|
+
/** Execution ID */
|
|
260
|
+
executionId: z.ZodString;
|
|
261
|
+
/** Step results (if successful) */
|
|
262
|
+
results: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
|
|
263
|
+
/** Error message (if failed) */
|
|
264
|
+
error: z.ZodOptional<z.ZodString>;
|
|
265
|
+
/** Whether compensations ran */
|
|
266
|
+
compensated: z.ZodOptional<z.ZodBoolean>;
|
|
267
|
+
/** Duration in ms */
|
|
268
|
+
durationMs: z.ZodNumber;
|
|
269
|
+
/** Final state */
|
|
270
|
+
finalStatus: z.ZodEnum<["running", "completed", "compensating", "compensated", "failed", "paused"]>;
|
|
271
|
+
}, "strip", z.ZodTypeAny, {
|
|
272
|
+
durationMs: number;
|
|
273
|
+
executionId: string;
|
|
274
|
+
success: boolean;
|
|
275
|
+
finalStatus: "completed" | "failed" | "running" | "paused" | "compensating" | "compensated";
|
|
276
|
+
error?: string | undefined;
|
|
277
|
+
results?: unknown[] | undefined;
|
|
278
|
+
compensated?: boolean | undefined;
|
|
279
|
+
}, {
|
|
280
|
+
durationMs: number;
|
|
281
|
+
executionId: string;
|
|
282
|
+
success: boolean;
|
|
283
|
+
finalStatus: "completed" | "failed" | "running" | "paused" | "compensating" | "compensated";
|
|
284
|
+
error?: string | undefined;
|
|
285
|
+
results?: unknown[] | undefined;
|
|
286
|
+
compensated?: boolean | undefined;
|
|
287
|
+
}>;
|
|
288
|
+
export type SagaResult = z.infer<typeof SagaResultSchema>;
|
|
289
|
+
/**
|
|
290
|
+
* Saga step definition for execution
|
|
291
|
+
*/
|
|
292
|
+
export declare const SagaStepSchema: z.ZodObject<{
|
|
293
|
+
/** Step identifier */
|
|
294
|
+
stepId: z.ZodString;
|
|
295
|
+
/** Step name for display */
|
|
296
|
+
name: z.ZodOptional<z.ZodString>;
|
|
297
|
+
/** Step timeout in ms */
|
|
298
|
+
timeout: z.ZodOptional<z.ZodNumber>;
|
|
299
|
+
}, "strip", z.ZodTypeAny, {
|
|
300
|
+
stepId: string;
|
|
301
|
+
timeout?: number | undefined;
|
|
302
|
+
name?: string | undefined;
|
|
303
|
+
}, {
|
|
304
|
+
stepId: string;
|
|
305
|
+
timeout?: number | undefined;
|
|
306
|
+
name?: string | undefined;
|
|
307
|
+
}>;
|
|
308
|
+
export type SagaStep = z.infer<typeof SagaStepSchema>;
|
|
309
|
+
/**
|
|
310
|
+
* Saga context for execution
|
|
311
|
+
*/
|
|
312
|
+
export declare const SagaContextSchema: z.ZodObject<{
|
|
313
|
+
/** Correlation ID for tracing */
|
|
314
|
+
correlationId: z.ZodString;
|
|
315
|
+
/** Additional context data */
|
|
316
|
+
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
317
|
+
}, "strip", z.ZodTypeAny, {
|
|
318
|
+
correlationId: string;
|
|
319
|
+
data?: Record<string, unknown> | undefined;
|
|
320
|
+
}, {
|
|
321
|
+
correlationId: string;
|
|
322
|
+
data?: Record<string, unknown> | undefined;
|
|
323
|
+
}>;
|
|
324
|
+
export type SagaContext = z.infer<typeof SagaContextSchema>;
|
|
325
|
+
/**
|
|
326
|
+
* Saga error codes
|
|
327
|
+
*/
|
|
328
|
+
export declare const SagaErrorCodes: {
|
|
329
|
+
readonly SAGA_NOT_FOUND: "SAGA_NOT_FOUND";
|
|
330
|
+
readonly SAGA_ALREADY_RUNNING: "SAGA_ALREADY_RUNNING";
|
|
331
|
+
readonly STEP_FAILED: "SAGA_STEP_FAILED";
|
|
332
|
+
readonly COMPENSATION_FAILED: "SAGA_COMPENSATION_FAILED";
|
|
333
|
+
readonly REQUIRED_COMPENSATION_FAILED: "SAGA_REQUIRED_COMPENSATION_FAILED";
|
|
334
|
+
readonly INVALID_STATE_TRANSITION: "SAGA_INVALID_STATE_TRANSITION";
|
|
335
|
+
readonly TIMEOUT: "SAGA_TIMEOUT";
|
|
336
|
+
};
|
|
337
|
+
export type SagaErrorCode = (typeof SagaErrorCodes)[keyof typeof SagaErrorCodes];
|
|
338
|
+
/**
|
|
339
|
+
* Valid saga state transitions
|
|
340
|
+
*/
|
|
341
|
+
export declare const SAGA_STATE_TRANSITIONS: Record<SagaStatus, SagaStatus[]>;
|
|
342
|
+
/**
|
|
343
|
+
* Validates saga definition
|
|
344
|
+
*/
|
|
345
|
+
export declare function validateSagaDefinition(data: unknown): SagaDefinition;
|
|
346
|
+
/**
|
|
347
|
+
* Validates saga state
|
|
348
|
+
*/
|
|
349
|
+
export declare function validateSagaState(data: unknown): SagaState;
|
|
350
|
+
/**
|
|
351
|
+
* Checks if state transition is valid
|
|
352
|
+
*/
|
|
353
|
+
export declare function isValidSagaTransition(from: SagaStatus, to: SagaStatus): boolean;
|
|
354
|
+
/**
|
|
355
|
+
* Creates initial saga state
|
|
356
|
+
*/
|
|
357
|
+
export declare function createInitialSagaState(sagaId: string, correlationId?: string): SagaState;
|
|
358
|
+
//# sourceMappingURL=saga.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saga.d.ts","sourceRoot":"","sources":["../../../src/cross-cutting/v1/saga.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Saga Pattern Contract V1
|
|
3
|
+
*
|
|
4
|
+
* Provides contracts for managing distributed transactions with compensation.
|
|
5
|
+
* Enables rollback of multi-step operations on failure.
|
|
6
|
+
*
|
|
7
|
+
* Invariants:
|
|
8
|
+
* - INV-SG-001: Compensations run in reverse order on failure
|
|
9
|
+
* - INV-SG-002: Required compensations must succeed
|
|
10
|
+
* - INV-SG-003: Saga state transitions are valid
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
/**
|
|
14
|
+
* Compensation action type
|
|
15
|
+
*/
|
|
16
|
+
export const CompensationActionTypeSchema = z.enum([
|
|
17
|
+
'rollback', // Undo the step's changes
|
|
18
|
+
'notify', // Send notification about failure
|
|
19
|
+
'log', // Log the failure for investigation
|
|
20
|
+
'custom', // Custom compensation handler
|
|
21
|
+
]);
|
|
22
|
+
/**
|
|
23
|
+
* Compensation action definition
|
|
24
|
+
*/
|
|
25
|
+
export const CompensationActionSchema = z.object({
|
|
26
|
+
/** Step this compensation is for */
|
|
27
|
+
stepId: z.string(),
|
|
28
|
+
/** Type of compensation action */
|
|
29
|
+
action: CompensationActionTypeSchema,
|
|
30
|
+
/** Handler function name or agent ID */
|
|
31
|
+
handler: z.string(),
|
|
32
|
+
/** Timeout for compensation in ms */
|
|
33
|
+
timeout: z.number().int().min(1000).max(300000).default(30000),
|
|
34
|
+
/** Whether this compensation must succeed (INV-SG-002) */
|
|
35
|
+
required: z.boolean().default(true),
|
|
36
|
+
/** Retry configuration for compensation */
|
|
37
|
+
retryCount: z.number().int().min(0).max(3).default(1),
|
|
38
|
+
/** Additional configuration */
|
|
39
|
+
config: z.record(z.string(), z.unknown()).optional(),
|
|
40
|
+
});
|
|
41
|
+
/**
|
|
42
|
+
* Saga failure handling strategy
|
|
43
|
+
*/
|
|
44
|
+
export const SagaFailureStrategySchema = z.enum([
|
|
45
|
+
'compensate', // Run compensations in reverse order
|
|
46
|
+
'pause', // Pause for manual intervention
|
|
47
|
+
'continue', // Continue without compensation (log only)
|
|
48
|
+
]);
|
|
49
|
+
/**
|
|
50
|
+
* Compensation execution order
|
|
51
|
+
*/
|
|
52
|
+
export const CompensationOrderSchema = z.enum([
|
|
53
|
+
'reverse', // Execute in reverse step order (INV-SG-001)
|
|
54
|
+
'parallel', // Execute all compensations in parallel
|
|
55
|
+
]);
|
|
56
|
+
/**
|
|
57
|
+
* Saga definition
|
|
58
|
+
*/
|
|
59
|
+
export const SagaDefinitionSchema = z.object({
|
|
60
|
+
/** Unique saga identifier */
|
|
61
|
+
sagaId: z.string(),
|
|
62
|
+
/** Associated workflow ID */
|
|
63
|
+
workflowId: z.string().optional(),
|
|
64
|
+
/** Compensation actions for each step */
|
|
65
|
+
compensations: z.array(CompensationActionSchema),
|
|
66
|
+
/** What to do on step failure */
|
|
67
|
+
onFailure: SagaFailureStrategySchema.default('compensate'),
|
|
68
|
+
/** Order to run compensations */
|
|
69
|
+
compensationOrder: CompensationOrderSchema.default('reverse'),
|
|
70
|
+
/** Saga description */
|
|
71
|
+
description: z.string().optional(),
|
|
72
|
+
/** Version for definition tracking */
|
|
73
|
+
version: z.string().optional(),
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* Saga execution status
|
|
77
|
+
*/
|
|
78
|
+
export const SagaStatusSchema = z.enum([
|
|
79
|
+
'running', // Saga is executing steps
|
|
80
|
+
'completed', // All steps completed successfully
|
|
81
|
+
'compensating', // Running compensations
|
|
82
|
+
'compensated', // Compensations completed
|
|
83
|
+
'failed', // Saga or compensation failed
|
|
84
|
+
'paused', // Paused for intervention
|
|
85
|
+
]);
|
|
86
|
+
/**
|
|
87
|
+
* Compensation error record
|
|
88
|
+
*/
|
|
89
|
+
export const CompensationErrorSchema = z.object({
|
|
90
|
+
stepId: z.string(),
|
|
91
|
+
error: z.string(),
|
|
92
|
+
timestamp: z.string().datetime(),
|
|
93
|
+
retryCount: z.number().int().min(0),
|
|
94
|
+
});
|
|
95
|
+
/**
|
|
96
|
+
* Saga execution state
|
|
97
|
+
*/
|
|
98
|
+
export const SagaStateSchema = z.object({
|
|
99
|
+
/** Saga definition ID */
|
|
100
|
+
sagaId: z.string(),
|
|
101
|
+
/** Unique execution ID */
|
|
102
|
+
executionId: z.string().uuid(),
|
|
103
|
+
/** Current execution status */
|
|
104
|
+
status: SagaStatusSchema,
|
|
105
|
+
/** Steps that completed successfully */
|
|
106
|
+
completedSteps: z.array(z.string()),
|
|
107
|
+
/** Step that failed (if applicable) */
|
|
108
|
+
failedStep: z.string().optional(),
|
|
109
|
+
/** Failure reason */
|
|
110
|
+
failureReason: z.string().optional(),
|
|
111
|
+
/** Steps that have been compensated */
|
|
112
|
+
compensatedSteps: z.array(z.string()),
|
|
113
|
+
/** Errors from compensation attempts */
|
|
114
|
+
compensationErrors: z.array(CompensationErrorSchema),
|
|
115
|
+
/** Execution start time */
|
|
116
|
+
startedAt: z.string().datetime(),
|
|
117
|
+
/** Execution end time */
|
|
118
|
+
completedAt: z.string().datetime().optional(),
|
|
119
|
+
/** Additional context */
|
|
120
|
+
context: z.record(z.string(), z.unknown()).optional(),
|
|
121
|
+
/** Correlation ID for tracing */
|
|
122
|
+
correlationId: z.string().optional(),
|
|
123
|
+
});
|
|
124
|
+
/**
|
|
125
|
+
* Saga execution result
|
|
126
|
+
*/
|
|
127
|
+
export const SagaResultSchema = z.object({
|
|
128
|
+
/** Whether saga completed successfully */
|
|
129
|
+
success: z.boolean(),
|
|
130
|
+
/** Execution ID */
|
|
131
|
+
executionId: z.string().uuid(),
|
|
132
|
+
/** Step results (if successful) */
|
|
133
|
+
results: z.array(z.unknown()).optional(),
|
|
134
|
+
/** Error message (if failed) */
|
|
135
|
+
error: z.string().optional(),
|
|
136
|
+
/** Whether compensations ran */
|
|
137
|
+
compensated: z.boolean().optional(),
|
|
138
|
+
/** Duration in ms */
|
|
139
|
+
durationMs: z.number().int().min(0),
|
|
140
|
+
/** Final state */
|
|
141
|
+
finalStatus: SagaStatusSchema,
|
|
142
|
+
});
|
|
143
|
+
/**
|
|
144
|
+
* Saga step definition for execution
|
|
145
|
+
*/
|
|
146
|
+
export const SagaStepSchema = z.object({
|
|
147
|
+
/** Step identifier */
|
|
148
|
+
stepId: z.string(),
|
|
149
|
+
/** Step name for display */
|
|
150
|
+
name: z.string().optional(),
|
|
151
|
+
/** Step timeout in ms */
|
|
152
|
+
timeout: z.number().int().min(1000).max(600000).optional(),
|
|
153
|
+
});
|
|
154
|
+
/**
|
|
155
|
+
* Saga context for execution
|
|
156
|
+
*/
|
|
157
|
+
export const SagaContextSchema = z.object({
|
|
158
|
+
/** Correlation ID for tracing */
|
|
159
|
+
correlationId: z.string(),
|
|
160
|
+
/** Additional context data */
|
|
161
|
+
data: z.record(z.string(), z.unknown()).optional(),
|
|
162
|
+
});
|
|
163
|
+
/**
|
|
164
|
+
* Saga error codes
|
|
165
|
+
*/
|
|
166
|
+
export const SagaErrorCodes = {
|
|
167
|
+
SAGA_NOT_FOUND: 'SAGA_NOT_FOUND',
|
|
168
|
+
SAGA_ALREADY_RUNNING: 'SAGA_ALREADY_RUNNING',
|
|
169
|
+
STEP_FAILED: 'SAGA_STEP_FAILED',
|
|
170
|
+
COMPENSATION_FAILED: 'SAGA_COMPENSATION_FAILED',
|
|
171
|
+
REQUIRED_COMPENSATION_FAILED: 'SAGA_REQUIRED_COMPENSATION_FAILED',
|
|
172
|
+
INVALID_STATE_TRANSITION: 'SAGA_INVALID_STATE_TRANSITION',
|
|
173
|
+
TIMEOUT: 'SAGA_TIMEOUT',
|
|
174
|
+
};
|
|
175
|
+
/**
|
|
176
|
+
* Valid saga state transitions
|
|
177
|
+
*/
|
|
178
|
+
export const SAGA_STATE_TRANSITIONS = {
|
|
179
|
+
running: ['completed', 'compensating', 'paused', 'failed'],
|
|
180
|
+
completed: [],
|
|
181
|
+
compensating: ['compensated', 'failed', 'paused'],
|
|
182
|
+
compensated: [],
|
|
183
|
+
failed: [],
|
|
184
|
+
paused: ['running', 'compensating', 'failed'],
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* Validates saga definition
|
|
188
|
+
*/
|
|
189
|
+
export function validateSagaDefinition(data) {
|
|
190
|
+
return SagaDefinitionSchema.parse(data);
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Validates saga state
|
|
194
|
+
*/
|
|
195
|
+
export function validateSagaState(data) {
|
|
196
|
+
return SagaStateSchema.parse(data);
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Checks if state transition is valid
|
|
200
|
+
*/
|
|
201
|
+
export function isValidSagaTransition(from, to) {
|
|
202
|
+
return SAGA_STATE_TRANSITIONS[from].includes(to);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Creates initial saga state
|
|
206
|
+
*/
|
|
207
|
+
export function createInitialSagaState(sagaId, correlationId) {
|
|
208
|
+
return {
|
|
209
|
+
sagaId,
|
|
210
|
+
executionId: crypto.randomUUID(),
|
|
211
|
+
status: 'running',
|
|
212
|
+
completedSteps: [],
|
|
213
|
+
compensatedSteps: [],
|
|
214
|
+
compensationErrors: [],
|
|
215
|
+
startedAt: new Date().toISOString(),
|
|
216
|
+
correlationId,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=saga.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saga.js","sourceRoot":"","sources":["../../../src/cross-cutting/v1/saga.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Design Contracts v1
|
|
3
|
+
*/
|
|
4
|
+
export { DesignTypeSchema, DesignFormatSchema, DesignStatusSchema, DesignArtifactSchema, HttpMethodSchema, ApiEndpointSchema, ApiDesignRequestSchema, ApiDesignResultSchema, ComponentTypeSchema, ComponentDesignRequestSchema, ComponentDesignResultSchema, SchemaFieldTypeSchema, SchemaFieldSchema, SchemaDesignRequestSchema, SchemaDesignResultSchema, ArchitecturePatternSchema, ArchitectureComponentSchema, ArchitectureDesignRequestSchema, ArchitectureDesignResultSchema, DesignErrorCode, validateApiDesignRequest, validateComponentDesignRequest, validateSchemaDesignRequest, validateArchitectureDesignRequest, safeValidateApiDesignRequest, type DesignType, type DesignFormat, type DesignStatus, type DesignArtifact, type HttpMethod, type ApiEndpoint, type ApiDesignRequest, type ApiDesignResult, type ComponentType, type ComponentDesignRequest, type ComponentDesignResult, type SchemaFieldType, type SchemaField, type SchemaDesignRequest, type SchemaDesignResult, type ArchitecturePattern, type ArchitectureComponent, type ArchitectureDesignRequest, type ArchitectureDesignResult, } from './schema.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/design/v1/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,4BAA4B,EAC5B,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,eAAe,EACf,wBAAwB,EACxB,8BAA8B,EAC9B,2BAA2B,EAC3B,iCAAiC,EACjC,4BAA4B,EAC5B,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Design Contracts v1
|
|
3
|
+
*/
|
|
4
|
+
export { DesignTypeSchema, DesignFormatSchema, DesignStatusSchema, DesignArtifactSchema, HttpMethodSchema, ApiEndpointSchema, ApiDesignRequestSchema, ApiDesignResultSchema, ComponentTypeSchema, ComponentDesignRequestSchema, ComponentDesignResultSchema, SchemaFieldTypeSchema, SchemaFieldSchema, SchemaDesignRequestSchema, SchemaDesignResultSchema, ArchitecturePatternSchema, ArchitectureComponentSchema, ArchitectureDesignRequestSchema, ArchitectureDesignResultSchema, DesignErrorCode, validateApiDesignRequest, validateComponentDesignRequest, validateSchemaDesignRequest, validateArchitectureDesignRequest, safeValidateApiDesignRequest, } from './schema.js';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/design/v1/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,4BAA4B,EAC5B,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,eAAe,EACf,wBAAwB,EACxB,8BAA8B,EAC9B,2BAA2B,EAC3B,iCAAiC,EACjC,4BAA4B,GAoB7B,MAAM,aAAa,CAAC"}
|