@tinycloud/operations 0.3.2-beta.9 → 0.3.3-beta.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.
@@ -335,28 +335,6 @@ function withCapabilitiesReadForSpaces(resources) {
335
335
  }))
336
336
  ]);
337
337
  }
338
- function accountRegistryPermissions() {
339
- return [
340
- {
341
- service: "tinycloud.kv",
342
- space: ACCOUNT_REGISTRY_SPACE,
343
- path: ACCOUNT_REGISTRY_PATH,
344
- actions: [KV.GET, KV.PUT, KV.LIST]
345
- },
346
- {
347
- service: "tinycloud.kv",
348
- space: ACCOUNT_REGISTRY_SPACE,
349
- path: "spaces/",
350
- actions: [KV.GET, KV.PUT, KV.LIST]
351
- },
352
- {
353
- service: "tinycloud.sql",
354
- space: ACCOUNT_REGISTRY_SPACE,
355
- path: "account",
356
- actions: [SQL.READ, SQL.WRITE, SQL.SCHEMA]
357
- }
358
- ];
359
- }
360
338
  function composeManifestRequest(inputs, options = {}) {
361
339
  if (!Array.isArray(inputs) || inputs.length === 0) {
362
340
  throw new Error("composeManifestRequest requires at least one manifest");
@@ -370,7 +348,12 @@ function composeManifestRequest(inputs, options = {}) {
370
348
  return explicit.flatMap((entry) => expandPermissionEntry(entry, prefix, space));
371
349
  });
372
350
  if (includeAccountRegistryPermissions) {
373
- resources.push(...accountRegistryPermissions());
351
+ resources.push(
352
+ ...ACCOUNT_MANIFEST_PERMISSIONS.map((resource) => ({
353
+ ...resource,
354
+ actions: [...resource.actions]
355
+ }))
356
+ );
374
357
  }
375
358
  const manifestsByAppId = /* @__PURE__ */ new Map();
376
359
  for (const manifest of manifests) {
@@ -398,7 +381,7 @@ function composeBootstrapSpaceManifest(space) {
398
381
  includeAccountRegistryPermissions: false
399
382
  });
400
383
  }
