@tinycloud/node-sdk 2.4.0-beta.1 → 2.4.0-beta.2

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.cjs CHANGED
@@ -17126,6 +17126,7 @@ __export(index_exports, {
17126
17126
  expandPermissionEntries: () => import_sdk_core9.expandPermissionEntries,
17127
17127
  expandPermissionEntry: () => import_sdk_core9.expandPermissionEntry,
17128
17128
  generateRandomReceiverKey: () => import_sdk_core14.generateRandomReceiverKey,
17129
+ grantAuthRequest: () => grantAuthRequest,
17129
17130
  hexDecode: () => import_sdk_core14.hexDecode,
17130
17131
  hexEncode: () => import_sdk_core14.hexEncode,
17131
17132
  isCapabilitySubset: () => import_sdk_core9.isCapabilitySubset,
@@ -21708,6 +21709,32 @@ var FileSessionStorage = class {
21708
21709
  var import_sdk_core9 = require("@tinycloud/sdk-core");
21709
21710
 
21710
21711
  // src/delegation.ts
21712
+ async function grantAuthRequest(authority, request, options) {
21713
+ if (request.kind !== "tinycloud.auth.request") {
21714
+ throw new Error(
21715
+ `grantAuthRequest expects a tinycloud.auth.request artifact, got "${request.kind}".`
21716
+ );
21717
+ }
21718
+ if (!Array.isArray(request.requested) || request.requested.length === 0) {
21719
+ throw new Error("grantAuthRequest request has no requested capabilities.");
21720
+ }
21721
+ const expiry = options?.expiry ?? request.requestedExpiry;
21722
+ const result = await authority.delegateTo(
21723
+ request.sessionDid,
21724
+ request.requested,
21725
+ expiry !== void 0 ? { expiry } : void 0
21726
+ );
21727
+ return {
21728
+ kind: "tinycloud.auth.delegation",
21729
+ version: 1,
21730
+ requestId: request.requestId,
21731
+ delegationCid: result.delegation.cid,
21732
+ delegation: result.delegation,
21733
+ permissions: request.requested,
21734
+ expiry: result.delegation.expiry.toISOString(),
21735
+ prompted: result.prompted
21736
+ };
21737
+ }
21711
21738
  function serializeDelegation(delegation) {
21712
21739
  return JSON.stringify({
21713
21740
  ...delegation,
@@ -21838,6 +21865,7 @@ var import_sdk_core20 = require("@tinycloud/sdk-core");
21838
21865
  expandPermissionEntries,
21839
21866
  expandPermissionEntry,
21840
21867
  generateRandomReceiverKey,
21868
+ grantAuthRequest,
21841
21869
  hexDecode,
21842
21870
  hexEncode,
21843
21871
  isCapabilitySubset,