@tinycloud/cli 0.9.1-beta.2 → 0.9.1-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18036,9 +18036,9 @@ function verifyCompactUcanAuthorization(authorization, expectedCid) {
18036
18036
  const segments = authorization.split(".");
18037
18037
  if (segments.length !== 3 || segments.some((segment) => segment.length === 0)) throw new TypeError("compact Authorization must contain three segments");
18038
18038
  const [headerSegment, payloadSegment, signatureSegment] = segments;
18039
- const headerBytes = decodeBase64Url(headerSegment);
18040
- const payloadBytes = decodeBase64Url(payloadSegment);
18041
- const signature = decodeBase64Url(signatureSegment);
18039
+ const headerBytes = fromBase64Url(headerSegment);
18040
+ const payloadBytes = fromBase64Url(payloadSegment);
18041
+ const signature = fromBase64Url(signatureSegment);
18042
18042
  const decoder = new TextDecoder("utf-8", { fatal: true });
18043
18043
  const header = JSON.parse(decoder.decode(headerBytes));
18044
18044
  const payload = JSON.parse(decoder.decode(payloadBytes));
@@ -18051,7 +18051,7 @@ function verifyCompactUcanAuthorization(authorization, expectedCid) {
18051
18051
  if (typeof payload.iss !== "string" || typeof payload.aud !== "string" || typeof payload.nnc !== "string" || !Number.isInteger(payload.nbf) || !Number.isInteger(payload.exp) || payload.nbf >= payload.exp || !Array.isArray(payload.prf) || payload.prf.some((proof) => typeof proof !== "string") || !Array.isArray(payload.fct) || payload.fct.length !== 1) throw new TypeError("compact Authorization payload is invalid");
18052
18052
  const principal = payload.iss.split("#", 1)[0];
18053
18053
  const publicKey = ed25519PublicKeyFromDidKey(principal);
18054
- if (!equal(publicKey, decodeBase64Url(jwk.x))) throw new TypeError("compact Authorization JWK does not bind issuer");
18054
+ if (!equal(publicKey, fromBase64Url(jwk.x))) throw new TypeError("compact Authorization JWK does not bind issuer");
18055
18055
  if (!ed25519.verify(signature, new TextEncoder().encode(`${headerSegment}.${payloadSegment}`), publicKey, { zip215: false })) throw new TypeError("compact Authorization signature is invalid");
18056
18056
  const cid2 = CID.createV1(85, create(30, blake3(new TextEncoder().encode(authorization)))).toString();
18057
18057
  if (expectedCid !== void 0 && cid2 !== expectedCid) throw new TypeError("compact Authorization CID mismatch");
@@ -18064,13 +18064,6 @@ function object(value, label) {
18064
18064
  function assertExactKeys(value, keys, label) {
18065
18065
  if (Object.keys(value).length !== keys.length || Object.keys(value).some((key) => !keys.includes(key))) throw new TypeError(`${label} has unknown or missing fields`);
18066
18066
  }
18067
- function decodeBase64Url(value) {
18068
- if (!/^[A-Za-z0-9_-]+$/.test(value) || value.length % 4 === 1) throw new TypeError("compact Authorization segment is not base64url");
18069
- const bytes3 = typeof Buffer !== "undefined" ? new Uint8Array(Buffer.from(value, "base64url")) : Uint8Array.from(atob(value.replace(/-/g, "+").replace(/_/g, "/").padEnd(Math.ceil(value.length / 4) * 4, "=")), (character) => character.charCodeAt(0));
18070
- const encoded = typeof Buffer !== "undefined" ? Buffer.from(bytes3).toString("base64url") : btoa(String.fromCharCode(...bytes3)).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
18071
- if (encoded !== value) throw new TypeError("compact Authorization segment is not canonical");
18072
- return bytes3;
18073
- }
18074
18067
  function equal(left, right) {
18075
18068
  return left.length === right.length && left.every((byte, index) => byte === right[index]);
18076
18069
  }
@@ -26075,7 +26068,7 @@ async function verifyPkhSignature(did, payload, signature) {
26075
26068
  }
26076
26069
  function verifyDidKeySignature(did, payload, signature) {
26077
26070
  const publicKey = ed25519PublicKeyFromDidKey2(did);
26078
- const signatureBytes = decodeBase64Url3(signature);
26071
+ const signatureBytes = decodeBase64Url4(signature);
26079
26072
  if (signatureBytes.length !== 64) {
26080
26073
  throw new LocationRecordValidationError(
26081
26074
  "did:key signature must be a base64url Ed25519 signature"
@@ -26105,7 +26098,7 @@ function ed25519PublicKeyFromDidKey2(did) {
26105
26098
  "did:key must be an Ed25519 public key"
26106
26099
  );
26107
26100
  }
26108
- function decodeBase64Url3(value) {
26101
+ function decodeBase64Url4(value) {
26109
26102
  const alphabet2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
26110
26103
  const bytes2 = [];
26111
26104
  let buffer = 0;