@wildo-ai/saas-models 1.1.5 → 1.1.6
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/applications/application-versions.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/applications/application-versions.shared.resources-config.schemas.js +2 -1
- package/dist/esm/applications/application-versions.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/applications/applications-context.schemas.d.ts +176 -2
- 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 +3 -2
- package/dist/esm/applications/applications.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/applications/applications.shared.schemas.d.ts +7 -5
- package/dist/esm/applications/applications.shared.schemas.d.ts.map +1 -1
- package/dist/esm/applications/applications.shared.schemas.js +6 -4
- package/dist/esm/applications/applications.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts +10 -1
- package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-account.shared.resources-config.schemas.js +49 -15
- package/dist/esm/billing/billing-account.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/billing-account.shared.schemas.js +2 -2
- package/dist/esm/billing/billing-account.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-configuration.shared.schemas.d.ts +25 -0
- package/dist/esm/billing/billing-configuration.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-configuration.shared.schemas.js +19 -0
- package/dist/esm/billing/billing-configuration.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-enums.shared.schemas.d.ts +27 -5
- package/dist/esm/billing/billing-enums.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-enums.shared.schemas.js +30 -4
- package/dist/esm/billing/billing-enums.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-types.shared.schemas.d.ts +37 -11
- package/dist/esm/billing/billing-types.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-types.shared.schemas.js +31 -19
- package/dist/esm/billing/billing-types.shared.schemas.js.map +1 -1
- package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts +2 -0
- package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/credit-pool.shared.resources-config.schemas.js +18 -7
- package/dist/esm/billing/credit-pool.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/credit-pool.shared.schemas.d.ts +2 -0
- package/dist/esm/billing/credit-pool.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/credit-pool.shared.schemas.js +7 -1
- package/dist/esm/billing/credit-pool.shared.schemas.js.map +1 -1
- package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.js +6 -6
- package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/invoice-ref.shared.schemas.js +1 -1
- package/dist/esm/billing/invoice-ref.shared.schemas.js.map +1 -1
- package/dist/esm/billing/price.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/price.shared.schemas.js +5 -3
- package/dist/esm/billing/price.shared.schemas.js.map +1 -1
- package/dist/esm/billing/product-behavior-policy.shared.schemas.d.ts +11 -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 +39 -23
- package/dist/esm/billing/product-behavior-policy.shared.schemas.js.map +1 -1
- package/dist/esm/billing/product-definition.shared.schemas.d.ts +30 -2
- package/dist/esm/billing/product-definition.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/product-definition.shared.schemas.js +35 -0
- package/dist/esm/billing/product-definition.shared.schemas.js.map +1 -1
- package/dist/esm/billing/product.shared.resources-config.schemas.d.ts +6 -3
- package/dist/esm/billing/product.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/product.shared.schemas.d.ts +7 -3
- package/dist/esm/billing/product.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/product.shared.schemas.js +22 -7
- package/dist/esm/billing/product.shared.schemas.js.map +1 -1
- package/dist/esm/billing/promotions.shared.resources-config.schemas.js +8 -8
- package/dist/esm/billing/promotions.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/public-pricing-catalog.shared.atoms.d.ts +135 -0
- package/dist/esm/billing/public-pricing-catalog.shared.atoms.d.ts.map +1 -0
- package/dist/esm/billing/public-pricing-catalog.shared.atoms.js +112 -0
- package/dist/esm/billing/public-pricing-catalog.shared.atoms.js.map +1 -0
- package/dist/esm/billing/public-pricing-catalog.shared.d.ts +30 -0
- package/dist/esm/billing/public-pricing-catalog.shared.d.ts.map +1 -0
- package/dist/esm/billing/public-pricing-catalog.shared.js +53 -0
- package/dist/esm/billing/public-pricing-catalog.shared.js.map +1 -0
- package/dist/esm/billing/referral-reward.shared.schemas.d.ts +51 -0
- package/dist/esm/billing/referral-reward.shared.schemas.d.ts.map +1 -0
- package/dist/esm/billing/referral-reward.shared.schemas.js +92 -0
- package/dist/esm/billing/referral-reward.shared.schemas.js.map +1 -0
- package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts +54 -33
- package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/referral.shared.resources-config.schemas.js +56 -2
- package/dist/esm/billing/referral.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/referral.shared.schemas.d.ts +22 -37
- package/dist/esm/billing/referral.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/referral.shared.schemas.js +24 -44
- package/dist/esm/billing/referral.shared.schemas.js.map +1 -1
- package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts +9 -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 +55 -22
- package/dist/esm/billing/subscription.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/subscription.shared.schemas.d.ts +80 -5
- package/dist/esm/billing/subscription.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/subscription.shared.schemas.js +85 -25
- package/dist/esm/billing/subscription.shared.schemas.js.map +1 -1
- package/dist/esm/billing/usage-record.shared.schemas.js +5 -5
- package/dist/esm/billing/usage-record.shared.schemas.js.map +1 -1
- package/dist/esm/companion/provider-discovery.shared.schemas.d.ts +143 -2
- package/dist/esm/companion/provider-discovery.shared.schemas.d.ts.map +1 -1
- package/dist/esm/companion/provider-discovery.shared.schemas.js +84 -1
- package/dist/esm/companion/provider-discovery.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts +14 -1
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js +4 -0
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.d.ts +70 -0
- package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.js +87 -0
- package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts +34 -0
- package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js +137 -3
- package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.d.ts +7 -0
- package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts +28 -2
- package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js +29 -8
- package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts +29 -6
- 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 +38 -9
- 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 +1822 -146
- 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 +1777 -87
- 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 +10 -0
- 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 +148 -7
- package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js.map +1 -1
- package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts +2 -0
- package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.js +2 -0
- package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/data-retention.shared.schemas.d.ts +0 -8
- package/dist/esm/compliance/privacy/data-retention.shared.schemas.d.ts.map +0 -1
- package/dist/esm/compliance/privacy/data-retention.shared.schemas.js.map +0 -1
- package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts +17 -8
- package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js +43 -20
- package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts +38 -0
- package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/impersonalization.shared.schemas.js +39 -0
- package/dist/esm/compliance/privacy/impersonalization.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.d.ts +35 -0
- package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.js +82 -0
- package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.js.map +1 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.d.ts +37 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.js +223 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.schemas.d.ts +222 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.schemas.js +331 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts +37 -3
- package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js +33 -4
- package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.d.ts +52 -0
- package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.js +116 -0
- package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.d.ts +11 -0
- package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.js +11 -0
- package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/retention-binding.shared.utils.d.ts +93 -0
- package/dist/esm/compliance/privacy/retention-binding.shared.utils.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/retention-binding.shared.utils.js +149 -0
- package/dist/esm/compliance/privacy/retention-binding.shared.utils.js.map +1 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.d.ts +43 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.js +106 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.d.ts +209 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.js +226 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.d.ts +129 -5
- package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.js +128 -4
- package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.d.ts +53 -0
- package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.js +74 -0
- package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.js.map +1 -0
- package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.d.ts +311 -0
- package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.js +355 -0
- package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts +178 -39
- package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js +145 -35
- package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js.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-render.shared.utils.js +26 -0
- package/dist/esm/compliance/privacy/subject-export-render.shared.utils.js.map +1 -1
- package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts +9 -0
- package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/subject-export.shared.schemas.js.map +1 -1
- package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts +109 -1
- package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/app-configuration-shared.shared.schemas.js +57 -0
- package/dist/esm/config/app-configuration-shared.shared.schemas.js.map +1 -1
- package/dist/esm/config/entity-identity-config.shared.schemas.d.ts +69 -0
- package/dist/esm/config/entity-identity-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/entity-identity-config.shared.schemas.js +93 -0
- package/dist/esm/config/entity-identity-config.shared.schemas.js.map +1 -1
- package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts +16 -16
- package/dist/esm/config/frontend/navigation.shared.schemas.d.ts +160 -61
- package/dist/esm/config/frontend/navigation.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/frontend/navigation.shared.schemas.js +297 -65
- package/dist/esm/config/frontend/navigation.shared.schemas.js.map +1 -1
- package/dist/esm/errors/caught-error-description.shared.utils.d.ts +69 -0
- package/dist/esm/errors/caught-error-description.shared.utils.d.ts.map +1 -0
- package/dist/esm/errors/caught-error-description.shared.utils.js +77 -0
- package/dist/esm/errors/caught-error-description.shared.utils.js.map +1 -0
- package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts +76 -3
- 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 +76 -2
- package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js.map +1 -1
- package/dist/esm/errors/errors.shared.schemas.d.ts +20 -1
- package/dist/esm/errors/errors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/errors/errors.shared.schemas.js +16 -9
- package/dist/esm/errors/errors.shared.schemas.js.map +1 -1
- package/dist/esm/errors/errors.shared.utils.d.ts +0 -24
- package/dist/esm/errors/errors.shared.utils.d.ts.map +1 -1
- package/dist/esm/errors/errors.shared.utils.js +0 -39
- package/dist/esm/errors/errors.shared.utils.js.map +1 -1
- package/dist/esm/errors/thrown-value-description.shared.utils.d.ts +6 -7
- package/dist/esm/errors/thrown-value-description.shared.utils.d.ts.map +1 -1
- package/dist/esm/errors/thrown-value-description.shared.utils.js +6 -7
- package/dist/esm/errors/thrown-value-description.shared.utils.js.map +1 -1
- package/dist/esm/external-data/external-data-pipeline-description.shared.d.ts +70 -0
- package/dist/esm/external-data/external-data-pipeline-description.shared.d.ts.map +1 -0
- package/dist/esm/external-data/external-data-pipeline-description.shared.js +92 -0
- package/dist/esm/external-data/external-data-pipeline-description.shared.js.map +1 -0
- package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.d.ts +154 -0
- package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.d.ts.map +1 -0
- package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.js +161 -0
- package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.js.map +1 -0
- package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts +1071 -23
- 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 +1065 -17
- package/dist/esm/external-data/external-data-pipeline.shared.schemas.js.map +1 -1
- package/dist/esm/external-data/external-data-provenance.shared.d.ts +71 -0
- package/dist/esm/external-data/external-data-provenance.shared.d.ts.map +1 -0
- package/dist/esm/external-data/external-data-provenance.shared.js +88 -0
- package/dist/esm/external-data/external-data-provenance.shared.js.map +1 -0
- package/dist/esm/external-data.exports.d.ts +5 -0
- package/dist/esm/external-data.exports.d.ts.map +1 -1
- package/dist/esm/external-data.exports.js +11 -0
- package/dist/esm/external-data.exports.js.map +1 -1
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts +17 -2
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.js +22 -4
- 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.map +1 -1
- package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js +3 -0
- package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js.map +1 -1
- package/dist/esm/external-providers/engine-capability-surface.shared.d.ts.map +1 -1
- package/dist/esm/external-providers/engine-capability-surface.shared.js +2 -0
- package/dist/esm/external-providers/engine-capability-surface.shared.js.map +1 -1
- package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts +152 -1
- 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 +4 -3
- package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js +4 -3
- package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts +45 -0
- package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts.map +1 -1
- package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js +14 -0
- package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js.map +1 -1
- package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts +188 -4
- 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 +76 -9
- 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 -33
- package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts.map +1 -1
- package/dist/esm/external-providers/frontend-provider-public-config.shared.js +247 -42
- package/dist/esm/external-providers/frontend-provider-public-config.shared.js.map +1 -1
- package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.d.ts +53 -0
- package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.d.ts.map +1 -0
- package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.js +41 -0
- package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.js.map +1 -0
- package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.d.ts +150 -0
- package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.js +22 -0
- package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.js.map +1 -0
- package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.d.ts +42 -0
- package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.js +49 -0
- package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.js.map +1 -0
- package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts +53 -0
- package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js +56 -0
- package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts +34 -0
- package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-capability.shared.schemas.js +34 -0
- 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 +341 -4
- 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 +270 -20
- 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 +6 -2
- package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js +6 -2
- package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js.map +1 -1
- package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts +174 -1
- package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js +125 -0
- package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts +3 -3
- package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.d.ts +42 -0
- package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.js +57 -0
- package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.js.map +1 -0
- package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts +6 -0
- package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-protocol.shared.schemas.js +6 -0
- package/dist/esm/external-providers/provider-protocol.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.d.ts +58 -0
- package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.js +35 -0
- package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.js.map +1 -0
- package/dist/esm/external-providers/provider-shared-connections.shared.schemas.d.ts +115 -0
- package/dist/esm/external-providers/provider-shared-connections.shared.schemas.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-shared-connections.shared.schemas.js +137 -0
- package/dist/esm/external-providers/provider-shared-connections.shared.schemas.js.map +1 -0
- package/dist/esm/external-providers/provider-usage-cost.shared.d.ts +73 -0
- package/dist/esm/external-providers/provider-usage-cost.shared.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-usage-cost.shared.js +171 -0
- package/dist/esm/external-providers/provider-usage-cost.shared.js.map +1 -0
- package/dist/esm/external-providers/provider-usage-pricing.example.d.ts +12 -0
- package/dist/esm/external-providers/provider-usage-pricing.example.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-usage-pricing.example.js +40 -0
- package/dist/esm/external-providers/provider-usage-pricing.example.js.map +1 -0
- package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.d.ts +68 -32
- package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.js +63 -52
- package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.js.map +1 -1
- package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts +5 -5
- 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 +13 -5
- package/dist/esm/features/application-features.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/features/connected-feature.example.d.ts.map +1 -1
- package/dist/esm/features/connected-feature.example.js +2 -1
- package/dist/esm/features/connected-feature.example.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 +2 -1
- package/dist/esm/features/core-feature-definitions.shared.js.map +1 -1
- package/dist/esm/features/feature-builders.shared.d.ts.map +1 -1
- package/dist/esm/features/feature-builders.shared.js.map +1 -1
- package/dist/esm/features/feature-definition.shared.schemas.d.ts +2 -11
- package/dist/esm/features/feature-definition.shared.schemas.d.ts.map +1 -1
- package/dist/esm/features/feature-definition.shared.schemas.js +0 -12
- package/dist/esm/features/feature-definition.shared.schemas.js.map +1 -1
- package/dist/esm/features/scope-features.shared.schemas.d.ts +31 -17
- package/dist/esm/features/scope-features.shared.schemas.d.ts.map +1 -1
- package/dist/esm/features/scope-features.shared.schemas.js +27 -5
- package/dist/esm/features/scope-features.shared.schemas.js.map +1 -1
- package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts +5 -5
- package/dist/esm/flows-actors/actors.shared.schemas.d.ts +127 -11
- package/dist/esm/flows-actors/actors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/actors.shared.schemas.js +32 -1
- package/dist/esm/flows-actors/actors.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts +16 -0
- package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/agent-traceability.shared.schemas.js +7 -0
- package/dist/esm/flows-actors/agent-traceability.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.d.ts +68 -0
- package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.js +276 -0
- package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.d.ts +468 -0
- package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.js +472 -0
- package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.js.map +1 -0
- package/dist/esm/flows-actors/autonomous-agents.shared.schemas.d.ts +118 -0
- package/dist/esm/flows-actors/autonomous-agents.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/autonomous-agents.shared.schemas.js +144 -0
- package/dist/esm/flows-actors/autonomous-agents.shared.schemas.js.map +1 -0
- package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts +142 -8
- 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 +209 -11
- package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts +37 -2
- 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 +30 -2
- 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 +0 -11
- package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.js +12 -5
- package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts +45 -6
- package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.js +31 -5
- package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js +30 -30
- package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts +15 -7
- package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows.shared.schemas.d.ts +15 -0
- package/dist/esm/flows-actors/flows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts +506 -0
- package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/human-decision.shared.schemas.js +502 -0
- package/dist/esm/flows-actors/human-decision.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.d.ts +46 -0
- package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.js +65 -0
- package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/flows-actors/model-call-attributions.shared.schemas.d.ts +120 -0
- package/dist/esm/flows-actors/model-call-attributions.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/model-call-attributions.shared.schemas.js +165 -0
- package/dist/esm/flows-actors/model-call-attributions.shared.schemas.js.map +1 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.d.ts +45 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.js +127 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.d.ts +83 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.js +97 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.js.map +1 -0
- package/dist/esm/flows-actors/model-cost-summary.shared.schemas.d.ts +136 -0
- package/dist/esm/flows-actors/model-cost-summary.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/model-cost-summary.shared.schemas.js +90 -0
- package/dist/esm/flows-actors/model-cost-summary.shared.schemas.js.map +1 -0
- package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts +5 -1
- package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js +19 -4
- package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts +13 -15
- package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/provider-call-records.shared.schemas.js +30 -17
- package/dist/esm/flows-actors/provider-call-records.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/review-deadlines.shared.schemas.d.ts +268 -0
- package/dist/esm/flows-actors/review-deadlines.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/review-deadlines.shared.schemas.js +576 -0
- package/dist/esm/flows-actors/review-deadlines.shared.schemas.js.map +1 -0
- package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts +30 -0
- package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/work-attribution.shared.schemas.d.ts +129 -0
- package/dist/esm/flows-actors/work-attribution.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/work-attribution.shared.schemas.js +141 -0
- package/dist/esm/flows-actors/work-attribution.shared.schemas.js.map +1 -0
- package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.d.ts +22 -1
- package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.d.ts.map +1 -1
- package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.js +23 -0
- package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.js.map +1 -1
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts +61 -0
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts.map +1 -1
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js +61 -0
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js.map +1 -1
- package/dist/esm/guidance/guidance-state.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/guidance-state.shared.schemas.js +11 -10
- package/dist/esm/guidance/guidance-state.shared.schemas.js.map +1 -1
- package/dist/esm/guidance/lifecycle-state.shared.schemas.js +6 -6
- package/dist/esm/guidance/lifecycle-state.shared.schemas.js.map +1 -1
- package/dist/esm/guidance/progression-state.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/progression-state.shared.schemas.js +8 -7
- package/dist/esm/guidance/progression-state.shared.schemas.js.map +1 -1
- package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.js +1 -1
- package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.js.map +1 -1
- package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts +550 -30
- 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 +498 -34
- package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js.map +1 -1
- package/dist/esm/http-api-binding/http-api-erasure-stance.shared.d.ts +62 -0
- package/dist/esm/http-api-binding/http-api-erasure-stance.shared.d.ts.map +1 -0
- package/dist/esm/http-api-binding/http-api-erasure-stance.shared.js +66 -0
- package/dist/esm/http-api-binding/http-api-erasure-stance.shared.js.map +1 -0
- package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.d.ts +133 -0
- package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.d.ts.map +1 -0
- package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.js +191 -0
- package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.js.map +1 -0
- package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts +37 -6
- package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts.map +1 -1
- package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js +37 -6
- package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js.map +1 -1
- package/dist/esm/i18n/application-config-vocabulary.shared.d.ts +36 -0
- package/dist/esm/i18n/application-config-vocabulary.shared.d.ts.map +1 -0
- package/dist/esm/i18n/application-config-vocabulary.shared.js +39 -0
- package/dist/esm/i18n/application-config-vocabulary.shared.js.map +1 -0
- package/dist/esm/i18n/engine-open-vocabulary-values.shared.d.ts +11 -0
- package/dist/esm/i18n/engine-open-vocabulary-values.shared.d.ts.map +1 -0
- package/dist/esm/i18n/engine-open-vocabulary-values.shared.js +14 -0
- package/dist/esm/i18n/engine-open-vocabulary-values.shared.js.map +1 -0
- package/dist/esm/i18n/engine-open-vocabulary.shared.d.ts +20 -0
- package/dist/esm/i18n/engine-open-vocabulary.shared.d.ts.map +1 -0
- package/dist/esm/i18n/engine-open-vocabulary.shared.js +21 -0
- package/dist/esm/i18n/engine-open-vocabulary.shared.js.map +1 -0
- package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.d.ts +94 -0
- package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.js +206 -0
- package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/inbound/conversation-threads.shared.schemas.d.ts +169 -0
- package/dist/esm/inbound/conversation-threads.shared.schemas.d.ts.map +1 -0
- package/dist/esm/inbound/conversation-threads.shared.schemas.js +231 -0
- package/dist/esm/inbound/conversation-threads.shared.schemas.js.map +1 -0
- package/dist/esm/inbound/inbound-channels.shared.schemas.d.ts +195 -0
- package/dist/esm/inbound/inbound-channels.shared.schemas.d.ts.map +1 -0
- package/dist/esm/inbound/inbound-channels.shared.schemas.js +244 -0
- package/dist/esm/inbound/inbound-channels.shared.schemas.js.map +1 -0
- package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.d.ts +36 -0
- package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.js +169 -0
- package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/inbound/inbound-delivery.shared.schemas.d.ts +404 -0
- package/dist/esm/inbound/inbound-delivery.shared.schemas.d.ts.map +1 -0
- package/dist/esm/inbound/inbound-delivery.shared.schemas.js +449 -0
- package/dist/esm/inbound/inbound-delivery.shared.schemas.js.map +1 -0
- package/dist/esm/inbound/inbound-endpoint-env.shared.d.ts +46 -0
- package/dist/esm/inbound/inbound-endpoint-env.shared.d.ts.map +1 -0
- package/dist/esm/inbound/inbound-endpoint-env.shared.js +57 -0
- package/dist/esm/inbound/inbound-endpoint-env.shared.js.map +1 -0
- package/dist/esm/index.d.ts +58 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +67 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts +28 -0
- package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.js +29 -0
- package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts +95 -1
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js +121 -0
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/meta-workflows.exports.d.ts +0 -1
- package/dist/esm/meta-workflows.exports.d.ts.map +1 -1
- package/dist/esm/meta-workflows.exports.js +0 -1
- package/dist/esm/meta-workflows.exports.js.map +1 -1
- package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts +7 -1
- 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 +35 -0
- package/dist/esm/notifications/email/email-template-registry.shared.schemas.js.map +1 -1
- package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.d.ts +131 -0
- package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.js +258 -0
- package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.d.ts +448 -0
- package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.d.ts.map +1 -0
- package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.js +530 -0
- package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.js.map +1 -0
- 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.resources-config.schemas.js +4 -3
- package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts +16 -1
- 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 +46 -16
- 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 +19 -12
- package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js +77 -12
- package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js.map +1 -1
- package/dist/esm/notifications/notification-badges.schemas.d.ts +35 -3
- package/dist/esm/notifications/notification-badges.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/notification-badges.schemas.js +43 -3
- package/dist/esm/notifications/notification-badges.schemas.js.map +1 -1
- package/dist/esm/notifications/notifications.shared.schemas.d.ts +66 -399
- package/dist/esm/notifications/notifications.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/notifications.shared.schemas.js +111 -58
- package/dist/esm/notifications/notifications.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts +5 -5
- package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js +6 -6
- 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 +3 -0
- package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js +60 -14
- package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-members.shared.schemas.d.ts +3 -0
- package/dist/esm/organizations/organization-members.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-members.shared.schemas.js +30 -0
- package/dist/esm/organizations/organization-members.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-notifications.shared.schemas.js +9 -9
- package/dist/esm/organizations/organization-notifications.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-preferences.shared.schemas.js +4 -4
- package/dist/esm/organizations/organization-preferences.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.d.ts +0 -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 +5 -5
- package/dist/esm/organizations/organization-profile.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-profile.shared.schemas.js +15 -10
- package/dist/esm/organizations/organization-profile.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.js +1 -1
- package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-unit-members.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-members.shared.schemas.js +2 -1
- package/dist/esm/organizations/organization-unit-members.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing-decision.shared.d.ts +63 -1
- package/dist/esm/organizations/organization-unit-narrowing-decision.shared.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing-decision.shared.js +106 -5
- package/dist/esm/organizations/organization-unit-narrowing-decision.shared.js.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing.shared.js +9 -0
- 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.resources-config.schemas.js +7 -2
- package/dist/esm/organizations/organization-units.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts +3 -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 +12 -8
- package/dist/esm/organizations/organizations.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organizations.shared.schemas.d.ts +7 -2
- package/dist/esm/organizations/organizations.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organizations.shared.schemas.js +51 -1
- package/dist/esm/organizations/organizations.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.d.ts +58 -0
- package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.js +188 -0
- package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.d.ts +122 -0
- package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.d.ts.map +1 -0
- package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.js +136 -0
- package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.js.map +1 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.d.ts +36 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.js +155 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.d.ts +229 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.d.ts.map +1 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.js +290 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.js.map +1 -0
- package/dist/esm/organizations/service-provider-client-controls.shared.schemas.d.ts +48 -0
- package/dist/esm/organizations/service-provider-client-controls.shared.schemas.d.ts.map +1 -0
- package/dist/esm/organizations/service-provider-client-controls.shared.schemas.js +50 -0
- package/dist/esm/organizations/service-provider-client-controls.shared.schemas.js.map +1 -0
- package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.d.ts +97 -0
- package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.js +572 -0
- package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/organizations/service-provider-relationships.shared.schemas.d.ts +590 -0
- package/dist/esm/organizations/service-provider-relationships.shared.schemas.d.ts.map +1 -0
- package/dist/esm/organizations/service-provider-relationships.shared.schemas.js +869 -0
- package/dist/esm/organizations/service-provider-relationships.shared.schemas.js.map +1 -0
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts +36 -6
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js +57 -16
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js.map +1 -1
- package/dist/esm/provider-registration-runtime.exports.d.ts +0 -1
- package/dist/esm/provider-registration-runtime.exports.d.ts.map +1 -1
- package/dist/esm/provider-registration-runtime.exports.js +0 -1
- package/dist/esm/provider-registration-runtime.exports.js.map +1 -1
- package/dist/esm/public-runtime/index.d.ts +30 -11
- package/dist/esm/public-runtime/index.d.ts.map +1 -1
- package/dist/esm/public-runtime/index.js +30 -11
- package/dist/esm/public-runtime/index.js.map +1 -1
- package/dist/esm/queue/jobs.shared.schemas.d.ts +36 -8
- package/dist/esm/queue/jobs.shared.schemas.d.ts.map +1 -1
- package/dist/esm/queue/jobs.shared.schemas.js +12 -0
- package/dist/esm/queue/jobs.shared.schemas.js.map +1 -1
- package/dist/esm/requests/header-keys.shared.d.ts +6 -0
- package/dist/esm/requests/header-keys.shared.d.ts.map +1 -1
- package/dist/esm/requests/header-keys.shared.js +7 -0
- package/dist/esm/requests/header-keys.shared.js.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-documentation.d.ts.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-documentation.js +147 -8
- package/dist/esm/requests/manual-controllers-routes-documentation.js.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-urls.d.ts +51 -23
- package/dist/esm/requests/manual-controllers-routes-urls.d.ts.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-urls.js +64 -0
- package/dist/esm/requests/manual-controllers-routes-urls.js.map +1 -1
- package/dist/esm/requests/websocket.shared.schemas.d.ts +78 -13
- package/dist/esm/requests/websocket.shared.schemas.d.ts.map +1 -1
- package/dist/esm/requests/websocket.shared.schemas.js +91 -18
- package/dist/esm/requests/websocket.shared.schemas.js.map +1 -1
- package/dist/esm/resources/embedded-resource-mark.shared.utils.d.ts +21 -0
- package/dist/esm/resources/embedded-resource-mark.shared.utils.d.ts.map +1 -0
- package/dist/esm/resources/embedded-resource-mark.shared.utils.js +22 -0
- package/dist/esm/resources/embedded-resource-mark.shared.utils.js.map +1 -0
- package/dist/esm/resources/resources-config.shared.factory.d.ts.map +1 -1
- package/dist/esm/resources/resources-config.shared.factory.js +812 -32
- package/dist/esm/resources/resources-config.shared.factory.js.map +1 -1
- package/dist/esm/resources/resources-config.shared.schemas.d.ts +244 -48
- package/dist/esm/resources/resources-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/resources-config.shared.schemas.js +151 -17
- 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 +353 -12
- package/dist/esm/resources/resources-registry.shared.core.definitions.js.map +1 -1
- package/dist/esm/resources/resources.shared.core.definitions.d.ts +45 -0
- package/dist/esm/resources/resources.shared.core.definitions.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.core.definitions.js +92 -0
- package/dist/esm/resources/resources.shared.core.definitions.js.map +1 -1
- package/dist/esm/resources/resources.shared.schemas.d.ts +2 -17
- package/dist/esm/resources/resources.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.schemas.js +24 -20
- package/dist/esm/resources/resources.shared.schemas.js.map +1 -1
- package/dist/esm/resources/resources.shared.utils.d.ts +16 -8
- package/dist/esm/resources/resources.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.utils.js +16 -8
- package/dist/esm/resources/resources.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/collection-export.shared.utils.d.ts +2 -2
- package/dist/esm/resources/utils/collection-export.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/collection-export.shared.utils.js +4 -2
- package/dist/esm/resources/utils/collection-export.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.d.ts +103 -0
- package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.d.ts.map +1 -0
- package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.js +275 -0
- package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.js.map +1 -0
- package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.d.ts +51 -0
- package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.d.ts.map +1 -0
- package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.js +28 -0
- package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.js.map +1 -0
- package/dist/esm/resources/utils/populated-file-fields.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/populated-file-fields.shared.utils.js +30 -19
- package/dist/esm/resources/utils/populated-file-fields.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.d.ts +2 -0
- package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.d.ts.map +1 -0
- package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.js +33 -0
- package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.js.map +1 -0
- package/dist/esm/resources/utils/resource-polymorphism.factory.d.ts +15 -0
- package/dist/esm/resources/utils/resource-polymorphism.factory.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.factory.js +6 -1
- package/dist/esm/resources/utils/resource-polymorphism.factory.js.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.schemas.js +30 -4
- package/dist/esm/resources/utils/resource-polymorphism.schemas.js.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts +46 -0
- package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js +205 -22
- package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js.map +1 -1
- package/dist/esm/resources/utils/resources-serialization.utils.d.ts +19 -2
- package/dist/esm/resources/utils/resources-serialization.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-serialization.utils.js +4 -0
- package/dist/esm/resources/utils/resources-serialization.utils.js.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 +15 -9
- package/dist/esm/resources/utils/shared-persistence-collection.utils.js.map +1 -1
- package/dist/esm/resources/work-unit.shared.schemas.d.ts +20 -0
- package/dist/esm/resources/work-unit.shared.schemas.d.ts.map +1 -0
- package/dist/esm/resources/work-unit.shared.schemas.js +19 -0
- package/dist/esm/resources/work-unit.shared.schemas.js.map +1 -0
- package/dist/esm/runtime/execution-context.shared.schemas.d.ts +48 -1
- package/dist/esm/runtime/execution-context.shared.schemas.d.ts.map +1 -1
- package/dist/esm/runtime/execution-context.shared.schemas.js +101 -9
- package/dist/esm/runtime/execution-context.shared.schemas.js.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 +37 -20
- 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 +61 -48
- 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 +26 -0
- package/dist/esm/security/api-keys/api-keys.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys.shared.schemas.js +39 -5
- package/dist/esm/security/api-keys/api-keys.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts +5 -3
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.js +6 -0
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.js.map +1 -1
- package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.js +2 -2
- package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.js.map +1 -1
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.d.ts +11 -0
- 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.resources-config.schemas.js +19 -8
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts +1 -1
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js +5 -5
- 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.js +11 -11
- package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.d.ts +2 -0
- package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.js +9 -0
- package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.d.ts +169 -0
- package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.d.ts.map +1 -0
- package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.js +162 -0
- package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.js.map +1 -0
- 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.resources-config.schemas.js +10 -8
- package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.js +8 -8
- package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.js.map +1 -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 +17 -16
- 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.map +1 -1
- package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js +28 -25
- 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 +17 -6
- 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.resources-config.schemas.js +90 -38
- package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts +0 -24
- 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 +79 -68
- 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 +8 -1
- package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js +7 -0
- 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.js +1 -1
- package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js +7 -7
- package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.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.defaults.js +56 -0
- package/dist/esm/security/authorizations/roles.shared.defaults.js.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.schemas.d.ts +77 -1
- package/dist/esm/security/authorizations/roles.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.schemas.js +90 -0
- package/dist/esm/security/authorizations/roles.shared.schemas.js.map +1 -1
- package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.d.ts +86 -0
- package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.js +40 -0
- package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.js.map +1 -0
- package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts +2 -1
- package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js +2 -1
- package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts +2 -1
- package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js +2 -1
- package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts +46 -14
- package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js +81 -21
- package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js.map +1 -1
- package/dist/esm/security/credential-rotation-grace.shared.utils.d.ts +69 -0
- package/dist/esm/security/credential-rotation-grace.shared.utils.d.ts.map +1 -0
- package/dist/esm/security/credential-rotation-grace.shared.utils.js +77 -0
- package/dist/esm/security/credential-rotation-grace.shared.utils.js.map +1 -0
- 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 +28 -8
- 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 +3 -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 +89 -14
- 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 +1 -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 +25 -4
- package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js.map +1 -1
- package/dist/esm/security/outbound-target-control.shared.schemas.d.ts +7 -1
- package/dist/esm/security/outbound-target-control.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/outbound-target-control.shared.schemas.js +6 -0
- package/dist/esm/security/outbound-target-control.shared.schemas.js.map +1 -1
- package/dist/esm/security/submission-challenge/submission-challenge.shared.d.ts +143 -0
- package/dist/esm/security/submission-challenge/submission-challenge.shared.d.ts.map +1 -0
- package/dist/esm/security/submission-challenge/submission-challenge.shared.js +123 -0
- package/dist/esm/security/submission-challenge/submission-challenge.shared.js.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.d.ts +384 -0
- package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.d.ts.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.js +327 -0
- package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.js.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts +121 -8
- package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js +83 -4
- package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts +266 -8
- package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js +291 -7
- package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts +313 -3
- package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js +369 -3
- package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js +2 -1
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts +5 -3
- package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/anonymous-users.shared.resources-config.schemas.js +19 -10
- package/dist/esm/users/anonymous-users.shared.resources-config.schemas.js.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.resources-config.schemas.js +6 -0
- package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/user-preferences-reset.shared.utils.js +2 -2
- package/dist/esm/users/user-preferences-reset.shared.utils.js.map +1 -1
- package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts +0 -3
- package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts +0 -3
- package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-self.shared.resources-config.schemas.js +1 -1
- 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.map +1 -1
- package/dist/esm/users/users.shared.resources-config.schemas.js +82 -20
- package/dist/esm/users/users.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/users.shared.schemas.d.ts +12 -9
- package/dist/esm/users/users.shared.schemas.d.ts.map +1 -1
- package/dist/esm/users/users.shared.schemas.js +49 -18
- package/dist/esm/users/users.shared.schemas.js.map +1 -1
- package/package.json +4 -4
- package/dist/esm/compliance/privacy/data-retention.shared.schemas.js +0 -7
- package/dist/tsconfig.build.tsbuildinfo +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-api-rest-write-operations.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/http-api-binding/http-api-rest-write-operations.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kIAAkI;AAClI;;;;GAIG;AACH,oBAAY,sBAAsB;IAChC,IAAI,SAAS;IACb,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,qEAAqE;AACrE,oBAAY,2BAA2B;IACrC;;;OAGG;IACH,aAAa,kBAAkB;IAC/B;;;;OAIG;IACH,eAAe,oBAAoB;CACpC;AAED,mHAAmH;AACnH,eAAO,MAAM,2BAA2B;;;;;6BAStC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;iBAe9C,CAAC;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAChG,gFAAgF;AAEhF,oFAAoF;AACpF,MAAM,WAAW,2BAA2B;IAC1C,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACpD,+GAA+G;IAC/G,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAOD;;;GAGG;AACH,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,2BAA2B,GAAG,IAAI,CAgFlI"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How a REST_JSON binding SENDS a row write (#1728): one declared request per opened verb.
|
|
3
|
+
*
|
|
4
|
+
* ODATA and ODOO_JSONRPC each have a protocol, so their write dialects know the wire and a binding only opens verbs
|
|
5
|
+
* (`writableVerbs`). REST_JSON has no protocol — the thing it names is "a vendor's own JSON API" — so, exactly as for its
|
|
6
|
+
* reads, the binding DECLARES what a create, an update and a delete look like: a method and a path template, and for a
|
|
7
|
+
* create, where the vendor answers the new record's key. Nothing is emulated and nothing is guessed.
|
|
8
|
+
*
|
|
9
|
+
* ## The two vendors this was measured against
|
|
10
|
+
*
|
|
11
|
+
* | | create | update | delete | the new key |
|
|
12
|
+
* |---|---|---|---|---|
|
|
13
|
+
* | Salesforce sObject rows | `POST …/sobjects/<Object>` → `201` | `PATCH …/sobjects/<Object>/<id>` → `204` | `DELETE …/sobjects/<Object>/<id>` → `204` | the body's `id` |
|
|
14
|
+
* | NetSuite record service | `POST …/record/v1/<type>` → `204`, no body | `PATCH …/record/v1/<type>/<id>` → `204` | `DELETE …/record/v1/<type>/<id>` → `204` | the `Location` header |
|
|
15
|
+
*
|
|
16
|
+
* spec-cite: Oracle NetSuite, "Creating a Record Instance"
|
|
17
|
+
* (https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_1545141395.html) — the create answers
|
|
18
|
+
* `HTTP Code 204` and "The URL of the newly created record is given in the Location header of the response."
|
|
19
|
+
* spec-cite: Oracle NetSuite, "Updating a Record Instance" (section_1545142173.html) and "Deleting a Record Instance"
|
|
20
|
+
* (section_1545142287.html) — `PATCH` and `DELETE` on `/record/v1/<type>/<id>`, each answering 204 with no body.
|
|
21
|
+
* spec-cite: N/A for Salesforce's own pages, which refuse an unauthenticated fetch (403) — the shapes above are read from
|
|
22
|
+
* jsforce's `Connection` (`_createSingle` POSTs to `sobjects/<type>` and reads the answer; `_updateSingle` PATCHes and
|
|
23
|
+
* `_destroySingle` DELETEs `sobjects/<type>/<id>`, both answered with no content), the most used client of that API.
|
|
24
|
+
*
|
|
25
|
+
* ## Why a declared METHOD, and why never `PUT`
|
|
26
|
+
*
|
|
27
|
+
* An update carries only the fields the caller changed. A `PUT` REPLACES the resource on every API that follows HTTP's own
|
|
28
|
+
* definition, so a partial `PUT` resets whatever it omitted — the reason the OData dialect never sends one. So `PUT` is not
|
|
29
|
+
* in {@link HttpApiRestWriteMethod} at all: a vendor whose only update is a full replacement cannot be written through a
|
|
30
|
+
* field-level change, and the honest answer is to leave the binding read-only. `POST` is admitted for an update and a
|
|
31
|
+
* delete because RPC-shaped APIs spell every change that way (the same reason the declared erasure call admits it).
|
|
32
|
+
*
|
|
33
|
+
* ## Why no idempotency and no retry
|
|
34
|
+
*
|
|
35
|
+
* Neither vendor deduplicates a synchronous write by a request id: NetSuite's `X-NetSuite-Idempotency-Key` is documented
|
|
36
|
+
* for ASYNCHRONOUS requests (`Prefer: respond-async`), and Salesforce's sObject rows take none. So every write is sent
|
|
37
|
+
* ONCE, and an interrupted one is an unknown outcome — as for Odoo and OData, and for the same reason: a `POST` re-sent
|
|
38
|
+
* after a lost answer creates a second record.
|
|
39
|
+
* spec-cite: Oracle NetSuite, "Sending an Asynchronous Request Using an Idempotency Key"
|
|
40
|
+
* (https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/subsect_164494900632.html) — the only request shape the
|
|
41
|
+
* header is documented on carries `Prefer: respond-async`.
|
|
42
|
+
*
|
|
43
|
+
* ## No conditional write
|
|
44
|
+
*
|
|
45
|
+
* Neither vendor's record API is written here with a precondition, so a `VERSION_CHECKED` stance on a REST_JSON binding is
|
|
46
|
+
* best-effort exactly as it is on Odoo: the engine compares before sending, and a change landing between that read and
|
|
47
|
+
* the write is not seen. It also needs a vendor facet that declares the row version field, which neither facet does today.
|
|
48
|
+
*
|
|
49
|
+
* Deliberately a module of its own rather than a block of `http-api-binding.shared.schemas.ts`: it names no binding type,
|
|
50
|
+
* so the binding module can import it without the two importing each other. The per-VERB rules — which member each
|
|
51
|
+
* opened verb needs, which methods each may use — live beside `HttpApiWriteVerb` in that module
|
|
52
|
+
* (`assertHttpApiBindingDialectCoherence`), and call {@link assertHttpApiRestWriteOperationShape} for each member.
|
|
53
|
+
*/
|
|
54
|
+
import { z } from 'zod';
|
|
55
|
+
/** @wildo_source:part:start saas.models.http-api-binding.rest-write-operations facet:layer:shared facet:audience:app-developer */
|
|
56
|
+
/**
|
|
57
|
+
* The methods a declared REST_JSON row write may use. Never `PUT` (it replaces the resource, so a partial update would
|
|
58
|
+
* reset every field it omits) and never `GET` (a read is not a write). Which of these each verb admits is decided per verb:
|
|
59
|
+
* a create is a `POST`; an update a `PATCH` or an RPC-style `POST`; a delete a `DELETE` or an RPC-style `POST`.
|
|
60
|
+
*/
|
|
61
|
+
export var HttpApiRestWriteMethod;
|
|
62
|
+
(function (HttpApiRestWriteMethod) {
|
|
63
|
+
HttpApiRestWriteMethod["POST"] = "POST";
|
|
64
|
+
HttpApiRestWriteMethod["PATCH"] = "PATCH";
|
|
65
|
+
HttpApiRestWriteMethod["DELETE"] = "DELETE";
|
|
66
|
+
})(HttpApiRestWriteMethod || (HttpApiRestWriteMethod = {}));
|
|
67
|
+
/** Where a vendor answers the KEY of a record a create just made. */
|
|
68
|
+
export var HttpApiRestCreatedKeySource;
|
|
69
|
+
(function (HttpApiRestCreatedKeySource) {
|
|
70
|
+
/**
|
|
71
|
+
* A value in the JSON answer, at a declared dot-path — Salesforce's `{ "id": "001…", "success": true, "errors": [] }`
|
|
72
|
+
* answers `path: 'id'`. The answer need not be the record: only its key is read, and the row is then read back by it.
|
|
73
|
+
*/
|
|
74
|
+
HttpApiRestCreatedKeySource["RESPONSE_BODY"] = "response-body";
|
|
75
|
+
/**
|
|
76
|
+
* The LAST path segment of the answer's `Location` header — NetSuite answers `204` with no body and
|
|
77
|
+
* `Location: https://<account>.suitetalk.api.netsuite.com/services/rest/record/v1/customer/647`. The header must name a
|
|
78
|
+
* record of the path the create was sent to (`<create path>/<key>`), or the answer is not read as a key.
|
|
79
|
+
*/
|
|
80
|
+
HttpApiRestCreatedKeySource["LOCATION_HEADER"] = "location-header";
|
|
81
|
+
})(HttpApiRestCreatedKeySource || (HttpApiRestCreatedKeySource = {}));
|
|
82
|
+
/** Where a create's answer carries the new record's key. A single-key binding only: one answer names one value. */
|
|
83
|
+
export const HttpApiRestCreatedKeySchema = z.discriminatedUnion('source', [
|
|
84
|
+
z.object({
|
|
85
|
+
source: z.literal(HttpApiRestCreatedKeySource.RESPONSE_BODY),
|
|
86
|
+
/** Dot-path to the key inside the JSON answer (`id`, `data.id`). */
|
|
87
|
+
path: z.string().min(1),
|
|
88
|
+
}),
|
|
89
|
+
z.object({
|
|
90
|
+
source: z.literal(HttpApiRestCreatedKeySource.LOCATION_HEADER),
|
|
91
|
+
}),
|
|
92
|
+
]);
|
|
93
|
+
/**
|
|
94
|
+
* One declared REST_JSON row write: `operations.create`, `operations.update` or `operations.delete` — each present exactly
|
|
95
|
+
* when the binding opens that verb in `writableVerbs`.
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```ts
|
|
99
|
+
* // Salesforce: a create answers the id in its body; an update and a delete answer 204.
|
|
100
|
+
* create: { method: HttpApiRestWriteMethod.POST, pathTemplate: '/services/data/v62.0/sobjects/Account',
|
|
101
|
+
* createdKey: { source: HttpApiRestCreatedKeySource.RESPONSE_BODY, path: 'id' } },
|
|
102
|
+
* update: { method: HttpApiRestWriteMethod.PATCH, pathTemplate: '/services/data/v62.0/sobjects/Account/{key}' },
|
|
103
|
+
* delete: { method: HttpApiRestWriteMethod.DELETE, pathTemplate: '/services/data/v62.0/sobjects/Account/{key}' },
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export const HttpApiRestWriteOperationSpecSchema = z.object({
|
|
107
|
+
method: z.enum(HttpApiRestWriteMethod),
|
|
108
|
+
/**
|
|
109
|
+
* Path relative to the instance's base URL. An update or a delete addresses ONE record by `{key}` (a single-key binding)
|
|
110
|
+
* or `{key.<RemoteField>}` tokens, exactly as a `read` member does; a create names the collection and carries no key
|
|
111
|
+
* token — the vendor chooses the key.
|
|
112
|
+
*/
|
|
113
|
+
pathTemplate: z.string().min(1),
|
|
114
|
+
/** Where the vendor answers the created record's key. Required on `create`, refused on `update` and `delete`. */
|
|
115
|
+
createdKey: HttpApiRestCreatedKeySchema.optional(),
|
|
116
|
+
/**
|
|
117
|
+
* Headers this vendor requires on the write. VENDOR headers only: a credential comes from the instance's access, never
|
|
118
|
+
* from a binding, and an `Authorization` key is refused by name.
|
|
119
|
+
*/
|
|
120
|
+
staticHeaders: z.record(z.string().min(1), z.string().min(1)).optional(),
|
|
121
|
+
});
|
|
122
|
+
/** A key-addressing token in a path template: `{key}` or `{key.<RemoteField>}`. */
|
|
123
|
+
const KEY_TOKEN = /\{key(?:\.[^}]+)?\}/;
|
|
124
|
+
/** Any `{…}` token. A write has no declared parameters, so every token must be a key token. */
|
|
125
|
+
const ANY_TOKEN = /\{[^}]*\}/g;
|
|
126
|
+
/**
|
|
127
|
+
* Throws, naming the member, when one declared REST_JSON write cannot be sent as declared. Called by
|
|
128
|
+
* `assertHttpApiBindingDialectCoherence` for each opened verb's member.
|
|
129
|
+
*/
|
|
130
|
+
export function assertHttpApiRestWriteOperationShape(spec, rules) {
|
|
131
|
+
const { member } = rules;
|
|
132
|
+
if (!rules.methods.includes(spec.method)) {
|
|
133
|
+
throw new Error(`operations.${member}.method: '${spec.method}' is not a ${member} — declare one of ${rules.methods.join(' / ')}. `
|
|
134
|
+
+ '(`PUT` is never admitted: it replaces the record, so a partial write would reset every field it omits.)');
|
|
135
|
+
}
|
|
136
|
+
/*
|
|
137
|
+
* The path is appended to the instance's base URL as it is, so it starts at `/`. That is also what makes a create's
|
|
138
|
+
* `Location` comparable on a segment boundary: a collection `/sobjects/Account` can only match `…/sobjects/Account/<id>`,
|
|
139
|
+
* never `…/xsobjects/Account/<id>`.
|
|
140
|
+
*/
|
|
141
|
+
if (!spec.pathTemplate.startsWith('/')) {
|
|
142
|
+
throw new Error(`operations.${member}.pathTemplate: '${spec.pathTemplate}' must start with '/' — it is appended to the instance's base URL.`);
|
|
143
|
+
}
|
|
144
|
+
for (const token of spec.pathTemplate.match(ANY_TOKEN) ?? []) {
|
|
145
|
+
if (!KEY_TOKEN.test(token)) {
|
|
146
|
+
throw new Error(`operations.${member}.pathTemplate: '${token}' names no key component — a row write has no declared parameters, `
|
|
147
|
+
+ 'so only `{key}` or `{key.<RemoteField>}` may appear.');
|
|
148
|
+
}
|
|
149
|
+
// Checked here rather than at the first write: a token that names nothing would refuse every request it compiles.
|
|
150
|
+
if (token === '{key}' && rules.keyRemoteFields.length !== 1) {
|
|
151
|
+
throw new Error(`operations.${member}.pathTemplate: '{key}' addresses a single-key binding, and this one declares ${rules.keyRemoteFields.length} `
|
|
152
|
+
+ 'key components — use one `{key.<RemoteField>}` token per component.');
|
|
153
|
+
}
|
|
154
|
+
const remoteField = token.startsWith('{key.') ? token.slice('{key.'.length, -1) : undefined;
|
|
155
|
+
if (remoteField !== undefined && !rules.keyRemoteFields.includes(remoteField)) {
|
|
156
|
+
throw new Error(`operations.${member}.pathTemplate: '${token}' names no key field — declared: ${rules.keyRemoteFields.map((field) => `'${field}'`).join(', ')}.`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
const addressesRecord = KEY_TOKEN.test(spec.pathTemplate);
|
|
160
|
+
if (rules.addressesOneRecord && !addressesRecord) {
|
|
161
|
+
throw new Error(`operations.${member}.pathTemplate: '${spec.pathTemplate}' addresses no record — a ${member} changes ONE record, so its `
|
|
162
|
+
+ 'path carries `{key}` (or `{key.<RemoteField>}` tokens).');
|
|
163
|
+
}
|
|
164
|
+
if (!rules.addressesOneRecord && addressesRecord) {
|
|
165
|
+
throw new Error(`operations.${member}.pathTemplate: '${spec.pathTemplate}' addresses a record by key — a create names the collection, `
|
|
166
|
+
+ 'and the vendor chooses the key.');
|
|
167
|
+
}
|
|
168
|
+
if (!rules.addressesOneRecord && spec.pathTemplate.split('?')[0].replace(/\/+$/, '').length === 0) {
|
|
169
|
+
throw new Error(`operations.${member}.pathTemplate: a create must name its collection — '/' names none, and a Location could not be `
|
|
170
|
+
+ 'checked against it.');
|
|
171
|
+
}
|
|
172
|
+
if (!rules.addressesOneRecord && spec.createdKey === undefined) {
|
|
173
|
+
throw new Error(`operations.${member}.createdKey: a create must say where the vendor answers the new record's key — `
|
|
174
|
+
+ `{ source: '${HttpApiRestCreatedKeySource.RESPONSE_BODY}', path: '<dot.path>' } or `
|
|
175
|
+
+ `{ source: '${HttpApiRestCreatedKeySource.LOCATION_HEADER}' }. Without it the row the create made could not be named.`);
|
|
176
|
+
}
|
|
177
|
+
if (rules.addressesOneRecord && spec.createdKey !== undefined) {
|
|
178
|
+
throw new Error(`operations.${member}.createdKey: only a create answers a new key — remove it from the ${member}.`);
|
|
179
|
+
}
|
|
180
|
+
if (spec.createdKey !== undefined && rules.keyRemoteFields.length !== 1) {
|
|
181
|
+
throw new Error(`operations.${member}.createdKey: this binding declares ${rules.keyRemoteFields.length} key components, and a create's answer names ONE `
|
|
182
|
+
+ 'value. A REST_JSON binding opening CREATE must have a single key field.');
|
|
183
|
+
}
|
|
184
|
+
for (const header of Object.keys(spec.staticHeaders ?? {})) {
|
|
185
|
+
if (header.toLowerCase() === 'authorization') {
|
|
186
|
+
throw new Error(`operations.${member}.staticHeaders: '${header}' is a credential. Credentials come from the system of record's `
|
|
187
|
+
+ 'access and are never declared in a binding, which is committed.');
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=http-api-rest-write-operations.shared.schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-api-rest-write-operations.shared.schemas.js","sourceRoot":"","sources":["../../../../src/http-api-binding/http-api-rest-write-operations.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kIAAkI;AAClI;;;;GAIG;AACH,MAAM,CAAN,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,uCAAa,CAAA;IACb,yCAAe,CAAA;IACf,2CAAiB,CAAA;AACnB,CAAC,EAJW,sBAAsB,KAAtB,sBAAsB,QAIjC;AAED,qEAAqE;AACrE,MAAM,CAAN,IAAY,2BAYX;AAZD,WAAY,2BAA2B;IACrC;;;OAGG;IACH,8DAA+B,CAAA;IAC/B;;;;OAIG;IACH,kEAAmC,CAAA;AACrC,CAAC,EAZW,2BAA2B,KAA3B,2BAA2B,QAYtC;AAED,mHAAmH;AACnH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IACxE,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,aAAa,CAAC;QAC5D,oEAAoE;QACpE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACxB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,eAAe,CAAC;KAC/D,CAAC;CACH,CAAC,CAAC;AAGH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;IACtC;;;;OAIG;IACH,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,iHAAiH;IACjH,UAAU,EAAE,2BAA2B,CAAC,QAAQ,EAAE;IAClD;;;OAGG;IACH,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACzE,CAAC,CAAC;AAmBH,mFAAmF;AACnF,MAAM,SAAS,GAAG,qBAAqB,CAAC;AACxC,+FAA+F;AAC/F,MAAM,SAAS,GAAG,YAAY,CAAC;AAE/B;;;GAGG;AACH,MAAM,UAAU,oCAAoC,CAAC,IAAmC,EAAE,KAAkC;IAC1H,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,aAAa,IAAI,CAAC,MAAM,cAAc,MAAM,qBAAqB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;cAChH,yGAAyG,CAC5G,CAAC;IACJ,CAAC;IACD;;;;OAIG;IACH,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,mBAAmB,IAAI,CAAC,YAAY,oEAAoE,CAAC,CAAC;IAChJ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,mBAAmB,KAAK,qEAAqE;kBAC/G,sDAAsD,CACzD,CAAC;QACJ,CAAC;QACD,kHAAkH;QAClH,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,gFAAgF,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG;kBACjI,qEAAqE,CACxE,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5F,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,mBAAmB,KAAK,oCAAoC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACjJ,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1D,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,mBAAmB,IAAI,CAAC,YAAY,6BAA6B,MAAM,8BAA8B;cACvH,yDAAyD,CAC5D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,eAAe,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,mBAAmB,IAAI,CAAC,YAAY,+DAA+D;cACrH,iCAAiC,CACpC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnG,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,iGAAiG;cACnH,qBAAqB,CACxB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,iFAAiF;cACnG,cAAc,2BAA2B,CAAC,aAAa,6BAA6B;cACpF,cAAc,2BAA2B,CAAC,eAAe,6DAA6D,CACzH,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,qEAAqE,MAAM,GAAG,CAAC,CAAC;IACtH,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,sCAAsC,KAAK,CAAC,eAAe,CAAC,MAAM,mDAAmD;cACvI,yEAAyE,CAC5E,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3D,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,eAAe,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,oBAAoB,MAAM,kEAAkE;kBAC9G,iEAAiE,CACpE,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["/**\n * How a REST_JSON binding SENDS a row write (#1728): one declared request per opened verb.\n *\n * ODATA and ODOO_JSONRPC each have a protocol, so their write dialects know the wire and a binding only opens verbs\n * (`writableVerbs`). REST_JSON has no protocol — the thing it names is \"a vendor's own JSON API\" — so, exactly as for its\n * reads, the binding DECLARES what a create, an update and a delete look like: a method and a path template, and for a\n * create, where the vendor answers the new record's key. Nothing is emulated and nothing is guessed.\n *\n * ## The two vendors this was measured against\n *\n * | | create | update | delete | the new key |\n * |---|---|---|---|---|\n * | Salesforce sObject rows | `POST …/sobjects/<Object>` → `201` | `PATCH …/sobjects/<Object>/<id>` → `204` | `DELETE …/sobjects/<Object>/<id>` → `204` | the body's `id` |\n * | NetSuite record service | `POST …/record/v1/<type>` → `204`, no body | `PATCH …/record/v1/<type>/<id>` → `204` | `DELETE …/record/v1/<type>/<id>` → `204` | the `Location` header |\n *\n * spec-cite: Oracle NetSuite, \"Creating a Record Instance\"\n * (https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_1545141395.html) — the create answers\n * `HTTP Code 204` and \"The URL of the newly created record is given in the Location header of the response.\"\n * spec-cite: Oracle NetSuite, \"Updating a Record Instance\" (section_1545142173.html) and \"Deleting a Record Instance\"\n * (section_1545142287.html) — `PATCH` and `DELETE` on `/record/v1/<type>/<id>`, each answering 204 with no body.\n * spec-cite: N/A for Salesforce's own pages, which refuse an unauthenticated fetch (403) — the shapes above are read from\n * jsforce's `Connection` (`_createSingle` POSTs to `sobjects/<type>` and reads the answer; `_updateSingle` PATCHes and\n * `_destroySingle` DELETEs `sobjects/<type>/<id>`, both answered with no content), the most used client of that API.\n *\n * ## Why a declared METHOD, and why never `PUT`\n *\n * An update carries only the fields the caller changed. A `PUT` REPLACES the resource on every API that follows HTTP's own\n * definition, so a partial `PUT` resets whatever it omitted — the reason the OData dialect never sends one. So `PUT` is not\n * in {@link HttpApiRestWriteMethod} at all: a vendor whose only update is a full replacement cannot be written through a\n * field-level change, and the honest answer is to leave the binding read-only. `POST` is admitted for an update and a\n * delete because RPC-shaped APIs spell every change that way (the same reason the declared erasure call admits it).\n *\n * ## Why no idempotency and no retry\n *\n * Neither vendor deduplicates a synchronous write by a request id: NetSuite's `X-NetSuite-Idempotency-Key` is documented\n * for ASYNCHRONOUS requests (`Prefer: respond-async`), and Salesforce's sObject rows take none. So every write is sent\n * ONCE, and an interrupted one is an unknown outcome — as for Odoo and OData, and for the same reason: a `POST` re-sent\n * after a lost answer creates a second record.\n * spec-cite: Oracle NetSuite, \"Sending an Asynchronous Request Using an Idempotency Key\"\n * (https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/subsect_164494900632.html) — the only request shape the\n * header is documented on carries `Prefer: respond-async`.\n *\n * ## No conditional write\n *\n * Neither vendor's record API is written here with a precondition, so a `VERSION_CHECKED` stance on a REST_JSON binding is\n * best-effort exactly as it is on Odoo: the engine compares before sending, and a change landing between that read and\n * the write is not seen. It also needs a vendor facet that declares the row version field, which neither facet does today.\n *\n * Deliberately a module of its own rather than a block of `http-api-binding.shared.schemas.ts`: it names no binding type,\n * so the binding module can import it without the two importing each other. The per-VERB rules — which member each\n * opened verb needs, which methods each may use — live beside `HttpApiWriteVerb` in that module\n * (`assertHttpApiBindingDialectCoherence`), and call {@link assertHttpApiRestWriteOperationShape} for each member.\n */\nimport { z } from 'zod';\n\n/** @wildo_source:part:start saas.models.http-api-binding.rest-write-operations facet:layer:shared facet:audience:app-developer */\n/**\n * The methods a declared REST_JSON row write may use. Never `PUT` (it replaces the resource, so a partial update would\n * reset every field it omits) and never `GET` (a read is not a write). Which of these each verb admits is decided per verb:\n * a create is a `POST`; an update a `PATCH` or an RPC-style `POST`; a delete a `DELETE` or an RPC-style `POST`.\n */\nexport enum HttpApiRestWriteMethod {\n POST = 'POST',\n PATCH = 'PATCH',\n DELETE = 'DELETE',\n}\n\n/** Where a vendor answers the KEY of a record a create just made. */\nexport enum HttpApiRestCreatedKeySource {\n /**\n * A value in the JSON answer, at a declared dot-path — Salesforce's `{ \"id\": \"001…\", \"success\": true, \"errors\": [] }`\n * answers `path: 'id'`. The answer need not be the record: only its key is read, and the row is then read back by it.\n */\n RESPONSE_BODY = 'response-body',\n /**\n * The LAST path segment of the answer's `Location` header — NetSuite answers `204` with no body and\n * `Location: https://<account>.suitetalk.api.netsuite.com/services/rest/record/v1/customer/647`. The header must name a\n * record of the path the create was sent to (`<create path>/<key>`), or the answer is not read as a key.\n */\n LOCATION_HEADER = 'location-header',\n}\n\n/** Where a create's answer carries the new record's key. A single-key binding only: one answer names one value. */\nexport const HttpApiRestCreatedKeySchema = z.discriminatedUnion('source', [\n z.object({\n source: z.literal(HttpApiRestCreatedKeySource.RESPONSE_BODY),\n /** Dot-path to the key inside the JSON answer (`id`, `data.id`). */\n path: z.string().min(1),\n }),\n z.object({\n source: z.literal(HttpApiRestCreatedKeySource.LOCATION_HEADER),\n }),\n]);\nexport type HttpApiRestCreatedKey = z.infer<typeof HttpApiRestCreatedKeySchema>;\n\n/**\n * One declared REST_JSON row write: `operations.create`, `operations.update` or `operations.delete` — each present exactly\n * when the binding opens that verb in `writableVerbs`.\n *\n * @example\n * ```ts\n * // Salesforce: a create answers the id in its body; an update and a delete answer 204.\n * create: { method: HttpApiRestWriteMethod.POST, pathTemplate: '/services/data/v62.0/sobjects/Account',\n * createdKey: { source: HttpApiRestCreatedKeySource.RESPONSE_BODY, path: 'id' } },\n * update: { method: HttpApiRestWriteMethod.PATCH, pathTemplate: '/services/data/v62.0/sobjects/Account/{key}' },\n * delete: { method: HttpApiRestWriteMethod.DELETE, pathTemplate: '/services/data/v62.0/sobjects/Account/{key}' },\n * ```\n */\nexport const HttpApiRestWriteOperationSpecSchema = z.object({\n method: z.enum(HttpApiRestWriteMethod),\n /**\n * Path relative to the instance's base URL. An update or a delete addresses ONE record by `{key}` (a single-key binding)\n * or `{key.<RemoteField>}` tokens, exactly as a `read` member does; a create names the collection and carries no key\n * token — the vendor chooses the key.\n */\n pathTemplate: z.string().min(1),\n /** Where the vendor answers the created record's key. Required on `create`, refused on `update` and `delete`. */\n createdKey: HttpApiRestCreatedKeySchema.optional(),\n /**\n * Headers this vendor requires on the write. VENDOR headers only: a credential comes from the instance's access, never\n * from a binding, and an `Authorization` key is refused by name.\n */\n staticHeaders: z.record(z.string().min(1), z.string().min(1)).optional(),\n});\nexport type HttpApiRestWriteOperationSpec = z.infer<typeof HttpApiRestWriteOperationSpecSchema>;\n/** @wildo_source:part:end saas.models.http-api-binding.rest-write-operations */\n\n/** What one member's shape must satisfy, decided per verb by the binding module. */\nexport interface HttpApiRestWriteMemberRules {\n /** `operations.<member>`, for the message. */\n readonly member: string;\n /** The methods this verb admits. */\n readonly methods: readonly HttpApiRestWriteMethod[];\n /** `true` for an update or a delete (the path must address one record), `false` for a create (it must not). */\n readonly addressesOneRecord: boolean;\n /**\n * The binding's key fields' REMOTE names, in order. `{key}` needs exactly one; `{key.<RemoteField>}` must name one of\n * them; a created key is readable for a single-key binding only.\n */\n readonly keyRemoteFields: readonly string[];\n}\n\n/** A key-addressing token in a path template: `{key}` or `{key.<RemoteField>}`. */\nconst KEY_TOKEN = /\\{key(?:\\.[^}]+)?\\}/;\n/** Any `{…}` token. A write has no declared parameters, so every token must be a key token. */\nconst ANY_TOKEN = /\\{[^}]*\\}/g;\n\n/**\n * Throws, naming the member, when one declared REST_JSON write cannot be sent as declared. Called by\n * `assertHttpApiBindingDialectCoherence` for each opened verb's member.\n */\nexport function assertHttpApiRestWriteOperationShape(spec: HttpApiRestWriteOperationSpec, rules: HttpApiRestWriteMemberRules): void {\n const { member } = rules;\n if (!rules.methods.includes(spec.method)) {\n throw new Error(\n `operations.${member}.method: '${spec.method}' is not a ${member} — declare one of ${rules.methods.join(' / ')}. `\n + '(`PUT` is never admitted: it replaces the record, so a partial write would reset every field it omits.)',\n );\n }\n /*\n * The path is appended to the instance's base URL as it is, so it starts at `/`. That is also what makes a create's\n * `Location` comparable on a segment boundary: a collection `/sobjects/Account` can only match `…/sobjects/Account/<id>`,\n * never `…/xsobjects/Account/<id>`.\n */\n if (!spec.pathTemplate.startsWith('/')) {\n throw new Error(`operations.${member}.pathTemplate: '${spec.pathTemplate}' must start with '/' — it is appended to the instance's base URL.`);\n }\n for (const token of spec.pathTemplate.match(ANY_TOKEN) ?? []) {\n if (!KEY_TOKEN.test(token)) {\n throw new Error(\n `operations.${member}.pathTemplate: '${token}' names no key component — a row write has no declared parameters, `\n + 'so only `{key}` or `{key.<RemoteField>}` may appear.',\n );\n }\n // Checked here rather than at the first write: a token that names nothing would refuse every request it compiles.\n if (token === '{key}' && rules.keyRemoteFields.length !== 1) {\n throw new Error(\n `operations.${member}.pathTemplate: '{key}' addresses a single-key binding, and this one declares ${rules.keyRemoteFields.length} `\n + 'key components — use one `{key.<RemoteField>}` token per component.',\n );\n }\n const remoteField = token.startsWith('{key.') ? token.slice('{key.'.length, -1) : undefined;\n if (remoteField !== undefined && !rules.keyRemoteFields.includes(remoteField)) {\n throw new Error(\n `operations.${member}.pathTemplate: '${token}' names no key field — declared: ${rules.keyRemoteFields.map((field) => `'${field}'`).join(', ')}.`,\n );\n }\n }\n const addressesRecord = KEY_TOKEN.test(spec.pathTemplate);\n if (rules.addressesOneRecord && !addressesRecord) {\n throw new Error(\n `operations.${member}.pathTemplate: '${spec.pathTemplate}' addresses no record — a ${member} changes ONE record, so its `\n + 'path carries `{key}` (or `{key.<RemoteField>}` tokens).',\n );\n }\n if (!rules.addressesOneRecord && addressesRecord) {\n throw new Error(\n `operations.${member}.pathTemplate: '${spec.pathTemplate}' addresses a record by key — a create names the collection, `\n + 'and the vendor chooses the key.',\n );\n }\n if (!rules.addressesOneRecord && spec.pathTemplate.split('?')[0]!.replace(/\\/+$/, '').length === 0) {\n throw new Error(\n `operations.${member}.pathTemplate: a create must name its collection — '/' names none, and a Location could not be `\n + 'checked against it.',\n );\n }\n if (!rules.addressesOneRecord && spec.createdKey === undefined) {\n throw new Error(\n `operations.${member}.createdKey: a create must say where the vendor answers the new record's key — `\n + `{ source: '${HttpApiRestCreatedKeySource.RESPONSE_BODY}', path: '<dot.path>' } or `\n + `{ source: '${HttpApiRestCreatedKeySource.LOCATION_HEADER}' }. Without it the row the create made could not be named.`,\n );\n }\n if (rules.addressesOneRecord && spec.createdKey !== undefined) {\n throw new Error(`operations.${member}.createdKey: only a create answers a new key — remove it from the ${member}.`);\n }\n if (spec.createdKey !== undefined && rules.keyRemoteFields.length !== 1) {\n throw new Error(\n `operations.${member}.createdKey: this binding declares ${rules.keyRemoteFields.length} key components, and a create's answer names ONE `\n + 'value. A REST_JSON binding opening CREATE must have a single key field.',\n );\n }\n for (const header of Object.keys(spec.staticHeaders ?? {})) {\n if (header.toLowerCase() === 'authorization') {\n throw new Error(\n `operations.${member}.staticHeaders: '${header}' is a credential. Credentials come from the system of record's `\n + 'access and are never declared in a binding, which is committed.',\n );\n }\n }\n}\n"]}
|
|
@@ -55,7 +55,7 @@ export declare enum HttpApiTransportDialect {
|
|
|
55
55
|
* `$filter`/`$select`/`$top`/`$skip`/`$orderby`/`$count`, with a `$metadata` boot-time
|
|
56
56
|
* verification probe of the committed declaration.
|
|
57
57
|
*
|
|
58
|
-
* ⚠ **This member is v4 ONLY
|
|
58
|
+
* ⚠ **This member is v4 ONLY; SAP's most-used API is v2 and is read through `ODATA_V2`.** An earlier revision of
|
|
59
59
|
* this comment named "SAP S/4HANA, Microsoft Dataverse/Dynamics 365" here, which is half right
|
|
60
60
|
* and was load-bearing — it is why nobody looked:
|
|
61
61
|
*
|
|
@@ -63,7 +63,7 @@ export declare enum HttpApiTransportDialect {
|
|
|
63
63
|
* |---|---|---|
|
|
64
64
|
* | Microsoft Dataverse / Dynamics 365 Web API (`/api/data/v9.2/`) | v4 | ✅ |
|
|
65
65
|
* | SAP S/4HANA OData **v4** services (`/sap/opu/odata4/…`) | v4 | ✅ |
|
|
66
|
-
* | SAP `API_BUSINESS_PARTNER` (`/sap/opu/odata/sap/API_BUSINESS_PARTNER`) | **v2** |
|
|
66
|
+
* | SAP `API_BUSINESS_PARTNER` (`/sap/opu/odata/sap/API_BUSINESS_PARTNER`) | **v2** | through `ODATA_V2` |
|
|
67
67
|
*
|
|
68
68
|
* v2 is not a v4 variant with a different header. Its collection envelope is
|
|
69
69
|
* `{ "d": { "results": [...], "__next": …, "__count": … } }` rather than
|
|
@@ -71,17 +71,48 @@ export declare enum HttpApiTransportDialect {
|
|
|
71
71
|
* rather than ISO 8601; `Edm.Decimal` and `Edm.Int64` serialize as JSON STRINGS rather than
|
|
72
72
|
* numbers; and JSON must be requested (`$format=json`) because v2 defaults to Atom/XML. So it
|
|
73
73
|
* changes the envelope, the paging property, the count property AND the value encoding — a
|
|
74
|
-
* reader written for one cannot read the other
|
|
75
|
-
*
|
|
74
|
+
* reader written for one cannot read the other. (`ODATA_V2` decodes values at the wire from the
|
|
75
|
+
* service's `$metadata`, so no mapping-layer coercion is needed for it.)
|
|
76
76
|
* spec-cite: OData Version 2.0 JSON Format
|
|
77
77
|
* (https://www.odata.org/documentation/odata-version-2-0/json-format/) — the `d`/`results`/
|
|
78
78
|
* `__next`/`__count` envelope, the `/Date(<ticks>)/` DateTime literal, and Edm.Decimal /
|
|
79
79
|
* Edm.Int64 "formatted as a JSON string".
|
|
80
80
|
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
81
|
+
* v2 is its own member, {@link HttpApiTransportDialect.ODATA_V2} (#1687) — not a flag on this one. A v2 body read
|
|
82
|
+
* through an ODATA binding is still refused BY NAME at the first read, so pointing a v4 binding at a v2 root is a
|
|
83
|
+
* clear error rather than an empty page.
|
|
83
84
|
*/
|
|
84
85
|
ODATA = "odata",
|
|
86
|
+
/**
|
|
87
|
+
* OData **v2** (#1687) — SAP's classic Gateway services (`/sap/opu/odata/sap/<SERVICE>`), `API_BUSINESS_PARTNER`
|
|
88
|
+
* first among them. A distinct dialect because every layer differs from v4:
|
|
89
|
+
*
|
|
90
|
+
* | | v4 (`ODATA`) | v2 (`ODATA_V2`) |
|
|
91
|
+
* |---|---|---|
|
|
92
|
+
* | JSON | the default | asked for on every request (`$format=json`); the default is Atom/XML |
|
|
93
|
+
* | collection | `{ value: [...], @odata.nextLink }` | `{ d: { results: [...], __next, __count } }` |
|
|
94
|
+
* | single entity | the object | `{ d: { ... } }` |
|
|
95
|
+
* | row annotations | `@odata.*` | a `__metadata` object per row |
|
|
96
|
+
* | total | `$count=true` → `@odata.count` | `$inlinecount=allpages` → `__count` (a STRING) |
|
|
97
|
+
* | Edm.DateTime | ISO 8601 | `"/Date(<ms>[±<minutes>])/"` |
|
|
98
|
+
* | Edm.Int64 / Decimal / Double | JSON numbers | JSON STRINGS |
|
|
99
|
+
* | filter literals | `2026-01-05T00:00:00Z`, `5` | `datetime'2026-01-05T00:00:00'`, `5L`, `1.5M`, `guid'…'` |
|
|
100
|
+
*
|
|
101
|
+
* The engine reads the service's `$metadata` (once per client, lazily — never at boot) for each property's Edm type,
|
|
102
|
+
* because both the value decoding and the filter literal depend on it and nothing in a local field says which: a
|
|
103
|
+
* decimal and an Int32 are both `number` locally and are spelled differently on the wire.
|
|
104
|
+
* spec-cite: OData Version 2.0 JSON Format (https://www.odata.org/documentation/odata-version-2-0/json-format/) —
|
|
105
|
+
* Edm.DateTime `"/Date(<ticks>["+" | "-" <offset>)/"`; Edm.Decimal "Literal form of Edm.Decimal as used in URIs
|
|
106
|
+
* formatted as a JSON string"; Edm.Int64 "A 64-bit integer formatted as a JSON string"; the `d`/`results`/`__count`/
|
|
107
|
+
* `__next` envelope; the `__metadata` object ("uri", "type", "etag").
|
|
108
|
+
* spec-cite: OData Version 2.0 Overview (https://www.odata.org/documentation/odata-version-2-0/overview/) — the
|
|
109
|
+
* primitive literal forms: `datetime'yyyy-mm-ddThh:mm[:ss[.fffffff]]'`, `2.345M`, `2.0d`, `64L`, `guid'…'`,
|
|
110
|
+
* `datetimeoffset'…'`.
|
|
111
|
+
*
|
|
112
|
+
* Reads only: a binding opening writes on v2 is refused at startup (SAP's CSRF-token handshake and v2's own write
|
|
113
|
+
* shapes are the write path's, #1679), and so is an explicit-erasure stance, which is a remote DELETE.
|
|
114
|
+
*/
|
|
115
|
+
ODATA_V2 = "odata-v2",
|
|
85
116
|
/**
|
|
86
117
|
* Declared per-binding REST/JSON operation mapping (bespoke enterprise APIs). Unlike ODATA
|
|
87
118
|
* there is no generic client: each binding declares how read/list/count/search map onto
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-api-transport-dialect.shared.d.ts","sourceRoot":"","sources":["../../../../src/http-api-binding/http-api-transport-dialect.shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH;;;;GAIG;AACH,oBAAY,uBAAuB;IACjC
|
|
1
|
+
{"version":3,"file":"http-api-transport-dialect.shared.d.ts","sourceRoot":"","sources":["../../../../src/http-api-binding/http-api-transport-dialect.shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH;;;;GAIG;AACH,oBAAY,uBAAuB;IACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,KAAK,UAAU;IAEf;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,QAAQ,aAAa;IAErB;;;;OAIG;IACH,SAAS,cAAc;IAEvB;;;;;;;;;;;;;OAaG;IACH,YAAY,iBAAiB;CAC9B"}
|
|
@@ -56,7 +56,7 @@ export var HttpApiTransportDialect;
|
|
|
56
56
|
* `$filter`/`$select`/`$top`/`$skip`/`$orderby`/`$count`, with a `$metadata` boot-time
|
|
57
57
|
* verification probe of the committed declaration.
|
|
58
58
|
*
|
|
59
|
-
* ⚠ **This member is v4 ONLY
|
|
59
|
+
* ⚠ **This member is v4 ONLY; SAP's most-used API is v2 and is read through `ODATA_V2`.** An earlier revision of
|
|
60
60
|
* this comment named "SAP S/4HANA, Microsoft Dataverse/Dynamics 365" here, which is half right
|
|
61
61
|
* and was load-bearing — it is why nobody looked:
|
|
62
62
|
*
|
|
@@ -64,7 +64,7 @@ export var HttpApiTransportDialect;
|
|
|
64
64
|
* |---|---|---|
|
|
65
65
|
* | Microsoft Dataverse / Dynamics 365 Web API (`/api/data/v9.2/`) | v4 | ✅ |
|
|
66
66
|
* | SAP S/4HANA OData **v4** services (`/sap/opu/odata4/…`) | v4 | ✅ |
|
|
67
|
-
* | SAP `API_BUSINESS_PARTNER` (`/sap/opu/odata/sap/API_BUSINESS_PARTNER`) | **v2** |
|
|
67
|
+
* | SAP `API_BUSINESS_PARTNER` (`/sap/opu/odata/sap/API_BUSINESS_PARTNER`) | **v2** | through `ODATA_V2` |
|
|
68
68
|
*
|
|
69
69
|
* v2 is not a v4 variant with a different header. Its collection envelope is
|
|
70
70
|
* `{ "d": { "results": [...], "__next": …, "__count": … } }` rather than
|
|
@@ -72,17 +72,48 @@ export var HttpApiTransportDialect;
|
|
|
72
72
|
* rather than ISO 8601; `Edm.Decimal` and `Edm.Int64` serialize as JSON STRINGS rather than
|
|
73
73
|
* numbers; and JSON must be requested (`$format=json`) because v2 defaults to Atom/XML. So it
|
|
74
74
|
* changes the envelope, the paging property, the count property AND the value encoding — a
|
|
75
|
-
* reader written for one cannot read the other
|
|
76
|
-
*
|
|
75
|
+
* reader written for one cannot read the other. (`ODATA_V2` decodes values at the wire from the
|
|
76
|
+
* service's `$metadata`, so no mapping-layer coercion is needed for it.)
|
|
77
77
|
* spec-cite: OData Version 2.0 JSON Format
|
|
78
78
|
* (https://www.odata.org/documentation/odata-version-2-0/json-format/) — the `d`/`results`/
|
|
79
79
|
* `__next`/`__count` envelope, the `/Date(<ticks>)/` DateTime literal, and Edm.Decimal /
|
|
80
80
|
* Edm.Int64 "formatted as a JSON string".
|
|
81
81
|
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
82
|
+
* v2 is its own member, {@link HttpApiTransportDialect.ODATA_V2} (#1687) — not a flag on this one. A v2 body read
|
|
83
|
+
* through an ODATA binding is still refused BY NAME at the first read, so pointing a v4 binding at a v2 root is a
|
|
84
|
+
* clear error rather than an empty page.
|
|
84
85
|
*/
|
|
85
86
|
HttpApiTransportDialect["ODATA"] = "odata";
|
|
87
|
+
/**
|
|
88
|
+
* OData **v2** (#1687) — SAP's classic Gateway services (`/sap/opu/odata/sap/<SERVICE>`), `API_BUSINESS_PARTNER`
|
|
89
|
+
* first among them. A distinct dialect because every layer differs from v4:
|
|
90
|
+
*
|
|
91
|
+
* | | v4 (`ODATA`) | v2 (`ODATA_V2`) |
|
|
92
|
+
* |---|---|---|
|
|
93
|
+
* | JSON | the default | asked for on every request (`$format=json`); the default is Atom/XML |
|
|
94
|
+
* | collection | `{ value: [...], @odata.nextLink }` | `{ d: { results: [...], __next, __count } }` |
|
|
95
|
+
* | single entity | the object | `{ d: { ... } }` |
|
|
96
|
+
* | row annotations | `@odata.*` | a `__metadata` object per row |
|
|
97
|
+
* | total | `$count=true` → `@odata.count` | `$inlinecount=allpages` → `__count` (a STRING) |
|
|
98
|
+
* | Edm.DateTime | ISO 8601 | `"/Date(<ms>[±<minutes>])/"` |
|
|
99
|
+
* | Edm.Int64 / Decimal / Double | JSON numbers | JSON STRINGS |
|
|
100
|
+
* | filter literals | `2026-01-05T00:00:00Z`, `5` | `datetime'2026-01-05T00:00:00'`, `5L`, `1.5M`, `guid'…'` |
|
|
101
|
+
*
|
|
102
|
+
* The engine reads the service's `$metadata` (once per client, lazily — never at boot) for each property's Edm type,
|
|
103
|
+
* because both the value decoding and the filter literal depend on it and nothing in a local field says which: a
|
|
104
|
+
* decimal and an Int32 are both `number` locally and are spelled differently on the wire.
|
|
105
|
+
* spec-cite: OData Version 2.0 JSON Format (https://www.odata.org/documentation/odata-version-2-0/json-format/) —
|
|
106
|
+
* Edm.DateTime `"/Date(<ticks>["+" | "-" <offset>)/"`; Edm.Decimal "Literal form of Edm.Decimal as used in URIs
|
|
107
|
+
* formatted as a JSON string"; Edm.Int64 "A 64-bit integer formatted as a JSON string"; the `d`/`results`/`__count`/
|
|
108
|
+
* `__next` envelope; the `__metadata` object ("uri", "type", "etag").
|
|
109
|
+
* spec-cite: OData Version 2.0 Overview (https://www.odata.org/documentation/odata-version-2-0/overview/) — the
|
|
110
|
+
* primitive literal forms: `datetime'yyyy-mm-ddThh:mm[:ss[.fffffff]]'`, `2.345M`, `2.0d`, `64L`, `guid'…'`,
|
|
111
|
+
* `datetimeoffset'…'`.
|
|
112
|
+
*
|
|
113
|
+
* Reads only: a binding opening writes on v2 is refused at startup (SAP's CSRF-token handshake and v2's own write
|
|
114
|
+
* shapes are the write path's, #1679), and so is an explicit-erasure stance, which is a remote DELETE.
|
|
115
|
+
*/
|
|
116
|
+
HttpApiTransportDialect["ODATA_V2"] = "odata-v2";
|
|
86
117
|
/**
|
|
87
118
|
* Declared per-binding REST/JSON operation mapping (bespoke enterprise APIs). Unlike ODATA
|
|
88
119
|
* there is no generic client: each binding declares how read/list/count/search map onto
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-api-transport-dialect.shared.js","sourceRoot":"","sources":["../../../../src/http-api-binding/http-api-transport-dialect.shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH;;;;GAIG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"http-api-transport-dialect.shared.js","sourceRoot":"","sources":["../../../../src/http-api-binding/http-api-transport-dialect.shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH;;;;GAIG;AACH,MAAM,CAAN,IAAY,uBAwFX;AAxFD,WAAY,uBAAuB;IACjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,0CAAe,CAAA;IAEf;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,gDAAqB,CAAA;IAErB;;;;OAIG;IACH,kDAAuB,CAAA;IAEvB;;;;;;;;;;;;;OAaG;IACH,wDAA6B,CAAA;AAC/B,CAAC,EAxFW,uBAAuB,KAAvB,uBAAuB,QAwFlC","sourcesContent":["/**\n * `HttpApiTransportDialect` — how the engine SPEAKS to a system of record.\n *\n * A boundary module, and the reason it is one is a package-contract rule rather than taste.\n *\n * ## Why this is not in `http-api-binding.shared.schemas.ts` any more (#1055, R3)\n *\n * That module is published ONLY through the `@wildo-ai/saas-models/external-data` subpath. The enum\n * is about to be named by the ROOT-exported application-configuration contract (`systemsOfRecord`\n * declares a dialect per instance), and a TypeScript `enum` is NOMINAL: a root-only consumer that\n * cannot name it through a public specifier gets `TS2742`/`TS2883` — \"the inferred type cannot be\n * named without a reference to …/node_modules/…\" — which is\n * `.claude/rules/package-public-entrypoints.md`'s \"root barrel must not DEPEND on a subpath-only\n * surface\", exactly.\n *\n * The rule's prescribed fix is to MOVE THE BOUNDARY, never to re-export across it: adding this module\n * to the subpath barrel as well would be `root-barrel-overlap` (a second door onto one room), which\n * `pnpm check:package-entrypoints` rule 1 refuses. So the enum lives here, the root exports it, the\n * binding schema imports it, and the subpath does NOT re-export it.\n *\n * Three root-reachable modules already cross into that subpath under `entrypoint-closure-waiver`.\n * This is the fourth crossing avoided rather than waived — and it is the one that would have put a\n * nominal enum into the most re-derived contract in the repository.\n *\n * ## What belongs here, and what does not\n *\n * ONLY the closed vocabulary. The per-dialect binding arms, the compilers and the key codecs stay\n * with the binding schema: they are the SHAPE of a declaration, not its name, and nothing\n * root-exported needs to name them.\n *\n * ## The root-only probe, measured 2026-09-15\n *\n * `package-public-entrypoints.md` asks for a measurement rather than a category judgement, so here is\n * the result. A consumer importing ONLY the package root, deriving values from this enum and emitting\n * with `declaration: true`:\n *\n * ```\n * export declare const declaredDialect = HttpApiTransportDialect.ODOO_JSONRPC;\n * export declare function pickDialect(): { dialect: HttpApiTransportDialect };\n * ```\n *\n * Zero errors, and the emitted declaration NAMES the enum through the root specifier rather than\n * reaching into a `node_modules/.../dist/esm/...` path. The same probe run before this module reached\n * the root barrel emitted `dialect: any` and `TS2305` — so the measurement has both halves, and the\n * enum is safe in a root-exported contract.\n */\n\n/**\n * The query dialect the adapter speaks toward the target system. Closed vocabulary (slice 1);\n * SOAP is a possible later member over the same HTTP transport, and a direct-database kind would\n * be a NEW `PersistenceAdapter` member, never a dialect here.\n */\nexport enum HttpApiTransportDialect {\n /**\n * OData **v4** — one generic client: mechanical pushdown of\n * `$filter`/`$select`/`$top`/`$skip`/`$orderby`/`$count`, with a `$metadata` boot-time\n * verification probe of the committed declaration.\n *\n * ⚠ **This member is v4 ONLY; SAP's most-used API is v2 and is read through `ODATA_V2`.** An earlier revision of\n * this comment named \"SAP S/4HANA, Microsoft Dataverse/Dynamics 365\" here, which is half right\n * and was load-bearing — it is why nobody looked:\n *\n * | Target | Version | Consumable today |\n * |---|---|---|\n * | Microsoft Dataverse / Dynamics 365 Web API (`/api/data/v9.2/`) | v4 | ✅ |\n * | SAP S/4HANA OData **v4** services (`/sap/opu/odata4/…`) | v4 | ✅ |\n * | SAP `API_BUSINESS_PARTNER` (`/sap/opu/odata/sap/API_BUSINESS_PARTNER`) | **v2** | through `ODATA_V2` |\n *\n * v2 is not a v4 variant with a different header. Its collection envelope is\n * `{ \"d\": { \"results\": [...], \"__next\": …, \"__count\": … } }` rather than\n * `{ \"value\": [...], \"@odata.nextLink\": … }`; `Edm.DateTime` serializes as `\"/Date(<ticks>)/\"`\n * rather than ISO 8601; `Edm.Decimal` and `Edm.Int64` serialize as JSON STRINGS rather than\n * numbers; and JSON must be requested (`$format=json`) because v2 defaults to Atom/XML. So it\n * changes the envelope, the paging property, the count property AND the value encoding — a\n * reader written for one cannot read the other. (`ODATA_V2` decodes values at the wire from the\n * service's `$metadata`, so no mapping-layer coercion is needed for it.)\n * spec-cite: OData Version 2.0 JSON Format\n * (https://www.odata.org/documentation/odata-version-2-0/json-format/) — the `d`/`results`/\n * `__next`/`__count` envelope, the `/Date(<ticks>)/` DateTime literal, and Edm.Decimal /\n * Edm.Int64 \"formatted as a JSON string\".\n *\n * v2 is its own member, {@link HttpApiTransportDialect.ODATA_V2} (#1687) — not a flag on this one. A v2 body read\n * through an ODATA binding is still refused BY NAME at the first read, so pointing a v4 binding at a v2 root is a\n * clear error rather than an empty page.\n */\n ODATA = 'odata',\n\n /**\n * OData **v2** (#1687) — SAP's classic Gateway services (`/sap/opu/odata/sap/<SERVICE>`), `API_BUSINESS_PARTNER`\n * first among them. A distinct dialect because every layer differs from v4:\n *\n * | | v4 (`ODATA`) | v2 (`ODATA_V2`) |\n * |---|---|---|\n * | JSON | the default | asked for on every request (`$format=json`); the default is Atom/XML |\n * | collection | `{ value: [...], @odata.nextLink }` | `{ d: { results: [...], __next, __count } }` |\n * | single entity | the object | `{ d: { ... } }` |\n * | row annotations | `@odata.*` | a `__metadata` object per row |\n * | total | `$count=true` → `@odata.count` | `$inlinecount=allpages` → `__count` (a STRING) |\n * | Edm.DateTime | ISO 8601 | `\"/Date(<ms>[±<minutes>])/\"` |\n * | Edm.Int64 / Decimal / Double | JSON numbers | JSON STRINGS |\n * | filter literals | `2026-01-05T00:00:00Z`, `5` | `datetime'2026-01-05T00:00:00'`, `5L`, `1.5M`, `guid'…'` |\n *\n * The engine reads the service's `$metadata` (once per client, lazily — never at boot) for each property's Edm type,\n * because both the value decoding and the filter literal depend on it and nothing in a local field says which: a\n * decimal and an Int32 are both `number` locally and are spelled differently on the wire.\n * spec-cite: OData Version 2.0 JSON Format (https://www.odata.org/documentation/odata-version-2-0/json-format/) —\n * Edm.DateTime `\"/Date(<ticks>[\"+\" | \"-\" <offset>)/\"`; Edm.Decimal \"Literal form of Edm.Decimal as used in URIs\n * formatted as a JSON string\"; Edm.Int64 \"A 64-bit integer formatted as a JSON string\"; the `d`/`results`/`__count`/\n * `__next` envelope; the `__metadata` object (\"uri\", \"type\", \"etag\").\n * spec-cite: OData Version 2.0 Overview (https://www.odata.org/documentation/odata-version-2-0/overview/) — the\n * primitive literal forms: `datetime'yyyy-mm-ddThh:mm[:ss[.fffffff]]'`, `2.345M`, `2.0d`, `64L`, `guid'…'`,\n * `datetimeoffset'…'`.\n *\n * Reads only: a binding opening writes on v2 is refused at startup (SAP's CSRF-token handshake and v2's own write\n * shapes are the write path's, #1679), and so is an explicit-erasure stance, which is a remote DELETE.\n */\n ODATA_V2 = 'odata-v2',\n\n /**\n * Declared per-binding REST/JSON operation mapping (bespoke enterprise APIs). Unlike ODATA\n * there is no generic client: each binding declares how read/list/count/search map onto\n * concrete HTTP operations.\n */\n REST_JSON = 'rest-json',\n\n /**\n * Odoo's external API (`/jsonrpc` + `execute_kw`). Promoted to its OWN dialect 2026-08-27 —\n * D0's original \"JSON-RPC is a thin envelope variant of REST_JSON\" was corrected by measuring\n * the protocol: it is generic like ODATA (no per-binding operation declarations — the model\n * name IS `entityRef`, and read/list/count map onto `read`/`search_read`/`search_count`\n * mechanically), but it speaks POSITIONAL arguments, its own domain filter language\n * (`[['field','=',value], …]` with polish-notation `'|'` disjunction), and authenticates\n * INSIDE the RPC args (`execute_kw(db, uid, api_key, …)`) rather than via HTTP headers.\n * Forcing that through REST_JSON's declared-parameter model would have been the\n * merge-distinct-concepts failure `design-philosophy.md` forbids.\n *\n * Structural constraint (schema-enforced): exactly ONE key field with the `INTEGER` codec —\n * Odoo row ids are integers, always.\n */\n ODOO_JSONRPC = 'odoo-jsonrpc',\n}\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The vocabularies whose NAME the framework owns and whose VALUES an application declares. "Config" is meant broadly:
|
|
3
|
+
* an application's declarations, in its configuration (`agentWorkReview.reasonCodes`, `organizationTypes`) or in what
|
|
4
|
+
* its backend modules register (a gate's `pauseStates`, #1864).
|
|
5
|
+
*
|
|
6
|
+
* The labelling planner reads each one's values where the application declares them — the configuration, or the
|
|
7
|
+
* backend introspection for a gate's pause states — and words them under `system_enums.<name>.<value>`, and a surface
|
|
8
|
+
* that shows one of the values reads the same key. So a value the application declares is worded the moment it is
|
|
9
|
+
* declared, and one it removes stops being planned, with no list of the application's values kept anywhere.
|
|
10
|
+
*
|
|
11
|
+
* The engine's own open vocabularies, whose values the ENGINE declares, are `EngineOpenVocabulary`.
|
|
12
|
+
*
|
|
13
|
+
* Kept in its own file with no imports, so a schema can name its vocabulary without importing anything else.
|
|
14
|
+
*/
|
|
15
|
+
export declare enum ApplicationConfigVocabulary {
|
|
16
|
+
/** The reasons an expert may give for correcting an agent's work (`agentWorkReview.reasonCodes`, #1921). */
|
|
17
|
+
AGENT_WORK_REASON_CODE = "AgentWorkReasonCode",
|
|
18
|
+
/** The organization types an application declares (`organizationTypes`, keyed by type): an organization's `type` (#1851). */
|
|
19
|
+
ORGANIZATION_TYPE = "OrganizationType",
|
|
20
|
+
/**
|
|
21
|
+
* Why a reviewer may stop a decision's clocks: the pause states every approval gate declares
|
|
22
|
+
* (`humanApproval.deadlines.pauseStates` on a function tool, #1864). The approval inbox's Pause choice and its
|
|
23
|
+
* "clocks paused" line read each state's word.
|
|
24
|
+
*/
|
|
25
|
+
HUMAN_DECISION_PAUSE_STATE = "HumanDecisionPauseState"
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* What a value of a declared vocabulary may contain: it is also the LAST SEGMENT of its label key
|
|
29
|
+
* (`system_enums.<name>.<value>`), and the label tree is addressed by dotted path. A dotted value would name a label
|
|
30
|
+
* nobody could resolve, so it would render raw forever with nothing reporting why; every declaration of an
|
|
31
|
+
* `ApplicationConfigVocabulary` value refuses one that fails this test. One source, so the declarations cannot drift.
|
|
32
|
+
*/
|
|
33
|
+
export declare const LABEL_KEY_SEGMENT_PATTERN: RegExp;
|
|
34
|
+
/** Whether `value` can be the last segment of a label key — see `LABEL_KEY_SEGMENT_PATTERN`. */
|
|
35
|
+
export declare function isLabelKeySegment(value: string): boolean;
|
|
36
|
+
//# sourceMappingURL=application-config-vocabulary.shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application-config-vocabulary.shared.d.ts","sourceRoot":"","sources":["../../../../src/i18n/application-config-vocabulary.shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,oBAAY,2BAA2B;IACrC,4GAA4G;IAC5G,sBAAsB,wBAAwB;IAC9C,6HAA6H;IAC7H,iBAAiB,qBAAqB;IACtC;;;;OAIG;IACH,0BAA0B,4BAA4B;CACvD;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAA2B,CAAC;AAEpE,gGAAgG;AAChG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The vocabularies whose NAME the framework owns and whose VALUES an application declares. "Config" is meant broadly:
|
|
3
|
+
* an application's declarations, in its configuration (`agentWorkReview.reasonCodes`, `organizationTypes`) or in what
|
|
4
|
+
* its backend modules register (a gate's `pauseStates`, #1864).
|
|
5
|
+
*
|
|
6
|
+
* The labelling planner reads each one's values where the application declares them — the configuration, or the
|
|
7
|
+
* backend introspection for a gate's pause states — and words them under `system_enums.<name>.<value>`, and a surface
|
|
8
|
+
* that shows one of the values reads the same key. So a value the application declares is worded the moment it is
|
|
9
|
+
* declared, and one it removes stops being planned, with no list of the application's values kept anywhere.
|
|
10
|
+
*
|
|
11
|
+
* The engine's own open vocabularies, whose values the ENGINE declares, are `EngineOpenVocabulary`.
|
|
12
|
+
*
|
|
13
|
+
* Kept in its own file with no imports, so a schema can name its vocabulary without importing anything else.
|
|
14
|
+
*/
|
|
15
|
+
export var ApplicationConfigVocabulary;
|
|
16
|
+
(function (ApplicationConfigVocabulary) {
|
|
17
|
+
/** The reasons an expert may give for correcting an agent's work (`agentWorkReview.reasonCodes`, #1921). */
|
|
18
|
+
ApplicationConfigVocabulary["AGENT_WORK_REASON_CODE"] = "AgentWorkReasonCode";
|
|
19
|
+
/** The organization types an application declares (`organizationTypes`, keyed by type): an organization's `type` (#1851). */
|
|
20
|
+
ApplicationConfigVocabulary["ORGANIZATION_TYPE"] = "OrganizationType";
|
|
21
|
+
/**
|
|
22
|
+
* Why a reviewer may stop a decision's clocks: the pause states every approval gate declares
|
|
23
|
+
* (`humanApproval.deadlines.pauseStates` on a function tool, #1864). The approval inbox's Pause choice and its
|
|
24
|
+
* "clocks paused" line read each state's word.
|
|
25
|
+
*/
|
|
26
|
+
ApplicationConfigVocabulary["HUMAN_DECISION_PAUSE_STATE"] = "HumanDecisionPauseState";
|
|
27
|
+
})(ApplicationConfigVocabulary || (ApplicationConfigVocabulary = {}));
|
|
28
|
+
/**
|
|
29
|
+
* What a value of a declared vocabulary may contain: it is also the LAST SEGMENT of its label key
|
|
30
|
+
* (`system_enums.<name>.<value>`), and the label tree is addressed by dotted path. A dotted value would name a label
|
|
31
|
+
* nobody could resolve, so it would render raw forever with nothing reporting why; every declaration of an
|
|
32
|
+
* `ApplicationConfigVocabulary` value refuses one that fails this test. One source, so the declarations cannot drift.
|
|
33
|
+
*/
|
|
34
|
+
export const LABEL_KEY_SEGMENT_PATTERN = /^[A-Za-z0-9_-]+$/;
|
|
35
|
+
/** Whether `value` can be the last segment of a label key — see `LABEL_KEY_SEGMENT_PATTERN`. */
|
|
36
|
+
export function isLabelKeySegment(value) {
|
|
37
|
+
return LABEL_KEY_SEGMENT_PATTERN.test(value);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=application-config-vocabulary.shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application-config-vocabulary.shared.js","sourceRoot":"","sources":["../../../../src/i18n/application-config-vocabulary.shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAN,IAAY,2BAWX;AAXD,WAAY,2BAA2B;IACrC,4GAA4G;IAC5G,6EAA8C,CAAA;IAC9C,6HAA6H;IAC7H,qEAAsC,CAAA;IACtC;;;;OAIG;IACH,qFAAsD,CAAA;AACxD,CAAC,EAXW,2BAA2B,KAA3B,2BAA2B,QAWtC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAW,kBAAkB,CAAC;AAEpE,gGAAgG;AAChG,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC","sourcesContent":["/**\n * The vocabularies whose NAME the framework owns and whose VALUES an application declares. \"Config\" is meant broadly:\n * an application's declarations, in its configuration (`agentWorkReview.reasonCodes`, `organizationTypes`) or in what\n * its backend modules register (a gate's `pauseStates`, #1864).\n *\n * The labelling planner reads each one's values where the application declares them — the configuration, or the\n * backend introspection for a gate's pause states — and words them under `system_enums.<name>.<value>`, and a surface\n * that shows one of the values reads the same key. So a value the application declares is worded the moment it is\n * declared, and one it removes stops being planned, with no list of the application's values kept anywhere.\n *\n * The engine's own open vocabularies, whose values the ENGINE declares, are `EngineOpenVocabulary`.\n *\n * Kept in its own file with no imports, so a schema can name its vocabulary without importing anything else.\n */\nexport enum ApplicationConfigVocabulary {\n /** The reasons an expert may give for correcting an agent's work (`agentWorkReview.reasonCodes`, #1921). */\n AGENT_WORK_REASON_CODE = 'AgentWorkReasonCode',\n /** The organization types an application declares (`organizationTypes`, keyed by type): an organization's `type` (#1851). */\n ORGANIZATION_TYPE = 'OrganizationType',\n /**\n * Why a reviewer may stop a decision's clocks: the pause states every approval gate declares\n * (`humanApproval.deadlines.pauseStates` on a function tool, #1864). The approval inbox's Pause choice and its\n * \"clocks paused\" line read each state's word.\n */\n HUMAN_DECISION_PAUSE_STATE = 'HumanDecisionPauseState',\n}\n\n/**\n * What a value of a declared vocabulary may contain: it is also the LAST SEGMENT of its label key\n * (`system_enums.<name>.<value>`), and the label tree is addressed by dotted path. A dotted value would name a label\n * nobody could resolve, so it would render raw forever with nothing reporting why; every declaration of an\n * `ApplicationConfigVocabulary` value refuses one that fails this test. One source, so the declarations cannot drift.\n */\nexport const LABEL_KEY_SEGMENT_PATTERN: RegExp = /^[A-Za-z0-9_-]+$/;\n\n/** Whether `value` can be the last segment of a label key — see `LABEL_KEY_SEGMENT_PATTERN`. */\nexport function isLabelKeySegment(value: string): boolean {\n return LABEL_KEY_SEGMENT_PATTERN.test(value);\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EngineOpenVocabulary } from './engine-open-vocabulary.shared';
|
|
2
|
+
/**
|
|
3
|
+
* The values of each {@link EngineOpenVocabulary}, which the labelling planner words under
|
|
4
|
+
* `system_enums.<name>.<value>` for every application (#1791).
|
|
5
|
+
*
|
|
6
|
+
* A `Record` keyed on the enum, so a vocabulary added there without its values is a compile error here rather
|
|
7
|
+
* than a vocabulary that renders its identifiers for ever. Derived from the engine's own enums, so a member added
|
|
8
|
+
* to one of them is planned on the next labelling run with no edit here.
|
|
9
|
+
*/
|
|
10
|
+
export declare const ENGINE_OPEN_VOCABULARY_VALUES: Readonly<Record<EngineOpenVocabulary, readonly string[]>>;
|
|
11
|
+
//# sourceMappingURL=engine-open-vocabulary-values.shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine-open-vocabulary-values.shared.d.ts","sourceRoot":"","sources":["../../../../src/i18n/engine-open-vocabulary-values.shared.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC,CAEnG,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CoreAuditableEventType } from '../compliance/audit-trails/auditable-events.shared.schema.js';
|
|
2
|
+
import { EngineOpenVocabulary } from './engine-open-vocabulary.shared.js';
|
|
3
|
+
/**
|
|
4
|
+
* The values of each {@link EngineOpenVocabulary}, which the labelling planner words under
|
|
5
|
+
* `system_enums.<name>.<value>` for every application (#1791).
|
|
6
|
+
*
|
|
7
|
+
* A `Record` keyed on the enum, so a vocabulary added there without its values is a compile error here rather
|
|
8
|
+
* than a vocabulary that renders its identifiers for ever. Derived from the engine's own enums, so a member added
|
|
9
|
+
* to one of them is planned on the next labelling run with no edit here.
|
|
10
|
+
*/
|
|
11
|
+
export const ENGINE_OPEN_VOCABULARY_VALUES = {
|
|
12
|
+
[EngineOpenVocabulary.CORE_AUDITABLE_EVENT_TYPE]: Object.values(CoreAuditableEventType),
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=engine-open-vocabulary-values.shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine-open-vocabulary-values.shared.js","sourceRoot":"","sources":["../../../../src/i18n/engine-open-vocabulary-values.shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAA8D;IACtG,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;CACxF,CAAC","sourcesContent":["import { CoreAuditableEventType } from '../compliance/audit-trails/auditable-events.shared.schema';\nimport { EngineOpenVocabulary } from './engine-open-vocabulary.shared';\n\n/**\n * The values of each {@link EngineOpenVocabulary}, which the labelling planner words under\n * `system_enums.<name>.<value>` for every application (#1791).\n *\n * A `Record` keyed on the enum, so a vocabulary added there without its values is a compile error here rather\n * than a vocabulary that renders its identifiers for ever. Derived from the engine's own enums, so a member added\n * to one of them is planned on the next labelling run with no edit here.\n */\nexport const ENGINE_OPEN_VOCABULARY_VALUES: Readonly<Record<EngineOpenVocabulary, readonly string[]>> = {\n [EngineOpenVocabulary.CORE_AUDITABLE_EVENT_TYPE]: Object.values(CoreAuditableEventType),\n};\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The engine's OPEN vocabularies (#1791): named sets of values that a STRING field carries and the engine declares
|
|
3
|
+
* outside any schema.
|
|
4
|
+
*
|
|
5
|
+
* `z.enum` is how a field normally names its vocabulary, and it lets the labeller read the values off the field.
|
|
6
|
+
* Some fields cannot be an enum because the schema does not own their values. An audit event's `eventType` is a
|
|
7
|
+
* string, because an event type is written by whoever emits it. Such a field declares its vocabulary with
|
|
8
|
+
* `.systemEnum(EngineOpenVocabulary.X)`: the display reads `system_enums.<name>.<value>`, and the labeller plans
|
|
9
|
+
* those keys from {@link ENGINE_OPEN_VOCABULARY_VALUES}, the one place the values are listed.
|
|
10
|
+
*
|
|
11
|
+
* A vocabulary whose values an APPLICATION declares is not here: those are `ApplicationConfigVocabulary`, and the
|
|
12
|
+
* labeller reads their values from the application's configuration.
|
|
13
|
+
*
|
|
14
|
+
* Kept in its own file with no imports, so a schema can name its vocabulary without importing the values.
|
|
15
|
+
*/
|
|
16
|
+
export declare enum EngineOpenVocabulary {
|
|
17
|
+
/** Every `CoreAuditableEventType` the engine emits: the words an audit trail shows for an event. */
|
|
18
|
+
CORE_AUDITABLE_EVENT_TYPE = "CoreAuditableEventType"
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=engine-open-vocabulary.shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine-open-vocabulary.shared.d.ts","sourceRoot":"","sources":["../../../../src/i18n/engine-open-vocabulary.shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,oBAAY,oBAAoB;IAC9B,oGAAoG;IACpG,yBAAyB,2BAA2B;CACrD"}
|