@parmana/shared 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/NOTICE +8 -0
- package/README.md +16 -2
- package/dist/.tsbuildinfo +1 -0
- package/dist/config/ApiKeyEntry.d.ts +97 -0
- package/dist/config/ApiKeyEntry.d.ts.map +1 -0
- package/dist/config/ApiKeyEntry.js +2 -0
- package/dist/config/ApiKeyEntry.js.map +1 -0
- package/dist/config/Config.d.ts +202 -0
- package/dist/config/Config.d.ts.map +1 -0
- package/dist/config/Config.js +172 -0
- package/dist/config/Config.js.map +1 -0
- package/dist/config/ConfigLoader.d.ts +5 -0
- package/dist/config/ConfigLoader.d.ts.map +1 -0
- package/dist/config/ConfigLoader.js +8 -0
- package/dist/config/ConfigLoader.js.map +1 -0
- package/dist/config/ConfigUtils.d.ts +6 -0
- package/dist/config/ConfigUtils.d.ts.map +1 -0
- package/dist/config/ConfigUtils.js +8 -0
- package/dist/config/ConfigUtils.js.map +1 -0
- package/dist/config/ConfigValidation.d.ts +30 -0
- package/dist/config/ConfigValidation.d.ts.map +1 -0
- package/dist/config/ConfigValidation.js +170 -0
- package/dist/config/ConfigValidation.js.map +1 -0
- package/dist/config/CryptoAlgorithms.d.ts +42 -0
- package/dist/config/CryptoAlgorithms.d.ts.map +1 -0
- package/dist/config/CryptoAlgorithms.js +42 -0
- package/dist/config/CryptoAlgorithms.js.map +1 -0
- package/dist/config/KeyProviders.d.ts +9 -0
- package/dist/config/KeyProviders.d.ts.map +1 -0
- package/dist/config/KeyProviders.js +8 -0
- package/dist/config/KeyProviders.js.map +1 -0
- package/dist/config/SecretsProviders.d.ts +6 -0
- package/dist/config/SecretsProviders.d.ts.map +1 -0
- package/dist/config/SecretsProviders.js +5 -0
- package/dist/config/SecretsProviders.js.map +1 -0
- package/dist/config/StorageProviders.d.ts +18 -0
- package/dist/config/StorageProviders.d.ts.map +1 -0
- package/dist/config/StorageProviders.js +20 -0
- package/dist/config/StorageProviders.js.map +1 -0
- package/dist/config/TrustProfiles.d.ts +5 -0
- package/dist/config/TrustProfiles.d.ts.map +1 -0
- package/dist/config/TrustProfiles.js +4 -0
- package/dist/config/TrustProfiles.js.map +1 -0
- package/dist/config/index.d.ts +11 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +11 -0
- package/dist/config/index.js.map +1 -0
- package/dist/domain/approval-artifact.d.ts +136 -0
- package/dist/domain/approval-artifact.d.ts.map +1 -0
- package/dist/domain/approval-artifact.js +2 -0
- package/dist/domain/approval-artifact.js.map +1 -0
- package/dist/domain/approval-issuer.d.ts +52 -0
- package/dist/domain/approval-issuer.d.ts.map +1 -0
- package/dist/domain/approval-issuer.js +2 -0
- package/dist/domain/approval-issuer.js.map +1 -0
- package/dist/domain/authority-grant.d.ts +54 -0
- package/dist/domain/authority-grant.d.ts.map +1 -0
- package/dist/domain/authority-grant.js +2 -0
- package/dist/domain/authority-grant.js.map +1 -0
- package/dist/domain/authority.d.ts +42 -0
- package/dist/domain/authority.d.ts.map +1 -0
- package/dist/domain/authority.js +11 -0
- package/dist/domain/authority.js.map +1 -0
- package/dist/domain/authorization.d.ts +54 -0
- package/dist/domain/authorization.d.ts.map +1 -0
- package/dist/domain/authorization.js +2 -0
- package/dist/domain/authorization.js.map +1 -0
- package/dist/domain/business-signal-source.d.ts +52 -0
- package/dist/domain/business-signal-source.d.ts.map +1 -0
- package/dist/domain/business-signal-source.js +2 -0
- package/dist/domain/business-signal-source.js.map +1 -0
- package/dist/domain/business-transaction.d.ts +99 -0
- package/dist/domain/business-transaction.d.ts.map +1 -0
- package/dist/domain/business-transaction.js +16 -0
- package/dist/domain/business-transaction.js.map +1 -0
- package/dist/domain/business-validation.d.ts +177 -0
- package/dist/domain/business-validation.d.ts.map +1 -0
- package/dist/domain/business-validation.js +60 -0
- package/dist/domain/business-validation.js.map +1 -0
- package/dist/domain/challenge-record.d.ts +181 -0
- package/dist/domain/challenge-record.d.ts.map +1 -0
- package/dist/domain/challenge-record.js +2 -0
- package/dist/domain/challenge-record.js.map +1 -0
- package/dist/domain/decision.d.ts +89 -0
- package/dist/domain/decision.d.ts.map +1 -0
- package/dist/domain/decision.js +9 -0
- package/dist/domain/decision.js.map +1 -0
- package/dist/domain/evidence-anchor.d.ts +54 -0
- package/dist/domain/evidence-anchor.d.ts.map +1 -0
- package/dist/domain/evidence-anchor.js +2 -0
- package/dist/domain/evidence-anchor.js.map +1 -0
- package/dist/domain/executable-content.d.ts +45 -0
- package/dist/domain/executable-content.d.ts.map +1 -0
- package/dist/domain/executable-content.js +39 -0
- package/dist/domain/executable-content.js.map +1 -0
- package/dist/domain/execution-audit-event.d.ts +65 -0
- package/dist/domain/execution-audit-event.d.ts.map +1 -0
- package/dist/domain/execution-audit-event.js +2 -0
- package/dist/domain/execution-audit-event.js.map +1 -0
- package/dist/domain/execution-authorization.d.ts +224 -0
- package/dist/domain/execution-authorization.d.ts.map +1 -0
- package/dist/domain/execution-authorization.js +2 -0
- package/dist/domain/execution-authorization.js.map +1 -0
- package/dist/domain/execution-evidence.d.ts +38 -0
- package/dist/domain/execution-evidence.d.ts.map +1 -0
- package/dist/domain/execution-evidence.js +2 -0
- package/dist/domain/execution-evidence.js.map +1 -0
- package/dist/domain/execution-intent.d.ts +92 -0
- package/dist/domain/execution-intent.d.ts.map +1 -0
- package/dist/domain/execution-intent.js +2 -0
- package/dist/domain/execution-intent.js.map +1 -0
- package/dist/domain/execution-metadata.d.ts +8 -0
- package/dist/domain/execution-metadata.d.ts.map +1 -0
- package/dist/domain/execution-metadata.js +2 -0
- package/dist/domain/execution-metadata.js.map +1 -0
- package/dist/domain/execution-outcome-store.d.ts +49 -0
- package/dist/domain/execution-outcome-store.d.ts.map +1 -0
- package/dist/domain/execution-outcome-store.js +10 -0
- package/dist/domain/execution-outcome-store.js.map +1 -0
- package/dist/domain/execution-result.d.ts +49 -0
- package/dist/domain/execution-result.d.ts.map +1 -0
- package/dist/domain/execution-result.js +2 -0
- package/dist/domain/execution-result.js.map +1 -0
- package/dist/domain/execution-trust-record.d.ts +142 -0
- package/dist/domain/execution-trust-record.d.ts.map +1 -0
- package/dist/domain/execution-trust-record.js +2 -0
- package/dist/domain/execution-trust-record.js.map +1 -0
- package/dist/domain/execution.d.ts +108 -0
- package/dist/domain/execution.d.ts.map +1 -0
- package/dist/domain/execution.js +18 -0
- package/dist/domain/execution.js.map +1 -0
- package/dist/domain/external-connector.d.ts +68 -0
- package/dist/domain/external-connector.d.ts.map +1 -0
- package/dist/domain/external-connector.js +2 -0
- package/dist/domain/external-connector.js.map +1 -0
- package/dist/domain/index.d.ts +37 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +37 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/intent.d.ts +66 -0
- package/dist/domain/intent.d.ts.map +1 -0
- package/dist/domain/intent.js +2 -0
- package/dist/domain/intent.js.map +1 -0
- package/dist/domain/metadata.d.ts +53 -0
- package/dist/domain/metadata.d.ts.map +1 -0
- package/dist/domain/metadata.js +11 -0
- package/dist/domain/metadata.js.map +1 -0
- package/dist/domain/override.d.ts +39 -0
- package/dist/domain/override.d.ts.map +1 -0
- package/dist/domain/override.js +2 -0
- package/dist/domain/override.js.map +1 -0
- package/dist/domain/pending-policy-change.d.ts +109 -0
- package/dist/domain/pending-policy-change.d.ts.map +1 -0
- package/dist/domain/pending-policy-change.js +12 -0
- package/dist/domain/pending-policy-change.js.map +1 -0
- package/dist/domain/policy-change-approval-record.d.ts +81 -0
- package/dist/domain/policy-change-approval-record.d.ts.map +1 -0
- package/dist/domain/policy-change-approval-record.js +2 -0
- package/dist/domain/policy-change-approval-record.js.map +1 -0
- package/dist/domain/policy-change-step-up-authorization.d.ts +97 -0
- package/dist/domain/policy-change-step-up-authorization.d.ts.map +1 -0
- package/dist/domain/policy-change-step-up-authorization.js +2 -0
- package/dist/domain/policy-change-step-up-authorization.js.map +1 -0
- package/dist/domain/policy-reference.d.ts +58 -0
- package/dist/domain/policy-reference.d.ts.map +1 -0
- package/dist/domain/policy-reference.js +2 -0
- package/dist/domain/policy-reference.js.map +1 -0
- package/dist/domain/receipt.d.ts +72 -0
- package/dist/domain/receipt.d.ts.map +1 -0
- package/dist/domain/receipt.js +2 -0
- package/dist/domain/receipt.js.map +1 -0
- package/dist/domain/refusal-record.d.ts +110 -0
- package/dist/domain/refusal-record.d.ts.map +1 -0
- package/dist/domain/refusal-record.js +2 -0
- package/dist/domain/refusal-record.js.map +1 -0
- package/dist/domain/release-approval.d.ts +14 -0
- package/dist/domain/release-approval.d.ts.map +1 -0
- package/dist/domain/release-approval.js +2 -0
- package/dist/domain/release-approval.js.map +1 -0
- package/dist/domain/signals.d.ts +10 -0
- package/dist/domain/signals.d.ts.map +1 -0
- package/dist/domain/signals.js +2 -0
- package/dist/domain/signals.js.map +1 -0
- package/dist/domain/signature-entry.d.ts +23 -0
- package/dist/domain/signature-entry.d.ts.map +1 -0
- package/dist/domain/signature-entry.js +2 -0
- package/dist/domain/signature-entry.js.map +1 -0
- package/dist/domain/signature.d.ts +26 -0
- package/dist/domain/signature.d.ts.map +1 -0
- package/dist/domain/signature.js +2 -0
- package/dist/domain/signature.js.map +1 -0
- package/dist/domain/unsigned-execution-trust-record.d.ts +7 -0
- package/dist/domain/unsigned-execution-trust-record.d.ts.map +1 -0
- package/dist/domain/unsigned-execution-trust-record.js +2 -0
- package/dist/domain/unsigned-execution-trust-record.js.map +1 -0
- package/dist/domain/verification.d.ts +48 -0
- package/dist/domain/verification.d.ts.map +1 -0
- package/dist/domain/verification.js +9 -0
- package/dist/domain/verification.js.map +1 -0
- package/dist/errors/approval-issuer-change-not-found-error.d.ts +9 -0
- package/dist/errors/approval-issuer-change-not-found-error.d.ts.map +1 -0
- package/dist/errors/approval-issuer-change-not-found-error.js +11 -0
- package/dist/errors/approval-issuer-change-not-found-error.js.map +1 -0
- package/dist/errors/authority-grant-change-not-found-error.d.ts +9 -0
- package/dist/errors/authority-grant-change-not-found-error.d.ts.map +1 -0
- package/dist/errors/authority-grant-change-not-found-error.js +11 -0
- package/dist/errors/authority-grant-change-not-found-error.js.map +1 -0
- package/dist/errors/authority-required-error.d.ts +5 -0
- package/dist/errors/authority-required-error.d.ts.map +1 -0
- package/dist/errors/authority-required-error.js +7 -0
- package/dist/errors/authority-required-error.js.map +1 -0
- package/dist/errors/authorization-no-longer-valid-error.d.ts +19 -0
- package/dist/errors/authorization-no-longer-valid-error.d.ts.map +1 -0
- package/dist/errors/authorization-no-longer-valid-error.js +23 -0
- package/dist/errors/authorization-no-longer-valid-error.js.map +1 -0
- package/dist/errors/authorization-required-error.d.ts +5 -0
- package/dist/errors/authorization-required-error.d.ts.map +1 -0
- package/dist/errors/authorization-required-error.js +7 -0
- package/dist/errors/authorization-required-error.js.map +1 -0
- package/dist/errors/business-signal-source-change-not-found-error.d.ts +9 -0
- package/dist/errors/business-signal-source-change-not-found-error.d.ts.map +1 -0
- package/dist/errors/business-signal-source-change-not-found-error.js +11 -0
- package/dist/errors/business-signal-source-change-not-found-error.js.map +1 -0
- package/dist/errors/business-transaction-not-found-error.d.ts +5 -0
- package/dist/errors/business-transaction-not-found-error.d.ts.map +1 -0
- package/dist/errors/business-transaction-not-found-error.js +7 -0
- package/dist/errors/business-transaction-not-found-error.js.map +1 -0
- package/dist/errors/challenge-record-not-found-error.d.ts +9 -0
- package/dist/errors/challenge-record-not-found-error.d.ts.map +1 -0
- package/dist/errors/challenge-record-not-found-error.js +11 -0
- package/dist/errors/challenge-record-not-found-error.js.map +1 -0
- package/dist/errors/conflict-error.d.ts +5 -0
- package/dist/errors/conflict-error.d.ts.map +1 -0
- package/dist/errors/conflict-error.js +7 -0
- package/dist/errors/conflict-error.js.map +1 -0
- package/dist/errors/connector-not-registered-error.d.ts +21 -0
- package/dist/errors/connector-not-registered-error.d.ts.map +1 -0
- package/dist/errors/connector-not-registered-error.js +24 -0
- package/dist/errors/connector-not-registered-error.js.map +1 -0
- package/dist/errors/decision-not-approved-error.d.ts +5 -0
- package/dist/errors/decision-not-approved-error.d.ts.map +1 -0
- package/dist/errors/decision-not-approved-error.js +7 -0
- package/dist/errors/decision-not-approved-error.js.map +1 -0
- package/dist/errors/duplicate-business-transaction-error.d.ts +26 -0
- package/dist/errors/duplicate-business-transaction-error.d.ts.map +1 -0
- package/dist/errors/duplicate-business-transaction-error.js +28 -0
- package/dist/errors/duplicate-business-transaction-error.js.map +1 -0
- package/dist/errors/external-connector-change-not-found-error.d.ts +9 -0
- package/dist/errors/external-connector-change-not-found-error.d.ts.map +1 -0
- package/dist/errors/external-connector-change-not-found-error.js +11 -0
- package/dist/errors/external-connector-change-not-found-error.js.map +1 -0
- package/dist/errors/forbidden-error.d.ts +5 -0
- package/dist/errors/forbidden-error.d.ts.map +1 -0
- package/dist/errors/forbidden-error.js +7 -0
- package/dist/errors/forbidden-error.js.map +1 -0
- package/dist/errors/index.d.ts +30 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +30 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/intent-required-error.d.ts +5 -0
- package/dist/errors/intent-required-error.d.ts.map +1 -0
- package/dist/errors/intent-required-error.js +7 -0
- package/dist/errors/intent-required-error.js.map +1 -0
- package/dist/errors/non-human-caller-denied-error.d.ts +10 -0
- package/dist/errors/non-human-caller-denied-error.d.ts.map +1 -0
- package/dist/errors/non-human-caller-denied-error.js +12 -0
- package/dist/errors/non-human-caller-denied-error.js.map +1 -0
- package/dist/errors/nonce-already-consumed-error.d.ts +26 -0
- package/dist/errors/nonce-already-consumed-error.d.ts.map +1 -0
- package/dist/errors/nonce-already-consumed-error.js +29 -0
- package/dist/errors/nonce-already-consumed-error.js.map +1 -0
- package/dist/errors/outcome-unknown-error.d.ts +15 -0
- package/dist/errors/outcome-unknown-error.d.ts.map +1 -0
- package/dist/errors/outcome-unknown-error.js +19 -0
- package/dist/errors/outcome-unknown-error.js.map +1 -0
- package/dist/errors/override-not-allowed-error.d.ts +5 -0
- package/dist/errors/override-not-allowed-error.d.ts.map +1 -0
- package/dist/errors/override-not-allowed-error.js +7 -0
- package/dist/errors/override-not-allowed-error.js.map +1 -0
- package/dist/errors/parmana-error.d.ts +15 -0
- package/dist/errors/parmana-error.d.ts.map +1 -0
- package/dist/errors/parmana-error.js +21 -0
- package/dist/errors/parmana-error.js.map +1 -0
- package/dist/errors/pending-policy-change-not-found-error.d.ts +9 -0
- package/dist/errors/pending-policy-change-not-found-error.d.ts.map +1 -0
- package/dist/errors/pending-policy-change-not-found-error.js +11 -0
- package/dist/errors/pending-policy-change-not-found-error.js.map +1 -0
- package/dist/errors/policy-not-found-error.d.ts +5 -0
- package/dist/errors/policy-not-found-error.d.ts.map +1 -0
- package/dist/errors/policy-not-found-error.js +7 -0
- package/dist/errors/policy-not-found-error.js.map +1 -0
- package/dist/errors/receipt-generation-error.d.ts +5 -0
- package/dist/errors/receipt-generation-error.d.ts.map +1 -0
- package/dist/errors/receipt-generation-error.js +7 -0
- package/dist/errors/receipt-generation-error.js.map +1 -0
- package/dist/errors/same-actor-cannot-approve-own-change-error.d.ts +12 -0
- package/dist/errors/same-actor-cannot-approve-own-change-error.d.ts.map +1 -0
- package/dist/errors/same-actor-cannot-approve-own-change-error.js +15 -0
- package/dist/errors/same-actor-cannot-approve-own-change-error.js.map +1 -0
- package/dist/errors/step-up-authorization-invalid-error.d.ts +25 -0
- package/dist/errors/step-up-authorization-invalid-error.d.ts.map +1 -0
- package/dist/errors/step-up-authorization-invalid-error.js +28 -0
- package/dist/errors/step-up-authorization-invalid-error.js.map +1 -0
- package/dist/errors/trust-chain-validation-error.d.ts +5 -0
- package/dist/errors/trust-chain-validation-error.d.ts.map +1 -0
- package/dist/errors/trust-chain-validation-error.js +7 -0
- package/dist/errors/trust-chain-validation-error.js.map +1 -0
- package/dist/errors/unauthorized-error.d.ts +5 -0
- package/dist/errors/unauthorized-error.d.ts.map +1 -0
- package/dist/errors/unauthorized-error.js +7 -0
- package/dist/errors/unauthorized-error.js.map +1 -0
- package/dist/errors/validation-error.d.ts +5 -0
- package/dist/errors/validation-error.d.ts.map +1 -0
- package/dist/errors/validation-error.js +7 -0
- package/dist/errors/validation-error.js.map +1 -0
- package/dist/errors/verification-failed-error.d.ts +5 -0
- package/dist/errors/verification-failed-error.d.ts.map +1 -0
- package/dist/errors/verification-failed-error.js +7 -0
- package/dist/errors/verification-failed-error.js.map +1 -0
- package/dist/gateway/GatewayAuthentication.d.ts +8 -0
- package/dist/gateway/GatewayAuthentication.d.ts.map +1 -0
- package/dist/gateway/GatewayAuthentication.js +2 -0
- package/dist/gateway/GatewayAuthentication.js.map +1 -0
- package/dist/gateway/GatewayAuthenticationClaims.d.ts +10 -0
- package/dist/gateway/GatewayAuthenticationClaims.d.ts.map +1 -0
- package/dist/gateway/GatewayAuthenticationClaims.js +2 -0
- package/dist/gateway/GatewayAuthenticationClaims.js.map +1 -0
- package/dist/gateway/GatewayAuthenticationPayload.d.ts +15 -0
- package/dist/gateway/GatewayAuthenticationPayload.d.ts.map +1 -0
- package/dist/gateway/GatewayAuthenticationPayload.js +2 -0
- package/dist/gateway/GatewayAuthenticationPayload.js.map +1 -0
- package/dist/gateway/SignedGatewayAuthentication.d.ts +9 -0
- package/dist/gateway/SignedGatewayAuthentication.d.ts.map +1 -0
- package/dist/gateway/SignedGatewayAuthentication.js +2 -0
- package/dist/gateway/SignedGatewayAuthentication.js.map +1 -0
- package/dist/gateway/index.d.ts +4 -0
- package/dist/gateway/index.d.ts.map +1 -0
- package/dist/gateway/index.js +4 -0
- package/dist/gateway/index.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/Logger.d.ts +65 -0
- package/dist/logging/Logger.d.ts.map +1 -0
- package/dist/logging/Logger.js +97 -0
- package/dist/logging/Logger.js.map +1 -0
- package/dist/network/externalEndpointAddress.d.ts +48 -0
- package/dist/network/externalEndpointAddress.d.ts.map +1 -0
- package/dist/network/externalEndpointAddress.js +147 -0
- package/dist/network/externalEndpointAddress.js.map +1 -0
- package/dist/repositories/approval-issuer-repository.d.ts +31 -0
- package/dist/repositories/approval-issuer-repository.d.ts.map +1 -0
- package/dist/repositories/approval-issuer-repository.js +2 -0
- package/dist/repositories/approval-issuer-repository.js.map +1 -0
- package/dist/repositories/authority-grant-repository.d.ts +22 -0
- package/dist/repositories/authority-grant-repository.d.ts.map +1 -0
- package/dist/repositories/authority-grant-repository.js +2 -0
- package/dist/repositories/authority-grant-repository.js.map +1 -0
- package/dist/repositories/business-signal-source-repository.d.ts +17 -0
- package/dist/repositories/business-signal-source-repository.d.ts.map +1 -0
- package/dist/repositories/business-signal-source-repository.js +2 -0
- package/dist/repositories/business-signal-source-repository.js.map +1 -0
- package/dist/repositories/business-transaction-repository.d.ts +34 -0
- package/dist/repositories/business-transaction-repository.d.ts.map +1 -0
- package/dist/repositories/business-transaction-repository.js +2 -0
- package/dist/repositories/business-transaction-repository.js.map +1 -0
- package/dist/repositories/challenge-record-repository.d.ts +67 -0
- package/dist/repositories/challenge-record-repository.d.ts.map +1 -0
- package/dist/repositories/challenge-record-repository.js +76 -0
- package/dist/repositories/challenge-record-repository.js.map +1 -0
- package/dist/repositories/execution-intent-repository.d.ts +38 -0
- package/dist/repositories/execution-intent-repository.d.ts.map +1 -0
- package/dist/repositories/execution-intent-repository.js +2 -0
- package/dist/repositories/execution-intent-repository.js.map +1 -0
- package/dist/repositories/execution-trust-record-repository.d.ts +62 -0
- package/dist/repositories/execution-trust-record-repository.d.ts.map +1 -0
- package/dist/repositories/execution-trust-record-repository.js +2 -0
- package/dist/repositories/execution-trust-record-repository.js.map +1 -0
- package/dist/repositories/external-connector-repository.d.ts +37 -0
- package/dist/repositories/external-connector-repository.d.ts.map +1 -0
- package/dist/repositories/external-connector-repository.js +2 -0
- package/dist/repositories/external-connector-repository.js.map +1 -0
- package/dist/repositories/handbook-download-lead-repository.d.ts +18 -0
- package/dist/repositories/handbook-download-lead-repository.d.ts.map +1 -0
- package/dist/repositories/handbook-download-lead-repository.js +2 -0
- package/dist/repositories/handbook-download-lead-repository.js.map +1 -0
- package/dist/repositories/index.d.ts +14 -0
- package/dist/repositories/index.d.ts.map +1 -0
- package/dist/repositories/index.js +14 -0
- package/dist/repositories/index.js.map +1 -0
- package/dist/repositories/pending-policy-change-repository.d.ts +72 -0
- package/dist/repositories/pending-policy-change-repository.d.ts.map +1 -0
- package/dist/repositories/pending-policy-change-repository.js +46 -0
- package/dist/repositories/pending-policy-change-repository.js.map +1 -0
- package/dist/repositories/policy-change-approval-record-repository.d.ts +39 -0
- package/dist/repositories/policy-change-approval-record-repository.d.ts.map +1 -0
- package/dist/repositories/policy-change-approval-record-repository.js +2 -0
- package/dist/repositories/policy-change-approval-record-repository.js.map +1 -0
- package/dist/repositories/policy-repository.d.ts +15 -0
- package/dist/repositories/policy-repository.d.ts.map +1 -0
- package/dist/repositories/policy-repository.js +2 -0
- package/dist/repositories/policy-repository.js.map +1 -0
- package/dist/repositories/refusal-record-repository.d.ts +13 -0
- package/dist/repositories/refusal-record-repository.d.ts.map +1 -0
- package/dist/repositories/refusal-record-repository.js +2 -0
- package/dist/repositories/refusal-record-repository.js.map +1 -0
- package/dist/types/Json.d.ts +7 -0
- package/dist/types/Json.d.ts.map +1 -0
- package/dist/types/Json.js +2 -0
- package/dist/types/Json.js.map +1 -0
- package/dist/utils/normalize-policy.d.ts +16 -0
- package/dist/utils/normalize-policy.d.ts.map +1 -0
- package/dist/utils/normalize-policy.js +10 -0
- package/dist/utils/normalize-policy.js.map +1 -0
- package/package.json +39 -4
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ExecutionIntent, ExecutionIntentFinalizationMode, ExecutionIntentResolution, StoredExecutionIntent } from "../domain/index.js";
|
|
2
|
+
export interface ExecutionIntentResolutionInput {
|
|
3
|
+
readonly resolution: ExecutionIntentResolution;
|
|
4
|
+
readonly note: string;
|
|
5
|
+
readonly resolvedBy?: string;
|
|
6
|
+
readonly resolvedAt: Date;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Persistence for Execution Intents (ADR-0012).
|
|
10
|
+
*
|
|
11
|
+
* `create` is the fail closed step: the runtime refuses to release an action
|
|
12
|
+
* if it cannot complete. The `mark*` methods only move operational status and
|
|
13
|
+
* never touch the signed intent. `markFinalized` must never move a
|
|
14
|
+
* FINALIZED intent backwards, and every `mark*` is safe to repeat.
|
|
15
|
+
*/
|
|
16
|
+
export interface ExecutionIntentRepository {
|
|
17
|
+
create(intent: ExecutionIntent): Promise<ExecutionIntent>;
|
|
18
|
+
findByTransactionId(businessTransactionId: string): Promise<StoredExecutionIntent | null>;
|
|
19
|
+
/** PREPARED to RELEASED, saving the context needed to rebuild the record. */
|
|
20
|
+
markReleased(businessTransactionId: string, releasedContext: unknown, releasedAt: Date): Promise<void>;
|
|
21
|
+
/** Any state except FINALIZED to FINALIZED. */
|
|
22
|
+
markFinalized(businessTransactionId: string, trustRecordId: string, mode: ExecutionIntentFinalizationMode, finalizedAt: Date): Promise<void>;
|
|
23
|
+
/** PREPARED to ERRORED. */
|
|
24
|
+
markErrored(businessTransactionId: string, reason: string): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* PREPARED or ERRORED to RESOLVED. Returns true when this call moved the
|
|
27
|
+
* intent, and false when it was in any other state, so a caller can tell a
|
|
28
|
+
* lost race from a success. It never moves a RELEASED or FINALIZED intent.
|
|
29
|
+
*/
|
|
30
|
+
markResolved(businessTransactionId: string, input: ExecutionIntentResolutionInput): Promise<boolean>;
|
|
31
|
+
/**
|
|
32
|
+
* Intents that are neither FINALIZED nor RESOLVED, oldest first. Used by
|
|
33
|
+
* operators to find released actions that have no signed Trust Record, and
|
|
34
|
+
* actions whose outcome nobody has reconciled yet.
|
|
35
|
+
*/
|
|
36
|
+
listUnfinalized(limit: number): Promise<readonly StoredExecutionIntent[]>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=execution-intent-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-intent-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/execution-intent-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,+BAA+B,EAC/B,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAE/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE1D,mBAAmB,CACjB,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IAEzC,6EAA6E;IAC7E,YAAY,CACV,qBAAqB,EAAE,MAAM,EAC7B,eAAe,EAAE,OAAO,EACxB,UAAU,EAAE,IAAI,GACf,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,+CAA+C;IAC/C,aAAa,CACX,qBAAqB,EAAE,MAAM,EAC7B,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,+BAA+B,EACrC,WAAW,EAAE,IAAI,GAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,2BAA2B;IAC3B,WAAW,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1E;;;;OAIG;IACH,YAAY,CACV,qBAAqB,EAAE,MAAM,EAC7B,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,qBAAqB,EAAE,CAAC,CAAC;CAC3E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-intent-repository.js","sourceRoot":"","sources":["../../src/repositories/execution-intent-repository.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Execution, ExecutionTrustRecord, Override, Receipt, Verification } from "../domain/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Repository for immutable
|
|
4
|
+
* Execution Trust Records.
|
|
5
|
+
*/
|
|
6
|
+
export interface ExecutionTrustRecordRepository {
|
|
7
|
+
create(record: ExecutionTrustRecord): Promise<ExecutionTrustRecord>;
|
|
8
|
+
findByTransactionId(businessTransactionId: string): Promise<ExecutionTrustRecord | null>;
|
|
9
|
+
/**
|
|
10
|
+
* Appends a new immutable Execution.
|
|
11
|
+
*/
|
|
12
|
+
appendExecution(businessTransactionId: string, execution: Execution): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated
|
|
15
|
+
*
|
|
16
|
+
* Parmana uses an append-only execution model.
|
|
17
|
+
*
|
|
18
|
+
* Execution state transitions must be represented
|
|
19
|
+
* by appending a new immutable Execution using
|
|
20
|
+
* appendExecution().
|
|
21
|
+
*
|
|
22
|
+
* This method exists only for backward
|
|
23
|
+
* compatibility and should not be used in new
|
|
24
|
+
* implementations.
|
|
25
|
+
*/
|
|
26
|
+
replaceExecution(execution: Execution): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Appends an immutable Override.
|
|
29
|
+
*/
|
|
30
|
+
appendOverride(businessTransactionId: string, override: Override): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Appends an immutable Verification.
|
|
33
|
+
*/
|
|
34
|
+
appendVerification(businessTransactionId: string, verification: Verification): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Appends an immutable Receipt.
|
|
37
|
+
*/
|
|
38
|
+
appendReceipt(businessTransactionId: string, receipt: Receipt): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Sums a numeric field of ExecutionEvidence.parameters across every
|
|
41
|
+
* successfully executed Execution (status COMPLETED, evidence.success
|
|
42
|
+
* true) whose evidence.action equals the given action and whose
|
|
43
|
+
* evidence.executedAt falls within [since, until).
|
|
44
|
+
*
|
|
45
|
+
* Reads only already-persisted, already-signed Execution Trust
|
|
46
|
+
* Record history -- no caller-supplied value influences the result.
|
|
47
|
+
* Added (TD-23 closure, Phase 3B) as the authoritative,
|
|
48
|
+
* reconciliation-grade source for cumulative authorization checks
|
|
49
|
+
* that previously trusted a caller-declared signal; a real-time gate
|
|
50
|
+
* may separately be enforced by its own atomic counter for reasons
|
|
51
|
+
* that gate's own callers document, but this method remains the
|
|
52
|
+
* ground truth to reconcile against.
|
|
53
|
+
*
|
|
54
|
+
* Optional: every pre-existing implementation of this interface
|
|
55
|
+
* (including the several inline test fakes across packages/runtime's
|
|
56
|
+
* own unit tests) must keep compiling and behaving identically
|
|
57
|
+
* without adding it. Only MemoryExecutionTrustRecordRepository and
|
|
58
|
+
* SupabaseExecutionTrustRecordRepository implement it.
|
|
59
|
+
*/
|
|
60
|
+
sumSuccessfulExecutionAmounts?(action: string, parameterKey: string, since: Date, until: Date): Promise<number>;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=execution-trust-record-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-trust-record-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/execution-trust-record-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,QAAQ,EACR,OAAO,EACP,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEpE,mBAAmB,CACjB,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAExC;;OAEG;IACH,eAAe,CACb,qBAAqB,EAAE,MAAM,EAC7B,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD;;OAEG;IACH,cAAc,CACZ,qBAAqB,EAAE,MAAM,EAC7B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;OAEG;IACH,kBAAkB,CAChB,qBAAqB,EAAE,MAAM,EAC7B,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;OAEG;IACH,aAAa,CAAC,qBAAqB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9E;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,6BAA6B,CAAC,CAC5B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,IAAI,GACV,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-trust-record-repository.js","sourceRoot":"","sources":["../../src/repositories/execution-trust-record-repository.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ExternalConnectorChange, ExternalConnectorRegistration } from "../domain/external-connector.js";
|
|
2
|
+
/**
|
|
3
|
+
* External connectors registered through maker checker, and the
|
|
4
|
+
* changes that register or revoke them (ADR-0013).
|
|
5
|
+
*/
|
|
6
|
+
export interface ExternalConnectorRepository {
|
|
7
|
+
/**
|
|
8
|
+
* The active registration for a capability, or null.
|
|
9
|
+
*/
|
|
10
|
+
findActive(capability: string): Promise<ExternalConnectorRegistration | null>;
|
|
11
|
+
/**
|
|
12
|
+
* Every registration, active and revoked.
|
|
13
|
+
*/
|
|
14
|
+
listRegistrations(): Promise<readonly ExternalConnectorRegistration[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Stores a new PENDING_APPROVAL change. Throws ConflictError when
|
|
17
|
+
* another change for the same capability is still pending.
|
|
18
|
+
*/
|
|
19
|
+
createChange(change: ExternalConnectorChange): Promise<ExternalConnectorChange>;
|
|
20
|
+
findChange(changeId: string): Promise<ExternalConnectorChange | null>;
|
|
21
|
+
listChanges(status?: ExternalConnectorChange["status"]): Promise<readonly ExternalConnectorChange[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Resolves a pending change to APPROVED and applies it, in one step:
|
|
24
|
+
* register adds an active registration, revoke marks the active one
|
|
25
|
+
* revoked. Throws ExternalConnectorChangeNotFoundError for an unknown
|
|
26
|
+
* id, and ConflictError when the change is no longer pending, the
|
|
27
|
+
* capability to register already has an active registration, or the
|
|
28
|
+
* capability to revoke has none. Nothing is written when it throws.
|
|
29
|
+
*/
|
|
30
|
+
approveChange(changeId: string, approvedBy: string, at: Date): Promise<ExternalConnectorChange>;
|
|
31
|
+
/**
|
|
32
|
+
* Resolves a pending change to REJECTED. Throws as approveChange does
|
|
33
|
+
* for an unknown or already resolved change.
|
|
34
|
+
*/
|
|
35
|
+
rejectChange(changeId: string, rejectedBy: string, rejectionReason: string, at: Date): Promise<ExternalConnectorChange>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=external-connector-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-connector-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/external-connector-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,iCAAiC,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,GAAG,IAAI,CAAC,CAAC;IAE9E;;OAEG;IACH,iBAAiB,IAAI,OAAO,CAAC,SAAS,6BAA6B,EAAE,CAAC,CAAC;IAEvE;;;OAGG;IACH,YAAY,CACV,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEpC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;IAEtE,WAAW,CACT,MAAM,CAAC,EAAE,uBAAuB,CAAC,QAAQ,CAAC,GACzC,OAAO,CAAC,SAAS,uBAAuB,EAAE,CAAC,CAAC;IAE/C;;;;;;;OAOG;IACH,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,IAAI,GACP,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEpC;;;OAGG;IACH,YAAY,CACV,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,EAAE,EAAE,IAAI,GACP,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-connector-repository.js","sourceRoot":"","sources":["../../src/repositories/external-connector-repository.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface HandbookDownloadLead {
|
|
2
|
+
readonly handbookDownloadLeadId: string;
|
|
3
|
+
readonly email: string;
|
|
4
|
+
readonly capturedAt: Date;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Repository for handbook download leads (docs/site/handbook/download.mdx).
|
|
8
|
+
*
|
|
9
|
+
* Deliberately write-mostly: an email address is captured before the
|
|
10
|
+
* PDF link unlocks, no verification email is sent, so this is a
|
|
11
|
+
* record of who asked, not a gate behind a confirmed inbox. See
|
|
12
|
+
* migration 20260916150000_add_handbook_download_leads.sql's own
|
|
13
|
+
* comment.
|
|
14
|
+
*/
|
|
15
|
+
export interface HandbookDownloadLeadRepository {
|
|
16
|
+
create(lead: HandbookDownloadLead): Promise<HandbookDownloadLead>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=handbook-download-lead-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handbook-download-lead-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/handbook-download-lead-repository.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,8BAA8B;IAC7C,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handbook-download-lead-repository.js","sourceRoot":"","sources":["../../src/repositories/handbook-download-lead-repository.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from "./business-transaction-repository.js";
|
|
2
|
+
export * from "./execution-trust-record-repository.js";
|
|
3
|
+
export * from "./execution-intent-repository.js";
|
|
4
|
+
export * from "./refusal-record-repository.js";
|
|
5
|
+
export * from "./challenge-record-repository.js";
|
|
6
|
+
export * from "./policy-repository.js";
|
|
7
|
+
export * from "./pending-policy-change-repository.js";
|
|
8
|
+
export * from "./approval-issuer-repository.js";
|
|
9
|
+
export * from "./external-connector-repository.js";
|
|
10
|
+
export * from "./business-signal-source-repository.js";
|
|
11
|
+
export * from "./authority-grant-repository.js";
|
|
12
|
+
export * from "./policy-change-approval-record-repository.js";
|
|
13
|
+
export * from "./handbook-download-lead-repository.js";
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repositories/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from "./business-transaction-repository.js";
|
|
2
|
+
export * from "./execution-trust-record-repository.js";
|
|
3
|
+
export * from "./execution-intent-repository.js";
|
|
4
|
+
export * from "./refusal-record-repository.js";
|
|
5
|
+
export * from "./challenge-record-repository.js";
|
|
6
|
+
export * from "./policy-repository.js";
|
|
7
|
+
export * from "./pending-policy-change-repository.js";
|
|
8
|
+
export * from "./approval-issuer-repository.js";
|
|
9
|
+
export * from "./external-connector-repository.js";
|
|
10
|
+
export * from "./business-signal-source-repository.js";
|
|
11
|
+
export * from "./authority-grant-repository.js";
|
|
12
|
+
export * from "./policy-change-approval-record-repository.js";
|
|
13
|
+
export * from "./handbook-download-lead-repository.js";
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repositories/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { PendingPolicyChange, PendingPolicyChangeStatus } from "../domain/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* One resolution of an existing PENDING_APPROVAL change. Exactly one
|
|
4
|
+
* of these per `resolve()` call -- mirrors
|
|
5
|
+
* ChallengeRecordAppendOperation's one-operation-at-a-time shape, for
|
|
6
|
+
* the same reason: every mutation should be an explicit, individually
|
|
7
|
+
* reviewable step.
|
|
8
|
+
*/
|
|
9
|
+
export type PendingPolicyChangeResolution = {
|
|
10
|
+
readonly outcome: "approved";
|
|
11
|
+
readonly resolvedBy: string;
|
|
12
|
+
} | {
|
|
13
|
+
readonly outcome: "rejected";
|
|
14
|
+
readonly resolvedBy: string;
|
|
15
|
+
readonly rejectionReason: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Repository for Pending Policy Changes (Policy Governance,
|
|
19
|
+
* maker-checker).
|
|
20
|
+
*/
|
|
21
|
+
export interface PendingPolicyChangeRepository {
|
|
22
|
+
/**
|
|
23
|
+
* Creates a new PENDING_APPROVAL change. Throws ConflictError if a
|
|
24
|
+
* PENDING_APPROVAL change already exists for the same (policyName,
|
|
25
|
+
* policyVersion) -- enforced by `assertNoConflictingPendingChange`
|
|
26
|
+
* below, which every implementation should call to keep the check
|
|
27
|
+
* identical across backends (same pattern
|
|
28
|
+
* ChallengeRecordRepository already uses for its own append-only
|
|
29
|
+
* invariants).
|
|
30
|
+
*/
|
|
31
|
+
create(change: PendingPolicyChange): Promise<PendingPolicyChange>;
|
|
32
|
+
findById(pendingPolicyChangeId: string): Promise<PendingPolicyChange | null>;
|
|
33
|
+
/**
|
|
34
|
+
* The at-most-one PENDING_APPROVAL change for a given
|
|
35
|
+
* (policyName, policyVersion), or null if none exists.
|
|
36
|
+
*/
|
|
37
|
+
findPending(policyName: string, policyVersion: string): Promise<PendingPolicyChange | null>;
|
|
38
|
+
/**
|
|
39
|
+
* Lists changes, optionally filtered by status. Omitting `status`
|
|
40
|
+
* returns every change regardless of lifecycle state.
|
|
41
|
+
*/
|
|
42
|
+
list(status?: PendingPolicyChangeStatus): Promise<readonly PendingPolicyChange[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Resolves an existing PENDING_APPROVAL change to APPROVED or
|
|
45
|
+
* REJECTED. Throws PendingPolicyChangeNotFoundError if no change
|
|
46
|
+
* exists for the given id, or ConflictError if the change is not
|
|
47
|
+
* currently PENDING_APPROVAL (see `applyPendingPolicyChangeResolution`,
|
|
48
|
+
* which every implementation should route through).
|
|
49
|
+
*
|
|
50
|
+
* Does NOT enforce maker != checker -- that check requires the
|
|
51
|
+
* resolving caller's own verified identity, which only the API/auth
|
|
52
|
+
* layer has. This method resolves whatever `resolvedBy` it is
|
|
53
|
+
* given.
|
|
54
|
+
*/
|
|
55
|
+
resolve(pendingPolicyChangeId: string, resolution: PendingPolicyChangeResolution): Promise<PendingPolicyChange>;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Pure, backend-independent enforcement of the "exactly one
|
|
59
|
+
* PENDING_APPROVAL per (policyName, policyVersion)" invariant.
|
|
60
|
+
* Implementations call this with whatever PENDING_APPROVAL change (if
|
|
61
|
+
* any) they already found for the target (policyName, policyVersion)
|
|
62
|
+
* before inserting the new one.
|
|
63
|
+
*/
|
|
64
|
+
export declare function assertNoConflictingPendingChange(policyName: string, policyVersion: string, existingPending: PendingPolicyChange | null): void;
|
|
65
|
+
/**
|
|
66
|
+
* Pure, backend-independent enforcement of
|
|
67
|
+
* PendingPolicyChangeRepository.resolve's transition rule: only a
|
|
68
|
+
* PENDING_APPROVAL change may be resolved, and only into a terminal
|
|
69
|
+
* state, exactly once.
|
|
70
|
+
*/
|
|
71
|
+
export declare function applyPendingPolicyChangeResolution(existing: PendingPolicyChange, resolution: PendingPolicyChangeResolution, resolvedAt: Date): PendingPolicyChange;
|
|
72
|
+
//# sourceMappingURL=pending-policy-change-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-policy-change-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/pending-policy-change-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAI5B;;;;;;GAMG;AACH,MAAM,MAAM,6BAA6B,GACrC;IAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC7D;IACE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC,CAAC;AAEN;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAElE,QAAQ,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IAE7E;;;OAGG;IACH,WAAW,CACT,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IAEvC;;;OAGG;IACH,IAAI,CACF,MAAM,CAAC,EAAE,yBAAyB,GACjC,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAAC;IAE3C;;;;;;;;;;;OAWG;IACH,OAAO,CACL,qBAAqB,EAAE,MAAM,EAC7B,UAAU,EAAE,6BAA6B,GACxC,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjC;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,mBAAmB,GAAG,IAAI,GAC1C,IAAI,CAWN;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,mBAAmB,EAC7B,UAAU,EAAE,6BAA6B,EACzC,UAAU,EAAE,IAAI,GACf,mBAAmB,CAwBrB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { PendingPolicyChangeStatus, } from "../domain/index.js";
|
|
2
|
+
import { ConflictError } from "../errors/conflict-error.js";
|
|
3
|
+
/**
|
|
4
|
+
* Pure, backend-independent enforcement of the "exactly one
|
|
5
|
+
* PENDING_APPROVAL per (policyName, policyVersion)" invariant.
|
|
6
|
+
* Implementations call this with whatever PENDING_APPROVAL change (if
|
|
7
|
+
* any) they already found for the target (policyName, policyVersion)
|
|
8
|
+
* before inserting the new one.
|
|
9
|
+
*/
|
|
10
|
+
export function assertNoConflictingPendingChange(policyName, policyVersion, existingPending) {
|
|
11
|
+
if (existingPending === null) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
throw new ConflictError(`A PENDING_APPROVAL change already exists for policy '${policyName}' version ` +
|
|
15
|
+
`'${policyVersion}' (pendingPolicyChangeId '${existingPending.pendingPolicyChangeId}'). ` +
|
|
16
|
+
"It must be approved or rejected before a new proposal against the same policy " +
|
|
17
|
+
"version can be created.");
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Pure, backend-independent enforcement of
|
|
21
|
+
* PendingPolicyChangeRepository.resolve's transition rule: only a
|
|
22
|
+
* PENDING_APPROVAL change may be resolved, and only into a terminal
|
|
23
|
+
* state, exactly once.
|
|
24
|
+
*/
|
|
25
|
+
export function applyPendingPolicyChangeResolution(existing, resolution, resolvedAt) {
|
|
26
|
+
if (existing.status !== PendingPolicyChangeStatus.PENDING_APPROVAL) {
|
|
27
|
+
throw new ConflictError(`Pending Policy Change '${existing.pendingPolicyChangeId}' is already ` +
|
|
28
|
+
`'${existing.status}' -- only a PENDING_APPROVAL change can be approved or rejected.`);
|
|
29
|
+
}
|
|
30
|
+
if (resolution.outcome === "approved") {
|
|
31
|
+
return {
|
|
32
|
+
...existing,
|
|
33
|
+
status: PendingPolicyChangeStatus.APPROVED,
|
|
34
|
+
resolvedBy: resolution.resolvedBy,
|
|
35
|
+
resolvedAt,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
...existing,
|
|
40
|
+
status: PendingPolicyChangeStatus.REJECTED,
|
|
41
|
+
resolvedBy: resolution.resolvedBy,
|
|
42
|
+
resolvedAt,
|
|
43
|
+
rejectionReason: resolution.rejectionReason,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=pending-policy-change-repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-policy-change-repository.js","sourceRoot":"","sources":["../../src/repositories/pending-policy-change-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAsE5D;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC,CAC9C,UAAkB,EAClB,aAAqB,EACrB,eAA2C;IAE3C,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,MAAM,IAAI,aAAa,CACrB,wDAAwD,UAAU,YAAY;QAC5E,IAAI,aAAa,6BAA6B,eAAe,CAAC,qBAAqB,MAAM;QACzF,gFAAgF;QAChF,yBAAyB,CAC5B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kCAAkC,CAChD,QAA6B,EAC7B,UAAyC,EACzC,UAAgB;IAEhB,IAAI,QAAQ,CAAC,MAAM,KAAK,yBAAyB,CAAC,gBAAgB,EAAE,CAAC;QACnE,MAAM,IAAI,aAAa,CACrB,0BAA0B,QAAQ,CAAC,qBAAqB,eAAe;YACrE,IAAI,QAAQ,CAAC,MAAM,kEAAkE,CACxF,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO;YACL,GAAG,QAAQ;YACX,MAAM,EAAE,yBAAyB,CAAC,QAAQ;YAC1C,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,UAAU;SACX,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,QAAQ;QACX,MAAM,EAAE,yBAAyB,CAAC,QAAQ;QAC1C,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,UAAU;QACV,eAAe,EAAE,UAAU,CAAC,eAAe;KAC5C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { PolicyChangeApprovalRecord } from "../domain/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Repository for Policy Change Approval Records (Policy Governance,
|
|
4
|
+
* maker-checker). Append-only and immutable, same discipline as
|
|
5
|
+
* ExecutionTrustRecordRepository: a record is created exactly once,
|
|
6
|
+
* at approval time, and never updated.
|
|
7
|
+
*/
|
|
8
|
+
export interface PolicyChangeApprovalRecordRepository {
|
|
9
|
+
create(record: PolicyChangeApprovalRecord): Promise<PolicyChangeApprovalRecord>;
|
|
10
|
+
findById(policyChangeApprovalRecordId: string): Promise<PolicyChangeApprovalRecord | null>;
|
|
11
|
+
list(): Promise<readonly PolicyChangeApprovalRecord[]>;
|
|
12
|
+
/**
|
|
13
|
+
* The approval record written for a pending change (the most recent
|
|
14
|
+
* one, if a pending change approved before 2026-10-03 has two), or
|
|
15
|
+
* null if none exists yet. Lets a retry after a partial failure reuse
|
|
16
|
+
* the record its first attempt wrote, instead of signing another.
|
|
17
|
+
*/
|
|
18
|
+
findByPendingPolicyChangeId(pendingPolicyChangeId: string): Promise<PolicyChangeApprovalRecord | null>;
|
|
19
|
+
/**
|
|
20
|
+
* The most recent approval record for a given (policyName,
|
|
21
|
+
* policyVersion), or null if that policy version has never been
|
|
22
|
+
* through this repository's approval flow (e.g. it predates Policy
|
|
23
|
+
* Governance, or was seeded directly). This is what a later
|
|
24
|
+
* startup/deploy integrity check compares the live
|
|
25
|
+
* policies/{name}/{version}/policy.json content against, to detect
|
|
26
|
+
* a file edited outside the pending-change API -- a bypass of
|
|
27
|
+
* governance, not merely an unusual but legitimate path.
|
|
28
|
+
*/
|
|
29
|
+
findMostRecentFor(policyName: string, policyVersion: string): Promise<PolicyChangeApprovalRecord | null>;
|
|
30
|
+
/**
|
|
31
|
+
* The most recent approval record for a policy name, across all its
|
|
32
|
+
* versions (latest approvedAt), or null if no version of it was ever
|
|
33
|
+
* approved. Its policyVersion is the version currently in effect for
|
|
34
|
+
* that name (G-66): approving a version makes it current, and
|
|
35
|
+
* approving an older version again rolls back to it.
|
|
36
|
+
*/
|
|
37
|
+
findMostRecentForName(policyName: string): Promise<PolicyChangeApprovalRecord | null>;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=policy-change-approval-record-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-change-approval-record-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/policy-change-approval-record-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,WAAW,oCAAoC;IACnD,MAAM,CACJ,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAEvC,QAAQ,CACN,4BAA4B,EAAE,MAAM,GACnC,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAC;IAE9C,IAAI,IAAI,OAAO,CAAC,SAAS,0BAA0B,EAAE,CAAC,CAAC;IAEvD;;;;;OAKG;IACH,2BAA2B,CACzB,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAC;IAE9C;;;;;;;;;OASG;IACH,iBAAiB,CACf,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAC;IAE9C;;;;;;OAMG;IACH,qBAAqB,CACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAC;CAC/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-change-approval-record-repository.js","sourceRoot":"","sources":["../../src/repositories/policy-change-approval-record-repository.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PolicyReference } from "../domain/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Repository for published Policies.
|
|
4
|
+
*/
|
|
5
|
+
export interface PolicyRepository {
|
|
6
|
+
/**
|
|
7
|
+
* Resolves an exact Policy version.
|
|
8
|
+
*/
|
|
9
|
+
resolve(name: string, version: string): Promise<PolicyReference | null>;
|
|
10
|
+
/**
|
|
11
|
+
* Lists published Policies.
|
|
12
|
+
*/
|
|
13
|
+
list(page: number, pageSize: number): Promise<readonly PolicyReference[]>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=policy-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/policy-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAExE;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;CAC3E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-repository.js","sourceRoot":"","sources":["../../src/repositories/policy-repository.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RefusalRecord } from "../domain/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Repository for immutable Refusal Records (RFC-0021).
|
|
4
|
+
*
|
|
5
|
+
* At most one RefusalRecord exists per businessTransactionId — unlike
|
|
6
|
+
* ExecutionTrustRecordRepository, there is no append-only sub-history
|
|
7
|
+
* to extend, so this interface is deliberately smaller.
|
|
8
|
+
*/
|
|
9
|
+
export interface RefusalRecordRepository {
|
|
10
|
+
create(record: RefusalRecord): Promise<RefusalRecord>;
|
|
11
|
+
findByTransactionId(businessTransactionId: string): Promise<RefusalRecord | null>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=refusal-record-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refusal-record-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/refusal-record-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEtD,mBAAmB,CACjB,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;CAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refusal-record-repository.js","sourceRoot":"","sources":["../../src/repositories/refusal-record-repository.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Json.d.ts","sourceRoot":"","sources":["../../src/types/Json.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;AAEpC,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Json.js","sourceRoot":"","sources":["../../src/types/Json.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface PolicyLike {
|
|
2
|
+
readonly policyId?: string;
|
|
3
|
+
readonly policyVersion?: string;
|
|
4
|
+
readonly schemaVersion?: string;
|
|
5
|
+
readonly signalsSchema?: Record<string, string>;
|
|
6
|
+
readonly rules?: readonly unknown[];
|
|
7
|
+
}
|
|
8
|
+
export declare function normalizePolicy(policy: PolicyLike | null | undefined): {
|
|
9
|
+
readonly policyId: string;
|
|
10
|
+
readonly policyVersion: string;
|
|
11
|
+
readonly schemaVersion: string;
|
|
12
|
+
readonly signalsSchema: Record<string, string>;
|
|
13
|
+
readonly rules: unknown[];
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=normalize-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-policy.d.ts","sourceRoot":"","sources":["../../src/utils/normalize-policy.ts"],"names":[],"mappings":"AAAA,UAAU,UAAU;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CACrC;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GAAG;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;CAC3B,CAYA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function normalizePolicy(policy) {
|
|
2
|
+
return {
|
|
3
|
+
policyId: policy?.policyId ?? "replay-policy",
|
|
4
|
+
policyVersion: policy?.policyVersion ?? "1.0.0",
|
|
5
|
+
schemaVersion: policy?.schemaVersion ?? "1.0.0",
|
|
6
|
+
signalsSchema: policy?.signalsSchema ?? {},
|
|
7
|
+
rules: Array.isArray(policy?.rules) ? [...policy.rules] : [],
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=normalize-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-policy.js","sourceRoot":"","sources":["../../src/utils/normalize-policy.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,eAAe,CAAC,MAAqC;IAOnE,OAAO;QACL,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,eAAe;QAE7C,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,OAAO;QAE/C,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,OAAO;QAE/C,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,EAAE;QAE1C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;KAC7D,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,41 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@parmana/shared",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.js"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"dist",
|
|
15
|
+
"LICENSE",
|
|
16
|
+
"NOTICE"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
20
|
+
"build": "tsc -p tsconfig.json",
|
|
21
|
+
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
22
|
+
"test": "vitest run"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@eslint/js": "^10.0.1",
|
|
27
|
+
"@types/express": "^5.0.6",
|
|
28
|
+
"dotenv": "^18.0.8",
|
|
29
|
+
"eslint": "^10.13.0",
|
|
30
|
+
"eslint-config-prettier": "^10.1.8",
|
|
31
|
+
"tsx": "^4.23.15",
|
|
32
|
+
"typescript-eslint": "^8.72.0",
|
|
33
|
+
"express": "^5.3.0",
|
|
34
|
+
"vitest": "^5.0.3"
|
|
35
|
+
},
|
|
36
|
+
"license": "Apache-2.0",
|
|
37
|
+
"engines": {
|
|
38
|
+
"node": ">=24"
|
|
39
|
+
},
|
|
40
|
+
"description": "Domain model and configuration shared across every Parmana package"
|
|
41
|
+
}
|