@xemahq/platform-common 0.1.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 +201 -0
- package/README.md +64 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +74 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/advisory-lock.d.ts +9 -0
- package/dist/lib/advisory-lock.d.ts.map +1 -0
- package/dist/lib/advisory-lock.js +25 -0
- package/dist/lib/advisory-lock.js.map +1 -0
- package/dist/lib/agent-session.types.d.ts +171 -0
- package/dist/lib/agent-session.types.d.ts.map +1 -0
- package/dist/lib/agent-session.types.js +156 -0
- package/dist/lib/agent-session.types.js.map +1 -0
- package/dist/lib/approval-mode.d.ts +9 -0
- package/dist/lib/approval-mode.d.ts.map +1 -0
- package/dist/lib/approval-mode.js +27 -0
- package/dist/lib/approval-mode.js.map +1 -0
- package/dist/lib/briefcase/index.d.ts +18 -0
- package/dist/lib/briefcase/index.d.ts.map +1 -0
- package/dist/lib/briefcase/index.js +72 -0
- package/dist/lib/briefcase/index.js.map +1 -0
- package/dist/lib/deliverable-output-contract.d.ts +87 -0
- package/dist/lib/deliverable-output-contract.d.ts.map +1 -0
- package/dist/lib/deliverable-output-contract.js +119 -0
- package/dist/lib/deliverable-output-contract.js.map +1 -0
- package/dist/lib/derive-required-workspace-slots.d.ts +12 -0
- package/dist/lib/derive-required-workspace-slots.d.ts.map +1 -0
- package/dist/lib/derive-required-workspace-slots.js +51 -0
- package/dist/lib/derive-required-workspace-slots.js.map +1 -0
- package/dist/lib/encryption.d.ts +5 -0
- package/dist/lib/encryption.d.ts.map +1 -0
- package/dist/lib/encryption.js +40 -0
- package/dist/lib/encryption.js.map +1 -0
- package/dist/lib/enums/artifact-versioning-mode.d.ts +6 -0
- package/dist/lib/enums/artifact-versioning-mode.d.ts.map +1 -0
- package/dist/lib/enums/artifact-versioning-mode.js +10 -0
- package/dist/lib/enums/artifact-versioning-mode.js.map +1 -0
- package/dist/lib/enums/index.d.ts +5 -0
- package/dist/lib/enums/index.d.ts.map +1 -0
- package/dist/lib/enums/index.js +21 -0
- package/dist/lib/enums/index.js.map +1 -0
- package/dist/lib/enums/llm-gateway.d.ts +19 -0
- package/dist/lib/enums/llm-gateway.d.ts.map +1 -0
- package/dist/lib/enums/llm-gateway.js +51 -0
- package/dist/lib/enums/llm-gateway.js.map +1 -0
- package/dist/lib/enums/scope-source.d.ts +24 -0
- package/dist/lib/enums/scope-source.d.ts.map +1 -0
- package/dist/lib/enums/scope-source.js +73 -0
- package/dist/lib/enums/scope-source.js.map +1 -0
- package/dist/lib/enums/webapp-studio.d.ts +20 -0
- package/dist/lib/enums/webapp-studio.d.ts.map +1 -0
- package/dist/lib/enums/webapp-studio.js +27 -0
- package/dist/lib/enums/webapp-studio.js.map +1 -0
- package/dist/lib/errors/pipeline-errors.d.ts +182 -0
- package/dist/lib/errors/pipeline-errors.d.ts.map +1 -0
- package/dist/lib/errors/pipeline-errors.js +323 -0
- package/dist/lib/errors/pipeline-errors.js.map +1 -0
- package/dist/lib/escape-for-prompt.d.ts +3 -0
- package/dist/lib/escape-for-prompt.d.ts.map +1 -0
- package/dist/lib/escape-for-prompt.js +28 -0
- package/dist/lib/escape-for-prompt.js.map +1 -0
- package/dist/lib/file-share-token.d.ts +25 -0
- package/dist/lib/file-share-token.d.ts.map +1 -0
- package/dist/lib/file-share-token.js +90 -0
- package/dist/lib/file-share-token.js.map +1 -0
- package/dist/lib/integration-webhooks/adapter-key.enum.d.ts +8 -0
- package/dist/lib/integration-webhooks/adapter-key.enum.d.ts.map +1 -0
- package/dist/lib/integration-webhooks/adapter-key.enum.js +12 -0
- package/dist/lib/integration-webhooks/adapter-key.enum.js.map +1 -0
- package/dist/lib/integration-webhooks/index.d.ts +5 -0
- package/dist/lib/integration-webhooks/index.d.ts.map +1 -0
- package/dist/lib/integration-webhooks/index.js +21 -0
- package/dist/lib/integration-webhooks/index.js.map +1 -0
- package/dist/lib/integration-webhooks/integration-provider.enum.d.ts +26 -0
- package/dist/lib/integration-webhooks/integration-provider.enum.d.ts.map +1 -0
- package/dist/lib/integration-webhooks/integration-provider.enum.js +30 -0
- package/dist/lib/integration-webhooks/integration-provider.enum.js.map +1 -0
- package/dist/lib/integration-webhooks/routes.d.ts +3 -0
- package/dist/lib/integration-webhooks/routes.d.ts.map +1 -0
- package/dist/lib/integration-webhooks/routes.js +6 -0
- package/dist/lib/integration-webhooks/routes.js.map +1 -0
- package/dist/lib/integration-webhooks/webhook-entity-kind.enum.d.ts +12 -0
- package/dist/lib/integration-webhooks/webhook-entity-kind.enum.d.ts.map +1 -0
- package/dist/lib/integration-webhooks/webhook-entity-kind.enum.js +16 -0
- package/dist/lib/integration-webhooks/webhook-entity-kind.enum.js.map +1 -0
- package/dist/lib/interaction-widgets/factories.d.ts +83 -0
- package/dist/lib/interaction-widgets/factories.d.ts.map +1 -0
- package/dist/lib/interaction-widgets/factories.js +173 -0
- package/dist/lib/interaction-widgets/factories.js.map +1 -0
- package/dist/lib/interaction-widgets/index.d.ts +4 -0
- package/dist/lib/interaction-widgets/index.d.ts.map +1 -0
- package/dist/lib/interaction-widgets/index.js +20 -0
- package/dist/lib/interaction-widgets/index.js.map +1 -0
- package/dist/lib/interaction-widgets/validation.d.ts +10 -0
- package/dist/lib/interaction-widgets/validation.d.ts.map +1 -0
- package/dist/lib/interaction-widgets/validation.js +214 -0
- package/dist/lib/interaction-widgets/validation.js.map +1 -0
- package/dist/lib/interaction-widgets/widget-types.d.ts +163 -0
- package/dist/lib/interaction-widgets/widget-types.d.ts.map +1 -0
- package/dist/lib/interaction-widgets/widget-types.js +22 -0
- package/dist/lib/interaction-widgets/widget-types.js.map +1 -0
- package/dist/lib/interactive-workspace-layout.d.ts +25 -0
- package/dist/lib/interactive-workspace-layout.d.ts.map +1 -0
- package/dist/lib/interactive-workspace-layout.js +56 -0
- package/dist/lib/interactive-workspace-layout.js.map +1 -0
- package/dist/lib/json-extraction.d.ts +2 -0
- package/dist/lib/json-extraction.d.ts.map +1 -0
- package/dist/lib/json-extraction.js +81 -0
- package/dist/lib/json-extraction.js.map +1 -0
- package/dist/lib/llm-stream/anthropic-adapter.d.ts +25 -0
- package/dist/lib/llm-stream/anthropic-adapter.d.ts.map +1 -0
- package/dist/lib/llm-stream/anthropic-adapter.js +278 -0
- package/dist/lib/llm-stream/anthropic-adapter.js.map +1 -0
- package/dist/lib/llm-stream/compaction.d.ts +16 -0
- package/dist/lib/llm-stream/compaction.d.ts.map +1 -0
- package/dist/lib/llm-stream/compaction.js +82 -0
- package/dist/lib/llm-stream/compaction.js.map +1 -0
- package/dist/lib/llm-stream/consume-stream.d.ts +17 -0
- package/dist/lib/llm-stream/consume-stream.d.ts.map +1 -0
- package/dist/lib/llm-stream/consume-stream.js +138 -0
- package/dist/lib/llm-stream/consume-stream.js.map +1 -0
- package/dist/lib/llm-stream/index.d.ts +6 -0
- package/dist/lib/llm-stream/index.d.ts.map +1 -0
- package/dist/lib/llm-stream/index.js +22 -0
- package/dist/lib/llm-stream/index.js.map +1 -0
- package/dist/lib/llm-stream/progress.d.ts +17 -0
- package/dist/lib/llm-stream/progress.d.ts.map +1 -0
- package/dist/lib/llm-stream/progress.js +12 -0
- package/dist/lib/llm-stream/progress.js.map +1 -0
- package/dist/lib/llm-stream/types.d.ts +56 -0
- package/dist/lib/llm-stream/types.d.ts.map +1 -0
- package/dist/lib/llm-stream/types.js +3 -0
- package/dist/lib/llm-stream/types.js.map +1 -0
- package/dist/lib/llm-stream-observer.d.ts +27 -0
- package/dist/lib/llm-stream-observer.d.ts.map +1 -0
- package/dist/lib/llm-stream-observer.js +55 -0
- package/dist/lib/llm-stream-observer.js.map +1 -0
- package/dist/lib/manifest/index.d.ts +5 -0
- package/dist/lib/manifest/index.d.ts.map +1 -0
- package/dist/lib/manifest/index.js +21 -0
- package/dist/lib/manifest/index.js.map +1 -0
- package/dist/lib/manifest/manifest.enums.d.ts +55 -0
- package/dist/lib/manifest/manifest.enums.d.ts.map +1 -0
- package/dist/lib/manifest/manifest.enums.js +278 -0
- package/dist/lib/manifest/manifest.enums.js.map +1 -0
- package/dist/lib/manifest/manifest.schema.d.ts +433 -0
- package/dist/lib/manifest/manifest.schema.d.ts.map +1 -0
- package/dist/lib/manifest/manifest.schema.js +327 -0
- package/dist/lib/manifest/manifest.schema.js.map +1 -0
- package/dist/lib/manifest/manifest.types.d.ts +146 -0
- package/dist/lib/manifest/manifest.types.d.ts.map +1 -0
- package/dist/lib/manifest/manifest.types.js +54 -0
- package/dist/lib/manifest/manifest.types.js.map +1 -0
- package/dist/lib/manifest/manifest.validation.d.ts +17 -0
- package/dist/lib/manifest/manifest.validation.d.ts.map +1 -0
- package/dist/lib/manifest/manifest.validation.js +353 -0
- package/dist/lib/manifest/manifest.validation.js.map +1 -0
- package/dist/lib/mcp-bridge-token.d.ts +63 -0
- package/dist/lib/mcp-bridge-token.d.ts.map +1 -0
- package/dist/lib/mcp-bridge-token.js +255 -0
- package/dist/lib/mcp-bridge-token.js.map +1 -0
- package/dist/lib/mcp-response-projection.d.ts +9 -0
- package/dist/lib/mcp-response-projection.d.ts.map +1 -0
- package/dist/lib/mcp-response-projection.js +57 -0
- package/dist/lib/mcp-response-projection.js.map +1 -0
- package/dist/lib/omit-undefined.d.ts +2 -0
- package/dist/lib/omit-undefined.d.ts.map +1 -0
- package/dist/lib/omit-undefined.js +9 -0
- package/dist/lib/omit-undefined.js.map +1 -0
- package/dist/lib/orval-client-config.d.ts +29 -0
- package/dist/lib/orval-client-config.d.ts.map +1 -0
- package/dist/lib/orval-client-config.js +30 -0
- package/dist/lib/orval-client-config.js.map +1 -0
- package/dist/lib/preview-token.d.ts +16 -0
- package/dist/lib/preview-token.d.ts.map +1 -0
- package/dist/lib/preview-token.js +71 -0
- package/dist/lib/preview-token.js.map +1 -0
- package/dist/lib/redaction/default-rules.d.ts +3 -0
- package/dist/lib/redaction/default-rules.d.ts.map +1 -0
- package/dist/lib/redaction/default-rules.js +66 -0
- package/dist/lib/redaction/default-rules.js.map +1 -0
- package/dist/lib/redaction/index.d.ts +5 -0
- package/dist/lib/redaction/index.d.ts.map +1 -0
- package/dist/lib/redaction/index.js +12 -0
- package/dist/lib/redaction/index.js.map +1 -0
- package/dist/lib/redaction/redaction-rule.d.ts +8 -0
- package/dist/lib/redaction/redaction-rule.d.ts.map +1 -0
- package/dist/lib/redaction/redaction-rule.js +3 -0
- package/dist/lib/redaction/redaction-rule.js.map +1 -0
- package/dist/lib/redaction/redaction.interceptor.d.ts +11 -0
- package/dist/lib/redaction/redaction.interceptor.d.ts.map +1 -0
- package/dist/lib/redaction/redaction.interceptor.js +41 -0
- package/dist/lib/redaction/redaction.interceptor.js.map +1 -0
- package/dist/lib/redaction/redaction.service.d.ts +9 -0
- package/dist/lib/redaction/redaction.service.d.ts.map +1 -0
- package/dist/lib/redaction/redaction.service.js +110 -0
- package/dist/lib/redaction/redaction.service.js.map +1 -0
- package/dist/lib/request-context.d.ts +34 -0
- package/dist/lib/request-context.d.ts.map +1 -0
- package/dist/lib/request-context.js +10 -0
- package/dist/lib/request-context.js.map +1 -0
- package/dist/lib/run-events/action-types.d.ts +40 -0
- package/dist/lib/run-events/action-types.d.ts.map +1 -0
- package/dist/lib/run-events/action-types.js +40 -0
- package/dist/lib/run-events/action-types.js.map +1 -0
- package/dist/lib/run-events/event-families.d.ts +96 -0
- package/dist/lib/run-events/event-families.d.ts.map +1 -0
- package/dist/lib/run-events/event-families.js +282 -0
- package/dist/lib/run-events/event-families.js.map +1 -0
- package/dist/lib/run-events/index.d.ts +7 -0
- package/dist/lib/run-events/index.d.ts.map +1 -0
- package/dist/lib/run-events/index.js +23 -0
- package/dist/lib/run-events/index.js.map +1 -0
- package/dist/lib/run-events/run-event.types.d.ts +60 -0
- package/dist/lib/run-events/run-event.types.d.ts.map +1 -0
- package/dist/lib/run-events/run-event.types.js +57 -0
- package/dist/lib/run-events/run-event.types.js.map +1 -0
- package/dist/lib/run-events/run-live-snapshot.types.d.ts +69 -0
- package/dist/lib/run-events/run-live-snapshot.types.d.ts.map +1 -0
- package/dist/lib/run-events/run-live-snapshot.types.js +17 -0
- package/dist/lib/run-events/run-live-snapshot.types.js.map +1 -0
- package/dist/lib/run-events/snapshot-reducer.d.ts +4 -0
- package/dist/lib/run-events/snapshot-reducer.d.ts.map +1 -0
- package/dist/lib/run-events/snapshot-reducer.js +313 -0
- package/dist/lib/run-events/snapshot-reducer.js.map +1 -0
- package/dist/lib/run-events/stream-contracts.d.ts +79 -0
- package/dist/lib/run-events/stream-contracts.d.ts.map +1 -0
- package/dist/lib/run-events/stream-contracts.js +27 -0
- package/dist/lib/run-events/stream-contracts.js.map +1 -0
- package/dist/lib/tag-taxonomy/concern-tags.d.ts +3 -0
- package/dist/lib/tag-taxonomy/concern-tags.d.ts.map +1 -0
- package/dist/lib/tag-taxonomy/concern-tags.js +26 -0
- package/dist/lib/tag-taxonomy/concern-tags.js.map +1 -0
- package/dist/lib/tag-taxonomy/index.d.ts +14 -0
- package/dist/lib/tag-taxonomy/index.d.ts.map +1 -0
- package/dist/lib/tag-taxonomy/index.js +59 -0
- package/dist/lib/tag-taxonomy/index.js.map +1 -0
- package/dist/lib/tag-taxonomy/lifecycle-tags.d.ts +3 -0
- package/dist/lib/tag-taxonomy/lifecycle-tags.d.ts.map +1 -0
- package/dist/lib/tag-taxonomy/lifecycle-tags.js +57 -0
- package/dist/lib/tag-taxonomy/lifecycle-tags.js.map +1 -0
- package/dist/lib/tag-taxonomy/stack-tags.d.ts +3 -0
- package/dist/lib/tag-taxonomy/stack-tags.d.ts.map +1 -0
- package/dist/lib/tag-taxonomy/stack-tags.js +26 -0
- package/dist/lib/tag-taxonomy/stack-tags.js.map +1 -0
- package/dist/lib/tag-taxonomy/team-tags.d.ts +3 -0
- package/dist/lib/tag-taxonomy/team-tags.d.ts.map +1 -0
- package/dist/lib/tag-taxonomy/team-tags.js +84 -0
- package/dist/lib/tag-taxonomy/team-tags.js.map +1 -0
- package/dist/lib/tag-taxonomy/types.d.ts +14 -0
- package/dist/lib/tag-taxonomy/types.d.ts.map +1 -0
- package/dist/lib/tag-taxonomy/types.js +3 -0
- package/dist/lib/tag-taxonomy/types.js.map +1 -0
- package/dist/lib/to-prisma-json.d.ts +6 -0
- package/dist/lib/to-prisma-json.d.ts.map +1 -0
- package/dist/lib/to-prisma-json.js +12 -0
- package/dist/lib/to-prisma-json.js.map +1 -0
- package/dist/lib/tool-usage-counter.d.ts +20 -0
- package/dist/lib/tool-usage-counter.d.ts.map +1 -0
- package/dist/lib/tool-usage-counter.js +50 -0
- package/dist/lib/tool-usage-counter.js.map +1 -0
- package/dist/lib/vote-feedback.d.ts +60 -0
- package/dist/lib/vote-feedback.d.ts.map +1 -0
- package/dist/lib/vote-feedback.js +57 -0
- package/dist/lib/vote-feedback.js.map +1 -0
- package/dist/lib/write-policy.d.ts +30 -0
- package/dist/lib/write-policy.d.ts.map +1 -0
- package/dist/lib/write-policy.js +54 -0
- package/dist/lib/write-policy.js.map +1 -0
- package/dist/lib/xema-path-builder.d.ts +7 -0
- package/dist/lib/xema-path-builder.d.ts.map +1 -0
- package/dist/lib/xema-path-builder.js +67 -0
- package/dist/lib/xema-path-builder.js.map +1 -0
- package/dist/nestjs/auth/auth-module-options.d.ts +16 -0
- package/dist/nestjs/auth/auth-module-options.d.ts.map +1 -0
- package/dist/nestjs/auth/auth-module-options.js +5 -0
- package/dist/nestjs/auth/auth-module-options.js.map +1 -0
- package/dist/nestjs/auth/auth.module.d.ts +7 -0
- package/dist/nestjs/auth/auth.module.d.ts.map +1 -0
- package/dist/nestjs/auth/auth.module.js +69 -0
- package/dist/nestjs/auth/auth.module.js.map +1 -0
- package/dist/nestjs/auth/configure-auth-middleware.d.ts +7 -0
- package/dist/nestjs/auth/configure-auth-middleware.d.ts.map +1 -0
- package/dist/nestjs/auth/configure-auth-middleware.js +30 -0
- package/dist/nestjs/auth/configure-auth-middleware.js.map +1 -0
- package/dist/nestjs/auth/index.d.ts +11 -0
- package/dist/nestjs/auth/index.d.ts.map +1 -0
- package/dist/nestjs/auth/index.js +36 -0
- package/dist/nestjs/auth/index.js.map +1 -0
- package/dist/nestjs/auth/internal-caller.guard.d.ts +6 -0
- package/dist/nestjs/auth/internal-caller.guard.d.ts.map +1 -0
- package/dist/nestjs/auth/internal-caller.guard.js +38 -0
- package/dist/nestjs/auth/internal-caller.guard.js.map +1 -0
- package/dist/nestjs/auth/org-claim.d.ts +13 -0
- package/dist/nestjs/auth/org-claim.d.ts.map +1 -0
- package/dist/nestjs/auth/org-claim.js +26 -0
- package/dist/nestjs/auth/org-claim.js.map +1 -0
- package/dist/nestjs/auth/org-role.d.ts +13 -0
- package/dist/nestjs/auth/org-role.d.ts.map +1 -0
- package/dist/nestjs/auth/org-role.guard.d.ts +9 -0
- package/dist/nestjs/auth/org-role.guard.d.ts.map +1 -0
- package/dist/nestjs/auth/org-role.guard.js +59 -0
- package/dist/nestjs/auth/org-role.guard.js.map +1 -0
- package/dist/nestjs/auth/org-role.js +75 -0
- package/dist/nestjs/auth/org-role.js.map +1 -0
- package/dist/nestjs/auth/service-actor.guard.d.ts +6 -0
- package/dist/nestjs/auth/service-actor.guard.d.ts.map +1 -0
- package/dist/nestjs/auth/service-actor.guard.js +49 -0
- package/dist/nestjs/auth/service-actor.guard.js.map +1 -0
- package/dist/nestjs/auth/service-token.guard.d.ts +16 -0
- package/dist/nestjs/auth/service-token.guard.d.ts.map +1 -0
- package/dist/nestjs/auth/service-token.guard.js +209 -0
- package/dist/nestjs/auth/service-token.guard.js.map +1 -0
- package/dist/nestjs/auth/token-class.guard.d.ts +9 -0
- package/dist/nestjs/auth/token-class.guard.d.ts.map +1 -0
- package/dist/nestjs/auth/token-class.guard.js +57 -0
- package/dist/nestjs/auth/token-class.guard.js.map +1 -0
- package/dist/nestjs/body-parsers.d.ts +7 -0
- package/dist/nestjs/body-parsers.d.ts.map +1 -0
- package/dist/nestjs/body-parsers.js +14 -0
- package/dist/nestjs/body-parsers.js.map +1 -0
- package/dist/nestjs/cors.config.d.ts +4 -0
- package/dist/nestjs/cors.config.d.ts.map +1 -0
- package/dist/nestjs/cors.config.js +74 -0
- package/dist/nestjs/cors.config.js.map +1 -0
- package/dist/nestjs/ctx.decorator.d.ts +3 -0
- package/dist/nestjs/ctx.decorator.d.ts.map +1 -0
- package/dist/nestjs/ctx.decorator.js +14 -0
- package/dist/nestjs/ctx.decorator.js.map +1 -0
- package/dist/nestjs/decorator-metadata.d.ts +6 -0
- package/dist/nestjs/decorator-metadata.d.ts.map +1 -0
- package/dist/nestjs/decorator-metadata.js +18 -0
- package/dist/nestjs/decorator-metadata.js.map +1 -0
- package/dist/nestjs/error-response.dto.d.ts +10 -0
- package/dist/nestjs/error-response.dto.d.ts.map +1 -0
- package/dist/nestjs/error-response.dto.js +46 -0
- package/dist/nestjs/error-response.dto.js.map +1 -0
- package/dist/nestjs/fetch-envelope.d.ts +5 -0
- package/dist/nestjs/fetch-envelope.d.ts.map +1 -0
- package/dist/nestjs/fetch-envelope.js +38 -0
- package/dist/nestjs/fetch-envelope.js.map +1 -0
- package/dist/nestjs/fetch-with-retry.d.ts +11 -0
- package/dist/nestjs/fetch-with-retry.d.ts.map +1 -0
- package/dist/nestjs/fetch-with-retry.js +100 -0
- package/dist/nestjs/fetch-with-retry.js.map +1 -0
- package/dist/nestjs/get-env-or-throw.d.ts +2 -0
- package/dist/nestjs/get-env-or-throw.d.ts.map +1 -0
- package/dist/nestjs/get-env-or-throw.js +11 -0
- package/dist/nestjs/get-env-or-throw.js.map +1 -0
- package/dist/nestjs/global-exception.filter.d.ts +10 -0
- package/dist/nestjs/global-exception.filter.d.ts.map +1 -0
- package/dist/nestjs/global-exception.filter.js +139 -0
- package/dist/nestjs/global-exception.filter.js.map +1 -0
- package/dist/nestjs/idempotency/idempotency.service.d.ts +6 -0
- package/dist/nestjs/idempotency/idempotency.service.d.ts.map +1 -0
- package/dist/nestjs/idempotency/idempotency.service.js +5 -0
- package/dist/nestjs/idempotency/idempotency.service.js.map +1 -0
- package/dist/nestjs/idempotency/idempotency.tokens.d.ts +2 -0
- package/dist/nestjs/idempotency/idempotency.tokens.d.ts.map +1 -0
- package/dist/nestjs/idempotency/idempotency.tokens.js +5 -0
- package/dist/nestjs/idempotency/idempotency.tokens.js.map +1 -0
- package/dist/nestjs/idempotency/index.d.ts +4 -0
- package/dist/nestjs/idempotency/index.d.ts.map +1 -0
- package/dist/nestjs/idempotency/index.js +11 -0
- package/dist/nestjs/idempotency/index.js.map +1 -0
- package/dist/nestjs/idempotency/prisma-idempotency.service.d.ts +20 -0
- package/dist/nestjs/idempotency/prisma-idempotency.service.d.ts.map +1 -0
- package/dist/nestjs/idempotency/prisma-idempotency.service.js +58 -0
- package/dist/nestjs/idempotency/prisma-idempotency.service.js.map +1 -0
- package/dist/nestjs/index.d.ts +26 -0
- package/dist/nestjs/index.d.ts.map +1 -0
- package/dist/nestjs/index.js +96 -0
- package/dist/nestjs/index.js.map +1 -0
- package/dist/nestjs/integration-webhooks/api-integration-envelope.decorator.d.ts +7 -0
- package/dist/nestjs/integration-webhooks/api-integration-envelope.decorator.d.ts.map +1 -0
- package/dist/nestjs/integration-webhooks/api-integration-envelope.decorator.js +27 -0
- package/dist/nestjs/integration-webhooks/api-integration-envelope.decorator.js.map +1 -0
- package/dist/nestjs/integration-webhooks/index.d.ts +5 -0
- package/dist/nestjs/integration-webhooks/index.d.ts.map +1 -0
- package/dist/nestjs/integration-webhooks/index.js +10 -0
- package/dist/nestjs/integration-webhooks/index.js.map +1 -0
- package/dist/nestjs/integration-webhooks/integration-envelope.pipe.d.ts +9 -0
- package/dist/nestjs/integration-webhooks/integration-envelope.pipe.d.ts.map +1 -0
- package/dist/nestjs/integration-webhooks/integration-envelope.pipe.js +100 -0
- package/dist/nestjs/integration-webhooks/integration-envelope.pipe.js.map +1 -0
- package/dist/nestjs/integration-webhooks/integration-envelope.types.d.ts +7 -0
- package/dist/nestjs/integration-webhooks/integration-envelope.types.d.ts.map +1 -0
- package/dist/nestjs/integration-webhooks/integration-envelope.types.js +3 -0
- package/dist/nestjs/integration-webhooks/integration-envelope.types.js.map +1 -0
- package/dist/nestjs/integration-webhooks/integration-webhook-envelope.dto.d.ts +14 -0
- package/dist/nestjs/integration-webhooks/integration-webhook-envelope.dto.d.ts.map +1 -0
- package/dist/nestjs/integration-webhooks/integration-webhook-envelope.dto.js +97 -0
- package/dist/nestjs/integration-webhooks/integration-webhook-envelope.dto.js.map +1 -0
- package/dist/nestjs/jwks/jwks-verifier.d.ts +48 -0
- package/dist/nestjs/jwks/jwks-verifier.d.ts.map +1 -0
- package/dist/nestjs/jwks/jwks-verifier.js +177 -0
- package/dist/nestjs/jwks/jwks-verifier.js.map +1 -0
- package/dist/nestjs/jwt-verification.guard.d.ts +25 -0
- package/dist/nestjs/jwt-verification.guard.d.ts.map +1 -0
- package/dist/nestjs/jwt-verification.guard.js +232 -0
- package/dist/nestjs/jwt-verification.guard.js.map +1 -0
- package/dist/nestjs/openapi-docs.enricher.d.ts +6 -0
- package/dist/nestjs/openapi-docs.enricher.d.ts.map +1 -0
- package/dist/nestjs/openapi-docs.enricher.js +296 -0
- package/dist/nestjs/openapi-docs.enricher.js.map +1 -0
- package/dist/nestjs/pagination.d.ts +25 -0
- package/dist/nestjs/pagination.d.ts.map +1 -0
- package/dist/nestjs/pagination.js +73 -0
- package/dist/nestjs/pagination.js.map +1 -0
- package/dist/nestjs/public.decorator.d.ts +3 -0
- package/dist/nestjs/public.decorator.d.ts.map +1 -0
- package/dist/nestjs/public.decorator.js +8 -0
- package/dist/nestjs/public.decorator.js.map +1 -0
- package/dist/nestjs/raw-response.decorator.d.ts +3 -0
- package/dist/nestjs/raw-response.decorator.d.ts.map +1 -0
- package/dist/nestjs/raw-response.decorator.js +8 -0
- package/dist/nestjs/raw-response.decorator.js.map +1 -0
- package/dist/nestjs/request-context.middleware.d.ts +27 -0
- package/dist/nestjs/request-context.middleware.d.ts.map +1 -0
- package/dist/nestjs/request-context.middleware.js +252 -0
- package/dist/nestjs/request-context.middleware.js.map +1 -0
- package/dist/nestjs/require-pipeline-run-id.d.ts +3 -0
- package/dist/nestjs/require-pipeline-run-id.d.ts.map +1 -0
- package/dist/nestjs/require-pipeline-run-id.js +11 -0
- package/dist/nestjs/require-pipeline-run-id.js.map +1 -0
- package/dist/nestjs/require-project-id.d.ts +3 -0
- package/dist/nestjs/require-project-id.d.ts.map +1 -0
- package/dist/nestjs/require-project-id.js +11 -0
- package/dist/nestjs/require-project-id.js.map +1 -0
- package/dist/nestjs/response-envelope.interceptor.d.ts +6 -0
- package/dist/nestjs/response-envelope.interceptor.d.ts.map +1 -0
- package/dist/nestjs/response-envelope.interceptor.js +48 -0
- package/dist/nestjs/response-envelope.interceptor.js.map +1 -0
- package/dist/nestjs/roles.decorator.d.ts +3 -0
- package/dist/nestjs/roles.decorator.d.ts.map +1 -0
- package/dist/nestjs/roles.decorator.js +8 -0
- package/dist/nestjs/roles.decorator.js.map +1 -0
- package/dist/nestjs/roles.guard.d.ts +6 -0
- package/dist/nestjs/roles.guard.d.ts.map +1 -0
- package/dist/nestjs/roles.guard.js +41 -0
- package/dist/nestjs/roles.guard.js.map +1 -0
- package/dist/nestjs/swagger-keycloak.d.ts +30 -0
- package/dist/nestjs/swagger-keycloak.d.ts.map +1 -0
- package/dist/nestjs/swagger-keycloak.js +75 -0
- package/dist/nestjs/swagger-keycloak.js.map +1 -0
- package/dist/nestjs/swagger.decorators.d.ts +8 -0
- package/dist/nestjs/swagger.decorators.d.ts.map +1 -0
- package/dist/nestjs/swagger.decorators.js +117 -0
- package/dist/nestjs/swagger.decorators.js.map +1 -0
- package/dist/schemas/xema/analysis.json +51 -0
- package/dist/schemas/xema/clarification-contract.json +49 -0
- package/dist/schemas/xema/context.json +79 -0
- package/dist/schemas/xema/index.d.ts +8 -0
- package/dist/schemas/xema/index.d.ts.map +1 -0
- package/dist/schemas/xema/index.js +30 -0
- package/dist/schemas/xema/index.js.map +1 -0
- package/dist/schemas/xema/manifest.json +32 -0
- package/dist/schemas/xema/review-history.json +42 -0
- package/package.json +76 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
interface SwaggerUiOAuthOptions {
|
|
2
|
+
clientId: string;
|
|
3
|
+
usePkceWithAuthorizationCodeGrant: true;
|
|
4
|
+
scopes?: string[];
|
|
5
|
+
}
|
|
6
|
+
export interface KeycloakSwaggerUrls {
|
|
7
|
+
authUrl: string;
|
|
8
|
+
tokenUrl: string;
|
|
9
|
+
discoveryUrl: string;
|
|
10
|
+
}
|
|
11
|
+
export interface KeycloakOpenApiEnrichmentOptions {
|
|
12
|
+
discoveryUrl: string;
|
|
13
|
+
bearerSchemeName?: string;
|
|
14
|
+
oidcSchemeName?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface KeycloakSwaggerUiOptionsInput {
|
|
17
|
+
oauth2RedirectUrl?: string | undefined;
|
|
18
|
+
oauthClientId?: string | undefined;
|
|
19
|
+
oauthScopes?: string[] | undefined;
|
|
20
|
+
}
|
|
21
|
+
export interface KeycloakSwaggerUiOptions {
|
|
22
|
+
persistAuthorization: true;
|
|
23
|
+
oauth2RedirectUrl?: string;
|
|
24
|
+
initOAuth?: SwaggerUiOAuthOptions;
|
|
25
|
+
}
|
|
26
|
+
export declare function getKeycloakSwaggerUrls(jwtIssuer: string): KeycloakSwaggerUrls;
|
|
27
|
+
export declare function enrichOpenApiWithKeycloakSecurity(openapiDocument: unknown, { discoveryUrl, bearerSchemeName, oidcSchemeName, }: KeycloakOpenApiEnrichmentOptions): void;
|
|
28
|
+
export declare function buildKeycloakSwaggerUiOptions({ oauth2RedirectUrl, oauthClientId, oauthScopes, }: KeycloakSwaggerUiOptionsInput): KeycloakSwaggerUiOptions;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=swagger-keycloak.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swagger-keycloak.d.ts","sourceRoot":"","sources":["../../src/nestjs/swagger-keycloak.ts"],"names":[],"mappings":"AAiBA,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC,EAAE,IAAI,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gCAAgC;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,6BAA6B;IAC5C,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB;IACvC,oBAAoB,EAAE,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAMD,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,CAO7E;AAED,wBAAgB,iCAAiC,CAC/C,eAAe,EAAE,OAAO,EACxB,EACE,YAAY,EACZ,gBAA2B,EAC3B,cAA+B,GAChC,EAAE,gCAAgC,GAClC,IAAI,CA4CN;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,iBAAiB,EACjB,aAAa,EACb,WAAW,GACZ,EAAE,6BAA6B,GAAG,wBAAwB,CAoB1D"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getKeycloakSwaggerUrls = getKeycloakSwaggerUrls;
|
|
4
|
+
exports.enrichOpenApiWithKeycloakSecurity = enrichOpenApiWithKeycloakSecurity;
|
|
5
|
+
exports.buildKeycloakSwaggerUiOptions = buildKeycloakSwaggerUiOptions;
|
|
6
|
+
function trimTrailingSlash(value) {
|
|
7
|
+
return value.endsWith('/') ? value.slice(0, -1) : value;
|
|
8
|
+
}
|
|
9
|
+
function getKeycloakSwaggerUrls(jwtIssuer) {
|
|
10
|
+
const issuer = trimTrailingSlash(jwtIssuer);
|
|
11
|
+
return {
|
|
12
|
+
authUrl: `${issuer}/protocol/openid-connect/auth`,
|
|
13
|
+
tokenUrl: `${issuer}/protocol/openid-connect/token`,
|
|
14
|
+
discoveryUrl: `${issuer}/.well-known/openid-configuration`,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function enrichOpenApiWithKeycloakSecurity(openapiDocument, { discoveryUrl, bearerSchemeName = 'bearer', oidcSchemeName = 'keycloakOidc', }) {
|
|
18
|
+
const openApi = openapiDocument;
|
|
19
|
+
openApi.components ??= {};
|
|
20
|
+
openApi.components.securitySchemes ??= {};
|
|
21
|
+
openApi.components.securitySchemes[oidcSchemeName] = {
|
|
22
|
+
type: 'openIdConnect',
|
|
23
|
+
openIdConnectUrl: discoveryUrl,
|
|
24
|
+
description: 'Keycloak OpenID Connect discovery endpoint',
|
|
25
|
+
};
|
|
26
|
+
if (!openApi.paths) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const methods = [
|
|
30
|
+
'get',
|
|
31
|
+
'put',
|
|
32
|
+
'post',
|
|
33
|
+
'delete',
|
|
34
|
+
'options',
|
|
35
|
+
'head',
|
|
36
|
+
'patch',
|
|
37
|
+
'trace',
|
|
38
|
+
];
|
|
39
|
+
Object.values(openApi.paths).forEach((pathItem) => {
|
|
40
|
+
methods.forEach((method) => {
|
|
41
|
+
const operation = pathItem[method];
|
|
42
|
+
if (!operation?.security || operation.security.length === 0) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
operation.security = operation.security.map((requirement) => {
|
|
46
|
+
if (!(bearerSchemeName in requirement) || oidcSchemeName in requirement) {
|
|
47
|
+
return requirement;
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
...requirement,
|
|
51
|
+
[oidcSchemeName]: requirement[bearerSchemeName],
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function buildKeycloakSwaggerUiOptions({ oauth2RedirectUrl, oauthClientId, oauthScopes, }) {
|
|
58
|
+
const result = {
|
|
59
|
+
persistAuthorization: true,
|
|
60
|
+
};
|
|
61
|
+
if (oauth2RedirectUrl) {
|
|
62
|
+
result.oauth2RedirectUrl = oauth2RedirectUrl;
|
|
63
|
+
}
|
|
64
|
+
if (oauthClientId) {
|
|
65
|
+
result.initOAuth = {
|
|
66
|
+
clientId: oauthClientId,
|
|
67
|
+
usePkceWithAuthorizationCodeGrant: true,
|
|
68
|
+
...(oauthScopes && oauthScopes.length > 0
|
|
69
|
+
? { scopes: oauthScopes }
|
|
70
|
+
: {}),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=swagger-keycloak.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swagger-keycloak.js","sourceRoot":"","sources":["../../src/nestjs/swagger-keycloak.ts"],"names":[],"mappings":";;AAmDA,wDAOC;AAED,8EAmDC;AAED,sEAwBC;AA1FD,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC;AAED,SAAgB,sBAAsB,CAAC,SAAiB;IACtD,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC5C,OAAO;QACL,OAAO,EAAE,GAAG,MAAM,+BAA+B;QACjD,QAAQ,EAAE,GAAG,MAAM,gCAAgC;QACnD,YAAY,EAAE,GAAG,MAAM,mCAAmC;KAC3D,CAAC;AACJ,CAAC;AAED,SAAgB,iCAAiC,CAC/C,eAAwB,EACxB,EACE,YAAY,EACZ,gBAAgB,GAAG,QAAQ,EAC3B,cAAc,GAAG,cAAc,GACE;IAEnC,MAAM,OAAO,GAAG,eAA8C,CAAC;IAC/D,OAAO,CAAC,UAAU,KAAK,EAAE,CAAC;IAC1B,OAAO,CAAC,UAAU,CAAC,eAAe,KAAK,EAAE,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG;QACnD,IAAI,EAAE,eAAe;QACrB,gBAAgB,EAAE,YAAY;QAC9B,WAAW,EAAE,4CAA4C;KAC1D,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAiC;QAC5C,KAAK;QACL,KAAK;QACL,MAAM;QACN,QAAQ;QACR,SAAS;QACT,MAAM;QACN,OAAO;QACP,OAAO;KACR,CAAC;IAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS,EAAE,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC1D,IAAI,CAAC,CAAC,gBAAgB,IAAI,WAAW,CAAC,IAAI,cAAc,IAAI,WAAW,EAAE,CAAC;oBACxE,OAAO,WAAW,CAAC;gBACrB,CAAC;gBAED,OAAO;oBACL,GAAG,WAAW;oBACd,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC;iBAChD,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,6BAA6B,CAAC,EAC5C,iBAAiB,EACjB,aAAa,EACb,WAAW,GACmB;IAC9B,MAAM,MAAM,GAA6B;QACvC,oBAAoB,EAAE,IAAI;KAC3B,CAAC;IAEF,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,SAAS,GAAG;YACjB,QAAQ,EAAE,aAAa;YACvB,iCAAiC,EAAE,IAAI;YACvC,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBACvC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE;gBACzB,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Type } from '@nestjs/common';
|
|
2
|
+
export declare function ApiStandardOperation(summary: string): MethodDecorator;
|
|
3
|
+
export declare function ApiDataResponse<TModel extends Type<unknown>>(model: TModel): MethodDecorator;
|
|
4
|
+
export declare function ApiDataArrayResponse<TModel extends Type<unknown>>(model: TModel): MethodDecorator;
|
|
5
|
+
export declare function ApiCreatedDataResponse<TModel extends Type<unknown>>(model: TModel): MethodDecorator;
|
|
6
|
+
export declare function ApiPaginatedResponse<TModel extends Type<unknown>>(model: TModel): MethodDecorator;
|
|
7
|
+
export declare function ApiStandardErrors(): MethodDecorator;
|
|
8
|
+
//# sourceMappingURL=swagger.decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swagger.decorators.d.ts","sourceRoot":"","sources":["../../src/nestjs/swagger.decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAiBvD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAErE;AAgFD,wBAAgB,eAAe,CAAC,MAAM,SAAS,IAAI,CAAC,OAAO,CAAC,EAC1D,KAAK,EAAE,MAAM,GACZ,eAAe,CAMjB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,SAAS,IAAI,CAAC,OAAO,CAAC,EAC/D,KAAK,EAAE,MAAM,GACZ,eAAe,CAMjB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,SAAS,IAAI,CAAC,OAAO,CAAC,EACjE,KAAK,EAAE,MAAM,GACZ,eAAe,CAMjB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,SAAS,IAAI,CAAC,OAAO,CAAC,EAC/D,KAAK,EAAE,MAAM,GACZ,eAAe,CAMjB;AAED,wBAAgB,iBAAiB,IAAI,eAAe,CASnD"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ApiStandardOperation = ApiStandardOperation;
|
|
13
|
+
exports.ApiDataResponse = ApiDataResponse;
|
|
14
|
+
exports.ApiDataArrayResponse = ApiDataArrayResponse;
|
|
15
|
+
exports.ApiCreatedDataResponse = ApiCreatedDataResponse;
|
|
16
|
+
exports.ApiPaginatedResponse = ApiPaginatedResponse;
|
|
17
|
+
exports.ApiStandardErrors = ApiStandardErrors;
|
|
18
|
+
const common_1 = require("@nestjs/common");
|
|
19
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
20
|
+
const error_response_dto_1 = require("./error-response.dto");
|
|
21
|
+
function ApiStandardOperation(summary) {
|
|
22
|
+
return (0, common_1.applyDecorators)((0, swagger_1.ApiOperation)({ summary }));
|
|
23
|
+
}
|
|
24
|
+
const dataEnvelopeCache = new Map();
|
|
25
|
+
const dataArrayEnvelopeCache = new Map();
|
|
26
|
+
function getDataEnvelope(model) {
|
|
27
|
+
let envelope = dataEnvelopeCache.get(model);
|
|
28
|
+
if (!envelope) {
|
|
29
|
+
envelope = class {
|
|
30
|
+
};
|
|
31
|
+
Object.defineProperty(envelope, 'name', { value: `${model.name}DataEnvelope` });
|
|
32
|
+
(0, swagger_1.ApiProperty)({ type: () => model })(envelope.prototype, 'data');
|
|
33
|
+
dataEnvelopeCache.set(model, envelope);
|
|
34
|
+
}
|
|
35
|
+
return envelope;
|
|
36
|
+
}
|
|
37
|
+
function getDataArrayEnvelope(model) {
|
|
38
|
+
let envelope = dataArrayEnvelopeCache.get(model);
|
|
39
|
+
if (!envelope) {
|
|
40
|
+
envelope = class {
|
|
41
|
+
};
|
|
42
|
+
Object.defineProperty(envelope, 'name', { value: `${model.name}DataArrayEnvelope` });
|
|
43
|
+
(0, swagger_1.ApiProperty)({ type: () => [model] })(envelope.prototype, 'data');
|
|
44
|
+
dataArrayEnvelopeCache.set(model, envelope);
|
|
45
|
+
}
|
|
46
|
+
return envelope;
|
|
47
|
+
}
|
|
48
|
+
class PaginationMeta {
|
|
49
|
+
total;
|
|
50
|
+
page;
|
|
51
|
+
totalPages;
|
|
52
|
+
nextCursor;
|
|
53
|
+
previousCursor;
|
|
54
|
+
limit;
|
|
55
|
+
hasMore;
|
|
56
|
+
}
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, swagger_1.ApiPropertyOptional)({ example: 100 }),
|
|
59
|
+
__metadata("design:type", Number)
|
|
60
|
+
], PaginationMeta.prototype, "total", void 0);
|
|
61
|
+
__decorate([
|
|
62
|
+
(0, swagger_1.ApiPropertyOptional)({ example: 1 }),
|
|
63
|
+
__metadata("design:type", Number)
|
|
64
|
+
], PaginationMeta.prototype, "page", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
(0, swagger_1.ApiPropertyOptional)({ example: 5 }),
|
|
67
|
+
__metadata("design:type", Number)
|
|
68
|
+
], PaginationMeta.prototype, "totalPages", void 0);
|
|
69
|
+
__decorate([
|
|
70
|
+
(0, swagger_1.ApiPropertyOptional)({ type: String, example: 'opaque-cursor-token', nullable: true }),
|
|
71
|
+
__metadata("design:type", Object)
|
|
72
|
+
], PaginationMeta.prototype, "nextCursor", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, swagger_1.ApiPropertyOptional)({ type: String, example: 'opaque-cursor-token', nullable: true }),
|
|
75
|
+
__metadata("design:type", Object)
|
|
76
|
+
], PaginationMeta.prototype, "previousCursor", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, swagger_1.ApiPropertyOptional)({ example: 20 }),
|
|
79
|
+
__metadata("design:type", Number)
|
|
80
|
+
], PaginationMeta.prototype, "limit", void 0);
|
|
81
|
+
__decorate([
|
|
82
|
+
(0, swagger_1.ApiPropertyOptional)({ example: true }),
|
|
83
|
+
__metadata("design:type", Boolean)
|
|
84
|
+
], PaginationMeta.prototype, "hasMore", void 0);
|
|
85
|
+
const paginatedEnvelopeCache = new Map();
|
|
86
|
+
function getPaginatedEnvelope(model) {
|
|
87
|
+
let envelope = paginatedEnvelopeCache.get(model);
|
|
88
|
+
if (!envelope) {
|
|
89
|
+
envelope = class {
|
|
90
|
+
};
|
|
91
|
+
Object.defineProperty(envelope, 'name', { value: `${model.name}PaginatedEnvelope` });
|
|
92
|
+
(0, swagger_1.ApiProperty)({ type: () => [model] })(envelope.prototype, 'data');
|
|
93
|
+
(0, swagger_1.ApiPropertyOptional)({ type: () => PaginationMeta })(envelope.prototype, 'pagination');
|
|
94
|
+
paginatedEnvelopeCache.set(model, envelope);
|
|
95
|
+
}
|
|
96
|
+
return envelope;
|
|
97
|
+
}
|
|
98
|
+
function ApiDataResponse(model) {
|
|
99
|
+
const envelope = getDataEnvelope(model);
|
|
100
|
+
return (0, common_1.applyDecorators)((0, swagger_1.ApiExtraModels)(model, envelope), (0, swagger_1.ApiOkResponse)({ type: envelope }));
|
|
101
|
+
}
|
|
102
|
+
function ApiDataArrayResponse(model) {
|
|
103
|
+
const envelope = getDataArrayEnvelope(model);
|
|
104
|
+
return (0, common_1.applyDecorators)((0, swagger_1.ApiExtraModels)(model, envelope), (0, swagger_1.ApiOkResponse)({ type: envelope }));
|
|
105
|
+
}
|
|
106
|
+
function ApiCreatedDataResponse(model) {
|
|
107
|
+
const envelope = getDataEnvelope(model);
|
|
108
|
+
return (0, common_1.applyDecorators)((0, swagger_1.ApiExtraModels)(model, envelope), (0, swagger_1.ApiCreatedResponse)({ type: envelope }));
|
|
109
|
+
}
|
|
110
|
+
function ApiPaginatedResponse(model) {
|
|
111
|
+
const envelope = getPaginatedEnvelope(model);
|
|
112
|
+
return (0, common_1.applyDecorators)((0, swagger_1.ApiExtraModels)(model, PaginationMeta, envelope), (0, swagger_1.ApiOkResponse)({ type: envelope }));
|
|
113
|
+
}
|
|
114
|
+
function ApiStandardErrors() {
|
|
115
|
+
return (0, common_1.applyDecorators)((0, swagger_1.ApiBadRequestResponse)({ type: error_response_dto_1.ErrorResponseDto }), (0, swagger_1.ApiUnauthorizedResponse)({ type: error_response_dto_1.ErrorResponseDto }), (0, swagger_1.ApiForbiddenResponse)({ type: error_response_dto_1.ErrorResponseDto }), (0, swagger_1.ApiNotFoundResponse)({ type: error_response_dto_1.ErrorResponseDto }), (0, swagger_1.ApiConflictResponse)({ type: error_response_dto_1.ErrorResponseDto }), (0, swagger_1.ApiInternalServerErrorResponse)({ type: error_response_dto_1.ErrorResponseDto }));
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=swagger.decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swagger.decorators.js","sourceRoot":"","sources":["../../src/nestjs/swagger.decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.xema.dev/analysis",
|
|
4
|
+
"title": "Unit / Coordinator Analysis Report",
|
|
5
|
+
"description": "Schema for /workspace/deliverables/analysis.json — phase decisions, assumptions, conflicts. All fields required; use empty arrays when no items.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["status", "summary", "decisions", "assumptions", "conflicts"],
|
|
8
|
+
"additionalProperties": true,
|
|
9
|
+
"properties": {
|
|
10
|
+
"status": { "type": "string", "enum": ["completed", "partial", "blocked"] },
|
|
11
|
+
"summary": { "type": "string", "description": "One-paragraph summary of analytical work." },
|
|
12
|
+
"decisions": {
|
|
13
|
+
"type": "array",
|
|
14
|
+
"items": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"required": ["semanticKey", "topic", "value", "rationale"],
|
|
17
|
+
"additionalProperties": true,
|
|
18
|
+
"properties": {
|
|
19
|
+
"semanticKey": { "type": "string" },
|
|
20
|
+
"topic": { "type": "string" },
|
|
21
|
+
"value": { "type": "string" },
|
|
22
|
+
"rationale": { "type": "string" }
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"assumptions": {
|
|
27
|
+
"type": "array",
|
|
28
|
+
"items": {
|
|
29
|
+
"type": "object",
|
|
30
|
+
"required": ["semanticKey", "assumption", "impact"],
|
|
31
|
+
"additionalProperties": true,
|
|
32
|
+
"properties": {
|
|
33
|
+
"semanticKey": { "type": "string" },
|
|
34
|
+
"assumption": { "type": "string" },
|
|
35
|
+
"impact": { "type": "string" }
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"conflicts": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"items": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"additionalProperties": true,
|
|
44
|
+
"properties": {
|
|
45
|
+
"topic": { "type": "string" },
|
|
46
|
+
"description": { "type": "string" }
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.xema.dev/clarification-contract",
|
|
4
|
+
"title": "Clarification Contract",
|
|
5
|
+
"description": "Schema for the clarification contract the clarification reviewer evaluates. Written to /workspace/inputs/contract.json for clarification-reviewer role.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["request", "problems", "decisions"],
|
|
8
|
+
"additionalProperties": true,
|
|
9
|
+
"properties": {
|
|
10
|
+
"request": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"required": ["prompt", "normalizedIntent"],
|
|
13
|
+
"additionalProperties": true,
|
|
14
|
+
"properties": {
|
|
15
|
+
"prompt": { "type": "string" },
|
|
16
|
+
"normalizedIntent": { "type": "string" }
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"problems": {
|
|
20
|
+
"type": "array",
|
|
21
|
+
"items": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"required": ["id", "title"],
|
|
24
|
+
"additionalProperties": true
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"decisions": {
|
|
28
|
+
"type": "object",
|
|
29
|
+
"additionalProperties": true,
|
|
30
|
+
"properties": {
|
|
31
|
+
"userDecisions": { "type": "array" },
|
|
32
|
+
"autoDelegatedDecisions": { "type": "array" },
|
|
33
|
+
"confirmedAssumptions": { "type": "array" }
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"constraints": { "type": "array" },
|
|
37
|
+
"openCaveats": { "type": "array" },
|
|
38
|
+
"riskAcceptances": { "type": "array" },
|
|
39
|
+
"requirementsReadiness": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"additionalProperties": true,
|
|
42
|
+
"properties": {
|
|
43
|
+
"isReady": { "type": "boolean" }
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"scope": { "type": "object", "additionalProperties": true },
|
|
47
|
+
"executionProfile": { "type": "object", "additionalProperties": true }
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.xema.dev/context",
|
|
4
|
+
"title": "Xema Workspace Context",
|
|
5
|
+
"description": "Invocation identity + authority written by the orchestrator to /workspace/context.json before an agent runs. Read once at task start.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["invocation", "project", "authority"],
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"invocation": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"required": ["role", "surface", "attempt"],
|
|
13
|
+
"additionalProperties": false,
|
|
14
|
+
"properties": {
|
|
15
|
+
"runId": { "type": ["string", "null"], "description": "Pipeline run id. Null for interactive sessions." },
|
|
16
|
+
"phaseKey": { "type": ["string", "null"], "description": "Pipeline phase. Null when not applicable." },
|
|
17
|
+
"packageId": { "type": ["string", "null"], "description": "Unit scope. Null when not unit-scoped." },
|
|
18
|
+
"sessionId": { "type": ["string", "null"], "description": "Interactive session id. Null for pipeline invocations." },
|
|
19
|
+
"attempt": { "type": "integer", "minimum": 1, "description": "Increments on each gate-rejected retry." },
|
|
20
|
+
"role": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"enum": ["unit-worker", "coordinator", "gate-reviewer", "clarification-coordinator", "agent-session"]
|
|
23
|
+
},
|
|
24
|
+
"surface": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"enum": ["pipeline-run", "agent-session", "gate-review"]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"project": {
|
|
31
|
+
"type": "object",
|
|
32
|
+
"required": ["orgId", "projectId"],
|
|
33
|
+
"additionalProperties": false,
|
|
34
|
+
"properties": {
|
|
35
|
+
"orgId": { "type": "string" },
|
|
36
|
+
"projectId": { "type": "string" },
|
|
37
|
+
"pipelineBranch": { "type": ["string", "null"] }
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"authority": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"required": ["mayWriteWorkspace", "mayWriteKnowledgeBase", "mayEditRepos"],
|
|
43
|
+
"additionalProperties": false,
|
|
44
|
+
"properties": {
|
|
45
|
+
"mayWriteWorkspace": {
|
|
46
|
+
"type": "array",
|
|
47
|
+
"items": { "type": "string" },
|
|
48
|
+
"description": "Absolute workspace paths the agent may write to. Reads outside these are still permitted where not chmod-protected."
|
|
49
|
+
},
|
|
50
|
+
"mayWriteKnowledgeBase": { "type": "boolean" },
|
|
51
|
+
"mayEditRepos": { "type": "boolean" },
|
|
52
|
+
"writePolicy": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"enum": ["own-pages-only", "full-write", "read-only"]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"knowledgeBase": {
|
|
59
|
+
"type": "object",
|
|
60
|
+
"additionalProperties": false,
|
|
61
|
+
"properties": {
|
|
62
|
+
"spaceSlug": { "type": "string" }
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"inputs": {
|
|
66
|
+
"type": "object",
|
|
67
|
+
"additionalProperties": false,
|
|
68
|
+
"properties": {
|
|
69
|
+
"hasRetryContext": { "type": "boolean", "description": "true when inputs/prior-attempt/ exists (attempt >= 2)." },
|
|
70
|
+
"hasUpstream": { "type": "boolean", "description": "true when inputs/upstream/ exists with prior-phase artifacts." },
|
|
71
|
+
"upstreamPhases": {
|
|
72
|
+
"type": "array",
|
|
73
|
+
"items": { "type": "string" },
|
|
74
|
+
"description": "Phase keys present under inputs/upstream/."
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type XemaSchemaName = 'analysis' | 'clarification-contract' | 'context' | 'manifest' | 'review-history';
|
|
2
|
+
export declare const XEMA_SCHEMAS: Record<string, Record<string, unknown>>;
|
|
3
|
+
export declare function getXemaSchema(name: string): Record<string, unknown> | null;
|
|
4
|
+
export declare function listXemaSchemas(): Array<{
|
|
5
|
+
name: string;
|
|
6
|
+
$id: string;
|
|
7
|
+
}>;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schemas/xema/index.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,wBAAwB,GACxB,SAAS,GACT,UAAU,GACV,gBAAgB,CAAC;AAOrB,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMhE,CAAC;AAGF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAE1E;AAGD,wBAAgB,eAAe,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAKtE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.XEMA_SCHEMAS = void 0;
|
|
7
|
+
exports.getXemaSchema = getXemaSchema;
|
|
8
|
+
exports.listXemaSchemas = listXemaSchemas;
|
|
9
|
+
const analysis_json_1 = __importDefault(require("./analysis.json"));
|
|
10
|
+
const clarification_contract_json_1 = __importDefault(require("./clarification-contract.json"));
|
|
11
|
+
const context_json_1 = __importDefault(require("./context.json"));
|
|
12
|
+
const manifest_json_1 = __importDefault(require("./manifest.json"));
|
|
13
|
+
const review_history_json_1 = __importDefault(require("./review-history.json"));
|
|
14
|
+
exports.XEMA_SCHEMAS = {
|
|
15
|
+
analysis: analysis_json_1.default,
|
|
16
|
+
'clarification-contract': clarification_contract_json_1.default,
|
|
17
|
+
context: context_json_1.default,
|
|
18
|
+
manifest: manifest_json_1.default,
|
|
19
|
+
'review-history': review_history_json_1.default,
|
|
20
|
+
};
|
|
21
|
+
function getXemaSchema(name) {
|
|
22
|
+
return exports.XEMA_SCHEMAS[name] ?? null;
|
|
23
|
+
}
|
|
24
|
+
function listXemaSchemas() {
|
|
25
|
+
return Object.entries(exports.XEMA_SCHEMAS).map(([name, schema]) => {
|
|
26
|
+
const $id = typeof schema.$id === 'string' ? schema.$id : `urn:xema:${name}`;
|
|
27
|
+
return { name, $id };
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/schemas/xema/index.ts"],"names":[],"mappings":";;;;;;AA2CA,sCAEC;AAGD,0CAKC;AAtCD,oEAAuC;AACvC,gGAAkE;AAClE,kEAAqC;AACrC,oEAAuC;AACvC,gFAAkD;AAerC,QAAA,YAAY,GAA4C;IACnE,QAAQ,EAAE,uBAAmC;IAC7C,wBAAwB,EAAE,qCAAgD;IAC1E,OAAO,EAAE,sBAAkC;IAC3C,QAAQ,EAAE,uBAAmC;IAC7C,gBAAgB,EAAE,6BAAwC;CAC3D,CAAC;AAGF,SAAgB,aAAa,CAAC,IAAY;IACxC,OAAO,oBAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACpC,CAAC;AAGD,SAAgB,eAAe;IAC7B,OAAO,MAAM,CAAC,OAAO,CAAC,oBAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;QACzD,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;QAC7E,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.xema.dev/manifest",
|
|
4
|
+
"title": "Unit / Coordinator Output Manifest",
|
|
5
|
+
"description": "Schema for /workspace/deliverables/manifest.json — list of pages the orchestrator should harvest. Written LAST by unit workers and coordinators.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["pages"],
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"pages": {
|
|
11
|
+
"type": "array",
|
|
12
|
+
"items": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"required": ["slug", "title"],
|
|
15
|
+
"additionalProperties": false,
|
|
16
|
+
"properties": {
|
|
17
|
+
"slug": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"pattern": "^[a-z0-9][a-z0-9-]*$",
|
|
20
|
+
"description": "Kebab-case page slug — also the filename under deliverables/pages/."
|
|
21
|
+
},
|
|
22
|
+
"title": { "type": "string" },
|
|
23
|
+
"parentSlug": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "Must reference another page slug in the same manifest."
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"status": { "type": "string", "enum": ["complete", "partial"] }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.xema.dev/review-history",
|
|
4
|
+
"title": "Retry Review History",
|
|
5
|
+
"description": "Structured shape the orchestrator writes to /workspace/inputs/prior-attempt/review-history.md. The file itself is markdown; this schema documents the source JSON the writer consumes.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["attempt", "priorVerdict", "mustFix"],
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"attempt": { "type": "integer", "minimum": 2 },
|
|
11
|
+
"priorVerdict": { "type": "string", "enum": ["rejected", "conditional"] },
|
|
12
|
+
"mustFix": {
|
|
13
|
+
"type": "array",
|
|
14
|
+
"items": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"required": ["severity", "findingId", "summary"],
|
|
17
|
+
"additionalProperties": true,
|
|
18
|
+
"properties": {
|
|
19
|
+
"severity": { "type": "string", "enum": ["BLOCKING", "MAJOR", "MINOR"] },
|
|
20
|
+
"findingId": { "type": "string" },
|
|
21
|
+
"summary": { "type": "string", "description": "One-line description of what's wrong and where." },
|
|
22
|
+
"targetDeliverable": { "type": "string" },
|
|
23
|
+
"route": { "type": "object" }
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"alreadyVerifiedOk": {
|
|
28
|
+
"type": "array",
|
|
29
|
+
"items": { "type": "string" },
|
|
30
|
+
"description": "Things accepted in prior attempt — keep stable. E.g. 'Requirement IDs FR-001..FR-011 accepted — do not renumber'."
|
|
31
|
+
},
|
|
32
|
+
"doNotChange": {
|
|
33
|
+
"type": "array",
|
|
34
|
+
"items": { "type": "string" },
|
|
35
|
+
"description": "Hard constraints. E.g. 'Page slug req-api-overview must remain stable'."
|
|
36
|
+
},
|
|
37
|
+
"reviewerNotes": {
|
|
38
|
+
"type": "array",
|
|
39
|
+
"items": { "type": "string" }
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xemahq/platform-common",
|
|
3
|
+
"version": "0.1.3",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"registry": "https://npm.pkg.github.com"
|
|
6
|
+
},
|
|
7
|
+
"main": "dist/index.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"files": [
|
|
10
|
+
"dist"
|
|
11
|
+
],
|
|
12
|
+
"peerDependencies": {
|
|
13
|
+
"@nestjs/common": ">=10",
|
|
14
|
+
"@nestjs/core": ">=10",
|
|
15
|
+
"@nestjs/platform-express": ">=10",
|
|
16
|
+
"@nestjs/swagger": ">=7",
|
|
17
|
+
"rxjs": ">=7"
|
|
18
|
+
},
|
|
19
|
+
"peerDependenciesMeta": {
|
|
20
|
+
"@nestjs/platform-express": {
|
|
21
|
+
"optional": true
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@xemahq/event-hub-client": "^8.3.1",
|
|
26
|
+
"cloudevents": "^8.0.2",
|
|
27
|
+
"jwks-rsa": "^3.2.2",
|
|
28
|
+
"zod": "^4.3.6",
|
|
29
|
+
"@xemahq/llm-gateway-contracts": "0.1.1",
|
|
30
|
+
"@xemahq/agent-workspace-contracts": "0.1.1",
|
|
31
|
+
"@xemahq/subject-contracts": "0.1.0",
|
|
32
|
+
"@xemahq/workflow-contracts": "0.1.1"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@nestjs/common": "11.1.13",
|
|
36
|
+
"@nestjs/config": "4.0.2",
|
|
37
|
+
"@nestjs/core": "11.1.13",
|
|
38
|
+
"@nestjs/platform-express": "11.1.13",
|
|
39
|
+
"@nestjs/swagger": "11.2.6",
|
|
40
|
+
"@nestjs/testing": "11.1.13",
|
|
41
|
+
"@xemahq/event-hub-client": "^8.3.1",
|
|
42
|
+
"@types/express": "5.0.3",
|
|
43
|
+
"@types/jest": "^30.0.0",
|
|
44
|
+
"@types/node": "25.2.3",
|
|
45
|
+
"class-transformer": "0.5.1",
|
|
46
|
+
"class-validator": "0.14.4",
|
|
47
|
+
"jest": "^30.3.0",
|
|
48
|
+
"prettier": "3.6.2",
|
|
49
|
+
"reflect-metadata": "0.2.2",
|
|
50
|
+
"rxjs": "7.8.2",
|
|
51
|
+
"ts-jest": "^29.4.9",
|
|
52
|
+
"typescript": "5.9.3"
|
|
53
|
+
},
|
|
54
|
+
"exports": {
|
|
55
|
+
".": {
|
|
56
|
+
"types": "./dist/index.d.ts",
|
|
57
|
+
"xema-source": "./src/index.ts",
|
|
58
|
+
"default": "./dist/index.js"
|
|
59
|
+
},
|
|
60
|
+
"./dist/*": {
|
|
61
|
+
"types": "./dist/*.d.ts",
|
|
62
|
+
"default": "./dist/*.js"
|
|
63
|
+
},
|
|
64
|
+
"./dist/lib/*": {
|
|
65
|
+
"types": "./dist/lib/*.d.ts",
|
|
66
|
+
"default": "./dist/lib/*.js"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"scripts": {
|
|
70
|
+
"clean": "rm -rf dist",
|
|
71
|
+
"build": "tsc -p tsconfig.json",
|
|
72
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
73
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
74
|
+
"test": "jest --config jest.config.ts"
|
|
75
|
+
}
|
|
76
|
+
}
|