@tinycloud/sdk-core 3.0.0-beta.1 → 3.0.0-beta.5

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.
@@ -1,5 +1,5 @@
1
- import { P as PolicyEngineRecord, S as SignedObjectSigner, a as Policy, U as UnsignedPolicyEngineRecord } from '../credential-admission-C_cO1QqB.cjs';
2
- export { A as ATTESTED_ENFORCER_BINDING_V2_SCHEMA, b as AdmitPolicyCredentialV3Input, B as BuildPolicyCredentialPresentationV3Input, C as CONTENT_SOURCE_V1_DOMAIN, c as CompactPolicyInvocationInput, d as CompactUcanAuthorizationV1, E as ED25519_JCS_SIGNATURE_SUITE, e as EIP191_JCS_SIGNATURE_SUITE, J as JsonObject, L as LAST_V2_CREATE_AT, f as LAST_V2_READ_AT, M as MAX_LEGACY_ENVELOPE_EXPIRES_AT, N as NATIVE_PROJECTION_V1_DOMAIN, g as POLICY_CAPABILITY_V1_DOMAIN, h as POLICY_CAPABILITY_V1_SCHEMA, i as POLICY_CREDENTIAL_REQUIREMENT_V1_TYPE, j as POLICY_ENFORCEMENT_DELEGATION_V2_SCHEMA, k as POLICY_ENGINE_RECORD_SCHEMA, l as POLICY_PRESENTATION_V3_DOMAIN, m as POLICY_PRESENTATION_V3_SCHEMA, n as POLICY_SCHEMA, o as POLICY_SESSION_UCAN_V1_PROFILE, p as POLICY_STATUS_SCHEMA, q as POLICY_V1_DOMAIN, r as POLICY_V1_SCHEMA, s as POLICY_V2_DOMAIN, t as POLICY_V2_SCHEMA, u as PolicyChallengeV3, v as PolicyCredentialAdmissionV3, w as PolicyCredentialPresentationV3, x as PolicyCredentialRequirementV1, y as PolicyRootStatusV3, z as PolicySessionUcanV1, D as PolicyStatus, R as ROOT_REVOCATION_V1_DOMAIN, F as ROOT_REVOCATION_V1_SCHEMA, G as ROOT_STATUS_CHECKPOINT_V1_SCHEMA, H as ROOT_STATUS_RENEWAL_V1_DOMAIN, I as ROOT_STATUS_V1_DOMAIN, K as SignCompactUcanAuthorizationInput, O as SignCompactUcanRootAuthorizationInput, Q as SignatureMaterialError, T as SignatureSuite, V as SignatureVerificationError, W as SignedObjectCanonicalizationError, X as SignedObjectDigestError, Y as SignedObjectErrorCode, Z as SignedObjectIdError, _ as SignedObjectKind, $ as SignedObjectMaterial, a0 as SignedObjectProfileError, a1 as SignedObjectSchemaError, a2 as SignedObjectSignature, a3 as SignedObjectVerificationResult, a4 as SignedPolicyObject, a5 as SigningKeyBindingError, a6 as UnifiedContentSource, a7 as UnifiedEncryptionCapability, a8 as UnifiedKvCapability, a9 as UnifiedNativeCapability, aa as UnifiedPolicyCapability, ab as UnifiedPolicyV1, ac as UnifiedPolicyV2, ad as UnifiedResourceSelector, ae as UnsignedPolicy, af as UnsignedPolicyObject, ag as UnsignedPolicyStatus, ah as UnsignedUnifiedPolicyV2, ai as UnsupportedSignatureSuiteError, aj as admitPolicyCredentialV3, ak as buildPolicyCredentialPresentationV3, al as canonicalizeSignedObjectUnsigned, am as canonicalizeUnifiedPolicyCapability, an as compactAttenuationContains, ao as contentSourceDigestHex, ap as createAndSignPolicy, aq as createAndSignPolicyEngineRecord, ar as createAndSignPolicyStatus, as as createAndSignSignedObject, at as createCompactPolicyDescendant, au as createCompactPolicyInvocation, av as deriveSignedObjectMaterial, aw as getPolicyRootStatusV3, ax as mintPolicySessionV3, ay as normalizeUnifiedPolicyCapability, az as parseCompactUcanAuthorization, aA as parsePolicySessionUcan, aB as policyCidFromCanonicalBytes, aC as policyDigestHex, aD as policyIdForDigestHex, aE as policyV2DigestHex, aF as projectUnifiedPolicyCapabilities, aG as projectUnifiedPolicyCapability, aH as renewPolicyRootStatusV3, aI as requestPolicyChallengeV3, aJ as revokePolicyRootV3, aK as signCompactUcanAuthorization, aL as signCompactUcanRootAuthorization, aM as signedObjectIdFor, aN as toSignedObjectError, aO as unifiedNativeProjectionHashHex, aP as unifiedPolicyCapabilityContains, aQ as unifiedPolicyCapabilityDigestHex, aR as unifiedPolicyCapabilityFromNative, aS as validatePolicyCredentialRequirementV1, aT as validatePolicyEngineRecordSigned, aU as validatePolicyEngineRecordSignedShape, aV as validatePolicyEngineRecordUnsigned, aW as validatePolicySigned, aX as validatePolicySignedShape, aY as validatePolicyStatusSigned, aZ as validatePolicyStatusSignedShape, a_ as validatePolicyStatusUnsigned, a$ as validatePolicyUnsigned, b0 as validateUnifiedPolicyV2, b1 as verifyPolicy, b2 as verifyPolicyEngineRecord, b3 as verifyPolicyRootRevocationV3, b4 as verifyPolicyRootStatusCheckpointV3, b5 as verifyPolicyStatus, b6 as verifySignedObject } from '../credential-admission-C_cO1QqB.cjs';
1
+ import { P as PolicyEngineRecord, S as SignedObjectSigner, a as Policy, U as UnsignedPolicyEngineRecord } from '../credential-admission-BVUC6kdw.cjs';
2
+ export { A as ATTESTED_ENFORCER_BINDING_V2_SCHEMA, b as AdmitPolicyCredentialV3Input, c as AdmitPolicyCredentialV4Input, B as BuildPolicyCredentialPresentationV3Input, d as BuildPolicyCredentialPresentationV4Input, C as CONTENT_SOURCE_V1_DOMAIN, e as CompactPolicyInvocationInput, f as CompactUcanAuthorizationV1, E as ED25519_JCS_SIGNATURE_SUITE, g as EIP191_JCS_SIGNATURE_SUITE, J as JsonObject, L as LAST_V2_CREATE_AT, h as LAST_V2_READ_AT, M as MAX_LEGACY_ENVELOPE_EXPIRES_AT, N as NATIVE_PROJECTION_V1_DOMAIN, i as POLICY_CAPABILITY_V1_DOMAIN, j as POLICY_CAPABILITY_V1_SCHEMA, k as POLICY_CREDENTIAL_REQUIREMENT_V1_TYPE, l as POLICY_ENFORCEMENT_DELEGATION_V2_SCHEMA, m as POLICY_ENGINE_RECORD_SCHEMA, n as POLICY_PRESENTATION_V3_DOMAIN, o as POLICY_PRESENTATION_V3_SCHEMA, p as POLICY_PRESENTATION_V4_DOMAIN, q as POLICY_PRESENTATION_V4_SCHEMA, r as POLICY_SCHEMA, s as POLICY_SESSION_UCAN_V1_PROFILE, t as POLICY_STATUS_SCHEMA, u as POLICY_V1_DOMAIN, v as POLICY_V1_SCHEMA, w as POLICY_V2_DOMAIN, x as POLICY_V2_SCHEMA, y as PolicyChallengeV3, z as PolicyCredentialAdmissionV3, D as PolicyCredentialAdmissionV4, F as PolicyCredentialPresentationV3, G as PolicyCredentialPresentationV4, H as PolicyCredentialRequirementV1, I as PolicyRootStatusV3, K as PolicySessionUcanFactV1, O as PolicySessionUcanV1, Q as PolicyStatus, R as ROOT_REVOCATION_V1_DOMAIN, T as ROOT_REVOCATION_V1_SCHEMA, V as ROOT_STATUS_CHECKPOINT_V1_SCHEMA, W as ROOT_STATUS_RENEWAL_V1_DOMAIN, X as ROOT_STATUS_V1_DOMAIN, Y as SignCompactUcanAuthorizationInput, Z as SignCompactUcanRootAuthorizationInput, _ as SignatureMaterialError, $ as SignatureSuite, a0 as SignatureVerificationError, a1 as SignedObjectCanonicalizationError, a2 as SignedObjectDigestError, a3 as SignedObjectErrorCode, a4 as SignedObjectIdError, a5 as SignedObjectKind, a6 as SignedObjectMaterial, a7 as SignedObjectProfileError, a8 as SignedObjectSchemaError, a9 as SignedObjectSignature, aa as SignedObjectVerificationResult, ab as SignedPolicyObject, ac as SigningKeyBindingError, ad as UnifiedContentSource, ae as UnifiedEncryptionCapability, af as UnifiedKvCapability, ag as UnifiedNativeCapability, ah as UnifiedPolicyCapability, ai as UnifiedPolicyV1, aj as UnifiedPolicyV2, ak as UnifiedResourceSelector, al as UnsignedPolicy, am as UnsignedPolicyCredentialPresentationV4, an as UnsignedPolicyObject, ao as UnsignedPolicyStatus, ap as UnsignedUnifiedPolicyV2, aq as UnsupportedSignatureSuiteError, ar as admitPolicyCredentialV3, as as admitPolicyCredentialV4, at as buildPolicyCredentialPresentationV3, au as buildPolicyCredentialPresentationV4, av as canonicalizeSignedObjectUnsigned, aw as canonicalizeUnifiedPolicyCapability, ax as compactAttenuationContains, ay as contentSourceDigestHex, az as createAndSignPolicy, aA as createAndSignPolicyEngineRecord, aB as createAndSignPolicyStatus, aC as createAndSignSignedObject, aD as createCompactPolicyDescendant, aE as createCompactPolicyInvocation, aF as deriveSignedObjectMaterial, aG as getPolicyRootStatusV3, aH as issuedCredentialEnvelopeFromVerified, aI as mintPolicySessionV3, aJ as normalizeUnifiedPolicyCapability, aK as parseCompactUcanAuthorization, aL as parsePolicySessionUcan, aM as policyCidFromCanonicalBytes, aN as policyDigestHex, aO as policyIdForDigestHex, aP as policyV2DigestHex, aQ as projectUnifiedPolicyCapabilities, aR as projectUnifiedPolicyCapability, aS as renewPolicyRootStatusV3, aT as requestPolicyChallengeV3, aU as revokePolicyRootV3, aV as signCompactUcanAuthorization, aW as signCompactUcanRootAuthorization, aX as signPolicyCredentialPresentationV4, aY as signedObjectIdFor, aZ as toSignedObjectError, a_ as unifiedNativeProjectionHashHex, a$ as unifiedPolicyCapabilityContains, b0 as unifiedPolicyCapabilityDigestHex, b1 as unifiedPolicyCapabilityFromNative, b2 as validatePolicyCredentialRequirementV1, b3 as validatePolicyEngineRecordSigned, b4 as validatePolicyEngineRecordSignedShape, b5 as validatePolicyEngineRecordUnsigned, b6 as validatePolicySigned, b7 as validatePolicySignedShape, b8 as validatePolicyStatusSigned, b9 as validatePolicyStatusSignedShape, ba as validatePolicyStatusUnsigned, bb as validatePolicyUnsigned, bc as validateUnifiedPolicyV2, bd as verifyPolicy, be as verifyPolicyEngineRecord, bf as verifyPolicyRootRevocationV3, bg as verifyPolicyRootStatusCheckpointV3, bh as verifyPolicyStatus, bi as verifySignedObject } from '../credential-admission-BVUC6kdw.cjs';
3
3
  import { J as JsonObject, P as PolicyCapabilityError } from '../capability-BjzXwtNw.cjs';
