@wildo-ai/saas-models 1.1.2 → 1.1.4
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/dist/esm/__tests__/setup.d.ts.map +1 -1
- package/dist/esm/_inspect.d.ts.map +1 -1
- package/dist/esm/applications/application-metadata.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/applications/application-subject.shared.schemas.d.ts.map +1 -1
- package/dist/esm/applications/application-versions.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/applications/applications-context.schemas.d.ts +14 -10
- package/dist/esm/applications/applications-context.schemas.d.ts.map +1 -1
- package/dist/esm/applications/applications.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/applications/applications.shared.resources-config.schemas.js +4 -3
- package/dist/esm/applications/applications.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/applications/applications.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-account.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-configuration.shared.schemas.d.ts +0 -4
- package/dist/esm/billing/billing-configuration.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-configuration.shared.schemas.js +59 -17
- package/dist/esm/billing/billing-configuration.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-enums.shared.schemas.d.ts +77 -21
- package/dist/esm/billing/billing-enums.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-enums.shared.schemas.js +85 -23
- package/dist/esm/billing/billing-enums.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-types.shared.schemas.d.ts +4 -3
- package/dist/esm/billing/billing-types.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-types.shared.schemas.js +45 -0
- package/dist/esm/billing/billing-types.shared.schemas.js.map +1 -1
- package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/credit-pool.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/invoice-ref.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/price.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/price.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/price.shared.schemas.js +7 -1
- package/dist/esm/billing/price.shared.schemas.js.map +1 -1
- package/dist/esm/billing/product-behavior-policy.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/product-behavior-policy.shared.schemas.js +52 -11
- package/dist/esm/billing/product-behavior-policy.shared.schemas.js.map +1 -1
- package/dist/esm/billing/product-definition.shared.schemas.d.ts +2 -2
- package/dist/esm/billing/product-definition.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/product.shared.resources-config.schemas.d.ts +2 -2
- package/dist/esm/billing/product.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/product.shared.schemas.d.ts +2 -2
- package/dist/esm/billing/product.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/product.shared.schemas.js +7 -3
- package/dist/esm/billing/product.shared.schemas.js.map +1 -1
- package/dist/esm/billing/promotions.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/promotions.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/referral.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts +1 -1
- package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/subscription.shared.resources-config.schemas.js +15 -1
- package/dist/esm/billing/subscription.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/subscription.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/usage-record.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/usage-record.shared.schemas.d.ts +7 -3
- package/dist/esm/billing/usage-record.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/usage-record.shared.schemas.js +22 -3
- package/dist/esm/billing/usage-record.shared.schemas.js.map +1 -1
- package/dist/esm/charts/aggregation-query.shared.schemas.d.ts.map +1 -1
- package/dist/esm/charts/chart-definition-builder.shared.d.ts.map +1 -1
- package/dist/esm/companion/provider-discovery.shared.schemas.d.ts +71 -2
- package/dist/esm/companion/provider-discovery.shared.schemas.d.ts.map +1 -1
- package/dist/esm/companion/provider-discovery.shared.schemas.js +20 -1
- package/dist/esm/companion/provider-discovery.shared.schemas.js.map +1 -1
- package/dist/esm/companion/shared-library-companion.shared.definitions.d.ts.map +1 -1
- package/dist/esm/companion-exports.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts +85 -0
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js +157 -0
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts +23 -0
- package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js +56 -0
- package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts +658 -26
- package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js +873 -27
- package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js.map +1 -1
- package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js +104 -3
- package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js.map +1 -1
- package/dist/esm/compliance/documents/governed-documents.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/client-storage.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/data-retention.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/impersonalization-scrub.shared.utils.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts +54 -26
- package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.js +132 -3
- package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/personal-data-category.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/personal-data-declaration.shared.utils.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts +17 -0
- package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/privacy.shared.schemas.js +27 -4
- package/dist/esm/compliance/privacy/privacy.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/redaction.shared.schemas.d.ts +82 -29
- package/dist/esm/compliance/privacy/redaction.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/redaction.shared.schemas.js +95 -29
- package/dist/esm/compliance/privacy/redaction.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/subject-export-render.shared.utils.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/subject-export.shared.schemas.js +12 -5
- package/dist/esm/compliance/privacy/subject-export.shared.schemas.js.map +1 -1
- package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts +21 -0
- package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/analytics-value-moments.shared.schemas.js +20 -0
- package/dist/esm/config/analytics-value-moments.shared.schemas.js.map +1 -1
- package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts +7 -5
- package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/auth-config-resolution.shared.utils.d.ts +8 -1
- package/dist/esm/config/auth-config-resolution.shared.utils.d.ts.map +1 -1
- package/dist/esm/config/auth-config-resolution.shared.utils.js +29 -0
- package/dist/esm/config/auth-config-resolution.shared.utils.js.map +1 -1
- package/dist/esm/config/brand-assets.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/entity-identity-config.shared.schemas.d.ts +95 -17
- package/dist/esm/config/entity-identity-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/entity-identity-config.shared.schemas.js +86 -8
- package/dist/esm/config/entity-identity-config.shared.schemas.js.map +1 -1
- package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts +26 -26
- package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/frontend/chart-registration-alignment.shared.d.ts +139 -3
- package/dist/esm/config/frontend/chart-registration-alignment.shared.d.ts.map +1 -1
- package/dist/esm/config/frontend/chart-registration-alignment.shared.js +151 -4
- package/dist/esm/config/frontend/chart-registration-alignment.shared.js.map +1 -1
- package/dist/esm/config/frontend/navigation.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/frontend/onboarding.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/registration-acquisition-policy.shared.utils.d.ts.map +1 -1
- package/dist/esm/config-authoring.entry.d.ts.map +1 -1
- package/dist/esm/crdt/crdt-merge.shared.utils.d.ts.map +1 -1
- package/dist/esm/data-seeding/data-seeding-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts +34 -0
- package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts.map +1 -1
- package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js +34 -0
- package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js.map +1 -1
- package/dist/esm/errors/errors.shared.definitions.d.ts.map +1 -1
- package/dist/esm/errors/errors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/errors/errors.shared.utils.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts +45 -12
- package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-pipeline.shared.schemas.js.map +1 -1
- package/dist/esm/external-data.exports.d.ts.map +1 -1
- package/dist/esm/external-providers/compose-provider-registry.shared.d.ts.map +1 -1
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts +110 -58
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.js +183 -15
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/engine-capability-resolution-mode.shared.d.ts +15 -3
- package/dist/esm/external-providers/engine-capability-resolution-mode.shared.d.ts.map +1 -1
- package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js +32 -5
- package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js.map +1 -1
- package/dist/esm/external-providers/external-providers.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts +87 -7
- package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts +59 -0
- package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts.map +1 -0
- package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js +61 -0
- package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js.map +1 -0
- package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts +97 -0
- package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts.map +1 -0
- package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js +41 -0
- package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js.map +1 -0
- package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts +205 -2
- package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js +85 -1
- package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts +175 -0
- package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts.map +1 -0
- package/dist/esm/external-providers/frontend-provider-public-config.shared.js +207 -0
- package/dist/esm/external-providers/frontend-provider-public-config.shared.js.map +1 -0
- package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts +5 -28
- package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-capability.shared.schemas.js +4 -2
- package/dist/esm/external-providers/provider-capability.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts +28 -8
- package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js +15 -4
- package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts +165 -0
- package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js +39 -0
- package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js.map +1 -0
- package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts +338 -0
- package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js +332 -0
- package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js.map +1 -0
- package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts +178 -9
- package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-metadata.shared.schemas.js +181 -9
- package/dist/esm/external-providers/provider-metadata.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts +7 -5
- package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-protocol.shared.schemas.js +7 -5
- package/dist/esm/external-providers/provider-protocol.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-tier-rule.shared.utils.d.ts +40 -0
- package/dist/esm/external-providers/provider-tier-rule.shared.utils.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-tier-rule.shared.utils.js +80 -0
- package/dist/esm/external-providers/provider-tier-rule.shared.utils.js.map +1 -0
- package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.d.ts.map +1 -1
- package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/features/application-features.shared.resources-config.schemas.js +12 -0
- package/dist/esm/features/application-features.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/features/core-feature-definitions.shared.d.ts.map +1 -1
- package/dist/esm/features/core-feature-definitions.shared.js +7 -1
- package/dist/esm/features/core-feature-definitions.shared.js.map +1 -1
- package/dist/esm/features/feature-builders.shared.d.ts +32 -0
- package/dist/esm/features/feature-builders.shared.d.ts.map +1 -1
- package/dist/esm/features/feature-builders.shared.js +32 -0
- package/dist/esm/features/feature-builders.shared.js.map +1 -1
- package/dist/esm/features/feature-definition.shared.schemas.d.ts.map +1 -1
- package/dist/esm/features/feature-registry.shared.d.ts.map +1 -1
- package/dist/esm/features/feature-resolution.shared.schemas.d.ts.map +1 -1
- package/dist/esm/features/scope-features.shared.schemas.d.ts.map +1 -1
- package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/features/user-features.shared.resources-config.schemas.js +12 -0
- package/dist/esm/features/user-features.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/files/file-remote-reference-link.shared.schemas.d.ts +73 -0
- package/dist/esm/files/file-remote-reference-link.shared.schemas.d.ts.map +1 -0
- package/dist/esm/files/file-remote-reference-link.shared.schemas.js +62 -0
- package/dist/esm/files/file-remote-reference-link.shared.schemas.js.map +1 -0
- package/dist/esm/files/file-upload-grant.shared.schemas.d.ts +14 -2
- package/dist/esm/files/file-upload-grant.shared.schemas.d.ts.map +1 -1
- package/dist/esm/files/file-upload-grant.shared.schemas.js +44 -5
- package/dist/esm/files/file-upload-grant.shared.schemas.js.map +1 -1
- package/dist/esm/files/files.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/files/files.shared.schemas.d.ts +15 -8
- package/dist/esm/files/files.shared.schemas.d.ts.map +1 -1
- package/dist/esm/files/files.shared.schemas.js +15 -8
- package/dist/esm/files/files.shared.schemas.js.map +1 -1
- package/dist/esm/files/files.shared.utils.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a-push-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a-push-delivery-log.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a-token-budget-state.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a-token-budget-state.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/actors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/actors.shared.schemas.js +3 -2
- package/dist/esm/flows-actors/actors.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/agents.shared.schemas.d.ts +54 -5
- package/dist/esm/flows-actors/agents.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/agents.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/apps-blueprint/apps-blueprint.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/apps-blueprint/artifacts.apps-blueprint.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts +0 -3
- package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/deliberation.shared.schemas.js +0 -5
- package/dist/esm/flows-actors/deliberation.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors-execution.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts +14 -0
- package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js +40 -3
- package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors-task.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors-task.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts +19 -0
- package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js +33 -0
- package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors.io.shared.schemas.d.ts +14 -9
- package/dist/esm/flows-actors/flows-actors.io.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js +14 -9
- package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors.system.shared.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors.system.shared.schemas.js +3 -2
- package/dist/esm/flows-actors/flows-actors.system.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows.shared.schemas.js +3 -2
- package/dist/esm/flows-actors/flows.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/mcp-servers.shared.schemas.d.ts +130 -0
- package/dist/esm/flows-actors/mcp-servers.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/mcp-servers.shared.schemas.js +153 -0
- package/dist/esm/flows-actors/mcp-servers.shared.schemas.js.map +1 -0
- package/dist/esm/flows-actors/meta-workflows/actions.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.d.ts +0 -3
- package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.js +1 -4
- package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/meta-workflows/catalog.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts +0 -16
- package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.js +1 -17
- package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/meta-workflows/continuity-identifiers.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts +3 -3
- package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.js +3 -3
- package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.d.ts +2 -8
- package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.js +4 -15
- package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/meta-workflows/portable-primitives.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/prompt-ir.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/task-continuity-binding.actors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts +112 -0
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts.map +1 -0
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js +113 -0
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js.map +1 -0
- package/dist/esm/guidance/guidance-flow.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/guidance-state.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/guidance-state.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/guidance-state.shared.utils.d.ts.map +1 -1
- package/dist/esm/guidance/guidance-state.shared.utils.js +1 -0
- package/dist/esm/guidance/guidance-state.shared.utils.js.map +1 -1
- package/dist/esm/guidance/lifecycle-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/lifecycle-state.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/lifecycle-state.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/milestone-builders.shared.d.ts.map +1 -1
- package/dist/esm/guidance/milestone-definition.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts +8 -0
- package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/progression-state.shared.schemas.d.ts +46 -0
- package/dist/esm/guidance/progression-state.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/progression-state.shared.schemas.js +49 -0
- package/dist/esm/guidance/progression-state.shared.schemas.js.map +1 -1
- package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.d.ts.map +1 -1
- package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts +320 -50
- package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts.map +1 -1
- package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js +137 -36
- package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js.map +1 -1
- package/dist/esm/i18n/labelling.dto.shared.schemas.d.ts.map +1 -1
- package/dist/esm/index.d.ts +15 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +15 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/meta-workflows.exports.d.ts.map +1 -1
- package/dist/esm/monitoring/monitoring.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/email/email-context.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts +11 -2
- package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/email/email-template-registry.shared.schemas.js.map +1 -1
- package/dist/esm/notifications/email/email-template.shared.enums.d.ts +15 -0
- package/dist/esm/notifications/email/email-template.shared.enums.d.ts.map +1 -1
- package/dist/esm/notifications/email/email-template.shared.enums.js +15 -0
- package/dist/esm/notifications/email/email-template.shared.enums.js.map +1 -1
- package/dist/esm/notifications/m2m/m2m-webhook-delivery-contract.shared.d.ts.map +1 -1
- package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts +1 -0
- package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js +19 -0
- package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts +30 -0
- package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js +65 -1
- package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js.map +1 -1
- package/dist/esm/notifications/notification-badges.core.definitions.d.ts +6 -4
- package/dist/esm/notifications/notification-badges.core.definitions.d.ts.map +1 -1
- package/dist/esm/notifications/notification-badges.core.definitions.js +6 -4
- package/dist/esm/notifications/notification-badges.core.definitions.js.map +1 -1
- package/dist/esm/notifications/notification-badges.schemas.d.ts +167 -5
- package/dist/esm/notifications/notification-badges.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/notification-badges.schemas.js +191 -6
- package/dist/esm/notifications/notification-badges.schemas.js.map +1 -1
- package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/notifications.shared.schemas.d.ts +158 -0
- package/dist/esm/notifications/notifications.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/notifications.shared.schemas.js +200 -1
- package/dist/esm/notifications/notifications.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js +13 -0
- package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-members.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-notifications.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-notifications.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-notifications.shared.schemas.js +22 -1
- package/dist/esm/organizations/organization-notifications.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-preferences.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts +26 -0
- package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-preferences.shared.schemas.js +25 -0
- package/dist/esm/organizations/organization-preferences.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-profile.shared.schemas.d.ts +25 -0
- package/dist/esm/organizations/organization-profile.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-profile.shared.schemas.js +42 -17
- package/dist/esm/organizations/organization-profile.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-unit-inheritance.shared.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-members.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing-decision.shared.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing.example.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts +3 -2
- package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing.shared.js +9 -2
- package/dist/esm/organizations/organization-unit-narrowing.shared.js.map +1 -1
- package/dist/esm/organizations/organization-units.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-units.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organizations.shared.resources-config.schemas.js +18 -3
- package/dist/esm/organizations/organizations.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organizations.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts +13 -0
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js +13 -0
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js.map +1 -1
- package/dist/esm/provider-registration-runtime.exports.d.ts.map +1 -1
- package/dist/esm/public-runtime/index.d.ts +71 -2
- package/dist/esm/public-runtime/index.d.ts.map +1 -1
- package/dist/esm/public-runtime/index.js +62 -1
- package/dist/esm/public-runtime/index.js.map +1 -1
- package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts +6 -5
- package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/queue/jobs.shared.resources-config.schemas.js +6 -5
- package/dist/esm/queue/jobs.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/queue/jobs.shared.schemas.d.ts +16 -3
- package/dist/esm/queue/jobs.shared.schemas.d.ts.map +1 -1
- package/dist/esm/queue/jobs.shared.schemas.js +16 -3
- package/dist/esm/queue/jobs.shared.schemas.js.map +1 -1
- package/dist/esm/queue/jobs.shared.utils.d.ts.map +1 -1
- package/dist/esm/queue/queues.shared.schemas.d.ts.map +1 -1
- package/dist/esm/queue/queues.shared.utils.d.ts.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-documentation.d.ts +137 -0
- package/dist/esm/requests/manual-controllers-routes-documentation.d.ts.map +1 -0
- package/dist/esm/requests/manual-controllers-routes-documentation.js +1255 -0
- package/dist/esm/requests/manual-controllers-routes-documentation.js.map +1 -0
- package/dist/esm/requests/manual-controllers-routes-urls.d.ts +114 -0
- package/dist/esm/requests/manual-controllers-routes-urls.d.ts.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-urls.js +129 -0
- package/dist/esm/requests/manual-controllers-routes-urls.js.map +1 -1
- package/dist/esm/requests/rate-limits.shared.schemas.d.ts +11 -1
- package/dist/esm/requests/rate-limits.shared.schemas.d.ts.map +1 -1
- package/dist/esm/requests/rate-limits.shared.schemas.js +11 -1
- package/dist/esm/requests/rate-limits.shared.schemas.js.map +1 -1
- package/dist/esm/requests/websocket.shared.schemas.d.ts +28 -3
- package/dist/esm/requests/websocket.shared.schemas.d.ts.map +1 -1
- package/dist/esm/requests/websocket.shared.schemas.js +52 -0
- package/dist/esm/requests/websocket.shared.schemas.js.map +1 -1
- package/dist/esm/resources/child-operations.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/context-policy.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/relationship-display.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/resources-config.shared.factory.d.ts +1 -0
- package/dist/esm/resources/resources-config.shared.factory.d.ts.map +1 -1
- package/dist/esm/resources/resources-config.shared.factory.js +203 -25
- package/dist/esm/resources/resources-config.shared.factory.js.map +1 -1
- package/dist/esm/resources/resources-config.shared.schemas.d.ts +297 -68
- package/dist/esm/resources/resources-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/resources-config.shared.schemas.js.map +1 -1
- package/dist/esm/resources/resources-registry.shared.core.definitions.d.ts.map +1 -1
- package/dist/esm/resources/resources-registry.shared.core.definitions.js +151 -5
- package/dist/esm/resources/resources-registry.shared.core.definitions.js.map +1 -1
- package/dist/esm/resources/resources-relationships.shared.factory.d.ts.map +1 -1
- package/dist/esm/resources/resources-relationships.shared.factory.js +15 -0
- package/dist/esm/resources/resources-relationships.shared.factory.js.map +1 -1
- package/dist/esm/resources/resources-serialization.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.core.definitions.d.ts +54 -0
- package/dist/esm/resources/resources.shared.core.definitions.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.core.definitions.js +69 -0
- package/dist/esm/resources/resources.shared.core.definitions.js.map +1 -1
- package/dist/esm/resources/resources.shared.schemas.d.ts +11 -2
- package/dist/esm/resources/resources.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.schemas.js +34 -3
- package/dist/esm/resources/resources.shared.schemas.js.map +1 -1
- package/dist/esm/resources/resources.shared.utils.d.ts +32 -7
- package/dist/esm/resources/resources.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.utils.js +32 -7
- package/dist/esm/resources/resources.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/collection-export.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/composition-cascade-deletability.validation.d.ts.map +1 -1
- package/dist/esm/resources/utils/composition-seedability.validation.d.ts.map +1 -1
- package/dist/esm/resources/utils/context-addressed-composition-singleton.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/duplicate-relationship-registration.validation.d.ts.map +1 -1
- package/dist/esm/resources/utils/field-value-disclosure.utils.d.ts +51 -0
- package/dist/esm/resources/utils/field-value-disclosure.utils.d.ts.map +1 -0
- package/dist/esm/resources/utils/field-value-disclosure.utils.js +53 -0
- package/dist/esm/resources/utils/field-value-disclosure.utils.js.map +1 -0
- package/dist/esm/resources/utils/persistence-adapter-discrimination.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/repository-dto-builder.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/required-fk-fillability.validation.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-operation-type-guards.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.factory.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.relationships.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.schemas.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-subtree.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-config-context-needs.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.path.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-serialization.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-summary.utils.d.ts +16 -2
- package/dist/esm/resources/utils/resources-summary.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-summary.utils.js +19 -5
- package/dist/esm/resources/utils/resources-summary.utils.js.map +1 -1
- package/dist/esm/resources/utils/schema-family-builder.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/schema-type-inference.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/schema-type-utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/schema-variant-resolver.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/shared-persistence-collection.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/shared-persistence-collection.utils.js +11 -0
- package/dist/esm/resources/utils/shared-persistence-collection.utils.js.map +1 -1
- package/dist/esm/resources/utils/templatable-file-fields.shared.utils.d.ts.map +1 -1
- package/dist/esm/runtime/domain-module.shared.definitions.d.ts +25 -0
- package/dist/esm/runtime/domain-module.shared.definitions.d.ts.map +1 -1
- package/dist/esm/runtime/domain-module.shared.definitions.js.map +1 -1
- package/dist/esm/runtime/execution-context.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts +1 -0
- package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js +38 -0
- package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts +1 -0
- package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js +38 -0
- package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/api-keys/api-keys.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/anonymous-session/anonymous-session.shared.contract.d.ts.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts +5 -12
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.js +0 -1
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.js.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.schemas.d.ts +84 -5
- package/dist/esm/security/authentications/authentication.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.schemas.js +83 -3
- package/dist/esm/security/authentications/authentication.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/consumable-token.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/consumable-token.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/password-reset.shared.dto.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts +1 -0
- package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/registration.shared.dto.schemas.js +11 -0
- package/dist/esm/security/authentications/registration.shared.dto.schemas.js.map +1 -1
- package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.d.ts.map +1 -1
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts +15 -0
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js +21 -4
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.d.ts.map +1 -1
- package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.js.map +1 -1
- package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.d.ts +61 -1
- package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js +238 -6
- package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authentications/sso/sso-config.shared.schemas.d.ts +37 -27
- package/dist/esm/security/authentications/sso/sso-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js +134 -12
- package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts +2 -6
- package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js +32 -8
- package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js.map +1 -1
- package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts +45 -2
- package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js +45 -2
- package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js.map +1 -1
- package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.d.ts +35 -0
- package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js +257 -0
- package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/security/authorizations/application-access-grants.shared.schemas.d.ts +143 -0
- package/dist/esm/security/authorizations/application-access-grants.shared.schemas.d.ts.map +1 -0
- package/dist/esm/security/authorizations/application-access-grants.shared.schemas.js +219 -0
- package/dist/esm/security/authorizations/application-access-grants.shared.schemas.js.map +1 -0
- package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js +27 -0
- package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.d.ts +75 -7
- package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.js +69 -8
- package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.js.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.defaults.d.ts.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.utils.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts +31 -0
- package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js +198 -0
- package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts +31 -0
- package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js +191 -0
- package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts +307 -0
- package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js +530 -0
- package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js.map +1 -0
- package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.d.ts +4 -1
- package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js +29 -0
- package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts +4 -1
- package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js +29 -0
- package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts +6 -0
- package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js +31 -0
- package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.d.ts +13 -0
- package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.js +24 -3
- package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-resource-server.shared.schemas.d.ts.map +1 -1
- package/dist/esm/testing/resource-config-builders.d.ts.map +1 -1
- package/dist/esm/testing.d.ts.map +1 -1
- package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.d.ts.map +1 -1
- package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/anonymous-users.shared.schema.d.ts.map +1 -1
- package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/inbound-contacts.shared.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-credentials.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-credentials.shared.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-identity-links.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-identity-links.shared.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-preferences-reset.shared.utils.d.ts.map +1 -1
- package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts +4 -4
- package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-profiles.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts +4 -4
- package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-self-profiles.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-self.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-self.shared.resources-config.schemas.js +33 -3
- package/dist/esm/users/user-self.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/users.shared.resources-config.schemas.d.ts +17 -1
- package/dist/esm/users/users.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/users.shared.resources-config.schemas.js +136 -5
- package/dist/esm/users/users.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/users.shared.schemas.d.ts +60 -13
- package/dist/esm/users/users.shared.schemas.d.ts.map +1 -1
- package/dist/esm/users/users.shared.schemas.js +56 -9
- package/dist/esm/users/users.shared.schemas.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/public-runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AAEH,OAAO,EACH,6BAA6B,EAC7B,iCAAiC,EACjC,kCAAkC,EAClC,0BAA0B,EAC1B,2BAA2B,GAK9B,MAAM,uEAAuE,CAAC;AAE/E;;;;;;;;GAQG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;AAExG,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAE7E;;;;;;GAMG;AACH,OAAO,EACH,cAAc,EACd,8BAA8B,EAC9B,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,kBAAkB,GAGrB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EACH,iBAAiB,EACjB,aAAa,GAChB,MAAM,oDAAoD,CAAC;AAE5D;;;;;;;;;GASG;AACH,OAAO,EACH,gCAAgC,EAChC,sBAAsB,GAEzB,MAAM,wDAAwD,CAAC;AAEhE;;;;;;;GAOG;AACH,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,GAG/B,MAAM,8DAA8D,CAAC;AAEtE;;;;;;GAMG;AACH,OAAO,EACH,2BAA2B,GAI9B,MAAM,0DAA0D,CAAC;AAClE,OAAO,EACH,yBAAyB,GAG5B,MAAM,wDAAwD,CAAC;AAEhE;;;;;;;;;GASG;AACH,OAAO,EACH,uBAAuB,EACvB,gCAAgC,GAInC,MAAM,wDAAwD,CAAC;AAEhE,0DAA0D","sourcesContent":["/**\n * @wildo_source:part:start saas.public-runtime.contract facet:layer:shared facet:family:bundle-boundary\n *\n * @wildo-package-subpath @wildo-ai/saas-models/public-runtime\n *\n * Browser-safe, decorator-framework-free atom subset of\n * `@wildo-ai/saas-models`.\n *\n * Why this subpath exists:\n * The package's root barrel (`./index.ts`) calls `initZodDecorators()` at\n * module load (line 3) and re-exports the entire decorator-framework-bound\n * schema graph (~150 schemas, transitively pulls\n * `@wildo-ai/external-connectors-models` + `@wildo-ai/zod-decorators` +\n * `reflect-metadata`). Browser bundles that need only a handful of stable\n * atoms (cross-frontend handoff DTOs, canonical HTTP header keys, locale\n * enums) should NOT pay that cost.\n *\n * This subpath exposes that minimal stable surface, sourced from\n * side-effect-free atom files (saas-models-public-runtime.md K-1 / K-2 /\n * K-4):\n *\n * - Cross-Frontend Handoff + Token Exchange DTO atoms\n * (`../security/authentications/cross-frontend-handoff.shared.dto.schemas`):\n * `CrossFrontendHandoffErrorCode`, `CrossFrontendHandoffRequestSchema`,\n * `CrossFrontendHandoffResponseSchema`, `TokenExchangeRequestSchema`,\n * `TokenExchangeResponseSchema`,\n * `CrossFrontendHandoffRequest`, `CrossFrontendHandoffResponse`,\n * `TokenExchangeRequest`, `TokenExchangeResponse`. The token-exchange\n * schemas were added\n * in cross-app-jwt-propagation.md Step 5 — every receiver of an\n * AUTH_CODE_EXCHANGE token (SaaS app, docs site) is by construction\n * a client-bundle target, so the response shape MUST live here too\n * (not just in the heavy backend schemas barrel).\n * - Frontend-kind enum\n * (`../config/app-frontend-type.shared.schemas`): `AppFrontendType`\n * — the SAAS_APP / STATIC_WEBSITE / TECH_DOC runtime taxonomy.\n * Consumed by website discovery, scaffolding, CSP config, and\n * companion services that need to introspect a service's runtime\n * kind without booting the full schema graph. The atom file's\n * file-level JSDoc is the canonical home for the kind-by-kind\n * rationale AND the locked \"no native variants\" design decision\n * — read that file before authoring any AppFrontendType-driven\n * conditional.\n * - Canonical HTTP header keys (`../requests/header-keys.shared`):\n * `WildoHeaderKeys` (already a zero-dep `as const` atom — re-exported\n * whole; per K-2 splitting it would itself violate DRY).\n * - Locale enums (re-exported transparently from\n * `@wildo-ai/presets-components-models/public-runtime`):\n * `AvailableLanguage`, `TextDirection`. Consumers see ONE import path\n * (`@wildo-ai/saas-models/public-runtime`) — the\n * `presets-components-models/public-runtime` subpath is an internal\n * seam (saas-models-public-runtime.md K-6).\n *\n * @wildo-boundary (saas-models-public-runtime.md K-3)\n * - This file and every file it transitively imports MUST NOT import from:\n * `@wildo-ai/zod-decorators`, `@wildo-ai/external-connectors-models`,\n * the `@wildo-ai/presets-components-models` ROOT barrel (only the\n * `/public-runtime` subpath of that package is allowed), `inversify`,\n * `reflect-metadata`, `mongoose`, `axios`, `express`, `socket.io`,\n * `pino`, `helmet`, `argon2`, `bcrypt`, `jsonwebtoken`.\n * - DO NOT import from this package's ROOT barrel (`../index`) — that\n * barrel runs `initZodDecorators()` and pulls the full schema tree.\n * - Allowed imports: `zod` (peer dep, browser-safe), files inside\n * `./public-runtime/`, the atom files extracted by Steps 1 + 2 of the\n * plan, and the\n * `@wildo-ai/presets-components-models/public-runtime` subpath.\n *\n * @wildo-bundle-budget\n * The output of this barrel + transitive imports MUST stay free of:\n * `initZodDecorators()` invocation, `reflect-metadata`, the full\n * `authentication.shared.dto.schemas.ts` web of types\n * (`UserContextSchema`, `SessionType`, `AuthMethod`, `AuthFactorLevel`,\n * `AuthSessionPurpose`, `AuthUtils`). The Step 5 vitest boundary test\n * snapshots `Object.getOwnPropertyNames(z.ZodType.prototype)` before and\n * after importing this module and asserts the prototype is unchanged\n * (proof that `initZodDecorators` did NOT run).\n *\n * @wildo-dry-contract\n * Every atom exposed here lives in EXACTLY one source file. The original\n * home (e.g. `authentication.shared.dto.schemas.ts`,\n * `localization/language.shared.schemas.ts`) re-exports from the same atom\n * so existing root-barrel consumers keep working unchanged. Adding a new\n * atom: split it out of its current heavy file FIRST (matching K-2\n * protocol), add a re-export at the original home, then add the import\n * here. NEVER duplicate a declaration into a `_public-runtime/` folder.\n */\n\nexport {\n CrossFrontendHandoffErrorCode,\n CrossFrontendHandoffRequestSchema,\n CrossFrontendHandoffResponseSchema,\n TokenExchangeRequestSchema,\n TokenExchangeResponseSchema,\n type CrossFrontendHandoffRequest,\n type CrossFrontendHandoffResponse,\n type TokenExchangeRequest,\n type TokenExchangeResponse,\n} from '../security/authentications/cross-frontend-handoff.shared.dto.schemas';\n\n/**\n * The single same-origin redirect predicate.\n *\n * On the bundle-safe seam because the two BROWSER receivers of a post-authentication redirect — the\n * SaaS app (`saas-frontend-lib`) and the docs site (`saas-technical-doc`) — are client-bundle targets\n * by construction, while the ISSUER-side schema in this package validates the same value on the\n * server. All three must reach one predicate or they drift; they already had, in the same direction,\n * across four hand-written copies. The source atom is import-free, so it adds nothing to the budget.\n */\nexport { isSameOriginRedirectPath } from '../security/authentications/same-origin-redirect-path.shared';\n\nexport { WildoHeaderKeys } from '../requests/header-keys.shared';\n\n/**\n * Main API mount prefix (`/api/v1`) — the SINGLE SOURCE OF TRUTH for the path\n * under which the entire main controllers registry is served. Exposed on the\n * bundle-safe seam because browser-bound runtimes that call the SaaS backend\n * (e.g. the docs auth client's token-exchange / cross-frontend-handoff\n * requests) must prefix their request URLs with the SAME value the backend\n * mounts and the SaaS-app HTTP client uses. Deriving every consumer from one\n * symbol is what prevents the prefix-drift class — a mismatched prefix\n * silently breaks auth (see the refresh-cookie `Path` regression that\n * motivated the shared symbol). The source atom\n * (`../requests/manual-controllers-routes-urls`) is import-free, so it adds\n * nothing to the decorator-free bundle budget.\n */\nexport { MAIN_API_BASE_PATH } from '../requests/manual-controllers-routes-urls';\n\nexport { AppFrontendType } from '../config/app-frontend-type.shared.schemas';\n\n/**\n * Canonical Zod-issue rendering. Browser-bound runtimes validate untrusted\n * input too — MDX frontmatter at build time, API responses at runtime — and\n * each one previously re-derived its own `path: message` formatter, drifting on\n * root labels and truncation. The source atom is import-free (the issue shape is\n * structural, not a `zod` type import), so it adds nothing to the bundle budget.\n */\nexport {\n ALL_ZOD_ISSUES,\n DEFAULT_ZOD_ISSUE_RENDER_LIMIT,\n ZOD_ROOT_ISSUE_PATH_LABEL,\n formatZodIssue,\n formatZodIssues,\n summarizeZodIssues,\n type FormattableZodIssue,\n type ZodIssueFormattingOptions,\n} from '../errors/zod-issue-formatting.shared.utils';\n\nexport {\n AvailableLanguage,\n TextDirection,\n} from '@wildo-ai/presets-components-models/public-runtime';\n\n/**\n * Provider metadata atom (provider-registration-refactor §Phase 0.1 +\n * §Phase 1.g). The schema is built with plain Zod (no decorator\n * framework) and the type is `z.infer<…>`. Re-exported here so the\n * browser-bound `@wildo-ai/external-connectors-public/app`,\n * `@wildo-ai/external-connectors-public/techdoc`, and\n * `@wildo-ai/external-connectors-public/website` can consume it WITHOUT\n * pulling the saas-models\n * root barrel (which would boot `initZodDecorators()`).\n */\nexport {\n buildProviderDisplayNameLabelKey,\n ProviderMetadataSchema,\n type ProviderMetadata,\n} from '../external-providers/provider-metadata.shared.schemas';\n\n/**\n * Frontend-provider bootstrap atoms shared by browser-bound runtimes.\n *\n * Safe for `/public-runtime` because the entry/block schemas depend only on\n * plain Zod plus `ProviderMetadataSchema`; the heavier\n * `AppConfiguration_FrontendBootstrapResponse` contract stays on the root-barrel\n * side.\n */\nexport {\n FrontendProviderEntrySchema,\n FrontendProvidersBlockSchema,\n type FrontendProviderEntry,\n type FrontendProvidersBlock,\n} from '../external-providers/frontend-provider-entry.shared.schemas';\n\n/**\n * Provider capability atoms (provider-registration-refactor §Phase 0.2\n * + §Phase 1.g). Closed built-in enum + open declaration-merging seam\n * + computed union type. Pure types and `as const` — no Zod, no\n * decorators, no side effects. Required by every facet's provider\n * module shape, so it MUST live on the bundle-safe seam.\n */\nexport {\n BUILTIN_PROVIDER_CAPABILITY,\n type BuiltinProviderCapability,\n type AppCustomProviderCapabilities,\n type ProviderCapability,\n} from '../external-providers/provider-capability.shared.schemas';\nexport {\n BUILTIN_PROVIDER_PROTOCOL,\n type BuiltinProviderProtocol,\n type ProviderProtocol,\n} from '../external-providers/provider-protocol.shared.schemas';\n\n/**\n * Generic registry composition core (provider-registration-refactor\n * §Phase 1.e + §Phase 1.g). Used by every facet's `compose<Facet>Providers`\n * wrapper (backend, frontend-app, frontend-techdoc, frontend-website).\n * The browser-bound facets need this on the bundle-safe seam; the backend\n * facet inherits via the same import path for DRY.\n *\n * Pure runtime — only TYPE-imports `ProviderCapability` from the atom\n * above, so the closure stays decorator-free.\n */\nexport {\n composeProviderRegistry,\n ProviderCompositionConflictError,\n type ProviderRegistryFragment,\n type ComposedProviderRegistry,\n type ProviderCompositionConflict,\n} from '../external-providers/compose-provider-registry.shared';\n\n/** @wildo_source:part:end saas.public-runtime.contract */\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/public-runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AAEH,OAAO,EACH,6BAA6B,EAC7B,iCAAiC,EACjC,kCAAkC,EAClC,0BAA0B,EAC1B,2BAA2B,GAK9B,MAAM,uEAAuE,CAAC;AAE/E;;;;;;;;GAQG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;AAExG,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAE7E;;;;;;GAMG;AACH,OAAO,EACH,cAAc,EACd,8BAA8B,EAC9B,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,kBAAkB,GAGrB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EACH,iBAAiB,EACjB,aAAa,GAChB,MAAM,oDAAoD,CAAC;AAE5D;;;;;;;;;GASG;AACH,OAAO,EACH,gCAAgC,EAChC,sBAAsB,EACtB,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,GAMf,MAAM,wDAAwD,CAAC;AAEhE;;;;;;;;;;;;GAYG;AACH,OAAO,EACH,uBAAuB,EACvB,+BAA+B,GAElC,MAAM,kEAAkE,CAAC;AAE1E;;;;;GAKG;AACH,OAAO,EACH,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,GAE7B,MAAM,uDAAuD,CAAC;AAE/D;;;;;;;GAOG;AACH,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,GAG/B,MAAM,8DAA8D,CAAC;AAEtE;;;;;;GAMG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,OAAO,EACH,qCAAqC,EACrC,yCAAyC,EACzC,0CAA0C,EAC1C,sCAAsC,EACtC,kCAAkC,EAClC,+BAA+B,EAC/B,iCAAiC,EACjC,uCAAuC,EACvC,mCAAmC,EACnC,iCAAiC,GAQpC,MAAM,gEAAgE,CAAC;AAexE;;;;GAIG;AACH,OAAO,EACH,gCAAgC,EAChC,mCAAmC,EACnC,iCAAiC,EACjC,mCAAmC,EACnC,6BAA6B,EAC7B,mCAAmC,EACnC,4BAA4B,GAI/B,MAAM,8DAA8D,CAAC;AAEtE;;;;GAIG;AACH,OAAO,EACH,oCAAoC,GAEvC,MAAM,wEAAwE,CAAC;AAEhF;;;;;;GAMG;AACH,OAAO,EACH,6BAA6B,GAGhC,MAAM,gEAAgE,CAAC;AAExE;;;;;;GAMG;AACH,OAAO,EACH,2BAA2B,GAG9B,MAAM,0DAA0D,CAAC;AAClE,OAAO,EACH,yBAAyB,GAG5B,MAAM,wDAAwD,CAAC;AAEhE;;;;;;;;;GASG;AACH,OAAO,EACH,uBAAuB,EACvB,gCAAgC,GAInC,MAAM,wDAAwD,CAAC;AAEhE,0DAA0D","sourcesContent":["/**\n * @wildo_source:part:start saas.public-runtime.contract facet:layer:shared facet:family:bundle-boundary\n *\n * @wildo-package-subpath @wildo-ai/saas-models/public-runtime\n *\n * Browser-safe, decorator-framework-free atom subset of\n * `@wildo-ai/saas-models`.\n *\n * Why this subpath exists:\n * The package's root barrel (`./index.ts`) calls `initZodDecorators()` at\n * module load (line 3) and re-exports the entire decorator-framework-bound\n * schema graph (~150 schemas, transitively pulls\n * `@wildo-ai/external-connectors-models` + `@wildo-ai/zod-decorators` +\n * `reflect-metadata`). Browser bundles that need only a handful of stable\n * atoms (cross-frontend handoff DTOs, canonical HTTP header keys, locale\n * enums) should NOT pay that cost.\n *\n * This subpath exposes that minimal stable surface, sourced from\n * side-effect-free atom files (saas-models-public-runtime.md K-1 / K-2 /\n * K-4):\n *\n * - Cross-Frontend Handoff + Token Exchange DTO atoms\n * (`../security/authentications/cross-frontend-handoff.shared.dto.schemas`):\n * `CrossFrontendHandoffErrorCode`, `CrossFrontendHandoffRequestSchema`,\n * `CrossFrontendHandoffResponseSchema`, `TokenExchangeRequestSchema`,\n * `TokenExchangeResponseSchema`,\n * `CrossFrontendHandoffRequest`, `CrossFrontendHandoffResponse`,\n * `TokenExchangeRequest`, `TokenExchangeResponse`. The token-exchange\n * schemas were added\n * in cross-app-jwt-propagation.md Step 5 — every receiver of an\n * AUTH_CODE_EXCHANGE token (SaaS app, docs site) is by construction\n * a client-bundle target, so the response shape MUST live here too\n * (not just in the heavy backend schemas barrel).\n * - Frontend-kind enum\n * (`../config/app-frontend-type.shared.schemas`): `AppFrontendType`\n * — the SAAS_APP / STATIC_WEBSITE / TECH_DOC runtime taxonomy.\n * Consumed by website discovery, scaffolding, CSP config, and\n * companion services that need to introspect a service's runtime\n * kind without booting the full schema graph. The atom file's\n * file-level JSDoc is the canonical home for the kind-by-kind\n * rationale AND the locked \"no native variants\" design decision\n * — read that file before authoring any AppFrontendType-driven\n * conditional.\n * - Canonical HTTP header keys (`../requests/header-keys.shared`):\n * `WildoHeaderKeys` (already a zero-dep `as const` atom — re-exported\n * whole; per K-2 splitting it would itself violate DRY).\n * - Locale enums (re-exported transparently from\n * `@wildo-ai/presets-components-models/public-runtime`):\n * `AvailableLanguage`, `TextDirection`. Consumers see ONE import path\n * (`@wildo-ai/saas-models/public-runtime`) — the\n * `presets-components-models/public-runtime` subpath is an internal\n * seam (saas-models-public-runtime.md K-6).\n *\n * @wildo-boundary (saas-models-public-runtime.md K-3)\n * - This file and every file it transitively imports MUST NOT import from:\n * `@wildo-ai/zod-decorators`, `@wildo-ai/external-connectors-models`,\n * the `@wildo-ai/presets-components-models` ROOT barrel (only the\n * `/public-runtime` subpath of that package is allowed), `inversify`,\n * `reflect-metadata`, `mongoose`, `axios`, `express`, `socket.io`,\n * `pino`, `helmet`, `argon2`, `bcrypt`, `jsonwebtoken`.\n * - DO NOT import from this package's ROOT barrel (`../index`) — that\n * barrel runs `initZodDecorators()` and pulls the full schema tree.\n * - Allowed imports: `zod` (peer dep, browser-safe), files inside\n * `./public-runtime/`, the atom files extracted by Steps 1 + 2 of the\n * plan, and the\n * `@wildo-ai/presets-components-models/public-runtime` subpath.\n *\n * @wildo-bundle-budget\n * The output of this barrel + transitive imports MUST stay free of:\n * `initZodDecorators()` invocation, `reflect-metadata`, the full\n * `authentication.shared.dto.schemas.ts` web of types\n * (`UserContextSchema`, `SessionType`, `AuthMethod`, `AuthFactorLevel`,\n * `AuthSessionPurpose`, `AuthUtils`). The Step 5 vitest boundary test\n * snapshots `Object.getOwnPropertyNames(z.ZodType.prototype)` before and\n * after importing this module and asserts the prototype is unchanged\n * (proof that `initZodDecorators` did NOT run).\n *\n * @wildo-dry-contract\n * Every atom exposed here lives in EXACTLY one source file. The original\n * home (e.g. `authentication.shared.dto.schemas.ts`,\n * `localization/language.shared.schemas.ts`) re-exports from the same atom\n * so existing root-barrel consumers keep working unchanged. Adding a new\n * atom: split it out of its current heavy file FIRST (matching K-2\n * protocol), add a re-export at the original home, then add the import\n * here. NEVER duplicate a declaration into a `_public-runtime/` folder.\n */\n\nexport {\n CrossFrontendHandoffErrorCode,\n CrossFrontendHandoffRequestSchema,\n CrossFrontendHandoffResponseSchema,\n TokenExchangeRequestSchema,\n TokenExchangeResponseSchema,\n type CrossFrontendHandoffRequest,\n type CrossFrontendHandoffResponse,\n type TokenExchangeRequest,\n type TokenExchangeResponse,\n} from '../security/authentications/cross-frontend-handoff.shared.dto.schemas';\n\n/**\n * The single same-origin redirect predicate.\n *\n * On the bundle-safe seam because the two BROWSER receivers of a post-authentication redirect — the\n * SaaS app (`saas-frontend-lib`) and the docs site (`saas-technical-doc`) — are client-bundle targets\n * by construction, while the ISSUER-side schema in this package validates the same value on the\n * server. All three must reach one predicate or they drift; they already had, in the same direction,\n * across four hand-written copies. The source atom is import-free, so it adds nothing to the budget.\n */\nexport { isSameOriginRedirectPath } from '../security/authentications/same-origin-redirect-path.shared';\n\nexport { WildoHeaderKeys } from '../requests/header-keys.shared';\n\n/**\n * Main API mount prefix (`/api/v1`) — the SINGLE SOURCE OF TRUTH for the path\n * under which the entire main controllers registry is served. Exposed on the\n * bundle-safe seam because browser-bound runtimes that call the SaaS backend\n * (e.g. the docs auth client's token-exchange / cross-frontend-handoff\n * requests) must prefix their request URLs with the SAME value the backend\n * mounts and the SaaS-app HTTP client uses. Deriving every consumer from one\n * symbol is what prevents the prefix-drift class — a mismatched prefix\n * silently breaks auth (see the refresh-cookie `Path` regression that\n * motivated the shared symbol). The source atom\n * (`../requests/manual-controllers-routes-urls`) is import-free, so it adds\n * nothing to the decorator-free bundle budget.\n */\nexport { MAIN_API_BASE_PATH } from '../requests/manual-controllers-routes-urls';\n\nexport { AppFrontendType } from '../config/app-frontend-type.shared.schemas';\n\n/**\n * Canonical Zod-issue rendering. Browser-bound runtimes validate untrusted\n * input too — MDX frontmatter at build time, API responses at runtime — and\n * each one previously re-derived its own `path: message` formatter, drifting on\n * root labels and truncation. The source atom is import-free (the issue shape is\n * structural, not a `zod` type import), so it adds nothing to the bundle budget.\n */\nexport {\n ALL_ZOD_ISSUES,\n DEFAULT_ZOD_ISSUE_RENDER_LIMIT,\n ZOD_ROOT_ISSUE_PATH_LABEL,\n formatZodIssue,\n formatZodIssues,\n summarizeZodIssues,\n type FormattableZodIssue,\n type ZodIssueFormattingOptions,\n} from '../errors/zod-issue-formatting.shared.utils';\n\nexport {\n AvailableLanguage,\n TextDirection,\n} from '@wildo-ai/presets-components-models/public-runtime';\n\n/**\n * Provider metadata atom (provider-registration-refactor §Phase 0.1 +\n * §Phase 1.g). The schema is built with plain Zod (no decorator\n * framework) and the type is `z.infer<…>`. Re-exported here so the\n * browser-bound `@wildo-ai/external-connectors-public/app`,\n * `@wildo-ai/external-connectors-public/techdoc`, and\n * `@wildo-ai/external-connectors-public/website` can consume it WITHOUT\n * pulling the saas-models\n * root barrel (which would boot `initZodDecorators()`).\n */\nexport {\n buildProviderDisplayNameLabelKey,\n defineProviderMetadata,\n ENGINE_PROVIDER_ORIGIN,\n ProviderCatalogueProvenanceSchema,\n ProviderCatalogueSource,\n ProviderIdentitySchema,\n ProviderMetadataSchema,\n ProviderOriginKind,\n ProviderOriginSchema,\n ProviderTier,\n type DefineProviderMetadataInput,\n type ProviderCatalogueProvenance,\n type ProviderIdentity,\n type ProviderMetadata,\n type ProviderOrigin,\n} from '../external-providers/provider-metadata.shared.schemas';\n\n/**\n * A provider's compliance primitives, reachable from the FRONTEND facets.\n *\n * `ProviderComplianceProfile` was reachable only from the backend provider contract until\n * 2026-09-07 (#345), which left the half of the provider population that executes in the DATA\n * SUBJECT'S BROWSER unable to state a deployment model, a processing region or a legal entity —\n * exactly the recipients a processor register and a transfer statement must name.\n *\n * `ProviderDeploymentModel` is exported as a VALUE, not merely a type: a provider module writes\n * `ProviderDeploymentModel.VENDOR_HOSTED` in its own declaration, so the enum enters the frontend\n * facets' module graph. It is a closed enum over two string members with no Zod decorators and no\n * side effects, which is the same bar the tier rule below is exported under.\n */\nexport {\n ProviderDeploymentModel,\n ProviderComplianceProfileSchema,\n type ProviderComplianceProfile,\n} from '../external-providers/provider-compliance-profile.shared.schemas';\n\n/**\n * The tier rule (#328) is enforced by every facet's `compose*Providers`,\n * three of which are browser-bound and reach this package only here. It\n * depends on the closed capability→slot map and the metadata enums only —\n * no Zod decorators, no side effects.\n */\nexport {\n assertProviderTierCoherence,\n engineSlotsBoundByCapabilities,\n findProviderTierViolations,\n type ProviderTierRuleSubject,\n} from '../external-providers/provider-tier-rule.shared.utils';\n\n/**\n * Frontend-provider bootstrap atoms shared by browser-bound runtimes.\n *\n * Safe for `/public-runtime` because the entry/block schemas depend only on\n * plain Zod plus `ProviderMetadataSchema`; the heavier\n * `AppConfiguration_FrontendBootstrapResponse` contract stays on the root-barrel\n * side.\n */\nexport {\n FrontendProviderEntrySchema,\n FrontendProvidersBlockSchema,\n type FrontendProviderEntry,\n type FrontendProvidersBlock,\n} from '../external-providers/frontend-provider-entry.shared.schemas';\n\n/**\n * The z_file storage vocabulary, re-exported so a browser-bound provider module\n * can declare `fileStorage: FileStorageAccepted.GOOGLE_DRIVE` by NAME (#394 P5).\n * The enum is owned by `@wildo-ai/zod-decorators` — the package that owns\n * `z_file({ storageAccepted })` — and the facets' bundle-isolation allow-list\n * admits only this door into the models, so the value has to be reachable here.\n */\nexport { FileStorageAccepted } from '@wildo-ai/zod-decorators';\n\n/**\n * Frontend-surface atoms a provider declares (#332, slice S4a): its CSP\n * footprint, the vendor SDK package it loads, and any third-party `<script>` it\n * asks the surface to add.\n *\n * These are the DATA half of the frontend provider surface and they ride inside\n * `FrontendProviderEntry`, so they must reach the same browser-bound consumers\n * through the same door. Plain Zod, no decorators, no side effects. The\n * executable half lives on the facet module types in\n * `@wildo-ai/external-connectors-public` and never crosses this seam.\n */\nexport {\n normalizeProviderFrontendCspFootprint,\n ProviderFrontendComponentDescriptorSchema,\n ProviderFrontendComponentDescriptorsSchema,\n ProviderFrontendCspDerivedOriginSchema,\n ProviderFrontendCspFootprintSchema,\n ProviderFrontendCspOriginBucket,\n ProviderFrontendScriptCrossOrigin,\n ProviderFrontendScriptDeclarationSchema,\n ProviderFrontendSdkDescriptorSchema,\n ProviderFrontendSelectionDelivery,\n type ProviderFrontendComponentDescriptor,\n type ProviderFrontendComponentDescriptors,\n type ProviderFrontendCspDerivedOrigin,\n type ProviderFrontendCspFootprint,\n type ProviderFrontendCspFootprintDeclaration,\n type ProviderFrontendScriptDeclaration,\n type ProviderFrontendSdkDescriptor,\n} from '../external-providers/provider-frontend-surface.shared.schemas';\n\n/**\n * The contract between a provider's frontend COMPONENT and the surface that\n * mounts it (#394). Types only — no schema, no runtime value — and it lives in\n * this package rather than beside the module types it serves because a component\n * ships in its OWN package and that package would otherwise close a dependency\n * cycle through emitted declarations. Its own file says why in full.\n */\nexport type {\n ProviderFilePickerConstraints,\n ProviderFilePickerProps,\n ProviderFileSelection,\n} from '../external-providers/provider-frontend-component-contract.shared.types';\n\n/**\n * How an application supplies a frontend provider's public keys, and the\n * dependency-free schema helper the engine's own provider modules declare their\n * keys with (#394 P3). Browser-safe: pure functions and one enum, no Zod.\n */\nexport {\n defineFrontendPublicConfigSchema,\n FRONTEND_PROVIDER_PUBLIC_CONFIG_KEY,\n FrontendProviderPublicConfigError,\n FrontendProviderPublicConfigRefusal,\n FrontendPublicConfigValueKind,\n overlayFrontendProviderPublicConfig,\n readDeclaredPublicConfigKeys,\n type FrontendPublicConfigKeySpec,\n type FrontendPublicConfigSchema,\n type OverlayFrontendProviderPublicConfigInput,\n} from '../external-providers/frontend-provider-public-config.shared';\n\n/**\n * The public-config shape a built-in frontend capability expects (#380). Named\n * rather than conventional: the keys were previously read by hand at each use\n * site, where a renamed one produced `undefined` and a silently wrong surface.\n */\nexport {\n FrontendFilePickerPublicConfigSchema,\n type FrontendFilePickerPublicConfig,\n} from '../external-providers/frontend-capability-public-config.shared.schemas';\n\n/**\n * The RUNTIME half of the same idea (#437): what a built-in frontend capability\n * calls on the provider that fills it. `FRONTEND_ERROR_MONITORING` is the first —\n * the framework reports a caught crash without knowing which vendor is listening,\n * so the capability declares the method and the provider adapts to it. Pure types\n * plus one guard; no Zod, no decorators.\n */\nexport {\n isFrontendErrorMonitoringSink,\n type FrontendCrashReport,\n type FrontendErrorMonitoringSink,\n} from '../external-providers/frontend-capability-runtime.shared.types';\n\n/**\n * Provider capability atoms (provider-registration-refactor §Phase 0.2\n * + §Phase 1.g). Closed built-in enum + open declaration-merging seam\n * + computed union type. Pure types and `as const` — no Zod, no\n * decorators, no side effects. Required by every facet's provider\n * module shape, so it MUST live on the bundle-safe seam.\n */\nexport {\n BUILTIN_PROVIDER_CAPABILITY,\n type BuiltinProviderCapability,\n type ProviderCapability,\n} from '../external-providers/provider-capability.shared.schemas';\nexport {\n BUILTIN_PROVIDER_PROTOCOL,\n type BuiltinProviderProtocol,\n type ProviderProtocol,\n} from '../external-providers/provider-protocol.shared.schemas';\n\n/**\n * Generic registry composition core (provider-registration-refactor\n * §Phase 1.e + §Phase 1.g). Used by every facet's `compose<Facet>Providers`\n * wrapper (backend, frontend-app, frontend-techdoc, frontend-website).\n * The browser-bound facets need this on the bundle-safe seam; the backend\n * facet inherits via the same import path for DRY.\n *\n * Pure runtime — only TYPE-imports `ProviderCapability` from the atom\n * above, so the closure stays decorator-free.\n */\nexport {\n composeProviderRegistry,\n ProviderCompositionConflictError,\n type ProviderRegistryFragment,\n type ComposedProviderRegistry,\n type ProviderCompositionConflict,\n} from '../external-providers/compose-provider-registry.shared';\n\n/** @wildo_source:part:end saas.public-runtime.contract */\n"]}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Defines resource configurations for JobExecution and JobPayloadStorage.
|
|
5
5
|
*
|
|
6
6
|
* Resource Design Principles:
|
|
7
|
-
* -
|
|
8
|
-
*
|
|
7
|
+
* - REPOSITORY_ONLY variants throughout: both resources are reached by the queue services and by
|
|
8
|
+
* nothing else, so neither declares an API variant and neither generates a route
|
|
9
9
|
* - Proper requestDto schemas for each variant
|
|
10
10
|
* - isBackendOnly fields are automatically filtered in responses
|
|
11
11
|
*
|
|
@@ -34,9 +34,10 @@ type JobExecution_CoreOperations = CoreResourceOperation.CREATE | CoreResourceOp
|
|
|
34
34
|
* JobExecution tracks the lifecycle of all jobs processed by the queue system.
|
|
35
35
|
* It provides visibility into job status, retries, timing, and error information.
|
|
36
36
|
*
|
|
37
|
-
* Variants:
|
|
38
|
-
*
|
|
39
|
-
*
|
|
37
|
+
* Variants: one per operation, all REPOSITORY_ONLY (CREATE, READ, UPDATE, LIST), for the queue
|
|
38
|
+
* services. There is no API variant, so no route is generated and nothing here is reachable over
|
|
39
|
+
* HTTP. In particular there is no admin cancel verb: cancelling a job is a queue-service call, not
|
|
40
|
+
* an API call, and adding an operator-facing one means declaring an API variant here first.
|
|
40
41
|
*/
|
|
41
42
|
export declare const jobExecution_ResourceConfiguration_InitializationFactory: (resourcesRelationships: ResourceRelationship[]) => ResourceConfiguration<undefined, JobExecution_CoreOperations, typeof JobExecutionSchema>;
|
|
42
43
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"jobs.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../src/queue/jobs.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,qBAAqB,EAAwD,MAAM,gDAAgD,CAAC;AAC7I,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAA4D,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAGvI,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EAKxB,MAAM,uBAAuB,CAAC;AAO/B;;GAEG;AACH,oBAAY,sBAAsB;IAChC,kDAAkD;IAClD,QAAQ,aAAa;CACtB;AAED;;GAEG;AACH,KAAK,2BAA2B,GAC5B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,CAAC;AAkBjC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wDAAwD,GACnE,wBAAwB,oBAAoB,EAAE,KAC7C,qBAAqB,CAAC,SAAS,EAAE,2BAA2B,EAAE,OAAO,kBAAkB,CA2KzF,CAAC;AAMF;;GAEG;AACH,oBAAY,2BAA2B;IACrC,gEAAgE;IAChE,QAAQ,aAAa;CACtB;AAED;;GAEG;AACH,KAAK,gCAAgC,GACjC,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,CAAC;AAWjC;;;;;;;;GAQG;AACH,eAAO,MAAM,6DAA6D,GACxE,wBAAwB,oBAAoB,EAAE,KAC7C,qBAAqB,CAAC,SAAS,EAAE,gCAAgC,EAAE,OAAO,uBAAuB,CA2FnG,CAAC"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Defines resource configurations for JobExecution and JobPayloadStorage.
|
|
5
5
|
*
|
|
6
6
|
* Resource Design Principles:
|
|
7
|
-
* -
|
|
8
|
-
*
|
|
7
|
+
* - REPOSITORY_ONLY variants throughout: both resources are reached by the queue services and by
|
|
8
|
+
* nothing else, so neither declares an API variant and neither generates a route
|
|
9
9
|
* - Proper requestDto schemas for each variant
|
|
10
10
|
* - isBackendOnly fields are automatically filtered in responses
|
|
11
11
|
*
|
|
@@ -51,9 +51,10 @@ const JOB_EXECUTION_SORT_FIELDS = ['createdAt', 'completedAt', 'durationMs', 're
|
|
|
51
51
|
* JobExecution tracks the lifecycle of all jobs processed by the queue system.
|
|
52
52
|
* It provides visibility into job status, retries, timing, and error information.
|
|
53
53
|
*
|
|
54
|
-
* Variants:
|
|
55
|
-
*
|
|
56
|
-
*
|
|
54
|
+
* Variants: one per operation, all REPOSITORY_ONLY (CREATE, READ, UPDATE, LIST), for the queue
|
|
55
|
+
* services. There is no API variant, so no route is generated and nothing here is reachable over
|
|
56
|
+
* HTTP. In particular there is no admin cancel verb: cancelling a job is a queue-service call, not
|
|
57
|
+
* an API call, and adding an operator-facing one means declaring an API variant here first.
|
|
57
58
|
*/
|
|
58
59
|
export const jobExecution_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => {
|
|
59
60
|
// === CREATE Schemas ===
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../../src/queue/jobs.shared.resources-config.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Job Resource Configurations\n * \n * Defines resource configurations for JobExecution and JobPayloadStorage.\n * \n * Resource Design Principles:\n * - Multiple variants per operation for different access patterns\n * - INTERNAL_CALL / REPOSITORY_ONLY variants for queue services (default)\n * - Proper requestDto schemas for each variant\n * - isBackendOnly fields are automatically filtered in responses\n * \n * Key Resources:\n * - JobExecution: Tracks all job lifecycle events (30-day TTL)\n * - JobPayloadStorage: Stores large payloads >100KB (24-hour TTL)\n */\n\nimport { z } from 'zod';\nimport { createResourceConfiguration_Initialization } from '../resources/resources-config.shared.factory';\nimport { CoreResourceOperation, CoreResourceType, coreResourceShared_FieldIdentifier } from '../resources/resources.shared.core.definitions';\nimport type { ResourceConfiguration } from '../resources/resources-config.shared.schemas';\nimport { ResourceOperationRiskLevel, ResourceOperationVariantType, ResourceRelationship } from '../resources/resources.shared.schemas';\nimport { CORE_APP_ROLES } from '../security/authorizations/roles.shared.schemas';\nimport { ResourceSystemAccessMode } from '../resources/resources-config.shared.schemas';\nimport { \n JobExecutionSchema, \n JobPayloadStorageSchema,\n JobExecutionStatus,\n JobType,\n JobInitiator,\n JobPriority,\n} from './jobs.shared.schemas';\n\n\n// ============================================================================\n// JOB EXECUTION RESOURCE CONFIGURATION\n// ============================================================================\n\n/**\n * Variant keys for JobExecution operations.\n */\nexport enum JobExecutionVariantKey {\n /** Internal queue service operations (default) */\n INTERNAL = 'internal',\n}\n\n/**\n * Core operations available for JobExecution.\n */\ntype JobExecution_CoreOperations = \n | CoreResourceOperation.CREATE \n | CoreResourceOperation.READ \n | CoreResourceOperation.UPDATE\n | CoreResourceOperation.LIST\n | CoreResourceOperation.SEARCH;\n\n// Filter fields for JobExecution LIST/SEARCH\nconst JOB_EXECUTION_FILTER_FIELDS = {\n applicationId: z.string(),\n jobType: z.enum(Object.values(JobType) as [string, ...string[]]),\n status: z.enum(Object.values(JobExecutionStatus) as [string, ...string[]]),\n organizationId: z.string(),\n userId: z.string(),\n queueName: z.string(),\n domainCategory: z.string(),\n initiatedBy: z.enum(Object.values(JobInitiator) as [string, ...string[]]),\n priority: z.enum(Object.values(JobPriority) as [string, ...string[]]),\n};\n\n// Sort fields for JobExecution LIST/SEARCH\nconst JOB_EXECUTION_SORT_FIELDS = ['createdAt', 'completedAt', 'durationMs', 'retryCount'] as const;\n\n/**\n * Factory function for JobExecution resource configuration.\n * \n * JobExecution tracks the lifecycle of all jobs processed by the queue system.\n * It provides visibility into job status, retries, timing, and error information.\n * \n * Variants:\n * - INTERNAL: For queue services (REPOSITORY_ONLY - CREATE, READ, UPDATE, LIST)\n * - ADMIN: For admin operations (API - UPDATE for cancel)\n */\nexport const jobExecution_ResourceConfiguration_InitializationFactory = (\n resourcesRelationships: ResourceRelationship[]\n): ResourceConfiguration<undefined, JobExecution_CoreOperations, typeof JobExecutionSchema> => {\n\n // === CREATE Schemas ===\n // Full create schema for internal use\n const JobExecutionCreateInternalSchema = JobExecutionSchema.omit({\n _id: true,\n retryCount: true, // Starts at 0 (default)\n lastRetryAt: true, // Set on retry\n startedAt: true, // Set when processing starts\n completedAt: true, // Set when completed\n durationMs: true, // Calculated on completion\n outputPayloadStorageId: true, // Set after execution\n error: true, // Set on failure\n workerId: true, // Set by worker\n workerHostname: true, // Set by worker\n });\n\n // === UPDATE Schemas ===\n // Internal service can update most fields (status changes, timing, errors)\n const JobExecutionUpdateInternalSchema = z.object({\n // Status updates\n status: z.enum(Object.values(JobExecutionStatus) as [string, ...string[]]).optional(),\n \n // Timing updates\n queuedAt: z.date().optional(),\n startedAt: z.date().optional(),\n completedAt: z.date().optional(),\n durationMs: z.number().int().optional(),\n lastRetryAt: z.date().optional(),\n \n // Retry tracking\n retryCount: z.number().int().min(0).optional(),\n \n // Worker info\n workerId: z.string().optional(),\n workerHostname: z.string().optional(),\n \n // Payload references\n outputPayloadStorageId: z.uuid().optional(),\n \n // Error info\n error: JobExecutionSchema.shape.error,\n });\n\n return createResourceConfiguration_Initialization<\n undefined,\n JobExecution_CoreOperations,\n typeof JobExecutionSchema\n >({\n mainSchema: JobExecutionSchema,\n resourceIdentifier: CoreResourceType.JOB_EXECUTIONS,\n resourceFieldIdentifier: coreResourceShared_FieldIdentifier[CoreResourceType.JOB_EXECUTIONS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: true, // Internal infrastructure component\n\n /**\n * Subject-export disclosure: explicitly FORBIDDEN. A job execution is an OPERATIONAL record of\n * the platform doing work — it references a subject without being data *about* them in any sense\n * a data subject would recognise, and it is already out of Art. 20 scope as controller-generated.\n *\n * FORBIDDEN rather than left undeclared on purpose: this is a decision someone took, not a gap\n * nobody has filled, and the export refusal says so — precisely so a future operator clearing a\n * startup error cannot \"fix\" it by opting in.\n */\n systemAccessPolicy: { exportSubject: ResourceSystemAccessMode.FORBIDDEN },\n\n /*\n * DELIBERATELY NO `retentionPolicy`, and this comment is the declaration of that.\n *\n * Issue #138 asks that every engine resource declaring `exportSubject` either declare an erasure\n * posture or be deliberately and visibly exempt. This one is exempt, for the same reason the export\n * refusal directly above gives: a job execution is an operational record of the platform doing work,\n * not data about a person. It declares no personal-data category, and no field of it would be scrubbed.\n *\n * Declaring `RETAIN_ONLY` here would be worse than saying nothing. The mode is a positive assertion\n * about a resource that holds personal data of a subject; making it would place this row in the\n * subject-erasure population, inject the `retentionStatus` / `impersonalizedAt` markers and the\n * route-less LIST + UPDATE_MANY plumbing, and require a migration on all three schema planes — all to\n * describe an erasure path that never visits this collection.\n *\n * If a future job payload ever carries subject content, that is a `.dataCategories()` declaration on\n * the payload first, and this exemption is then wrong and must be revisited with it.\n */\n\n coreOperations: [\n CoreResourceOperation.CREATE,\n CoreResourceOperation.READ,\n CoreResourceOperation.UPDATE,\n CoreResourceOperation.LIST,\n CoreResourceOperation.SEARCH,\n ],\n \n operationsConfiguration: {\n // === CREATE ===\n [CoreResourceOperation.CREATE]: {\n variants: [\n // Internal: Queue services create job records\n {\n variantKey: JobExecutionVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n requestDto: JobExecutionCreateInternalSchema,\n },\n ],\n },\n \n // === READ ===\n [CoreResourceOperation.READ]: {\n variants: [\n // Internal: Queue services read job details\n {\n variantKey: JobExecutionVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n },\n ],\n },\n \n // === UPDATE ===\n [CoreResourceOperation.UPDATE]: {\n variants: [\n // Internal: Queue services update job status\n {\n variantKey: JobExecutionVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n requestDto: JobExecutionUpdateInternalSchema,\n },\n ],\n },\n \n // === LIST ===\n [CoreResourceOperation.LIST]: {\n variants: [\n // Internal: Queue services list jobs\n {\n variantKey: JobExecutionVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n },\n ],\n },\n\n // === SEARCH ===\n [CoreResourceOperation.SEARCH]: {\n variants: [\n {\n variantKey: JobExecutionVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n isSearchable: true,\n searchableFields: ['jobId', 'operationPathKey', 'batchRef'],\n searchableOptions: { caseSensitive: false, fullMatchOnly: false },\n filterFields: JOB_EXECUTION_FILTER_FIELDS,\n sortFields: JOB_EXECUTION_SORT_FIELDS,\n maxPaginatedResultPerPageLimit: 100,\n },\n ],\n },\n },\n });\n};\n\n// ============================================================================\n// JOB PAYLOAD STORAGE RESOURCE CONFIGURATION\n// ============================================================================\n\n/**\n * Variant keys for JobPayloadStorage operations.\n */\nexport enum JobPayloadStorageVariantKey {\n /** Internal queue service operations (default, only variant) */\n INTERNAL = 'internal',\n}\n\n/**\n * Core operations available for JobPayloadStorage.\n */\ntype JobPayloadStorage_CoreOperations = \n | CoreResourceOperation.CREATE \n | CoreResourceOperation.READ \n | CoreResourceOperation.DELETE\n | CoreResourceOperation.SEARCH;\n\n// Filter fields for JobPayloadStorage\nconst JOB_PAYLOAD_STORAGE_FILTER_FIELDS = {\n applicationId: z.string(),\n isCompressed: z.boolean(),\n};\n\n// Sort fields for JobPayloadStorage\nconst JOB_PAYLOAD_STORAGE_SORT_FIELDS = ['createdAt', 'expiresAt', 'payloadSizeBytes'] as const;\n\n/**\n * Factory function for JobPayloadStorage resource configuration.\n * \n * JobPayloadStorage stores large job payloads (>100KB) that exceed RabbitMQ\n * message size limits. Referenced by storageId in JobPayload messages.\n * \n * Variants:\n * - INTERNAL only: No API exposure (contains sensitive payload data)\n */\nexport const jobPayloadStorage_ResourceConfiguration_InitializationFactory = (\n resourcesRelationships: ResourceRelationship[]\n): ResourceConfiguration<undefined, JobPayloadStorage_CoreOperations, typeof JobPayloadStorageSchema> => {\n\n // === CREATE Schema ===\n // Internal services provide all data except auto-generated fields\n const JobPayloadStorageCreateInternalSchema = JobPayloadStorageSchema.omit({\n _id: true,\n referenceCount: true, // Starts at 1 (default)\n });\n\n return createResourceConfiguration_Initialization<\n undefined,\n JobPayloadStorage_CoreOperations,\n typeof JobPayloadStorageSchema\n >({\n mainSchema: JobPayloadStorageSchema,\n resourceIdentifier: CoreResourceType.JOB_PAYLOAD_STORAGE,\n resourceFieldIdentifier: coreResourceShared_FieldIdentifier[CoreResourceType.JOB_PAYLOAD_STORAGE],\n resourceRelationships: resourcesRelationships,\n isSystemResource: true, // Internal infrastructure component\n\n coreOperations: [\n CoreResourceOperation.CREATE,\n CoreResourceOperation.READ,\n CoreResourceOperation.DELETE,\n CoreResourceOperation.SEARCH,\n ],\n \n operationsConfiguration: {\n // === CREATE ===\n [CoreResourceOperation.CREATE]: {\n variants: [\n // Internal: Queue services store payloads\n {\n variantKey: JobPayloadStorageVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n requestDto: JobPayloadStorageCreateInternalSchema,\n },\n ],\n },\n \n // === READ ===\n [CoreResourceOperation.READ]: {\n variants: [\n // Internal: Queue services retrieve payloads\n {\n variantKey: JobPayloadStorageVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n },\n ],\n },\n \n // === DELETE ===\n [CoreResourceOperation.DELETE]: {\n variants: [\n // Internal: Queue services delete payloads\n {\n variantKey: JobPayloadStorageVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n },\n ],\n },\n\n // === SEARCH ===\n [CoreResourceOperation.SEARCH]: {\n variants: [\n {\n variantKey: JobPayloadStorageVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n isSearchable: true,\n searchableFields: ['storageId'],\n searchableOptions: { caseSensitive: true, fullMatchOnly: true },\n filterFields: JOB_PAYLOAD_STORAGE_FILTER_FIELDS,\n sortFields: JOB_PAYLOAD_STORAGE_SORT_FIELDS,\n maxPaginatedResultPerPageLimit: 100,\n },\n ],\n },\n },\n });\n};\n"]}
|
|
1
|
+
{"version":3,"file":"jobs.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../src/queue/jobs.shared.resources-config.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Job Resource Configurations\n * \n * Defines resource configurations for JobExecution and JobPayloadStorage.\n * \n * Resource Design Principles:\n * - REPOSITORY_ONLY variants throughout: both resources are reached by the queue services and by\n * nothing else, so neither declares an API variant and neither generates a route\n * - Proper requestDto schemas for each variant\n * - isBackendOnly fields are automatically filtered in responses\n * \n * Key Resources:\n * - JobExecution: Tracks all job lifecycle events (30-day TTL)\n * - JobPayloadStorage: Stores large payloads >100KB (24-hour TTL)\n */\n\nimport { z } from 'zod';\nimport { createResourceConfiguration_Initialization } from '../resources/resources-config.shared.factory';\nimport { CoreResourceOperation, CoreResourceType, coreResourceShared_FieldIdentifier } from '../resources/resources.shared.core.definitions';\nimport type { ResourceConfiguration } from '../resources/resources-config.shared.schemas';\nimport { ResourceOperationRiskLevel, ResourceOperationVariantType, ResourceRelationship } from '../resources/resources.shared.schemas';\nimport { CORE_APP_ROLES } from '../security/authorizations/roles.shared.schemas';\nimport { ResourceSystemAccessMode } from '../resources/resources-config.shared.schemas';\nimport { \n JobExecutionSchema, \n JobPayloadStorageSchema,\n JobExecutionStatus,\n JobType,\n JobInitiator,\n JobPriority,\n} from './jobs.shared.schemas';\n\n\n// ============================================================================\n// JOB EXECUTION RESOURCE CONFIGURATION\n// ============================================================================\n\n/**\n * Variant keys for JobExecution operations.\n */\nexport enum JobExecutionVariantKey {\n /** Internal queue service operations (default) */\n INTERNAL = 'internal',\n}\n\n/**\n * Core operations available for JobExecution.\n */\ntype JobExecution_CoreOperations = \n | CoreResourceOperation.CREATE \n | CoreResourceOperation.READ \n | CoreResourceOperation.UPDATE\n | CoreResourceOperation.LIST\n | CoreResourceOperation.SEARCH;\n\n// Filter fields for JobExecution LIST/SEARCH\nconst JOB_EXECUTION_FILTER_FIELDS = {\n applicationId: z.string(),\n jobType: z.enum(Object.values(JobType) as [string, ...string[]]),\n status: z.enum(Object.values(JobExecutionStatus) as [string, ...string[]]),\n organizationId: z.string(),\n userId: z.string(),\n queueName: z.string(),\n domainCategory: z.string(),\n initiatedBy: z.enum(Object.values(JobInitiator) as [string, ...string[]]),\n priority: z.enum(Object.values(JobPriority) as [string, ...string[]]),\n};\n\n// Sort fields for JobExecution LIST/SEARCH\nconst JOB_EXECUTION_SORT_FIELDS = ['createdAt', 'completedAt', 'durationMs', 'retryCount'] as const;\n\n/**\n * Factory function for JobExecution resource configuration.\n * \n * JobExecution tracks the lifecycle of all jobs processed by the queue system.\n * It provides visibility into job status, retries, timing, and error information.\n * \n * Variants: one per operation, all REPOSITORY_ONLY (CREATE, READ, UPDATE, LIST), for the queue\n * services. There is no API variant, so no route is generated and nothing here is reachable over\n * HTTP. In particular there is no admin cancel verb: cancelling a job is a queue-service call, not\n * an API call, and adding an operator-facing one means declaring an API variant here first.\n */\nexport const jobExecution_ResourceConfiguration_InitializationFactory = (\n resourcesRelationships: ResourceRelationship[]\n): ResourceConfiguration<undefined, JobExecution_CoreOperations, typeof JobExecutionSchema> => {\n\n // === CREATE Schemas ===\n // Full create schema for internal use\n const JobExecutionCreateInternalSchema = JobExecutionSchema.omit({\n _id: true,\n retryCount: true, // Starts at 0 (default)\n lastRetryAt: true, // Set on retry\n startedAt: true, // Set when processing starts\n completedAt: true, // Set when completed\n durationMs: true, // Calculated on completion\n outputPayloadStorageId: true, // Set after execution\n error: true, // Set on failure\n workerId: true, // Set by worker\n workerHostname: true, // Set by worker\n });\n\n // === UPDATE Schemas ===\n // Internal service can update most fields (status changes, timing, errors)\n const JobExecutionUpdateInternalSchema = z.object({\n // Status updates\n status: z.enum(Object.values(JobExecutionStatus) as [string, ...string[]]).optional(),\n \n // Timing updates\n queuedAt: z.date().optional(),\n startedAt: z.date().optional(),\n completedAt: z.date().optional(),\n durationMs: z.number().int().optional(),\n lastRetryAt: z.date().optional(),\n \n // Retry tracking\n retryCount: z.number().int().min(0).optional(),\n \n // Worker info\n workerId: z.string().optional(),\n workerHostname: z.string().optional(),\n \n // Payload references\n outputPayloadStorageId: z.uuid().optional(),\n \n // Error info\n error: JobExecutionSchema.shape.error,\n });\n\n return createResourceConfiguration_Initialization<\n undefined,\n JobExecution_CoreOperations,\n typeof JobExecutionSchema\n >({\n mainSchema: JobExecutionSchema,\n resourceIdentifier: CoreResourceType.JOB_EXECUTIONS,\n resourceFieldIdentifier: coreResourceShared_FieldIdentifier[CoreResourceType.JOB_EXECUTIONS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: true, // Internal infrastructure component\n\n /**\n * Subject-export disclosure: explicitly FORBIDDEN. A job execution is an OPERATIONAL record of\n * the platform doing work — it references a subject without being data *about* them in any sense\n * a data subject would recognise, and it is already out of Art. 20 scope as controller-generated.\n *\n * FORBIDDEN rather than left undeclared on purpose: this is a decision someone took, not a gap\n * nobody has filled, and the export refusal says so — precisely so a future operator clearing a\n * startup error cannot \"fix\" it by opting in.\n */\n systemAccessPolicy: { exportSubject: ResourceSystemAccessMode.FORBIDDEN },\n\n /*\n * DELIBERATELY NO `retentionPolicy`, and this comment is the declaration of that.\n *\n * Issue #138 asks that every engine resource declaring `exportSubject` either declare an erasure\n * posture or be deliberately and visibly exempt. This one is exempt, for the same reason the export\n * refusal directly above gives: a job execution is an operational record of the platform doing work,\n * not data about a person. It declares no personal-data category, and no field of it would be scrubbed.\n *\n * Declaring `RETAIN_ONLY` here would be worse than saying nothing. The mode is a positive assertion\n * about a resource that holds personal data of a subject; making it would place this row in the\n * subject-erasure population, inject the `retentionStatus` / `impersonalizedAt` markers and the\n * route-less LIST + UPDATE_MANY plumbing, and require a migration on all three schema planes — all to\n * describe an erasure path that never visits this collection.\n *\n * If a future job payload ever carries subject content, that is a `.dataCategories()` declaration on\n * the payload first, and this exemption is then wrong and must be revisited with it.\n */\n\n coreOperations: [\n CoreResourceOperation.CREATE,\n CoreResourceOperation.READ,\n CoreResourceOperation.UPDATE,\n CoreResourceOperation.LIST,\n CoreResourceOperation.SEARCH,\n ],\n \n operationsConfiguration: {\n // === CREATE ===\n [CoreResourceOperation.CREATE]: {\n variants: [\n // Internal: Queue services create job records\n {\n variantKey: JobExecutionVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n requestDto: JobExecutionCreateInternalSchema,\n },\n ],\n },\n \n // === READ ===\n [CoreResourceOperation.READ]: {\n variants: [\n // Internal: Queue services read job details\n {\n variantKey: JobExecutionVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n },\n ],\n },\n \n // === UPDATE ===\n [CoreResourceOperation.UPDATE]: {\n variants: [\n // Internal: Queue services update job status\n {\n variantKey: JobExecutionVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n requestDto: JobExecutionUpdateInternalSchema,\n },\n ],\n },\n \n // === LIST ===\n [CoreResourceOperation.LIST]: {\n variants: [\n // Internal: Queue services list jobs\n {\n variantKey: JobExecutionVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n },\n ],\n },\n\n // === SEARCH ===\n [CoreResourceOperation.SEARCH]: {\n variants: [\n {\n variantKey: JobExecutionVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n isSearchable: true,\n searchableFields: ['jobId', 'operationPathKey', 'batchRef'],\n searchableOptions: { caseSensitive: false, fullMatchOnly: false },\n filterFields: JOB_EXECUTION_FILTER_FIELDS,\n sortFields: JOB_EXECUTION_SORT_FIELDS,\n maxPaginatedResultPerPageLimit: 100,\n },\n ],\n },\n },\n });\n};\n\n// ============================================================================\n// JOB PAYLOAD STORAGE RESOURCE CONFIGURATION\n// ============================================================================\n\n/**\n * Variant keys for JobPayloadStorage operations.\n */\nexport enum JobPayloadStorageVariantKey {\n /** Internal queue service operations (default, only variant) */\n INTERNAL = 'internal',\n}\n\n/**\n * Core operations available for JobPayloadStorage.\n */\ntype JobPayloadStorage_CoreOperations = \n | CoreResourceOperation.CREATE \n | CoreResourceOperation.READ \n | CoreResourceOperation.DELETE\n | CoreResourceOperation.SEARCH;\n\n// Filter fields for JobPayloadStorage\nconst JOB_PAYLOAD_STORAGE_FILTER_FIELDS = {\n applicationId: z.string(),\n isCompressed: z.boolean(),\n};\n\n// Sort fields for JobPayloadStorage\nconst JOB_PAYLOAD_STORAGE_SORT_FIELDS = ['createdAt', 'expiresAt', 'payloadSizeBytes'] as const;\n\n/**\n * Factory function for JobPayloadStorage resource configuration.\n * \n * JobPayloadStorage stores large job payloads (>100KB) that exceed RabbitMQ\n * message size limits. Referenced by storageId in JobPayload messages.\n * \n * Variants:\n * - INTERNAL only: No API exposure (contains sensitive payload data)\n */\nexport const jobPayloadStorage_ResourceConfiguration_InitializationFactory = (\n resourcesRelationships: ResourceRelationship[]\n): ResourceConfiguration<undefined, JobPayloadStorage_CoreOperations, typeof JobPayloadStorageSchema> => {\n\n // === CREATE Schema ===\n // Internal services provide all data except auto-generated fields\n const JobPayloadStorageCreateInternalSchema = JobPayloadStorageSchema.omit({\n _id: true,\n referenceCount: true, // Starts at 1 (default)\n });\n\n return createResourceConfiguration_Initialization<\n undefined,\n JobPayloadStorage_CoreOperations,\n typeof JobPayloadStorageSchema\n >({\n mainSchema: JobPayloadStorageSchema,\n resourceIdentifier: CoreResourceType.JOB_PAYLOAD_STORAGE,\n resourceFieldIdentifier: coreResourceShared_FieldIdentifier[CoreResourceType.JOB_PAYLOAD_STORAGE],\n resourceRelationships: resourcesRelationships,\n isSystemResource: true, // Internal infrastructure component\n\n coreOperations: [\n CoreResourceOperation.CREATE,\n CoreResourceOperation.READ,\n CoreResourceOperation.DELETE,\n CoreResourceOperation.SEARCH,\n ],\n \n operationsConfiguration: {\n // === CREATE ===\n [CoreResourceOperation.CREATE]: {\n variants: [\n // Internal: Queue services store payloads\n {\n variantKey: JobPayloadStorageVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n requestDto: JobPayloadStorageCreateInternalSchema,\n },\n ],\n },\n \n // === READ ===\n [CoreResourceOperation.READ]: {\n variants: [\n // Internal: Queue services retrieve payloads\n {\n variantKey: JobPayloadStorageVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n },\n ],\n },\n \n // === DELETE ===\n [CoreResourceOperation.DELETE]: {\n variants: [\n // Internal: Queue services delete payloads\n {\n variantKey: JobPayloadStorageVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n },\n ],\n },\n\n // === SEARCH ===\n [CoreResourceOperation.SEARCH]: {\n variants: [\n {\n variantKey: JobPayloadStorageVariantKey.INTERNAL,\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n isSearchable: true,\n searchableFields: ['storageId'],\n searchableOptions: { caseSensitive: true, fullMatchOnly: true },\n filterFields: JOB_PAYLOAD_STORAGE_FILTER_FIELDS,\n sortFields: JOB_PAYLOAD_STORAGE_SORT_FIELDS,\n maxPaginatedResultPerPageLimit: 100,\n },\n ],\n },\n },\n });\n};\n"]}
|
|
@@ -67,12 +67,25 @@ export declare enum JobStatus {
|
|
|
67
67
|
CANCELLED = "cancelled"
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
|
-
*
|
|
71
|
-
*
|
|
70
|
+
* Which queue substrate a runtime uses.
|
|
71
|
+
*
|
|
72
|
+
* Read by `bindQueueAdapter()` in `saas-backend-lib`, which is the only place a member is mapped to
|
|
73
|
+
* an implementation — as a total `Record`, so adding a member here is a compile error until somebody
|
|
74
|
+
* says which class serves it.
|
|
75
|
+
*
|
|
76
|
+
* `REDIS` was declared and removed (#502). It had no implementation, no reader and no selection
|
|
77
|
+
* path, and the decision was to build ONE of the two missing adapters rather than both: a vocabulary
|
|
78
|
+
* member offering a choice nothing can make is worse than an absent one, because it reads as a
|
|
79
|
+
* supported deployment. Reinstate it when something needs it, alongside the adapter.
|
|
72
80
|
*/
|
|
73
81
|
export declare enum QueueAdapterType {
|
|
82
|
+
/** A real broker. The default, and what a deployed application wants: durability across a restart, visibility across processes, permissions per runtime. */
|
|
74
83
|
RABBITMQ = "rabbitmq",
|
|
75
|
-
|
|
84
|
+
/**
|
|
85
|
+
* In-process, no broker. For a test lane that needs real background-work BEHAVIOUR — retry,
|
|
86
|
+
* dead-lettering, delayed redelivery, unacknowledged messages staying unacknowledged — and for a
|
|
87
|
+
* single-process runtime that has declared it wants none of what a broker is bought for.
|
|
88
|
+
*/
|
|
76
89
|
MEMORY = "memory"
|
|
77
90
|
}
|
|
78
91
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.shared.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"jobs.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/queue/jobs.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAA4B,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AASpG;;GAEG;AACH,oBAAY,OAAO;IACjB,uEAAuE;IACvE,kBAAkB,uBAAuB;IACzC,uDAAuD;IACvD,YAAY,iBAAiB;IAC7B,uDAAuD;IACvD,cAAc,mBAAmB;IACjC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,gBAAgB;CAC5B;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,iCAAiC;IACjC,OAAO,YAAY;IACnB,yBAAyB;IACzB,MAAM,WAAW;IACjB,gCAAgC;IAChC,UAAU,eAAe;IACzB,4BAA4B;IAC5B,SAAS,cAAc;IACvB,gCAAgC;IAChC,MAAM,WAAW;IACjB,4BAA4B;IAC5B,QAAQ,aAAa;IACrB,iCAAiC;IACjC,WAAW,gBAAgB;IAC3B,yBAAyB;IACzB,SAAS,cAAc;CACxB;AAED;;;;;;;;;;;GAWG;AACH,oBAAY,gBAAgB;IAC1B,4JAA4J;IAC5J,QAAQ,aAAa;IACrB;;;;OAIG;IACH,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,6BAA6B;IAC7B,GAAG,QAAQ;IACX,4CAA4C;IAC5C,OAAO,YAAY;IACnB,sCAAsC;IACtC,QAAQ,aAAa;CACtB;AAED;;;GAGG;AACH,oBAAY,kBAAkB;IAC5B,iCAAiC;IACjC,OAAO,YAAY;IACnB,yBAAyB;IACzB,MAAM,WAAW;IACjB,gCAAgC;IAChC,UAAU,eAAe;IACzB,4BAA4B;IAC5B,SAAS,cAAc;IACvB,gCAAgC;IAChC,MAAM,WAAW;IACjB,4BAA4B;IAC5B,QAAQ,aAAa;IACrB,iCAAiC;IACjC,WAAW,gBAAgB;IAC3B,yBAAyB;IACzB,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED;;;GAGG;AACH,oBAAY,WAAW;IACrB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAMD;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,QAAa,CAAC;AAiBvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,6BAA6B;;;;iBAOxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAMpF;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyF3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAM1D;;;GAGG;AACH,eAAO,MAAM,+BAA+B,QAAe,CAAC;AAE5D;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;iBAsClC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAMxE;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyB1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAMxD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,QAAoB,CAAC;AAE3D;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsF7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -75,13 +75,26 @@ export var JobStatus;
|
|
|
75
75
|
JobStatus["CANCELLED"] = "cancelled";
|
|
76
76
|
})(JobStatus || (JobStatus = {}));
|
|
77
77
|
/**
|
|
78
|
-
*
|
|
79
|
-
*
|
|
78
|
+
* Which queue substrate a runtime uses.
|
|
79
|
+
*
|
|
80
|
+
* Read by `bindQueueAdapter()` in `saas-backend-lib`, which is the only place a member is mapped to
|
|
81
|
+
* an implementation — as a total `Record`, so adding a member here is a compile error until somebody
|
|
82
|
+
* says which class serves it.
|
|
83
|
+
*
|
|
84
|
+
* `REDIS` was declared and removed (#502). It had no implementation, no reader and no selection
|
|
85
|
+
* path, and the decision was to build ONE of the two missing adapters rather than both: a vocabulary
|
|
86
|
+
* member offering a choice nothing can make is worse than an absent one, because it reads as a
|
|
87
|
+
* supported deployment. Reinstate it when something needs it, alongside the adapter.
|
|
80
88
|
*/
|
|
81
89
|
export var QueueAdapterType;
|
|
82
90
|
(function (QueueAdapterType) {
|
|
91
|
+
/** A real broker. The default, and what a deployed application wants: durability across a restart, visibility across processes, permissions per runtime. */
|
|
83
92
|
QueueAdapterType["RABBITMQ"] = "rabbitmq";
|
|
84
|
-
|
|
93
|
+
/**
|
|
94
|
+
* In-process, no broker. For a test lane that needs real background-work BEHAVIOUR — retry,
|
|
95
|
+
* dead-lettering, delayed redelivery, unacknowledged messages staying unacknowledged — and for a
|
|
96
|
+
* single-process runtime that has declared it wants none of what a broker is bought for.
|
|
97
|
+
*/
|
|
85
98
|
QueueAdapterType["MEMORY"] = "memory";
|
|
86
99
|
})(QueueAdapterType || (QueueAdapterType = {}));
|
|
87
100
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.shared.schemas.js","sourceRoot":"","sources":["../../../../src/queue/jobs.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Jobs Shared Schemas\n *\n * All job-related enums, schemas, and types consolidated in a single file.\n * Includes: job types, statuses, payloads, results, execution tracking, and storage.\n *\n * Resource Design Notes:\n * - JobExecution and JobPayloadStorage are internal system resources\n * - Many fields are marked .isBackendOnly() as they contain sensitive internal data\n * - TTL indexes ensure automatic cleanup\n * - Proper indexes for common query patterns\n */\n\nimport { z } from 'zod';\nimport { initZodDecorators } from '@wildo-ai/zod-decorators';\nimport { WildoError_BackendSchema, RetryPolicy_BackoffType } from '../errors/errors.shared.schemas';\n\n// Ensure Zod decorators are loaded\ninitZodDecorators(z);\n\n// ============================================================================\n// ENUMS\n// ============================================================================\n\n/**\n * Type of job being processed.\n */\nexport enum JobType {\n /** Standard resource operation (CREATE, READ, UPDATE, DELETE, etc.) */\n RESOURCE_OPERATION = 'resource_operation',\n /** Custom batch job defined in customBatchesFactory */\n CUSTOM_BATCH = 'custom_batch',\n /** Scheduled cron job triggered by crontabs-manager */\n SCHEDULED_CRON = 'scheduled_cron',\n /**\n * Cron-driven minion tick (KD-12 of\n * `.claude/plans/minions-and-workers-implementation.md`).\n *\n * Published by `platform-crontabs-batches-manager` to the application's\n * scheduled queue when a minion's cron schedule fires. The consumer\n * (`MinionTickConsumerBackendService` in `saas-minions-lib`) filters\n * messages by matching the token's `minionName` against the minion's OWN\n * identity — which each minion sources from its compiled-in\n * `defineMinionInit({ minionName })` config (the minion package is\n * domain-specific by construction), cross-validated at boot against the\n * fetched `appConfig.minions[minionName]`. Matched ticks route to the\n * minion's locally-hosted actor system. Identity is NOT read from env:\n * `APP_OWNED_SERVICE_NAME` is deploy-time metadata (and the read-from-env\n * path of the language-pluggable *worker* runtime), never the Node\n * minion's runtime identity source.\n *\n * Dispatch is a pure switch on `jobType` — see `PublishScheduledJobInput`\n * / `ScheduledJobTokenInput` xor that pairs `MINION_TICK` with the\n * `minionName` discriminator.\n */\n MINION_TICK = 'minion_tick',\n}\n\n/**\n * Status of a job through its lifecycle.\n */\nexport enum JobStatus {\n /** Created but not yet queued */\n PENDING = 'pending',\n /** Published to queue */\n QUEUED = 'queued',\n /** Worker started processing */\n PROCESSING = 'processing',\n /** Successfully finished */\n COMPLETED = 'completed',\n /** Failed, retries exhausted */\n FAILED = 'failed',\n /** Failed but will retry */\n RETRYING = 'retrying',\n /** Moved to dead letter queue */\n DEAD_LETTER = 'dead_letter',\n /** Manually cancelled */\n CANCELLED = 'cancelled',\n}\n\n/**\n * Queue adapter type.\n * Currently only RabbitMQ is fully supported.\n */\nexport enum QueueAdapterType {\n RABBITMQ = 'rabbitmq',\n REDIS = 'redis',\n MEMORY = 'memory',\n}\n\n/**\n * Who initiated the job.\n */\nexport enum JobInitiator {\n /** Triggered via API call */\n API = 'api',\n /** Triggered by crontabs-batches-manager */\n CRONTAB = 'crontab',\n /** Triggered internally by service */\n INTERNAL = 'internal',\n}\n\n/**\n * Status of a job execution record (for tracking).\n * Similar to JobStatus but specific to the tracking record.\n */\nexport enum JobExecutionStatus {\n /** Created but not yet queued */\n PENDING = 'pending',\n /** Published to queue */\n QUEUED = 'queued',\n /** Worker started processing */\n PROCESSING = 'processing',\n /** Successfully finished */\n COMPLETED = 'completed',\n /** Failed, retries exhausted */\n FAILED = 'failed',\n /** Failed but will retry */\n RETRYING = 'retrying',\n /** Moved to dead letter queue */\n DEAD_LETTER = 'dead_letter',\n /** Manually cancelled */\n CANCELLED = 'cancelled',\n}\n\n/**\n * Compression type for stored payloads.\n */\nexport enum PayloadCompressionType {\n NONE = 'none',\n GZIP = 'gzip',\n}\n\n/**\n * Job priority levels.\n * HIGH and CRITICAL are routed to priority queues.\n */\nexport enum JobPriority {\n LOW = 'low',\n NORMAL = 'normal',\n HIGH = 'high',\n CRITICAL = 'critical',\n}\n\n// ============================================================================\n// CONSTANTS\n// ============================================================================\n\n/**\n * Threshold for storing payloads externally vs inline.\n * Payloads >= 100KB are stored in MongoDB, referenced by storageId.\n * This prevents RabbitMQ performance issues with large messages.\n */\nexport const PAYLOAD_SIZE_THRESHOLD_BYTES = 100 * 1024; // 100KB\n\n// ============================================================================\n// ZOD ENUM VALUE EXTRACTION (for Zod 4)\n// ============================================================================\n\nconst JobTypeValues = Object.values(JobType) as [string, ...string[]];\nconst JobStatusValues = Object.values(JobStatus) as [string, ...string[]];\nconst JobPriorityValues = Object.values(JobPriority) as [string, ...string[]];\nconst JobInitiatorValues = Object.values(JobInitiator) as [string, ...string[]];\nconst JobExecutionStatusValues = Object.values(JobExecutionStatus) as [string, ...string[]];\nconst PayloadCompressionTypeValues = Object.values(PayloadCompressionType) as [string, ...string[]];\n\n// ============================================================================\n// RETRY BACKOFF CONFIG (shared: operation queueConfig + job transport)\n// ============================================================================\n\n/**\n * App-authorable backoff shape controlling the *timing* of job retries.\n *\n * This is the subset of retry parameters an application developer sets on an\n * operation's `queueConfig.retryConfig` to shape how long a failed job waits\n * before each re-attempt. It is intentionally a partial: the `maxRetries` and\n * `timeoutMs` axes already live at the top of `ResourceConfiguration_QueueConfig`,\n * so they are NOT repeated here (single source of truth per axis).\n *\n * Runtime semantics — when a job fails and is still eligible to retry, the queue\n * worker computes `delay = baseDelayMs × 2^attempt` (for `EXPONENTIAL`; see\n * `JobRetryUtils.calculateDelay` for `FIXED`/`LINEAR`), clamps it to `maxDelayMs`,\n * and holds the message that long in a **durable broker-side delay queue**\n * (RabbitMQ per-queue TTL + dead-letter back to the source queue) before\n * redelivery. The delay is broker-timed, not an in-process sleep, so it survives\n * a worker crash during the wait.\n *\n * All fields are optional; unset fields fall back to `QUEUE_RETRY_DEFAULTS`.\n * Both the authoring surface (`queueConfig.retryConfig`) and the wire payload\n * (`JobPayload.retryConfig`) reuse this exact schema — the enqueue side resolves\n * defaults so the transported object carries fully-resolved values.\n *\n * NOTE: This schema lives in the jobs module (not queues) because\n * `queues.shared.schemas.ts` already imports from here (`JobPriority`); putting\n * it in queues would create an import cycle. It is queue-facing by name.\n *\n * @example\n * // Exponential backoff starting at 2s, capped at 30s:\n * queueConfig: { maxRetries: 5, retryConfig: { baseDelayMs: 2000, maxDelayMs: 30000 } }\n */\nexport const QueueRetryBackoffConfigSchema = z.object({\n /** Base delay in ms — first retry / base of the exponential (or linear) curve. */\n baseDelayMs: z.number().int().min(100).optional(),\n /** Maximum delay cap in ms — prevents unbounded backoff on late attempts. */\n maxDelayMs: z.number().int().min(1000).optional(),\n /** Backoff curve: `fixed` | `linear` | `exponential`. Defaults to `exponential`. */\n retryPolicy: z.enum(RetryPolicy_BackoffType).optional(),\n});\n\nexport type QueueRetryBackoffConfig = z.infer<typeof QueueRetryBackoffConfigSchema>;\n\n// ============================================================================\n// JOB PAYLOAD SCHEMA (Transport - not a resource)\n// ============================================================================\n\n/**\n * Job payload for queue transport.\n *\n * Design notes:\n * - This is NOT a resource schema (used for RabbitMQ message transport)\n * - applicationId is needed for queue routing (not duplicated from context)\n * - operationPathKey is primary identifier, operationPathJson for execution\n * - executionContextJson carries full context for reconstruction\n * - org/user IDs are NOT duplicated - extract from executionContextJson if needed\n */\nexport const JobPayloadSchema = z.object({\n /** Unique job identifier */\n jobId: z.uuid(),\n\n /** Type of job being executed */\n jobType: z.enum(JobTypeValues),\n\n // === Application Routing ===\n /** Application ID for queue name construction */\n applicationId: z.string(),\n\n // === Operation Identification ===\n /** Primary key for lookup/matching (required for RESOURCE_OPERATION) */\n operationPathKey: z.string().optional(),\n /** Serialized ResourceConfiguration_OperationPath (required for RESOURCE_OPERATION) */\n operationPathJson: z.string().optional(),\n /** Custom batch reference (required for CUSTOM_BATCH) */\n batchRef: z.string().optional(),\n\n // === Execution Data ===\n // EITHER inline OR storage reference (mutually exclusive)\n /** JSON-stringified input data for small payloads (<100KB) */\n inputDataJson: z.string().optional(),\n /** Reference to JobPayloadStorage for large payloads */\n inputPayloadStorageId: z.uuid().optional(),\n /** Resource ID for READ/UPDATE/DELETE operations */\n inputId: z.string().optional(),\n\n // === Execution Context ===\n /**\n * Serialized execution context (reconstructed on worker side).\n * Optional for CUSTOM_BATCH and SCHEDULED_CRON (they create their own internal context).\n */\n executionContextJson: z.string().optional(),\n\n // === Job Source ===\n /** How the job was initiated */\n initiatedBy: z.enum(JobInitiatorValues).default(JobInitiator.API),\n\n // === Job Configuration ===\n /** Queue priority level */\n priority: z.enum(JobPriorityValues).default(JobPriority.NORMAL),\n /** Current retry attempt (0-indexed) */\n retryCount: z.number().int().min(0).default(0),\n /** Maximum retry attempts */\n maxRetries: z.number().int().min(0).default(3),\n /**\n * Backoff timing for retries (base delay, cap, curve). Resolved from the\n * operation's `queueConfig.retryConfig` at enqueue time (defaults applied), so\n * the worker can honor per-operation backoff without re-reading config. The\n * worker computes the delay from these values and holds the message in a\n * durable broker delay queue before redelivery — see `QueueRetryBackoffConfig`.\n */\n retryConfig: QueueRetryBackoffConfigSchema.optional(),\n /** Job execution timeout in milliseconds */\n timeoutMs: z.number().int().min(1000).default(300000),\n\n // === Timing ===\n /** When the job was created */\n createdAt: z.date(),\n /** When the job should be executed (for delayed jobs) */\n scheduledAt: z.date().optional(),\n\n // === RPC Support ===\n /**\n * RPC reply-matching id (QUEUED awaitable mode). A fresh uuid minted at enqueue time to correlate a\n * published job with its reply on the RPC reply queue — it is NOT a request trace id. Renamed from\n * `correlationId` when request→job traceability landed (Phase 6): the job now ALSO carries\n * `originCorrelationId` (the enqueuing request's trace id), and the two must never be conflated —\n * one matches a reply, the other joins the job to a distributed trace.\n */\n rpcReplyCorrelationId: z.uuid().optional(),\n /** Reply queue name for RPC pattern */\n replyTo: z.string().optional(),\n\n // === Traceability ===\n /**\n * The correlation id of the REQUEST that enqueued this job, carried onto the payload so the worker\n * that later executes it adopts the same id (see `adoptCorrelationIdIntoCurrentFrame`). This joins\n * the asynchronous job execution — its worker-side logs and audit rows — to the originating\n * request's distributed trace. Distinct from `rpcReplyCorrelationId` (reply matching) and from the\n * AMQP message `correlationId` property (wire-level reply routing). Absent for jobs with no\n * originating request (e.g. some system-enqueued work), in which case the worker mints a fresh id.\n */\n originCorrelationId: z.string().optional(),\n\n // === Domain Routing ===\n /** Domain category for domain-specific routing (e.g., 'email', 'agents') */\n domainCategory: z.string().optional(),\n});\n\nexport type JobPayload = z.infer<typeof JobPayloadSchema>;\n\n// ============================================================================\n// JOB PAYLOAD STORAGE SCHEMA (Resource)\n// ============================================================================\n\n/**\n * Default TTL for job payload storage in seconds (24 hours).\n * Large payloads are automatically deleted after this period.\n */\nexport const JOB_PAYLOAD_STORAGE_TTL_SECONDS = 24 * 60 * 60; // 24 hours\n\n/**\n * Schema for stored job payloads.\n * Used when payload exceeds PAYLOAD_SIZE_THRESHOLD_BYTES.\n *\n * Resource Design:\n * - Internal system resource, no frontend exposure\n * - All fields except storageId are backendOnly\n * - TTL: Documents are automatically deleted when expiresAt is reached\n */\nexport const JobPayloadStorageSchema = z.object({\n /** Document ID — auto-generated. `.isPrimaryKey()` is what makes the PostgreSQL planner emit the\n * PRIMARY KEY constraint (MongoDB enforces `_id` uniqueness implicitly); without it this table\n * shipped constraint-less on PostgreSQL. */\n _id: z.string().isPrimaryKey(),\n\n // === Reference (exposed for lookup) ===\n /** Storage ID (used in JobPayload.inputPayloadStorageId) */\n storageId: z.uuid().isUnique({ scope: 'global', sparse: false }),\n\n // === Application Context ===\n /** Application that owns this payload */\n applicationId: z.string().isDBIndexed().isBackendOnly(),\n\n // === Content (sensitive, backend-only) ===\n /** JSON-stringified payload - contains actual job data */\n payloadJson: z.string().isBackendOnly(),\n /** Size of the payload in bytes */\n payloadSizeBytes: z.number().int().positive().isBackendOnly(),\n\n // === Compression (internal implementation detail) ===\n /** Whether the payload is compressed */\n isCompressed: z.boolean().default(false).isBackendOnly(),\n /** Compression algorithm used */\n compressionType: z.enum(PayloadCompressionTypeValues).default(PayloadCompressionType.NONE).isBackendOnly(),\n\n // === Lifecycle ===\n /** When the payload was stored */\n createdAt: z.date().isDBIndexed(),\n /**\n * When the payload expires and can be cleaned up.\n * MongoDB TTL index will automatically delete documents at this time.\n */\n expiresAt: z.date().ttl({ expireAfterSeconds: 0 }),\n\n // === Reference Tracking (internal) ===\n /** Number of references to this payload (for cleanup) */\n referenceCount: z.number().int().min(0).default(1).isBackendOnly(),\n});\n\nexport type JobPayloadStorage = z.infer<typeof JobPayloadStorageSchema>;\n\n// ============================================================================\n// JOB RESULT SCHEMA (Transport - not a resource)\n// ============================================================================\n\n/**\n * Job execution result.\n * Returned to callers via RPC reply queue or callback dispatch.\n *\n * This is NOT a resource schema (used for RabbitMQ message transport)\n */\nexport const JobResultSchema = z.object({\n /** Job identifier */\n jobId: z.uuid(),\n\n /** Final status of the job */\n status: z.enum(JobStatusValues),\n\n // === Success Result ===\n // EITHER inline OR storage reference (mutually exclusive)\n /** JSON-stringified result data for small results */\n resultJson: z.string().optional(),\n /** Reference to JobPayloadStorage for large results */\n resultPayloadStorageId: z.uuid().optional(),\n\n // === Error Info ===\n /** Error information if job failed (uses backend error schema with full error details) */\n error: WildoError_BackendSchema.optional(),\n\n // === Timing ===\n /** When job execution started */\n startedAt: z.date(),\n /** When job execution completed */\n completedAt: z.date().optional(),\n /** Execution duration in milliseconds */\n durationMs: z.number().int().optional(),\n});\n\nexport type JobResult = z.infer<typeof JobResultSchema>;\n\n// ============================================================================\n// JOB EXECUTION TRACKING SCHEMA (Resource)\n// ============================================================================\n\n/**\n * Default TTL for job execution records in seconds (30 days).\n * Completed/failed jobs are automatically deleted after this period.\n */\nexport const JOB_EXECUTION_TTL_SECONDS = 30 * 24 * 60 * 60; // 30 days\n\n/**\n * Job execution tracking record.\n *\n * Resource Design:\n * - Internal system resource for job lifecycle tracking\n * - Queryable fields (jobId, status, organizationId, userId) are exposed\n * - Sensitive/internal fields are marked .isBackendOnly()\n * - TTL: Documents are automatically deleted 30 days after creation\n * - Proper indexes for dashboard/monitoring queries\n */\nexport const JobExecutionSchema = z.object({\n /** Document ID — auto-generated. `.isPrimaryKey()` is what makes the PostgreSQL planner emit the\n * PRIMARY KEY constraint (MongoDB enforces `_id` uniqueness implicitly); without it this table\n * shipped constraint-less on PostgreSQL. */\n _id: z.string().isPrimaryKey(),\n\n // === Job Identity (exposed for queries) ===\n /** Unique job identifier */\n jobId: z.uuid().isUnique({ scope: 'global', sparse: false }),\n /** Application that owns this job */\n applicationId: z.string().isDBIndexed(),\n\n // === What Was Executed (exposed for filtering) ===\n /** Type of job */\n jobType: z.enum(JobTypeValues).isDBIndexed(),\n /** Operation path key for resource operations */\n operationPathKey: z.string().optional(),\n /** Batch reference for custom batches */\n batchRef: z.string().optional(),\n /** Domain category for domain jobs (email, agents, etc.) */\n domainCategory: z.string().isDBIndexed().optional(),\n\n // === Context (exposed for org/user filtering) ===\n /** Organization ID from execution context */\n organizationId: z.string().isDBIndexed().optional(),\n /** User ID from execution context */\n userId: z.string().isDBIndexed().optional(),\n /** How the job was initiated */\n initiatedBy: z.enum(JobInitiatorValues),\n\n // === Execution State (exposed for monitoring) ===\n /** Current status */\n status: z.enum(JobExecutionStatusValues).isDBIndexed(),\n /** Queue name where job was published */\n queueName: z.string().isDBIndexed(),\n /** Queue priority */\n priority: z.enum(JobPriorityValues),\n\n // === Retry Tracking (exposed for retry monitoring) ===\n /** Current retry attempt (0-indexed) */\n retryCount: z.number().int().min(0).default(0),\n /** Maximum retry attempts */\n maxRetries: z.number().int().min(0),\n /** When the last retry was attempted */\n lastRetryAt: z.date().optional(),\n\n // === Timing (exposed for performance monitoring) ===\n /**\n * When the job record was created. TTL cleanup after 30 days.\n *\n * `.default(() => new Date())` is REQUIRED, not decorative: this is a\n * system-managed timestamp that the create pipeline strips from the input\n * before validation (like every other `createdAt`). Without a default, the\n * create-DTO date-coercion (`z.date()` → `z.coerce.date()`) then coerces the\n * now-`undefined` value → `new Date(undefined)` = Invalid Date → the create\n * FATALs with `createdAt: expected date, received Date`. The default supplies\n * a valid Date when the field is absent, matching the canonical timestamp\n * pattern (`z.date().default(() => new Date())` on todos/tasks/etc.). TTL must\n * stay BEFORE `.default()` — its allowed types are `[ZodDate, ZodOptional]`,\n * not `ZodDefault`.\n */\n createdAt: z.date().ttl({ expireAfterSeconds: JOB_EXECUTION_TTL_SECONDS }).default(() => new Date()),\n /** When the job was published to queue */\n queuedAt: z.date().optional(),\n /** When worker started processing */\n startedAt: z.date().optional(),\n /** When execution completed (success or failure) */\n completedAt: z.date().isDBIndexed().optional(),\n /** Execution duration in milliseconds */\n durationMs: z.number().int().optional(),\n\n // === Payload References (backend-only, internal implementation) ===\n /** Reference to input payload storage */\n inputPayloadStorageId: z.uuid().isBackendOnly().optional(),\n /** Reference to output payload storage */\n outputPayloadStorageId: z.uuid().isBackendOnly().optional(),\n\n // === Error Info (exposed for error analysis) ===\n /** Error information if job failed (uses backend error schema with full error details) */\n error: WildoError_BackendSchema.optional(),\n\n // === Worker Info (backend-only, debugging only) ===\n /** Pod/worker ID that processed this job */\n workerId: z.string().isBackendOnly().optional(),\n /** Hostname of the worker (for debugging) */\n workerHostname: z.string().isBackendOnly().optional(),\n});\n\nexport type JobExecution = z.infer<typeof JobExecutionSchema>;\n"]}
|
|
1
|
+
{"version":3,"file":"jobs.shared.schemas.js","sourceRoot":"","sources":["../../../src/queue/jobs.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Jobs Shared Schemas\n *\n * All job-related enums, schemas, and types consolidated in a single file.\n * Includes: job types, statuses, payloads, results, execution tracking, and storage.\n *\n * Resource Design Notes:\n * - JobExecution and JobPayloadStorage are internal system resources\n * - Many fields are marked .isBackendOnly() as they contain sensitive internal data\n * - TTL indexes ensure automatic cleanup\n * - Proper indexes for common query patterns\n */\n\nimport { z } from 'zod';\nimport { initZodDecorators } from '@wildo-ai/zod-decorators';\nimport { WildoError_BackendSchema, RetryPolicy_BackoffType } from '../errors/errors.shared.schemas';\n\n// Ensure Zod decorators are loaded\ninitZodDecorators(z);\n\n// ============================================================================\n// ENUMS\n// ============================================================================\n\n/**\n * Type of job being processed.\n */\nexport enum JobType {\n /** Standard resource operation (CREATE, READ, UPDATE, DELETE, etc.) */\n RESOURCE_OPERATION = 'resource_operation',\n /** Custom batch job defined in customBatchesFactory */\n CUSTOM_BATCH = 'custom_batch',\n /** Scheduled cron job triggered by crontabs-manager */\n SCHEDULED_CRON = 'scheduled_cron',\n /**\n * Cron-driven minion tick (KD-12 of\n * `.claude/plans/minions-and-workers-implementation.md`).\n *\n * Published by `platform-crontabs-batches-manager` to the application's\n * scheduled queue when a minion's cron schedule fires. The consumer\n * (`MinionTickConsumerBackendService` in `saas-minions-lib`) filters\n * messages by matching the token's `minionName` against the minion's OWN\n * identity — which each minion sources from its compiled-in\n * `defineMinionInit({ minionName })` config (the minion package is\n * domain-specific by construction), cross-validated at boot against the\n * fetched `appConfig.minions[minionName]`. Matched ticks route to the\n * minion's locally-hosted actor system. Identity is NOT read from env:\n * `APP_OWNED_SERVICE_NAME` is deploy-time metadata (and the read-from-env\n * path of the language-pluggable *worker* runtime), never the Node\n * minion's runtime identity source.\n *\n * Dispatch is a pure switch on `jobType` — see `PublishScheduledJobInput`\n * / `ScheduledJobTokenInput` xor that pairs `MINION_TICK` with the\n * `minionName` discriminator.\n */\n MINION_TICK = 'minion_tick',\n}\n\n/**\n * Status of a job through its lifecycle.\n */\nexport enum JobStatus {\n /** Created but not yet queued */\n PENDING = 'pending',\n /** Published to queue */\n QUEUED = 'queued',\n /** Worker started processing */\n PROCESSING = 'processing',\n /** Successfully finished */\n COMPLETED = 'completed',\n /** Failed, retries exhausted */\n FAILED = 'failed',\n /** Failed but will retry */\n RETRYING = 'retrying',\n /** Moved to dead letter queue */\n DEAD_LETTER = 'dead_letter',\n /** Manually cancelled */\n CANCELLED = 'cancelled',\n}\n\n/**\n * Which queue substrate a runtime uses.\n *\n * Read by `bindQueueAdapter()` in `saas-backend-lib`, which is the only place a member is mapped to\n * an implementation — as a total `Record`, so adding a member here is a compile error until somebody\n * says which class serves it.\n *\n * `REDIS` was declared and removed (#502). It had no implementation, no reader and no selection\n * path, and the decision was to build ONE of the two missing adapters rather than both: a vocabulary\n * member offering a choice nothing can make is worse than an absent one, because it reads as a\n * supported deployment. Reinstate it when something needs it, alongside the adapter.\n */\nexport enum QueueAdapterType {\n /** A real broker. The default, and what a deployed application wants: durability across a restart, visibility across processes, permissions per runtime. */\n RABBITMQ = 'rabbitmq',\n /**\n * In-process, no broker. For a test lane that needs real background-work BEHAVIOUR — retry,\n * dead-lettering, delayed redelivery, unacknowledged messages staying unacknowledged — and for a\n * single-process runtime that has declared it wants none of what a broker is bought for.\n */\n MEMORY = 'memory',\n}\n\n/**\n * Who initiated the job.\n */\nexport enum JobInitiator {\n /** Triggered via API call */\n API = 'api',\n /** Triggered by crontabs-batches-manager */\n CRONTAB = 'crontab',\n /** Triggered internally by service */\n INTERNAL = 'internal',\n}\n\n/**\n * Status of a job execution record (for tracking).\n * Similar to JobStatus but specific to the tracking record.\n */\nexport enum JobExecutionStatus {\n /** Created but not yet queued */\n PENDING = 'pending',\n /** Published to queue */\n QUEUED = 'queued',\n /** Worker started processing */\n PROCESSING = 'processing',\n /** Successfully finished */\n COMPLETED = 'completed',\n /** Failed, retries exhausted */\n FAILED = 'failed',\n /** Failed but will retry */\n RETRYING = 'retrying',\n /** Moved to dead letter queue */\n DEAD_LETTER = 'dead_letter',\n /** Manually cancelled */\n CANCELLED = 'cancelled',\n}\n\n/**\n * Compression type for stored payloads.\n */\nexport enum PayloadCompressionType {\n NONE = 'none',\n GZIP = 'gzip',\n}\n\n/**\n * Job priority levels.\n * HIGH and CRITICAL are routed to priority queues.\n */\nexport enum JobPriority {\n LOW = 'low',\n NORMAL = 'normal',\n HIGH = 'high',\n CRITICAL = 'critical',\n}\n\n// ============================================================================\n// CONSTANTS\n// ============================================================================\n\n/**\n * Threshold for storing payloads externally vs inline.\n * Payloads >= 100KB are stored in MongoDB, referenced by storageId.\n * This prevents RabbitMQ performance issues with large messages.\n */\nexport const PAYLOAD_SIZE_THRESHOLD_BYTES = 100 * 1024; // 100KB\n\n// ============================================================================\n// ZOD ENUM VALUE EXTRACTION (for Zod 4)\n// ============================================================================\n\nconst JobTypeValues = Object.values(JobType) as [string, ...string[]];\nconst JobStatusValues = Object.values(JobStatus) as [string, ...string[]];\nconst JobPriorityValues = Object.values(JobPriority) as [string, ...string[]];\nconst JobInitiatorValues = Object.values(JobInitiator) as [string, ...string[]];\nconst JobExecutionStatusValues = Object.values(JobExecutionStatus) as [string, ...string[]];\nconst PayloadCompressionTypeValues = Object.values(PayloadCompressionType) as [string, ...string[]];\n\n// ============================================================================\n// RETRY BACKOFF CONFIG (shared: operation queueConfig + job transport)\n// ============================================================================\n\n/**\n * App-authorable backoff shape controlling the *timing* of job retries.\n *\n * This is the subset of retry parameters an application developer sets on an\n * operation's `queueConfig.retryConfig` to shape how long a failed job waits\n * before each re-attempt. It is intentionally a partial: the `maxRetries` and\n * `timeoutMs` axes already live at the top of `ResourceConfiguration_QueueConfig`,\n * so they are NOT repeated here (single source of truth per axis).\n *\n * Runtime semantics — when a job fails and is still eligible to retry, the queue\n * worker computes `delay = baseDelayMs × 2^attempt` (for `EXPONENTIAL`; see\n * `JobRetryUtils.calculateDelay` for `FIXED`/`LINEAR`), clamps it to `maxDelayMs`,\n * and holds the message that long in a **durable broker-side delay queue**\n * (RabbitMQ per-queue TTL + dead-letter back to the source queue) before\n * redelivery. The delay is broker-timed, not an in-process sleep, so it survives\n * a worker crash during the wait.\n *\n * All fields are optional; unset fields fall back to `QUEUE_RETRY_DEFAULTS`.\n * Both the authoring surface (`queueConfig.retryConfig`) and the wire payload\n * (`JobPayload.retryConfig`) reuse this exact schema — the enqueue side resolves\n * defaults so the transported object carries fully-resolved values.\n *\n * NOTE: This schema lives in the jobs module (not queues) because\n * `queues.shared.schemas.ts` already imports from here (`JobPriority`); putting\n * it in queues would create an import cycle. It is queue-facing by name.\n *\n * @example\n * // Exponential backoff starting at 2s, capped at 30s:\n * queueConfig: { maxRetries: 5, retryConfig: { baseDelayMs: 2000, maxDelayMs: 30000 } }\n */\nexport const QueueRetryBackoffConfigSchema = z.object({\n /** Base delay in ms — first retry / base of the exponential (or linear) curve. */\n baseDelayMs: z.number().int().min(100).optional(),\n /** Maximum delay cap in ms — prevents unbounded backoff on late attempts. */\n maxDelayMs: z.number().int().min(1000).optional(),\n /** Backoff curve: `fixed` | `linear` | `exponential`. Defaults to `exponential`. */\n retryPolicy: z.enum(RetryPolicy_BackoffType).optional(),\n});\n\nexport type QueueRetryBackoffConfig = z.infer<typeof QueueRetryBackoffConfigSchema>;\n\n// ============================================================================\n// JOB PAYLOAD SCHEMA (Transport - not a resource)\n// ============================================================================\n\n/**\n * Job payload for queue transport.\n *\n * Design notes:\n * - This is NOT a resource schema (used for RabbitMQ message transport)\n * - applicationId is needed for queue routing (not duplicated from context)\n * - operationPathKey is primary identifier, operationPathJson for execution\n * - executionContextJson carries full context for reconstruction\n * - org/user IDs are NOT duplicated - extract from executionContextJson if needed\n */\nexport const JobPayloadSchema = z.object({\n /** Unique job identifier */\n jobId: z.uuid(),\n\n /** Type of job being executed */\n jobType: z.enum(JobTypeValues),\n\n // === Application Routing ===\n /** Application ID for queue name construction */\n applicationId: z.string(),\n\n // === Operation Identification ===\n /** Primary key for lookup/matching (required for RESOURCE_OPERATION) */\n operationPathKey: z.string().optional(),\n /** Serialized ResourceConfiguration_OperationPath (required for RESOURCE_OPERATION) */\n operationPathJson: z.string().optional(),\n /** Custom batch reference (required for CUSTOM_BATCH) */\n batchRef: z.string().optional(),\n\n // === Execution Data ===\n // EITHER inline OR storage reference (mutually exclusive)\n /** JSON-stringified input data for small payloads (<100KB) */\n inputDataJson: z.string().optional(),\n /** Reference to JobPayloadStorage for large payloads */\n inputPayloadStorageId: z.uuid().optional(),\n /** Resource ID for READ/UPDATE/DELETE operations */\n inputId: z.string().optional(),\n\n // === Execution Context ===\n /**\n * Serialized execution context (reconstructed on worker side).\n * Optional for CUSTOM_BATCH and SCHEDULED_CRON (they create their own internal context).\n */\n executionContextJson: z.string().optional(),\n\n // === Job Source ===\n /** How the job was initiated */\n initiatedBy: z.enum(JobInitiatorValues).default(JobInitiator.API),\n\n // === Job Configuration ===\n /** Queue priority level */\n priority: z.enum(JobPriorityValues).default(JobPriority.NORMAL),\n /** Current retry attempt (0-indexed) */\n retryCount: z.number().int().min(0).default(0),\n /** Maximum retry attempts */\n maxRetries: z.number().int().min(0).default(3),\n /**\n * Backoff timing for retries (base delay, cap, curve). Resolved from the\n * operation's `queueConfig.retryConfig` at enqueue time (defaults applied), so\n * the worker can honor per-operation backoff without re-reading config. The\n * worker computes the delay from these values and holds the message in a\n * durable broker delay queue before redelivery — see `QueueRetryBackoffConfig`.\n */\n retryConfig: QueueRetryBackoffConfigSchema.optional(),\n /** Job execution timeout in milliseconds */\n timeoutMs: z.number().int().min(1000).default(300000),\n\n // === Timing ===\n /** When the job was created */\n createdAt: z.date(),\n /** When the job should be executed (for delayed jobs) */\n scheduledAt: z.date().optional(),\n\n // === RPC Support ===\n /**\n * RPC reply-matching id (QUEUED awaitable mode). A fresh uuid minted at enqueue time to correlate a\n * published job with its reply on the RPC reply queue — it is NOT a request trace id. Renamed from\n * `correlationId` when request→job traceability landed (Phase 6): the job now ALSO carries\n * `originCorrelationId` (the enqueuing request's trace id), and the two must never be conflated —\n * one matches a reply, the other joins the job to a distributed trace.\n */\n rpcReplyCorrelationId: z.uuid().optional(),\n /** Reply queue name for RPC pattern */\n replyTo: z.string().optional(),\n\n // === Traceability ===\n /**\n * The correlation id of the REQUEST that enqueued this job, carried onto the payload so the worker\n * that later executes it adopts the same id (see `adoptCorrelationIdIntoCurrentFrame`). This joins\n * the asynchronous job execution — its worker-side logs and audit rows — to the originating\n * request's distributed trace. Distinct from `rpcReplyCorrelationId` (reply matching) and from the\n * AMQP message `correlationId` property (wire-level reply routing). Absent for jobs with no\n * originating request (e.g. some system-enqueued work), in which case the worker mints a fresh id.\n */\n originCorrelationId: z.string().optional(),\n\n // === Domain Routing ===\n /** Domain category for domain-specific routing (e.g., 'email', 'agents') */\n domainCategory: z.string().optional(),\n});\n\nexport type JobPayload = z.infer<typeof JobPayloadSchema>;\n\n// ============================================================================\n// JOB PAYLOAD STORAGE SCHEMA (Resource)\n// ============================================================================\n\n/**\n * Default TTL for job payload storage in seconds (24 hours).\n * Large payloads are automatically deleted after this period.\n */\nexport const JOB_PAYLOAD_STORAGE_TTL_SECONDS = 24 * 60 * 60; // 24 hours\n\n/**\n * Schema for stored job payloads.\n * Used when payload exceeds PAYLOAD_SIZE_THRESHOLD_BYTES.\n *\n * Resource Design:\n * - Internal system resource, no frontend exposure\n * - All fields except storageId are backendOnly\n * - TTL: Documents are automatically deleted when expiresAt is reached\n */\nexport const JobPayloadStorageSchema = z.object({\n /** Document ID — auto-generated. `.isPrimaryKey()` is what makes the PostgreSQL planner emit the\n * PRIMARY KEY constraint (MongoDB enforces `_id` uniqueness implicitly); without it this table\n * shipped constraint-less on PostgreSQL. */\n _id: z.string().isPrimaryKey(),\n\n // === Reference (exposed for lookup) ===\n /** Storage ID (used in JobPayload.inputPayloadStorageId) */\n storageId: z.uuid().isUnique({ scope: 'global', sparse: false }),\n\n // === Application Context ===\n /** Application that owns this payload */\n applicationId: z.string().isDBIndexed().isBackendOnly(),\n\n // === Content (sensitive, backend-only) ===\n /** JSON-stringified payload - contains actual job data */\n payloadJson: z.string().isBackendOnly(),\n /** Size of the payload in bytes */\n payloadSizeBytes: z.number().int().positive().isBackendOnly(),\n\n // === Compression (internal implementation detail) ===\n /** Whether the payload is compressed */\n isCompressed: z.boolean().default(false).isBackendOnly(),\n /** Compression algorithm used */\n compressionType: z.enum(PayloadCompressionTypeValues).default(PayloadCompressionType.NONE).isBackendOnly(),\n\n // === Lifecycle ===\n /** When the payload was stored */\n createdAt: z.date().isDBIndexed(),\n /**\n * When the payload expires and can be cleaned up.\n * MongoDB TTL index will automatically delete documents at this time.\n */\n expiresAt: z.date().ttl({ expireAfterSeconds: 0 }),\n\n // === Reference Tracking (internal) ===\n /** Number of references to this payload (for cleanup) */\n referenceCount: z.number().int().min(0).default(1).isBackendOnly(),\n});\n\nexport type JobPayloadStorage = z.infer<typeof JobPayloadStorageSchema>;\n\n// ============================================================================\n// JOB RESULT SCHEMA (Transport - not a resource)\n// ============================================================================\n\n/**\n * Job execution result.\n * Returned to callers via RPC reply queue or callback dispatch.\n *\n * This is NOT a resource schema (used for RabbitMQ message transport)\n */\nexport const JobResultSchema = z.object({\n /** Job identifier */\n jobId: z.uuid(),\n\n /** Final status of the job */\n status: z.enum(JobStatusValues),\n\n // === Success Result ===\n // EITHER inline OR storage reference (mutually exclusive)\n /** JSON-stringified result data for small results */\n resultJson: z.string().optional(),\n /** Reference to JobPayloadStorage for large results */\n resultPayloadStorageId: z.uuid().optional(),\n\n // === Error Info ===\n /** Error information if job failed (uses backend error schema with full error details) */\n error: WildoError_BackendSchema.optional(),\n\n // === Timing ===\n /** When job execution started */\n startedAt: z.date(),\n /** When job execution completed */\n completedAt: z.date().optional(),\n /** Execution duration in milliseconds */\n durationMs: z.number().int().optional(),\n});\n\nexport type JobResult = z.infer<typeof JobResultSchema>;\n\n// ============================================================================\n// JOB EXECUTION TRACKING SCHEMA (Resource)\n// ============================================================================\n\n/**\n * Default TTL for job execution records in seconds (30 days).\n * Completed/failed jobs are automatically deleted after this period.\n */\nexport const JOB_EXECUTION_TTL_SECONDS = 30 * 24 * 60 * 60; // 30 days\n\n/**\n * Job execution tracking record.\n *\n * Resource Design:\n * - Internal system resource for job lifecycle tracking\n * - Queryable fields (jobId, status, organizationId, userId) are exposed\n * - Sensitive/internal fields are marked .isBackendOnly()\n * - TTL: Documents are automatically deleted 30 days after creation\n * - Proper indexes for dashboard/monitoring queries\n */\nexport const JobExecutionSchema = z.object({\n /** Document ID — auto-generated. `.isPrimaryKey()` is what makes the PostgreSQL planner emit the\n * PRIMARY KEY constraint (MongoDB enforces `_id` uniqueness implicitly); without it this table\n * shipped constraint-less on PostgreSQL. */\n _id: z.string().isPrimaryKey(),\n\n // === Job Identity (exposed for queries) ===\n /** Unique job identifier */\n jobId: z.uuid().isUnique({ scope: 'global', sparse: false }),\n /** Application that owns this job */\n applicationId: z.string().isDBIndexed(),\n\n // === What Was Executed (exposed for filtering) ===\n /** Type of job */\n jobType: z.enum(JobTypeValues).isDBIndexed(),\n /** Operation path key for resource operations */\n operationPathKey: z.string().optional(),\n /** Batch reference for custom batches */\n batchRef: z.string().optional(),\n /** Domain category for domain jobs (email, agents, etc.) */\n domainCategory: z.string().isDBIndexed().optional(),\n\n // === Context (exposed for org/user filtering) ===\n /** Organization ID from execution context */\n organizationId: z.string().isDBIndexed().optional(),\n /** User ID from execution context */\n userId: z.string().isDBIndexed().optional(),\n /** How the job was initiated */\n initiatedBy: z.enum(JobInitiatorValues),\n\n // === Execution State (exposed for monitoring) ===\n /** Current status */\n status: z.enum(JobExecutionStatusValues).isDBIndexed(),\n /** Queue name where job was published */\n queueName: z.string().isDBIndexed(),\n /** Queue priority */\n priority: z.enum(JobPriorityValues),\n\n // === Retry Tracking (exposed for retry monitoring) ===\n /** Current retry attempt (0-indexed) */\n retryCount: z.number().int().min(0).default(0),\n /** Maximum retry attempts */\n maxRetries: z.number().int().min(0),\n /** When the last retry was attempted */\n lastRetryAt: z.date().optional(),\n\n // === Timing (exposed for performance monitoring) ===\n /**\n * When the job record was created. TTL cleanup after 30 days.\n *\n * `.default(() => new Date())` is REQUIRED, not decorative: this is a\n * system-managed timestamp that the create pipeline strips from the input\n * before validation (like every other `createdAt`). Without a default, the\n * create-DTO date-coercion (`z.date()` → `z.coerce.date()`) then coerces the\n * now-`undefined` value → `new Date(undefined)` = Invalid Date → the create\n * FATALs with `createdAt: expected date, received Date`. The default supplies\n * a valid Date when the field is absent, matching the canonical timestamp\n * pattern (`z.date().default(() => new Date())` on todos/tasks/etc.). TTL must\n * stay BEFORE `.default()` — its allowed types are `[ZodDate, ZodOptional]`,\n * not `ZodDefault`.\n */\n createdAt: z.date().ttl({ expireAfterSeconds: JOB_EXECUTION_TTL_SECONDS }).default(() => new Date()),\n /** When the job was published to queue */\n queuedAt: z.date().optional(),\n /** When worker started processing */\n startedAt: z.date().optional(),\n /** When execution completed (success or failure) */\n completedAt: z.date().isDBIndexed().optional(),\n /** Execution duration in milliseconds */\n durationMs: z.number().int().optional(),\n\n // === Payload References (backend-only, internal implementation) ===\n /** Reference to input payload storage */\n inputPayloadStorageId: z.uuid().isBackendOnly().optional(),\n /** Reference to output payload storage */\n outputPayloadStorageId: z.uuid().isBackendOnly().optional(),\n\n // === Error Info (exposed for error analysis) ===\n /** Error information if job failed (uses backend error schema with full error details) */\n error: WildoError_BackendSchema.optional(),\n\n // === Worker Info (backend-only, debugging only) ===\n /** Pod/worker ID that processed this job */\n workerId: z.string().isBackendOnly().optional(),\n /** Hostname of the worker (for debugging) */\n workerHostname: z.string().isBackendOnly().optional(),\n});\n\nexport type JobExecution = z.infer<typeof JobExecutionSchema>;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.shared.utils.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"jobs.shared.utils.d.ts","sourceRoot":"","sources":["../../../src/queue/jobs.shared.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queues.shared.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"queues.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/queue/queues.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAClG,OAAO,EAAE,WAAW,EAAiC,MAAM,uBAAuB,CAAC;AAMnF;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,2EAA2E;IAC3E,MAAM,WAAW;IACjB,yFAAyF;IACzF,SAAS,cAAc;IACvB,2FAA2F;IAC3F,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,qDAAqD;IACrD,QAAQ,aAAa;IACrB,wCAAwC;IACxC,UAAU,eAAe;CAC1B;AAcD;;;;;;;;;GASG;AACH,eAAO,MAAM,uCAAuC;;;;;;;;;;;;kBA0BvC,CAAC;AAEd,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uCAAuC,CAAC,CAAC;AAExG;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;CAQxB,CAAC;AAMX;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;iBAejC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,gBAMlC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;iBAKrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;iBAwBpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CA2BrE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAM,CAAC;AAE7E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAKrF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAE9E;AAMD;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;iBAmC7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;iBAepC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;iBAwBnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queues.shared.utils.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"queues.shared.utils.d.ts","sourceRoot":"","sources":["../../../src/queue/queues.shared.utils.ts"],"names":[],"mappings":"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"}
|