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