4
4
  export { a as JsonValue, b as PolicyCapability, c as PolicyCapabilityErrorCode, d as canonicalizePolicyCapability, j as jcsCanonicalize, n as normalizeJson, e as normalizePolicyCapability, p as policyCapabilityContains, f as policyCapabilityDigestHex, s as serializeJcsJson } from '../capability-BjzXwtNw.cjs';
5
5
  import 'zod';
@@ -1,5 +1,5 @@
1
- import { P as PolicyEngineRecord, S as SignedObjectSigner, a as Policy, U as UnsignedPolicyEngineRecord } from '../credential-admission-cvHe-HUC.js';
2
- export { A as ATTESTED_ENFORCER_BINDING_V2_SCHEMA, b as AdmitPolicyCredentialV3Input, B as BuildPolicyCredentialPresentationV3Input, C as CONTENT_SOURCE_V1_DOMAIN, c as CompactPolicyInvocationInput, d as CompactUcanAuthorizationV1, E as ED25519_JCS_SIGNATURE_SUITE, e as EIP191_JCS_SIGNATURE_SUITE, J as JsonObject, L as LAST_V2_CREATE_AT, f as LAST_V2_READ_AT, M as MAX_LEGACY_ENVELOPE_EXPIRES_AT, N as NATIVE_PROJECTION_V1_DOMAIN, g as POLICY_CAPABILITY_V1_DOMAIN, h as POLICY_CAPABILITY_V1_SCHEMA, i as POLICY_CREDENTIAL_REQUIREMENT_V1_TYPE, j as POLICY_ENFORCEMENT_DELEGATION_V2_SCHEMA, k as POLICY_ENGINE_RECORD_SCHEMA, l as POLICY_PRESENTATION_V3_DOMAIN, m as POLICY_PRESENTATION_V3_SCHEMA, n as POLICY_SCHEMA, o as POLICY_SESSION_UCAN_V1_PROFILE, p as POLICY_STATUS_SCHEMA, q as POLICY_V1_DOMAIN, r as POLICY_V1_SCHEMA, s as POLICY_V2_DOMAIN, t as POLICY_V2_SCHEMA, u as PolicyChallengeV3, v as PolicyCredentialAdmissionV3, w as PolicyCredentialPresentationV3, x as PolicyCredentialRequirementV1, y as PolicyRootStatusV3, z as PolicySessionUcanV1, D as PolicyStatus, R as ROOT_REVOCATION_V1_DOMAIN, F as ROOT_REVOCATION_V1_SCHEMA, G as ROOT_STATUS_CHECKPOINT_V1_SCHEMA, H as ROOT_STATUS_RENEWAL_V1_DOMAIN, I as ROOT_STATUS_V1_DOMAIN, K as SignCompactUcanAuthorizationInput, O as SignCompactUcanRootAuthorizationInput, Q as SignatureMaterialError, T as SignatureSuite, V as SignatureVerificationError, W as SignedObjectCanonicalizationError, X as SignedObjectDigestError, Y as SignedObjectErrorCode, Z as SignedObjectIdError, _ as SignedObjectKind, $ as SignedObjectMaterial, a0 as SignedObjectProfileError, a1 as SignedObjectSchemaError, a2 as SignedObjectSignature, a3 as SignedObjectVerificationResult, a4 as SignedPolicyObject, a5 as SigningKeyBindingError, a6 as UnifiedContentSource, a7 as UnifiedEncryptionCapability, a8 as UnifiedKvCapability, a9 as UnifiedNativeCapability, aa as UnifiedPolicyCapability, ab as UnifiedPolicyV1, ac as UnifiedPolicyV2, ad as UnifiedResourceSelector, ae as UnsignedPolicy, af as UnsignedPolicyObject, ag as UnsignedPolicyStatus, ah as UnsignedUnifiedPolicyV2, ai as UnsupportedSignatureSuiteError, aj as admitPolicyCredentialV3, ak as buildPolicyCredentialPresentationV3, al as canonicalizeSignedObjectUnsigned, am as canonicalizeUnifiedPolicyCapability, an as compactAttenuationContains, ao as contentSourceDigestHex, ap as createAndSignPolicy, aq as createAndSignPolicyEngineRecord, ar as createAndSignPolicyStatus, as as createAndSignSignedObject, at as createCompactPolicyDescendant, au as createCompactPolicyInvocation, av as deriveSignedObjectMaterial, aw as getPolicyRootStatusV3, ax as mintPolicySessionV3, ay as normalizeUnifiedPolicyCapability, az as parseCompactUcanAuthorization, aA as parsePolicySessionUcan, aB as policyCidFromCanonicalBytes, aC as policyDigestHex, aD as policyIdForDigestHex, aE as policyV2DigestHex, aF as projectUnifiedPolicyCapabilities, aG as projectUnifiedPolicyCapability, aH as renewPolicyRootStatusV3, aI as requestPolicyChallengeV3, aJ as revokePolicyRootV3, aK as signCompactUcanAuthorization, aL as signCompactUcanRootAuthorization, aM as signedObjectIdFor, aN as toSignedObjectError, aO as unifiedNativeProjectionHashHex, aP as unifiedPolicyCapabilityContains, aQ as unifiedPolicyCapabilityDigestHex, aR as unifiedPolicyCapabilityFromNative, aS as validatePolicyCredentialRequirementV1, aT as validatePolicyEngineRecordSigned, aU as validatePolicyEngineRecordSignedShape, aV as validatePolicyEngineRecordUnsigned, aW as validatePolicySigned, aX as validatePolicySignedShape, aY as validatePolicyStatusSigned, aZ as validatePolicyStatusSignedShape, a_ as validatePolicyStatusUnsigned, a$ as validatePolicyUnsigned, b0 as validateUnifiedPolicyV2, b1 as verifyPolicy, b2 as verifyPolicyEngineRecord, b3 as verifyPolicyRootRevocationV3, b4 as verifyPolicyRootStatusCheckpointV3, b5 as verifyPolicyStatus, b6 as verifySignedObject } from '../credential-admission-cvHe-HUC.js';
1
+ import { P as PolicyEngineRecord, S as SignedObjectSigner, a as Policy, U as UnsignedPolicyEngineRecord } from '../credential-admission-BgvwOTIV.js';
2
+ export { A as ATTESTED_ENFORCER_BINDING_V2_SCHEMA, b as AdmitPolicyCredentialV3Input, c as AdmitPolicyCredentialV4Input, B as BuildPolicyCredentialPresentationV3Input, d as BuildPolicyCredentialPresentationV4Input, C as CONTENT_SOURCE_V1_DOMAIN, e as CompactPolicyInvocationInput, f as CompactUcanAuthorizationV1, E as ED25519_JCS_SIGNATURE_SUITE, g as EIP191_JCS_SIGNATURE_SUITE, J as JsonObject, L as LAST_V2_CREATE_AT, h as LAST_V2_READ_AT, M as MAX_LEGACY_ENVELOPE_EXPIRES_AT, N as NATIVE_PROJECTION_V1_DOMAIN, i as POLICY_CAPABILITY_V1_DOMAIN, j as POLICY_CAPABILITY_V1_SCHEMA, k as POLICY_CREDENTIAL_REQUIREMENT_V1_TYPE, l as POLICY_ENFORCEMENT_DELEGATION_V2_SCHEMA, m as POLICY_ENGINE_RECORD_SCHEMA, n as POLICY_PRESENTATION_V3_DOMAIN, o as POLICY_PRESENTATION_V3_SCHEMA, p as POLICY_PRESENTATION_V4_DOMAIN, q as POLICY_PRESENTATION_V4_SCHEMA, r as POLICY_SCHEMA, s as POLICY_SESSION_UCAN_V1_PROFILE, t as POLICY_STATUS_SCHEMA, u as POLICY_V1_DOMAIN, v as POLICY_V1_SCHEMA, w as POLICY_V2_DOMAIN, x as POLICY_V2_SCHEMA, y as PolicyChallengeV3, z as PolicyCredentialAdmissionV3, D as PolicyCredentialAdmissionV4, F as PolicyCredentialPresentationV3, G as PolicyCredentialPresentationV4, H as PolicyCredentialRequirementV1, I as PolicyRootStatusV3, K as PolicySessionUcanFactV1, O as PolicySessionUcanV1, Q as PolicyStatus, R as ROOT_REVOCATION_V1_DOMAIN, T as ROOT_REVOCATION_V1_SCHEMA, V as ROOT_STATUS_CHECKPOINT_V1_SCHEMA, W as ROOT_STATUS_RENEWAL_V1_DOMAIN, X as ROOT_STATUS_V1_DOMAIN, Y as SignCompactUcanAuthorizationInput, Z as SignCompactUcanRootAuthorizationInput, _ as SignatureMaterialError, $ as SignatureSuite, a0 as SignatureVerificationError, a1 as SignedObjectCanonicalizationError, a2 as SignedObjectDigestError, a3 as SignedObjectErrorCode, a4 as SignedObjectIdError, a5 as SignedObjectKind, a6 as SignedObjectMaterial, a7 as SignedObjectProfileError, a8 as SignedObjectSchemaError, a9 as SignedObjectSignature, aa as SignedObjectVerificationResult, ab as SignedPolicyObject, ac as SigningKeyBindingError, ad as UnifiedContentSource, ae as UnifiedEncryptionCapability, af as UnifiedKvCapability, ag as UnifiedNativeCapability, ah as UnifiedPolicyCapability, ai as UnifiedPolicyV1, aj as UnifiedPolicyV2, ak as UnifiedResourceSelector, al as UnsignedPolicy, am as UnsignedPolicyCredentialPresentationV4, an as UnsignedPolicyObject, ao as UnsignedPolicyStatus, ap as UnsignedUnifiedPolicyV2, aq as UnsupportedSignatureSuiteError, ar as admitPolicyCredentialV3, as as admitPolicyCredentialV4, at as buildPolicyCredentialPresentationV3, au as buildPolicyCredentialPresentationV4, av as canonicalizeSignedObjectUnsigned, aw as canonicalizeUnifiedPolicyCapability, ax as compactAttenuationContains, ay as contentSourceDigestHex, az as createAndSignPolicy, aA as createAndSignPolicyEngineRecord, aB as createAndSignPolicyStatus, aC as createAndSignSignedObject, aD as createCompactPolicyDescendant, aE as createCompactPolicyInvocation, aF as deriveSignedObjectMaterial, aG as getPolicyRootStatusV3, aH as issuedCredentialEnvelopeFromVerified, aI as mintPolicySessionV3, aJ as normalizeUnifiedPolicyCapability, aK as parseCompactUcanAuthorization, aL as parsePolicySessionUcan, aM as policyCidFromCanonicalBytes, aN as policyDigestHex, aO as policyIdForDigestHex, aP as policyV2DigestHex, aQ as projectUnifiedPolicyCapabilities, aR as projectUnifiedPolicyCapability, aS as renewPolicyRootStatusV3, aT as requestPolicyChallengeV3, aU as revokePolicyRootV3, aV as signCompactUcanAuthorization, aW as signCompactUcanRootAuthorization, aX as signPolicyCredentialPresentationV4, aY as signedObjectIdFor, aZ as toSignedObjectError, a_ as unifiedNativeProjectionHashHex, a$ as unifiedPolicyCapabilityContains, b0 as unifiedPolicyCapabilityDigestHex, b1 as unifiedPolicyCapabilityFromNative, b2 as validatePolicyCredentialRequirementV1, b3 as validatePolicyEngineRecordSigned, b4 as validatePolicyEngineRecordSignedShape, b5 as validatePolicyEngineRecordUnsigned, b6 as validatePolicySigned, b7 as validatePolicySignedShape, b8 as validatePolicyStatusSigned, b9 as validatePolicyStatusSignedShape, ba as validatePolicyStatusUnsigned, bb as validatePolicyUnsigned, bc as validateUnifiedPolicyV2, bd as verifyPolicy, be as verifyPolicyEngineRecord, bf as verifyPolicyRootRevocationV3, bg as verifyPolicyRootStatusCheckpointV3, bh as verifyPolicyStatus, bi as verifySignedObject } from '../credential-admission-BgvwOTIV.js';
3
3
  import { J as JsonObject, P as PolicyCapabilityError } from '../capability-BjzXwtNw.js';