401
- var CAPABILITIES, KV, SQL, DUCKDB, CAPABILITIES2, HOOKS, ENCRYPTION, SPACE, DEFAULT_MANIFEST_SPACE, ACCOUNT_REGISTRY_SPACE, ACCOUNT_REGISTRY_PATH, SECRETS_SPACE, BOOTSTRAP_DEFAULT_SPACE, BOOTSTRAP_PUBLIC_SPACE, BOOTSTRAP_ENCRYPTION_NETWORK_NAME, BOOTSTRAP_ENCRYPTION_NETWORK_RESOURCE_TEMPLATE, DEFAULT_EXPIRY_MS, VAULT_PERMISSION_SERVICE, ENCRYPTION_PERMISSION_SERVICE, ENCRYPTION_MANIFEST_SPACE, NETWORK_CREATE_ACTION, BOOTSTRAP_SPACE_NAMES, TINYCLOUD_DEFAULT_SPACE_MANIFEST, TINYCLOUD_APPLICATIONS_SPACE_MANIFEST, TINYCLOUD_ACCOUNT_SPACE_MANIFEST, TINYCLOUD_SECRETS_BOOTSTRAP_MANIFEST, TINYCLOUD_PUBLIC_SPACE_MANIFEST, BOOTSTRAP_SPACE_MANIFESTS, BOOTSTRAP_PERSISTED_APPLICATION_MANIFESTS, ACCOUNT_INDEX_SCHEMA, SECRET_RECORDS_SCHEMA, BOOTSTRAP_MANIFEST, BOOTSTRAP_SESSION_REQUESTS, ACCOUNT_SESSION_RAW_ALLOWLIST, BOOTSTRAP_ALLOWLIST;
384
+ var CAPABILITIES, KV, SQL, DUCKDB, CAPABILITIES2, HOOKS, ENCRYPTION, SPACE, DEFAULT_MANIFEST_SPACE, ACCOUNT_REGISTRY_SPACE, ACCOUNT_REGISTRY_PATH, SECRETS_SPACE, BOOTSTRAP_DEFAULT_SPACE, BOOTSTRAP_PUBLIC_SPACE, BOOTSTRAP_ENCRYPTION_NETWORK_NAME, BOOTSTRAP_ENCRYPTION_NETWORK_RESOURCE_TEMPLATE, DEFAULT_EXPIRY_MS, VAULT_PERMISSION_SERVICE, ENCRYPTION_PERMISSION_SERVICE, ENCRYPTION_MANIFEST_SPACE, NETWORK_CREATE_ACTION, BOOTSTRAP_SPACE_NAMES, TINYCLOUD_DEFAULT_SPACE_MANIFEST, TINYCLOUD_APPLICATIONS_SPACE_MANIFEST, TINYCLOUD_ACCOUNT_SPACE_MANIFEST, TINYCLOUD_SECRETS_BOOTSTRAP_MANIFEST, TINYCLOUD_PUBLIC_SPACE_MANIFEST, BOOTSTRAP_SPACE_MANIFESTS, BOOTSTRAP_PERSISTED_APPLICATION_MANIFESTS, ACCOUNT_INDEX_SCHEMA, SECRET_RECORDS_SCHEMA, BOOTSTRAP_MANIFEST, ACCOUNT_MANIFEST_PERMISSIONS, BOOTSTRAP_DEFAULT_ONLY_SESSION_REQUEST, BOOTSTRAP_WIDENED_DEFAULT_SESSION_REQUEST, BOOTSTRAP_SESSION_REQUESTS, ACCOUNT_SESSION_RAW_ALLOWLIST, BOOTSTRAP_ALLOWLIST;
402
385
  var init_dist = __esm({
403
386
  "../bootstrap/dist/index.js"() {
404
387
  "use strict";
@@ -703,11 +686,60 @@ var init_dist = __esm({
703
686
  name: BOOTSTRAP_ENCRYPTION_NETWORK_NAME
704
687
  }
705
688
  };
689
+ ACCOUNT_MANIFEST_PERMISSIONS = Object.freeze([
690
+ {
691
+ service: "tinycloud.kv",
692
+ space: ACCOUNT_REGISTRY_SPACE,
693
+ path: ACCOUNT_REGISTRY_PATH,
694
+ actions: [KV.GET, KV.PUT, KV.LIST]
695
+ },
696
+ {
697
+ service: "tinycloud.kv",
698
+ space: ACCOUNT_REGISTRY_SPACE,
699
+ path: "spaces/",
700
+ actions: [KV.GET, KV.PUT, KV.LIST]
701
+ },
702
+ {
703
+ service: "tinycloud.kv",
704
+ space: ACCOUNT_REGISTRY_SPACE,
705
+ path: "system/bootstrap/complete",
706
+ actions: [KV.GET, KV.PUT]
707
+ },
708
+ {
709
+ service: "tinycloud.delegation",
710
+ space: ACCOUNT_REGISTRY_SPACE,
711
+ path: "",
712
+ actions: ["tinycloud.delegation/list"]
713
+ },
714
+ {
715
+ service: "tinycloud.sql",
716
+ space: ACCOUNT_REGISTRY_SPACE,
717
+ path: "account",
718
+ actions: [SQL.READ, SQL.WRITE, SQL.SCHEMA]
719
+ },
720
+ {
721
+ service: "tinycloud.capabilities",
722
+ space: ACCOUNT_REGISTRY_SPACE,
723
+ path: "",
724
+ actions: [CAPABILITIES2.READ]
725
+ }
726
+ ]);
727
+ BOOTSTRAP_DEFAULT_ONLY_SESSION_REQUEST = composeBootstrapSpaceManifest(BOOTSTRAP_DEFAULT_SPACE);
728
+ BOOTSTRAP_WIDENED_DEFAULT_SESSION_REQUEST = {
729
+ ...BOOTSTRAP_DEFAULT_ONLY_SESSION_REQUEST,
730
+ resources: [
731
+ ...BOOTSTRAP_DEFAULT_ONLY_SESSION_REQUEST.resources,
732
+ ...ACCOUNT_MANIFEST_PERMISSIONS.map((resource) => ({
733
+ ...resource,
734
+ actions: [...resource.actions]
735
+ }))
736
+ ]
737
+ };
706
738
  BOOTSTRAP_SESSION_REQUESTS = Object.freeze(
707
739
  Object.fromEntries(
708
740
  BOOTSTRAP_SPACE_NAMES.map((space) => [
709
741
  space,
710
- composeBootstrapSpaceManifest(space)
742
+ space === BOOTSTRAP_DEFAULT_SPACE ? BOOTSTRAP_WIDENED_DEFAULT_SESSION_REQUEST : composeBootstrapSpaceManifest(space)
711
743
  ])
712
744
  )
713
745
  );
@@ -6598,7 +6630,10 @@ var init_dist2 = __esm({
6598
6630
  const descriptor = usable.data;
6599
6631
  const networkPublicKey = base64Decode2(descriptor.publicEncryptionKey);
6600
6632
  const result = encryptToNetwork(this.crypto, {
6601
- networkId,
6633
+ // Discovery returns the node's canonical network identifier. Persist
6634
+ // that spelling in the envelope so a later response can be compared
6635
+ // byte-for-byte (notably for checksummed did:pkh principals).
6636
+ networkId: descriptor.networkId,
6602
6637
  networkPublicKey,
6603
6638
  plaintext,
6604
6639
  ...options?.aad !== void 0 ? { aad: options.aad } : {},