@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,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical hash algorithms supported by Parmana.
|
|
3
|
+
*
|
|
4
|
+
* New algorithms are additive.
|
|
5
|
+
*/
|
|
6
|
+
export declare const HashAlgorithms: {
|
|
7
|
+
readonly SHA256: "sha256";
|
|
8
|
+
readonly SHA3512: "sha3-512";
|
|
9
|
+
readonly BLAKE3: "blake3";
|
|
10
|
+
};
|
|
11
|
+
export type HashAlgorithm = (typeof HashAlgorithms)[keyof typeof HashAlgorithms];
|
|
12
|
+
/**
|
|
13
|
+
* Canonical signature algorithms.
|
|
14
|
+
*/
|
|
15
|
+
export declare const SignatureAlgorithms: {
|
|
16
|
+
readonly ED25519: "ed25519";
|
|
17
|
+
readonly ECDSA_P256: "ecdsa-p256";
|
|
18
|
+
readonly DILITHIUM3: "dilithium3";
|
|
19
|
+
readonly DILITHIUM5: "dilithium5";
|
|
20
|
+
readonly SPHINCS_PLUS: "sphincs-plus";
|
|
21
|
+
};
|
|
22
|
+
export type SignatureAlgorithm = (typeof SignatureAlgorithms)[keyof typeof SignatureAlgorithms];
|
|
23
|
+
/**
|
|
24
|
+
* Crypto signing modes.
|
|
25
|
+
*
|
|
26
|
+
* single: exactly one SignatureProvider (PRIMARY_SIGNATURE_PROVIDER)
|
|
27
|
+
* signs and verifies everything -- today's behavior, unchanged.
|
|
28
|
+
*
|
|
29
|
+
* hybrid: PRIMARY_SIGNATURE_PROVIDER and SECONDARY_SIGNATURE_PROVIDER
|
|
30
|
+
* both sign Execution Trust Records and Receipts; verification
|
|
31
|
+
* requires both to pass. See HybridSignatureProvider (@parmana/crypto).
|
|
32
|
+
*
|
|
33
|
+
* pq: reserved for a future post-quantum-only mode. Not read by any
|
|
34
|
+
* production call site today.
|
|
35
|
+
*/
|
|
36
|
+
export declare const CryptoModes: {
|
|
37
|
+
readonly SINGLE: "single";
|
|
38
|
+
readonly HYBRID: "hybrid";
|
|
39
|
+
readonly PQ: "pq";
|
|
40
|
+
};
|
|
41
|
+
export type CryptoMode = (typeof CryptoModes)[keyof typeof CryptoModes];
|
|
42
|
+
//# sourceMappingURL=CryptoAlgorithms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CryptoAlgorithms.d.ts","sourceRoot":"","sources":["../../src/config/CryptoAlgorithms.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,cAAc;aACzB,MAAM,EAAE,QAAQ;aAChB,OAAO,EAAE,UAAU;aACnB,MAAM,EAAE,QAAQ;CACR,CAAC;AAEX,MAAM,MAAM,aAAa,GACvB,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,mBAAmB;aAC9B,OAAO,EAAE,SAAS;aAClB,UAAU,EAAE,YAAY;aAKxB,UAAU,EAAE,YAAY;aACxB,UAAU,EAAE,YAAY;aACxB,YAAY,EAAE,cAAc;CACpB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAC5B,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAEjE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW;aACtB,MAAM,EAAE,QAAQ;aAChB,MAAM,EAAE,QAAQ;aAChB,EAAE,EAAE,IAAI;CACA,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical hash algorithms supported by Parmana.
|
|
3
|
+
*
|
|
4
|
+
* New algorithms are additive.
|
|
5
|
+
*/
|
|
6
|
+
export const HashAlgorithms = {
|
|
7
|
+
SHA256: "sha256",
|
|
8
|
+
SHA3512: "sha3-512",
|
|
9
|
+
BLAKE3: "blake3",
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Canonical signature algorithms.
|
|
13
|
+
*/
|
|
14
|
+
export const SignatureAlgorithms = {
|
|
15
|
+
ED25519: "ed25519",
|
|
16
|
+
ECDSA_P256: "ecdsa-p256",
|
|
17
|
+
//
|
|
18
|
+
// Post-Quantum Ready
|
|
19
|
+
//
|
|
20
|
+
DILITHIUM3: "dilithium3",
|
|
21
|
+
DILITHIUM5: "dilithium5",
|
|
22
|
+
SPHINCS_PLUS: "sphincs-plus",
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Crypto signing modes.
|
|
26
|
+
*
|
|
27
|
+
* single: exactly one SignatureProvider (PRIMARY_SIGNATURE_PROVIDER)
|
|
28
|
+
* signs and verifies everything -- today's behavior, unchanged.
|
|
29
|
+
*
|
|
30
|
+
* hybrid: PRIMARY_SIGNATURE_PROVIDER and SECONDARY_SIGNATURE_PROVIDER
|
|
31
|
+
* both sign Execution Trust Records and Receipts; verification
|
|
32
|
+
* requires both to pass. See HybridSignatureProvider (@parmana/crypto).
|
|
33
|
+
*
|
|
34
|
+
* pq: reserved for a future post-quantum-only mode. Not read by any
|
|
35
|
+
* production call site today.
|
|
36
|
+
*/
|
|
37
|
+
export const CryptoModes = {
|
|
38
|
+
SINGLE: "single",
|
|
39
|
+
HYBRID: "hybrid",
|
|
40
|
+
PQ: "pq",
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=CryptoAlgorithms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CryptoAlgorithms.js","sourceRoot":"","sources":["../../src/config/CryptoAlgorithms.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,UAAU;IACnB,MAAM,EAAE,QAAQ;CACR,CAAC;AAKX;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IAExB,EAAE;IACF,qBAAqB;IACrB,EAAE;IACF,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,cAAc;CACpB,CAAC;AAKX;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;CACA,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const KeyProviders: {
|
|
2
|
+
readonly LOCAL: "local";
|
|
3
|
+
readonly AWS_KMS: "aws-kms";
|
|
4
|
+
readonly AZURE_KEY_VAULT: "azure-key-vault";
|
|
5
|
+
readonly GCP_KMS: "gcp-kms";
|
|
6
|
+
readonly HSM: "hsm";
|
|
7
|
+
};
|
|
8
|
+
export type KeyProvider = (typeof KeyProviders)[keyof typeof KeyProviders];
|
|
9
|
+
//# sourceMappingURL=KeyProviders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyProviders.d.ts","sourceRoot":"","sources":["../../src/config/KeyProviders.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;aACvB,KAAK,EAAE,OAAO;aACd,OAAO,EAAE,SAAS;aAClB,eAAe,EAAE,iBAAiB;aAClC,OAAO,EAAE,SAAS;aAClB,GAAG,EAAE,KAAK;CACF,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyProviders.js","sourceRoot":"","sources":["../../src/config/KeyProviders.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;IAClC,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,KAAK;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecretsProviders.d.ts","sourceRoot":"","sources":["../../src/config/SecretsProviders.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;aAC3B,GAAG,EAAE,KAAK;aACV,mBAAmB,EAAE,qBAAqB;CAClC,CAAC;AAEX,MAAM,MAAM,eAAe,GACzB,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecretsProviders.js","sourceRoot":"","sources":["../../src/config/SecretsProviders.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,GAAG,EAAE,KAAK;IACV,mBAAmB,EAAE,qBAAqB;CAClC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const StorageProviders: {
|
|
2
|
+
readonly MEMORY: "memory";
|
|
3
|
+
readonly POSTGRES: "postgres";
|
|
4
|
+
readonly SUPABASE: "supabase";
|
|
5
|
+
};
|
|
6
|
+
export type StorageProvider = (typeof StorageProviders)[keyof typeof StorageProviders];
|
|
7
|
+
/**
|
|
8
|
+
* Whether a provider name selects the durable Postgres storage.
|
|
9
|
+
*
|
|
10
|
+
* `postgres` and `supabase` select the same implementation: every
|
|
11
|
+
* repository, audit sink and nonce store behind them writes through
|
|
12
|
+
* PostgresPoolFactory (DATABASE_URL), so it runs on any Postgres,
|
|
13
|
+
* Supabase hosted or self hosted. `supabase` is kept so existing
|
|
14
|
+
* deployments are unchanged; `postgres` is the name for a self hosted
|
|
15
|
+
* database (G-57).
|
|
16
|
+
*/
|
|
17
|
+
export declare function isPostgresStorage(provider: string | undefined): boolean;
|
|
18
|
+
//# sourceMappingURL=StorageProviders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageProviders.d.ts","sourceRoot":"","sources":["../../src/config/StorageProviders.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;aAC3B,MAAM,EAAE,QAAQ;aAChB,QAAQ,EAAE,UAAU;aACpB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAEX,MAAM,MAAM,eAAe,GACzB,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE3D;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAKvE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export const StorageProviders = {
|
|
2
|
+
MEMORY: "memory",
|
|
3
|
+
POSTGRES: "postgres",
|
|
4
|
+
SUPABASE: "supabase",
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Whether a provider name selects the durable Postgres storage.
|
|
8
|
+
*
|
|
9
|
+
* `postgres` and `supabase` select the same implementation: every
|
|
10
|
+
* repository, audit sink and nonce store behind them writes through
|
|
11
|
+
* PostgresPoolFactory (DATABASE_URL), so it runs on any Postgres,
|
|
12
|
+
* Supabase hosted or self hosted. `supabase` is kept so existing
|
|
13
|
+
* deployments are unchanged; `postgres` is the name for a self hosted
|
|
14
|
+
* database (G-57).
|
|
15
|
+
*/
|
|
16
|
+
export function isPostgresStorage(provider) {
|
|
17
|
+
return (provider === StorageProviders.POSTGRES ||
|
|
18
|
+
provider === StorageProviders.SUPABASE);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=StorageProviders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageProviders.js","sourceRoot":"","sources":["../../src/config/StorageProviders.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAKX;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAA4B;IAC5D,OAAO,CACL,QAAQ,KAAK,gBAAgB,CAAC,QAAQ;QACtC,QAAQ,KAAK,gBAAgB,CAAC,QAAQ,CACvC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrustProfiles.d.ts","sourceRoot":"","sources":["../../src/config/TrustProfiles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;aACxB,EAAE,EAAE,IAAI;CACA,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrustProfiles.js","sourceRoot":"","sources":["../../src/config/TrustProfiles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,IAAI;CACA,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./Config.js";
|
|
2
|
+
export * from "./ConfigLoader.js";
|
|
3
|
+
export * from "./ConfigValidation.js";
|
|
4
|
+
export * from "./CryptoAlgorithms.js";
|
|
5
|
+
export * from "./StorageProviders.js";
|
|
6
|
+
export * from "./KeyProviders.js";
|
|
7
|
+
export * from "./SecretsProviders.js";
|
|
8
|
+
export * from "./TrustProfiles.js";
|
|
9
|
+
export * from "./ApiKeyEntry.js";
|
|
10
|
+
export * from "./ConfigUtils.js";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./Config.js";
|
|
2
|
+
export * from "./ConfigLoader.js";
|
|
3
|
+
export * from "./ConfigValidation.js";
|
|
4
|
+
export * from "./CryptoAlgorithms.js";
|
|
5
|
+
export * from "./StorageProviders.js";
|
|
6
|
+
export * from "./KeyProviders.js";
|
|
7
|
+
export * from "./SecretsProviders.js";
|
|
8
|
+
export * from "./TrustProfiles.js";
|
|
9
|
+
export * from "./ApiKeyEntry.js";
|
|
10
|
+
export * from "./ConfigUtils.js";
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import type { JsonValue } from "../types/Json.js";
|
|
2
|
+
import type { Signature } from "./signature.js";
|
|
3
|
+
/**
|
|
4
|
+
* Parmana Trust Core
|
|
5
|
+
*
|
|
6
|
+
* Approval Artifact (TD-23 closure, Phase 3C)
|
|
7
|
+
*
|
|
8
|
+
* A cryptographically verifiable, independently-issued attestation
|
|
9
|
+
* that a specific external business authority approved a specific,
|
|
10
|
+
* bounded fact about a specific capability and business object --
|
|
11
|
+
* replacing a caller-declared authorization assertion (e.g.
|
|
12
|
+
* `preAuthorizedForAmountChange: true`) that Parmana's own
|
|
13
|
+
* Execution Authorization cannot truthfully represent, because the
|
|
14
|
+
* Execution Authorization proves Parmana's own runtime approved a
|
|
15
|
+
* Decision, not that an independent business authority approved an
|
|
16
|
+
* exception to it.
|
|
17
|
+
*
|
|
18
|
+
* Design frozen in §7 of the Phase 3A approval artifact design (in git
|
|
19
|
+
* history). This file implements that specification's schema exactly --
|
|
20
|
+
* field names, types, and mandatory/optional status are not
|
|
21
|
+
* reinterpreted here.
|
|
22
|
+
*
|
|
23
|
+
* Trust Chain (mirrors ExecutionAuthorizationPayload's own doc
|
|
24
|
+
* comment style):
|
|
25
|
+
*
|
|
26
|
+
* Business Approval (an authority independent of the AI caller and
|
|
27
|
+
* of Parmana's own runtime)
|
|
28
|
+
* ↓
|
|
29
|
+
* Approval Artifact (this type)
|
|
30
|
+
* ↓
|
|
31
|
+
* Canonical Serialization (CanonicalSerializer, reused verbatim)
|
|
32
|
+
* ↓
|
|
33
|
+
* Signature (the issuer's own key -- never Parmana's runtime key)
|
|
34
|
+
* ↓
|
|
35
|
+
* Verification (@parmana/approval's ApprovalVerifier)
|
|
36
|
+
* ↓
|
|
37
|
+
* Policy (the verified fact populates a policy signal, replacing the
|
|
38
|
+
* caller's own declared value)
|
|
39
|
+
*/
|
|
40
|
+
/**
|
|
41
|
+
* Restricted comparator vocabulary for Approval scope checks.
|
|
42
|
+
* Deliberately narrower than PolicyEngine's own operator set (see
|
|
43
|
+
* packages/policy/src/types/Policy.ts's PolicyOperator) -- an
|
|
44
|
+
* approval bounds one numeric or exact-match fact, not an arbitrary
|
|
45
|
+
* policy condition tree.
|
|
46
|
+
*/
|
|
47
|
+
export type ApprovalScopeComparator = "eq" | "lte" | "gte" | "lt" | "gt" | "between";
|
|
48
|
+
/**
|
|
49
|
+
* The bound being approved. `value`'s shape depends on `comparator`:
|
|
50
|
+
* a plain number/string for eq/lte/gte/lt/gt, or a {min, max} range
|
|
51
|
+
* for `between`.
|
|
52
|
+
*/
|
|
53
|
+
export interface ApprovalScope {
|
|
54
|
+
/**
|
|
55
|
+
* The name of the specific policy-evaluated fact this artifact
|
|
56
|
+
* attests to -- e.g. "amountDeltaAbs". Exactly one fact per
|
|
57
|
+
* artifact; an approval is never a blanket "everything about this
|
|
58
|
+
* request is fine."
|
|
59
|
+
*/
|
|
60
|
+
readonly field: string;
|
|
61
|
+
readonly comparator: ApprovalScopeComparator;
|
|
62
|
+
readonly value: number | string | {
|
|
63
|
+
readonly min: number;
|
|
64
|
+
readonly max: number;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Identifies the approving party and which of their registered keys
|
|
69
|
+
* signed this artifact. Never the AI caller's own callerId, and
|
|
70
|
+
* never Parmana's own runtime identity (DEFAULT_KEY_ID) -- see
|
|
71
|
+
* ApprovalIssuerRegistry (@parmana/approval) for how this is
|
|
72
|
+
* resolved to a trusted public key.
|
|
73
|
+
*/
|
|
74
|
+
export interface ApprovalIssuer {
|
|
75
|
+
readonly approverId: string;
|
|
76
|
+
readonly keyId: string;
|
|
77
|
+
}
|
|
78
|
+
export interface ApprovalPayload {
|
|
79
|
+
/**
|
|
80
|
+
* Payload format version. Verifiers MUST reject any other value
|
|
81
|
+
* (including missing) before attempting signature verification --
|
|
82
|
+
* identical discipline to ExecutionAuthorizationPayload.version.
|
|
83
|
+
*/
|
|
84
|
+
readonly version: 1;
|
|
85
|
+
/**
|
|
86
|
+
* Unique identifier for this artifact.
|
|
87
|
+
*/
|
|
88
|
+
readonly approvalId: string;
|
|
89
|
+
readonly issuer: ApprovalIssuer;
|
|
90
|
+
/**
|
|
91
|
+
* ISO-8601 UTC timestamp when the approval was granted.
|
|
92
|
+
*/
|
|
93
|
+
readonly issuedAt: string;
|
|
94
|
+
/**
|
|
95
|
+
* ISO-8601 UTC expiry. REQUIRED. Verifiers MUST reject an artifact
|
|
96
|
+
* past this time -- identical discipline to
|
|
97
|
+
* ExecutionAuthorizationPayload.expiresAt.
|
|
98
|
+
*/
|
|
99
|
+
readonly expiresAt: string;
|
|
100
|
+
/**
|
|
101
|
+
* The exact capability (Intent.action) this approval is scoped to
|
|
102
|
+
* -- e.g. "hubspot:deal-update". Prevents capability substitution.
|
|
103
|
+
*/
|
|
104
|
+
readonly capability: string;
|
|
105
|
+
/**
|
|
106
|
+
* The exact business object this approval covers, in the same
|
|
107
|
+
* identifier shape the capability's own Intent.parameters carries
|
|
108
|
+
* (e.g. a HubSpot dealId) -- not a wildcard, not a pattern.
|
|
109
|
+
* Prevents authorization transfer to another business object.
|
|
110
|
+
*/
|
|
111
|
+
readonly resourceId: string;
|
|
112
|
+
readonly scope: ApprovalScope;
|
|
113
|
+
/**
|
|
114
|
+
* Reserved, additive extension point for future scope dimensions.
|
|
115
|
+
* Absent by default -- no concrete field needed yet (Phase 3A §17,
|
|
116
|
+
* Open Question #3).
|
|
117
|
+
*/
|
|
118
|
+
readonly constraints?: Readonly<Record<string, JsonValue>>;
|
|
119
|
+
/**
|
|
120
|
+
* Single-use. Burned on first successful verification via the
|
|
121
|
+
* existing NonceStore interface, reused verbatim.
|
|
122
|
+
*/
|
|
123
|
+
readonly nonce: string;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* The complete envelope an Approval Artifact travels as.
|
|
127
|
+
*/
|
|
128
|
+
export interface SignedApproval {
|
|
129
|
+
readonly payload: ApprovalPayload;
|
|
130
|
+
/**
|
|
131
|
+
* Signature over the canonical serialization of payload, produced
|
|
132
|
+
* by the issuer's own private key -- never Parmana's runtime key.
|
|
133
|
+
*/
|
|
134
|
+
readonly signature: Signature;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=approval-artifact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-artifact.d.ts","sourceRoot":"","sources":["../../src/domain/approval-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GACjC,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;IAE7C,QAAQ,CAAC,KAAK,EACZ,MAAM,GAAG,MAAM,GAAG;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACpE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAE9B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAE3D;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-artifact.js","sourceRoot":"","sources":["../../src/domain/approval-artifact.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { PendingPolicyChangeStatus } from "./pending-policy-change.js";
|
|
2
|
+
/**
|
|
3
|
+
* An approver key trusted to sign Approval Artifacts, added through
|
|
4
|
+
* maker checker (approval-issuers.ts) instead of a deploy. The
|
|
5
|
+
* server's code list (createApprovalIssuerRegistry.ts) is checked
|
|
6
|
+
* first; these rows add to it.
|
|
7
|
+
*/
|
|
8
|
+
export interface ApprovalIssuerRecord {
|
|
9
|
+
readonly approverId: string;
|
|
10
|
+
readonly keyId: string;
|
|
11
|
+
/**
|
|
12
|
+
* The approver's Ed25519 public key, PEM (SPKI).
|
|
13
|
+
*/
|
|
14
|
+
readonly publicKeyPem: string;
|
|
15
|
+
/**
|
|
16
|
+
* Revoking a key refuses every approval it ever signed.
|
|
17
|
+
*/
|
|
18
|
+
readonly revoked: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* The approved change that added this key. Its proposedBy and
|
|
21
|
+
* resolvedBy say who asked and who approved.
|
|
22
|
+
*/
|
|
23
|
+
readonly addedByChangeId: string;
|
|
24
|
+
readonly addedAt: Date;
|
|
25
|
+
readonly revokedByChangeId?: string;
|
|
26
|
+
readonly revokedAt?: Date;
|
|
27
|
+
}
|
|
28
|
+
export type ApprovalIssuerChangeAction = "add" | "revoke";
|
|
29
|
+
/**
|
|
30
|
+
* A proposal to add or revoke an approver key, and its resolution. One
|
|
31
|
+
* person proposes; a different person approves or rejects it with a
|
|
32
|
+
* step up signature. Only an approved change touches
|
|
33
|
+
* approval_issuers.
|
|
34
|
+
*/
|
|
35
|
+
export interface ApprovalIssuerChange {
|
|
36
|
+
readonly changeId: string;
|
|
37
|
+
readonly action: ApprovalIssuerChangeAction;
|
|
38
|
+
readonly approverId: string;
|
|
39
|
+
readonly keyId: string;
|
|
40
|
+
/**
|
|
41
|
+
* Required to add, absent to revoke.
|
|
42
|
+
*/
|
|
43
|
+
readonly publicKeyPem?: string;
|
|
44
|
+
readonly reason: string;
|
|
45
|
+
readonly proposedBy: string;
|
|
46
|
+
readonly proposedAt: Date;
|
|
47
|
+
readonly status: PendingPolicyChangeStatus;
|
|
48
|
+
readonly resolvedBy?: string;
|
|
49
|
+
readonly resolvedAt?: Date;
|
|
50
|
+
readonly rejectionReason?: string;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=approval-issuer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-issuer.d.ts","sourceRoot":"","sources":["../../src/domain/approval-issuer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IAEvB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,0BAA0B,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-issuer.js","sourceRoot":"","sources":["../../src/domain/approval-issuer.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { AuthorityGrantLimit } from "./business-validation.js";
|
|
2
|
+
import type { PendingPolicyChangeStatus } from "./pending-policy-change.js";
|
|
3
|
+
/**
|
|
4
|
+
* Authority granted to one caller for one capability (RFC-0023 phase
|
|
5
|
+
* 3): "agent X may release goods, up to 100000, until 31 December".
|
|
6
|
+
* Created only by an approved grant change; a revoke change marks it
|
|
7
|
+
* revoked. A policy with requireAuthorityGrant decides a request only
|
|
8
|
+
* when its caller holds a current grant for the action and the request
|
|
9
|
+
* is within the grant's limits.
|
|
10
|
+
*/
|
|
11
|
+
export interface AuthorityGrant {
|
|
12
|
+
/** The changeId of the approved grant change that created it. */
|
|
13
|
+
readonly grantId: string;
|
|
14
|
+
/** The authenticated caller (API key's callerId) it is granted to. */
|
|
15
|
+
readonly callerId: string;
|
|
16
|
+
/** The capability, namespace:verb, such as "erp:release-goods". */
|
|
17
|
+
readonly capability: string;
|
|
18
|
+
/** Limits on the request, by Intent path ("target", "parameters.x"). */
|
|
19
|
+
readonly limits?: Readonly<Record<string, AuthorityGrantLimit>>;
|
|
20
|
+
/** From when it holds. */
|
|
21
|
+
readonly validFrom: Date;
|
|
22
|
+
/** Until when it holds. After this, AUTHORITY_EXPIRED. */
|
|
23
|
+
readonly validUntil: Date;
|
|
24
|
+
readonly status: "active" | "revoked";
|
|
25
|
+
readonly grantedAt: Date;
|
|
26
|
+
readonly revokedByChangeId?: string;
|
|
27
|
+
readonly revokedAt?: Date;
|
|
28
|
+
}
|
|
29
|
+
export type AuthorityGrantChangeAction = "grant" | "revoke";
|
|
30
|
+
/**
|
|
31
|
+
* A proposal to grant authority to a caller for a capability, or to
|
|
32
|
+
* revoke the active grant. One person proposes, a different person
|
|
33
|
+
* approves or rejects with a step up authorization; neither may be the
|
|
34
|
+
* caller the authority is granted to.
|
|
35
|
+
*/
|
|
36
|
+
export interface AuthorityGrantChange {
|
|
37
|
+
readonly changeId: string;
|
|
38
|
+
readonly action: AuthorityGrantChangeAction;
|
|
39
|
+
readonly callerId: string;
|
|
40
|
+
readonly capability: string;
|
|
41
|
+
readonly limits?: Readonly<Record<string, AuthorityGrantLimit>>;
|
|
42
|
+
/** grant only. Defaults to the approval time. */
|
|
43
|
+
readonly validFrom?: Date;
|
|
44
|
+
/** grant only, required. */
|
|
45
|
+
readonly validUntil?: Date;
|
|
46
|
+
readonly reason: string;
|
|
47
|
+
readonly proposedBy: string;
|
|
48
|
+
readonly proposedAt: Date;
|
|
49
|
+
readonly status: PendingPolicyChangeStatus;
|
|
50
|
+
readonly resolvedBy?: string;
|
|
51
|
+
readonly resolvedAt?: Date;
|
|
52
|
+
readonly rejectionReason?: string;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=authority-grant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authority-grant.d.ts","sourceRoot":"","sources":["../../src/domain/authority-grant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,mEAAmE;IACnE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,wEAAwE;IACxE,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEhE,0BAA0B;IAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IAEzB,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAE1B,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,0BAA0B,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAChE,iDAAiD;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAC1B,4BAA4B;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authority-grant.js","sourceRoot":"","sources":["../../src/domain/authority-grant.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parmana Trust Core
|
|
3
|
+
*
|
|
4
|
+
* Authority
|
|
5
|
+
*
|
|
6
|
+
* Represents the entity empowered to authorize
|
|
7
|
+
* execution within a trust domain.
|
|
8
|
+
*
|
|
9
|
+
* Authority is immutable once issued.
|
|
10
|
+
*/
|
|
11
|
+
export interface Authority {
|
|
12
|
+
/**
|
|
13
|
+
* Unique Authority identifier.
|
|
14
|
+
*/
|
|
15
|
+
readonly authorityId: string;
|
|
16
|
+
/**
|
|
17
|
+
* Type of authority.
|
|
18
|
+
*/
|
|
19
|
+
readonly authorityType: AuthorityType;
|
|
20
|
+
/**
|
|
21
|
+
* Principal identifier.
|
|
22
|
+
*/
|
|
23
|
+
readonly principalId: string;
|
|
24
|
+
/**
|
|
25
|
+
* Human-readable display name.
|
|
26
|
+
*/
|
|
27
|
+
readonly displayName?: string;
|
|
28
|
+
/**
|
|
29
|
+
* UTC timestamp when Authority became effective.
|
|
30
|
+
*/
|
|
31
|
+
readonly issuedAt: Date;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Supported Authority types.
|
|
35
|
+
*/
|
|
36
|
+
export declare enum AuthorityType {
|
|
37
|
+
USER = "USER",
|
|
38
|
+
ROLE = "ROLE",
|
|
39
|
+
SERVICE = "SERVICE",
|
|
40
|
+
ORGANIZATION = "ORGANIZATION"
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=authority.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../../src/domain/authority.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,IAAI,SAAS;IAEb,IAAI,SAAS;IAEb,OAAO,YAAY;IAEnB,YAAY,iBAAiB;CAC9B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supported Authority types.
|
|
3
|
+
*/
|
|
4
|
+
export var AuthorityType;
|
|
5
|
+
(function (AuthorityType) {
|
|
6
|
+
AuthorityType["USER"] = "USER";
|
|
7
|
+
AuthorityType["ROLE"] = "ROLE";
|
|
8
|
+
AuthorityType["SERVICE"] = "SERVICE";
|
|
9
|
+
AuthorityType["ORGANIZATION"] = "ORGANIZATION";
|
|
10
|
+
})(AuthorityType || (AuthorityType = {}));
|
|
11
|
+
//# sourceMappingURL=authority.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authority.js","sourceRoot":"","sources":["../../src/domain/authority.ts"],"names":[],"mappings":"AAqCA;;GAEG;AACH,MAAM,CAAN,IAAY,aAQX;AARD,WAAY,aAAa;IACvB,8BAAa,CAAA;IAEb,8BAAa,CAAA;IAEb,oCAAmB,CAAA;IAEnB,8CAA6B,CAAA;AAC/B,CAAC,EARW,aAAa,KAAb,aAAa,QAQxB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parmana Trust Core
|
|
3
|
+
*
|
|
4
|
+
* Authorization
|
|
5
|
+
*
|
|
6
|
+
* Immutable trust artifact proving that an Authority
|
|
7
|
+
* granted approval for an intended execution.
|
|
8
|
+
*
|
|
9
|
+
* Authorization is part of the canonical
|
|
10
|
+
* Execution Trust Chain.
|
|
11
|
+
*
|
|
12
|
+
* Authority
|
|
13
|
+
* ↓
|
|
14
|
+
* Authorization
|
|
15
|
+
* ↓
|
|
16
|
+
* Intent
|
|
17
|
+
* ↓
|
|
18
|
+
* Policy
|
|
19
|
+
* ↓
|
|
20
|
+
* Decision
|
|
21
|
+
*/
|
|
22
|
+
export interface Authorization {
|
|
23
|
+
/**
|
|
24
|
+
* Unique Authorization identifier.
|
|
25
|
+
*/
|
|
26
|
+
readonly authorizationId: string;
|
|
27
|
+
/**
|
|
28
|
+
* Authority issuing this Authorization.
|
|
29
|
+
*/
|
|
30
|
+
readonly authorityId: string;
|
|
31
|
+
/**
|
|
32
|
+
* Business purpose for which the Authorization
|
|
33
|
+
* was granted.
|
|
34
|
+
*
|
|
35
|
+
* Examples:
|
|
36
|
+
* - Approve vendor payment
|
|
37
|
+
* - Authorize production deployment
|
|
38
|
+
* - Approve account closure
|
|
39
|
+
*/
|
|
40
|
+
readonly purpose: string;
|
|
41
|
+
/**
|
|
42
|
+
* UTC timestamp when the Authorization
|
|
43
|
+
* was issued.
|
|
44
|
+
*/
|
|
45
|
+
readonly issuedAt: Date;
|
|
46
|
+
/**
|
|
47
|
+
* Optional expiration timestamp.
|
|
48
|
+
*
|
|
49
|
+
* After this time the Authorization
|
|
50
|
+
* is no longer valid.
|
|
51
|
+
*/
|
|
52
|
+
readonly expiresAt?: Date;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=authorization.d.ts.map
|