4
4
  export { a as JsonValue, b as PolicyCapability, c as PolicyCapabilityErrorCode, d as canonicalizePolicyCapability, j as jcsCanonicalize, n as normalizeJson, e as normalizePolicyCapability, p as policyCapabilityContains, f as policyCapabilityDigestHex, s as serializeJcsJson } from '../capability-BjzXwtNw.js';
5
5
  import 'zod';
@@ -3213,6 +3213,7 @@ async function requestPolicyChallengeV3(input) {
3213
3213
  const response = await fetchFn(new URL("/share/v3/policy/challenges", input.nodeOrigin), {
3214
3214
  method: "POST",
3215
3215
  redirect: "error",
3216
+ signal: input.signal,
3216
3217
  headers: { accept: "application/json", "content-type": "application/json" },
3217
3218
  body: JSON.stringify({ policyCid: input.policyCid, recipientDid: input.recipientDid, requestedCapabilities: input.requestedCapabilities.map(normalizeUnifiedPolicyCapability) })
3218
3219
  });
@@ -3230,6 +3231,7 @@ async function mintPolicySessionV3(input) {
3230
3231
  const response = await fetchFn(new URL("/share/v3/policy/delegations", input.nodeOrigin), {
3231
3232
  method: "POST",
3232
3233
  redirect: "error",
3234
+ signal: input.signal,
3233
3235
  headers: { accept: "application/json", "content-type": "application/json" },
3234
3236
  body: JSON.stringify({ policyCid: input.policyCid, challengeId: challenge.challengeId, nonce: challenge.nonce, claim: input.claim, presentation: input.presentation })
3235
3237
  });
@@ -3403,6 +3405,11 @@ var POLICY_SESSION_FACT_KEYS = [
3403
3405
  "issuanceAuditDigestHex",
3404
3406
  "remainingRedelegationDepth"
3405
3407
  ];
3408
+ var POLICY_SESSION_V4_AUDIT_FACT_KEYS = [
3409
+ "credentialIdAuditDigestHex",
3410
+ "presentationJtiAuditDigestHex"
3411
+ ];
3412
+ var LOWER_SHA256_HEX = /^[0-9a-f]{64}$/;
3406
3413
  var KV_ACTIONS = /* @__PURE__ */ new Set([
3407
3414
  "tinycloud.kv/get",
3408
3415
  "tinycloud.kv/list",
@@ -3795,9 +3802,13 @@ function parsePolicySessionUcan(authorization, expectedProofs) {
3795
3802
  if (expectedProofs !== void 0 && (parsed.payload.prf[0] !== expectedProofs[0] || parsed.payload.prf[1] !== expectedProofs[1]))
3796
3803
  throw new Error("policy session UCAN ordered proofs do not match");
3797
3804
  const factKeys = Object.keys(fact);
3798
- if (factKeys.length !== POLICY_SESSION_FACT_KEYS.length || factKeys.some((key) => !POLICY_SESSION_FACT_KEYS.includes(key)) || POLICY_SESSION_FACT_KEYS.some((key) => !(key in fact)))
3805
+ const hasLegacyFactShape = factKeys.length === POLICY_SESSION_FACT_KEYS.length && factKeys.every((key) => POLICY_SESSION_FACT_KEYS.includes(key)) && POLICY_SESSION_FACT_KEYS.every((key) => key in fact);
3806
+ const hasV4AuditFactShape = factKeys.length === POLICY_SESSION_FACT_KEYS.length + POLICY_SESSION_V4_AUDIT_FACT_KEYS.length && factKeys.every((key) => POLICY_SESSION_FACT_KEYS.includes(key) || POLICY_SESSION_V4_AUDIT_FACT_KEYS.includes(key)) && POLICY_SESSION_FACT_KEYS.every((key) => key in fact) && POLICY_SESSION_V4_AUDIT_FACT_KEYS.every((key) => key in fact);
3807
+ if (!hasLegacyFactShape && !hasV4AuditFactShape)
3799
3808
  throw new Error("policy session UCAN fact is incomplete");
3800
- if (fact.profile !== POLICY_SESSION_UCAN_V1_PROFILE || typeof fact.remainingRedelegationDepth !== "number" || !Number.isInteger(fact.remainingRedelegationDepth) || fact.remainingRedelegationDepth < 0 || fact.remainingRedelegationDepth > 8 || parsed.payload.exp - parsed.payload.nbf > 60 || parsed.payload.iss.split("#", 1)[0] !== fact.enforcerDid || parsed.payload.aud !== fact.recipientDid)
3809
+ if (hasV4AuditFactShape && (!LOWER_SHA256_HEX.test(fact.credentialIdAuditDigestHex) || !LOWER_SHA256_HEX.test(fact.presentationJtiAuditDigestHex)))
3810
+ throw new Error("policy session UCAN v4 audit facts are invalid");
3811
+ if (fact.profile !== POLICY_SESSION_UCAN_V1_PROFILE || typeof fact.remainingRedelegationDepth !== "number" || !Number.isInteger(fact.remainingRedelegationDepth) || fact.remainingRedelegationDepth < 0 || fact.remainingRedelegationDepth > 8 || parsed.payload.exp - parsed.payload.nbf > 60 || parsed.payload.iss.split("#", 1)[0] !== fact.nodeAudience || parsed.payload.aud !== fact.recipientDid)
3801
3812
  throw new Error("policy session UCAN fact is invalid");
3802
3813
  return {
3803
3814
  authorization,
@@ -3925,6 +3936,8 @@ var POLICY_V2_DOMAIN = "xyz.tinycloud.policy/policy/v2\0";
3925
3936
  var POLICY_CREDENTIAL_REQUIREMENT_V1_TYPE = "TinyCloudPolicyCredentialRequirement";
3926
3937
  var POLICY_PRESENTATION_V3_SCHEMA = "xyz.tinycloud.policy/presentation/v3";
3927
3938
  var POLICY_PRESENTATION_V3_DOMAIN = "xyz.tinycloud.policy/Presentation/v3\0";
3939
+ var POLICY_PRESENTATION_V4_SCHEMA = "xyz.tinycloud.policy/presentation/v4";
3940
+ var POLICY_PRESENTATION_V4_DOMAIN = "xyz.tinycloud.policy/Presentation/v4\0";
3928
3941
  function record(value, label) {
3929
3942
  if (typeof value !== "object" || value === null || Array.isArray(value)) {
3930
3943
  throw new Error(`${label} must be an object`);
@@ -4099,6 +4112,97 @@ function envelopeFromVerified(verified) {
4099
4112
  } = verified;
4100
4113
  return envelope;
4101
4114
  }
4115
+ function issuedCredentialEnvelopeFromVerified(verified) {
4116
+ return envelopeFromVerified(verified);
4117
+ }
4118
+ async function signPolicyCredentialPresentationV4(value, sign) {
4119
+ const item = record(value, "Policy presentation v4");
4120
+ exactKeys2(item, [
4121
+ "schema",
4122
+ "jti",
4123
+ "challengeId",
4124
+ "nonce",
4125
+ "policyCid",
4126
+ "nodeAudience",
4127
+ "holderDid",
4128
+ "subjectDid",
4129
+ "credentialDigest",
4130
+ "requirementDigest",
4131
+ "descriptorDigest",
4132
+ "requestedCapabilities",
4133
+ "issuedAt",
4134
+ "expiresAt"
4135
+ ], "Policy presentation v4");
4136
+ if (item.schema !== POLICY_PRESENTATION_V4_SCHEMA || item.holderDid !== item.subjectDid || !Array.isArray(item.requestedCapabilities)) throw new Error("Policy presentation v4 is invalid");
4137
+ const holderDid = nonEmpty(item.holderDid, "Policy presentation v4 holder DID");
4138
+ didKeyBytes(holderDid);
4139
+ const unsigned = Object.freeze({
4140
+ schema: POLICY_PRESENTATION_V4_SCHEMA,
4141
+ jti: nonEmpty(item.jti, "Policy presentation v4 jti"),
4142
+ challengeId: nonEmpty(item.challengeId, "Policy presentation v4 challenge"),
4143
+ nonce: nonEmpty(item.nonce, "Policy presentation v4 nonce"),
4144
+ policyCid: nonEmpty(item.policyCid, "Policy presentation v4 policy CID"),
4145
+ nodeAudience: nonEmpty(item.nodeAudience, "Policy presentation v4 audience"),
4146
+ holderDid,
4147
+ subjectDid: holderDid,
4148
+ credentialDigest: nonEmpty(item.credentialDigest, "Policy presentation v4 credential digest"),
4149
+ requirementDigest: nonEmpty(item.requirementDigest, "Policy presentation v4 requirement digest"),
4150
+ descriptorDigest: nonEmpty(item.descriptorDigest, "Policy presentation v4 descriptor digest"),
4151
+ // The low-level signer preserves the frozen wire bytes exactly. The
4152
+ // policy-aware builder performs capability normalization and containment.
4153
+ requestedCapabilities: Object.freeze(item.requestedCapabilities),
4154
+ issuedAt: date(item.issuedAt, "Policy presentation v4 issuedAt"),
4155
+ expiresAt: date(item.expiresAt, "Policy presentation v4 expiresAt")
4156
+ });
4157
+ const digest2 = sha2565(new TextEncoder().encode(
4158
+ POLICY_PRESENTATION_V4_DOMAIN + jcsCanonicalize(unsigned)
4159
+ ));
4160
+ const signature = await sign(digest2);
4161
+ if (signature.length !== 64 || !ed255193.verify(signature, digest2, didKeyBytes(holderDid))) throw new Error("policy presentation signature is invalid");
4162
+ return Object.freeze({
4163
+ ...unsigned,
4164
+ signature: Object.freeze({
4165
+ suite: "Ed25519",
4166
+ signerDid: holderDid,
4167
+ value: encodeBase64Url2(signature)
4168
+ })
4169
+ });
4170
+ }
4171
+ async function buildPolicyCredentialPresentationV4(input) {
4172
+ const policy = validateUnifiedPolicyV2(input.policy, input.policyCid);
4173
+ const requirement = validateCredentialRequirement(input.requirement);
4174
+ const commitment = policy.credentialRequirement;
4175
+ const requirementDigest = await credentialRequirementDigest(requirement);
4176
+ const credentialDigest = await sha256Base64Url(input.credential.credential);
4177
+ if (requirementDigest !== commitment.requirementDigest || input.credential.descriptorDigest !== commitment.descriptorDigest || input.credential.credentialDigest !== credentialDigest || input.credential.issuerDid !== commitment.issuerDid || input.credential.issuerKid !== commitment.issuerKid || jcsCanonicalize(input.credential.profile) !== jcsCanonicalize(commitment.profile) || jcsCanonicalize(input.credential.credentialType) !== jcsCanonicalize(commitment.credentialType)) throw new Error("credential does not match the signed Policy/v2 requirement");
4178
+ const requestedCapabilities = input.requestedCapabilities.map(normalizeUnifiedPolicyCapability);
4179
+ if (requestedCapabilities.length === 0 || requestedCapabilities.some((requested) => !policy.capabilityCeiling.some((authority) => unifiedPolicyCapabilityContains(authority, requested)))) throw new Error("requested capabilities exceed the signed Policy/v2 ceiling");
4180
+ const holderDid = input.credential.holderDid;
4181
+ if (input.challenge.policyCid !== input.policyCid || input.challenge.recipientDid !== holderDid || input.credential.subjectDid !== holderDid || typeof input.challenge.nodeAudience !== "string" || input.challenge.nodeAudience.length === 0 || typeof input.challenge.expiresAt !== "string" || !Number.isFinite(Date.parse(input.challenge.expiresAt))) throw new Error("policy challenge binding is invalid");
4182
+ const now = input.now ?? /* @__PURE__ */ new Date();
4183
+ const expiresAtMs = Math.min(
4184
+ now.getTime() + 6e4,
4185
+ Date.parse(input.challenge.expiresAt),
4186
+ Date.parse(input.credential.expiresAt)
4187
+ );
4188
+ if (expiresAtMs <= now.getTime()) throw new Error("policy challenge is expired");
4189
+ return signPolicyCredentialPresentationV4(Object.freeze({
4190
+ schema: POLICY_PRESENTATION_V4_SCHEMA,
4191
+ jti: input.jti ?? encodeBase64Url2(crypto.getRandomValues(new Uint8Array(16))),
4192
+ challengeId: input.challenge.challengeId,
4193
+ nonce: input.challenge.nonce,
4194
+ policyCid: input.policyCid,
4195
+ nodeAudience: input.challenge.nodeAudience,
4196
+ holderDid,
4197
+ subjectDid: holderDid,
4198
+ credentialDigest,
4199
+ requirementDigest,
4200
+ descriptorDigest: input.credential.descriptorDigest,
4201
+ requestedCapabilities: Object.freeze(requestedCapabilities),
4202
+ issuedAt: rfc3339Seconds(now),
4203
+ expiresAt: rfc3339Seconds(new Date(expiresAtMs))
4204
+ }), input.sign);
4205
+ }
4102
4206
  async function buildPolicyCredentialPresentationV3(input) {
4103
4207
  const policy = validateUnifiedPolicyV2(input.policy, input.policyCid);
4104
4208
  const requirement = validateCredentialRequirement(input.requirement);
@@ -4188,7 +4292,8 @@ async function admitPolicyCredentialV3(input) {
4188
4292
  policyCid: input.policyCid,
4189
4293
  recipientDid: input.credential.holderDid,
4190
4294
  requestedCapabilities: input.requestedCapabilities,
4191
- fetch: fetchFn
4295
+ fetch: fetchFn,
4296
+ signal: input.signal
4192
4297
  });
4193
4298
  const presentation = await buildPolicyCredentialPresentationV3({
4194
4299
  ...input,
@@ -4200,6 +4305,7 @@ async function admitPolicyCredentialV3(input) {
4200
4305
  {
4201
4306
  method: "POST",
4202
4307
  redirect: "error",
4308
+ signal: input.signal,
4203
4309
  headers: { accept: "application/json", "content-type": "application/json" },
4204
4310
  body: JSON.stringify({
4205
4311
  policyCid: input.policyCid,
@@ -4228,6 +4334,57 @@ async function admitPolicyCredentialV3(input) {
4228
4334
  if (session.cid !== value.sessionCid || session.aud !== input.credential.holderDid || session.fact.policyCid !== input.policyCid || session.fact.recipientDid !== input.credential.holderDid || session.fact.policyDelegationCid !== input.policyRootCid || session.fact.enforcementDelegationCid !== input.enforcementRootCid || jcsCanonicalize(session.att) !== jcsCanonicalize(expectedAttenuation)) {
4229
4335
  throw new Error("policy delegation signed binding is invalid");
4230
4336
  }
4337
+ input.signal?.throwIfAborted();
4338
+ return Object.freeze({ challenge, presentation, session });
4339
+ }
4340
+ function validatePolicyCredentialAdmissionV4Authority(session, expected) {
4341
+ if (session.iss.split("#", 1)[0] !== expected.nodeAudience || session.fact.nodeAudience !== expected.nodeAudience || session.fact.enforcerDid !== expected.enforcerDid) throw new Error("policy delegation authority binding is invalid");
4342
+ }
4343
+ async function admitPolicyCredentialV4(input) {
4344
+ const policy = validateUnifiedPolicyV2(input.policy, input.policyCid);
4345
+ const nodeOrigin = policyNodeOrigin(input.nodeOrigin);
4346
+ const fetchFn = input.fetch ?? globalThis.fetch.bind(globalThis);
4347
+ const challenge = await requestPolicyChallengeV3({
4348
+ nodeOrigin,
4349
+ policyCid: input.policyCid,
4350
+ recipientDid: input.credential.holderDid,
4351
+ requestedCapabilities: input.requestedCapabilities,
4352
+ fetch: fetchFn,
4353
+ signal: input.signal
4354
+ });
4355
+ const presentation = await buildPolicyCredentialPresentationV4({
4356
+ ...input,
4357
+ policy,
4358
+ challenge
4359
+ });
4360
+ const response = await fetchFn(new URL("/share/v3/policy/delegations", nodeOrigin), {
4361
+ method: "POST",
4362
+ redirect: "error",
4363
+ signal: input.signal,
4364
+ headers: { accept: "application/json", "content-type": "application/json" },
4365
+ body: JSON.stringify({
4366
+ policyCid: input.policyCid,
4367
+ challengeId: challenge.challengeId,
4368
+ nonce: challenge.nonce,
4369
+ requirement: validateCredentialRequirement(input.requirement),
4370
+ credential: envelopeFromVerified(input.credential),
4371
+ presentation
4372
+ })
4373
+ });
4374
+ if (!response.ok) throw new Error(`policy delegation rejected (${response.status})`);
4375
+ const value = record(await response.json(), "policy delegation");
4376
+ if (value.admitted !== true || typeof value.sessionCid !== "string" || typeof value.authorization !== "string") throw new Error("policy delegation response is invalid");
4377
+ const session = parsePolicySessionUcan(value.authorization, [
4378
+ input.policyRootCid,
4379
+ input.enforcementRootCid
4380
+ ]);
4381
+ const expectedAttenuation = compactAttenuationForPolicyCapabilities(input.requestedCapabilities);
4382
+ validatePolicyCredentialAdmissionV4Authority(session, {
4383
+ nodeAudience: input.expectedNodeAudience,
4384
+ enforcerDid: input.expectedEnforcerDid
4385
+ });
4386
+ if (session.cid !== value.sessionCid || session.aud !== input.credential.holderDid || session.fact.policyCid !== input.policyCid || session.fact.recipientDid !== input.credential.holderDid || session.fact.policyDelegationCid !== input.policyRootCid || session.fact.enforcementDelegationCid !== input.enforcementRootCid || jcsCanonicalize(session.att) !== jcsCanonicalize(expectedAttenuation)) throw new Error("policy delegation signed binding is invalid");
4387
+ input.signal?.throwIfAborted();
4231
4388
  return Object.freeze({ challenge, presentation, session });
4232
4389
  }
4233
4390
  export {
@@ -4247,6 +4404,8 @@ export {
4247
4404
  POLICY_ENGINE_RECORD_SCHEMA,
4248
4405
  POLICY_PRESENTATION_V3_DOMAIN,
4249
4406
  POLICY_PRESENTATION_V3_SCHEMA,
4407
+ POLICY_PRESENTATION_V4_DOMAIN,
4408
+ POLICY_PRESENTATION_V4_SCHEMA,
4250
4409
  POLICY_SCHEMA,
4251
4410
  POLICY_SESSION_UCAN_V1_PROFILE,
4252
4411
  POLICY_STATUS_SCHEMA,
@@ -4274,7 +4433,9 @@ export {
4274
4433
  UnsupportedSignatureSuiteError,
4275
4434
  W3C_VC_CREDENTIAL_VERIFIER,
4276
4435
  admitPolicyCredentialV3,
4436
+ admitPolicyCredentialV4,
4277
4437
  buildPolicyCredentialPresentationV3,
4438
+ buildPolicyCredentialPresentationV4,
4278
4439
  canonicalizePolicyCapability,
4279
4440
  canonicalizeSignedObjectUnsigned,
4280
4441
  canonicalizeUnifiedPolicyCapability,
@@ -4292,6 +4453,7 @@ export {
4292
4453
  createUnsignedPolicyEngineRecord,
4293
4454
  deriveSignedObjectMaterial,
4294
4455
  getPolicyRootStatusV3,
4456
+ issuedCredentialEnvelopeFromVerified,
4295
4457
  jcsCanonicalize,
4296
4458
  mintPolicySessionV3,
4297
4459
  normalizeJson,
@@ -4313,6 +4475,7 @@ export {
4313
4475
  serialize as serializeJcsJson,
4314
4476
  signCompactUcanAuthorization,
4315
4477
  signCompactUcanRootAuthorization,
4478
+ signPolicyCredentialPresentationV4,
4316
4479
  signedObjectIdFor,
4317
4480
  toSignedObjectError,
4318
4481
  unifiedNativeProjectionHashHex,