@tinycloud/node-sdk 2.10.0 → 2.11.0-beta.1
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/{core-B_i2KfID.d.cts → core-CQ_5wXQT.d.cts} +3 -13
- package/dist/{core-B_i2KfID.d.ts → core-CQ_5wXQT.d.ts} +3 -13
- package/dist/core.cjs +94 -17
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.cts +1 -1
- package/dist/core.d.ts +1 -1
- package/dist/core.js +94 -17
- package/dist/core.js.map +1 -1
- package/dist/index.cjs +94 -17
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +94 -17
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/core.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { ACCOUNT_REGISTRY_PATH, ACCOUNT_REGISTRY_SPACE, AccountApplication, AccountApplicationListOptions, AccountDelegation, AccountDelegationListOptions, AccountDelegationRevokeOptions, AccountIndexEnsureResult, AccountIndexRebuildResult, AccountIndexStatus, AccountIndexedReadOptions, AccountService, AccountServiceConfig, AccountSpace, AccountSpaceListOptions, AccountStatus, AutoApproveSpaceCreationHandler, AutoRejectStrategy, AutoSignStrategy, BatchOptions, BatchResponse, CallbackStrategy, CanonicalAddress, CanonicalParsedNetworkId, CapabilityEntry, CapabilityKeyRegistry, CapabilityKeyRegistryErrorCode, CapabilityKeyRegistryErrorCodes, CaveatedDelegationUnsupportedError, ClientSession, ColumnInfo, ComposeManifestOptions, ComposedManifestRequest, CreateDelegationParams, DEFAULT_MANIFEST_SPACE, DEFAULT_MANIFEST_VERSION, DEFAULT_SIGNED_READ_URL_EXPIRY_MS, DataVaultConfig, DataVaultService, DatabaseHandle, DelegateReceivedShareParams, DelegatedShareAccess, Delegation, DelegationChain, DelegationChainV2, DelegationDirection, DelegationError, DelegationErrorCode, DelegationErrorCodes, DelegationFilters, DelegationManager, DelegationManagerConfig, DelegationRecord, DelegationResult, DidCacheKeyOptions, DidEqualsOptions, DuckDbAction, DuckDbActionType, DuckDbBatchOptions, DuckDbBatchResponse, DuckDbDatabaseHandle, DuckDbExecuteOptions, DuckDbExecuteResponse, DuckDbOptions, DuckDbQueryOptions, DuckDbQueryResponse, DuckDbService, DuckDbServiceConfig, DuckDbStatement, DuckDbValue, EncodedShareData, ExecuteOptions, ExecuteResponse, Extension, FetchFunction, GenerateShareParams, ICapabilityKeyRegistry, IDataVaultService, IDatabaseHandle, IDuckDbDatabaseHandle, IDuckDbService, IENSResolver, IKVService, INotificationHandler, IPrefixedKVService, ISQLService, ISecretsService, ISessionManager, ISessionStorage, ISharingService, ISigner, ISpace, ISpaceCreationHandler, ISpaceScopedDelegations, ISpaceScopedSharing, ISpaceService, IUserAuthorization, IWasmBindings, IdentityParseError, IngestOptions, InvokeFunction, JWK, KVBatchReadResponse, KVCreateSignedReadUrlOptions, KVResponse, KVService, KVServiceConfig, KVSignedReadUrlResponse, KeyInfo, KeyProvider, KeyType, Manifest, ManifestDefaults, ManifestRegistryRecord, ManifestSecretActions, ManifestValidationError, OpenKeyCallbackStrategy, OpenKeySigningRequestBody, OpenKeySigningResponseBody, OpenKeySigningStrategyOptions, OwnerSharePolicyRegistrationReceipt, PermissionEntry, PermissionNotInManifestError, PersistedSessionData, PkhDidParts, PrefixedKVService, ProtocolMismatchError, QueryOptions, QueryResponse, ReceiveOptions, RegisterOwnerSharePolicyParams, ResolvedCapabilities, ResolvedDelegate, ResolvedSecretPath, ResourceCapability, SECRET_NAME_RE, SQLAction, SQLActionType, SQLService, SQLServiceConfig, SchemaInfo, SecretPayload, SecretScopeOptions, SecretsError, SecretsService, ServiceContext, ServiceContextConfig, ServiceSession, SessionExpiredError, ShareAccess, ShareLink, ShareLinkData, ShareSchema, SharingService, SharingServiceConfig, SignCallback, SignInOptions, SignRequest, SignResponse, SilentNotificationHandler, Space, SpaceAbilitiesMap, SpaceConfig, SpaceCreationContext, SpaceErrorCode, SpaceErrorCodes, SpaceInfo, SpaceOwnership, SpaceService, SpaceServiceConfig, SqlStatement, SqlValue, StoredDelegationChain, TableInfo, TelemetryConfig, TelemetryEventHandler, TinyCloud, TinyCloudConfig, TinyCloudDebugEnableOptions, TinyCloudDebugEvent, TinyCloudDebugLevel, TinyCloudDebugLogger, TinyCloudDebugTimer, TinyCloudSession, UnsupportedFeatureError, VAULT_PERMISSION_SERVICE, VaultCrypto, VaultEntry, VaultError, VaultGetOptions, VaultGrantOptions, VaultHeaders, VaultListOptions, VaultNetworkReadResult, VaultPublicSpaceKVActions, VaultPutOptions, VersionCheckError, ViewInfo, WasmVaultFunctions, addressStorageKey, buildSpaceUri, canonicalizeAddress, canonicalizeDid, canonicalizeDidUrl, canonicalizeNetworkId, canonicalizeSecretScope, checkNodeInfo, clearTinyCloudDebugLogs, composeManifestRequest, createCapabilityKeyRegistry, createOpenKeyCallbackSigningStrategy, createSharingService, createSpaceService, createVaultCrypto, defaultSpaceCreationHandler, didCacheKey, didEquals, disableTinyCloudDebug, enableTinyCloudDebug, expandActionShortNames, expandPermissionEntries, expandPermissionEntry, getTinyCloudDebugLogs, installTinyCloudDebugGlobals, isCapabilitySubset, isEvmAddress, loadManifest, makePkhSpaceId, makePublicSpaceId, parseCanonicalNetworkId, parseExpiry, parsePkhDid, parseSpaceUri, pkhDid, principalDid, principalDidEquals, resolveManifest, resolveSecretListPrefix, resolveSecretPath, resourceCapabilitiesToSpaceAbilitiesMap, tinyCloudDebugLogger, validateManifest } from '@tinycloud/sdk-core';
|
|
2
|
-
export { C as CreateOwnerDelegationParams, D as DelegateToOptions, b as DelegateToResult, c as DelegatedAccess, F as FileSessionStorage, M as MemorySessionStorage, N as NodeEventEmitterStrategy, e as NodeUserAuthorization, f as NodeUserAuthorizationConfig, O as OwnerDelegationReceipt, P as PortableDelegation, h as RuntimePermissionGrantOptions, S as SecretPermissionHint, i as SecretReadInput, j as SecretReadResult, k as SignStrategy, T as TinyCloudNode, l as TinyCloudNodeConfig, U as UnsupportedSessionRestoreError, W as WasmKeyProvider, m as WasmKeyProviderConfig, o as createWasmKeyProvider, p as defaultSignStrategy, q as deserializeDelegation, s as serializeDelegation } from './core-
|
|
2
|
+
export { C as CreateOwnerDelegationParams, D as DelegateToOptions, b as DelegateToResult, c as DelegatedAccess, F as FileSessionStorage, M as MemorySessionStorage, N as NodeEventEmitterStrategy, e as NodeUserAuthorization, f as NodeUserAuthorizationConfig, O as OwnerDelegationReceipt, P as PortableDelegation, h as RuntimePermissionGrantOptions, S as SecretPermissionHint, i as SecretReadInput, j as SecretReadResult, k as SignStrategy, T as TinyCloudNode, l as TinyCloudNodeConfig, U as UnsupportedSessionRestoreError, W as WasmKeyProvider, m as WasmKeyProviderConfig, o as createWasmKeyProvider, p as defaultSignStrategy, q as deserializeDelegation, s as serializeDelegation } from './core-CQ_5wXQT.cjs';
|
|
3
3
|
import 'events';
|
|
4
4
|
import '@tinycloud/sdk-services';
|
package/dist/core.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { ACCOUNT_REGISTRY_PATH, ACCOUNT_REGISTRY_SPACE, AccountApplication, AccountApplicationListOptions, AccountDelegation, AccountDelegationListOptions, AccountDelegationRevokeOptions, AccountIndexEnsureResult, AccountIndexRebuildResult, AccountIndexStatus, AccountIndexedReadOptions, AccountService, AccountServiceConfig, AccountSpace, AccountSpaceListOptions, AccountStatus, AutoApproveSpaceCreationHandler, AutoRejectStrategy, AutoSignStrategy, BatchOptions, BatchResponse, CallbackStrategy, CanonicalAddress, CanonicalParsedNetworkId, CapabilityEntry, CapabilityKeyRegistry, CapabilityKeyRegistryErrorCode, CapabilityKeyRegistryErrorCodes, CaveatedDelegationUnsupportedError, ClientSession, ColumnInfo, ComposeManifestOptions, ComposedManifestRequest, CreateDelegationParams, DEFAULT_MANIFEST_SPACE, DEFAULT_MANIFEST_VERSION, DEFAULT_SIGNED_READ_URL_EXPIRY_MS, DataVaultConfig, DataVaultService, DatabaseHandle, DelegateReceivedShareParams, DelegatedShareAccess, Delegation, DelegationChain, DelegationChainV2, DelegationDirection, DelegationError, DelegationErrorCode, DelegationErrorCodes, DelegationFilters, DelegationManager, DelegationManagerConfig, DelegationRecord, DelegationResult, DidCacheKeyOptions, DidEqualsOptions, DuckDbAction, DuckDbActionType, DuckDbBatchOptions, DuckDbBatchResponse, DuckDbDatabaseHandle, DuckDbExecuteOptions, DuckDbExecuteResponse, DuckDbOptions, DuckDbQueryOptions, DuckDbQueryResponse, DuckDbService, DuckDbServiceConfig, DuckDbStatement, DuckDbValue, EncodedShareData, ExecuteOptions, ExecuteResponse, Extension, FetchFunction, GenerateShareParams, ICapabilityKeyRegistry, IDataVaultService, IDatabaseHandle, IDuckDbDatabaseHandle, IDuckDbService, IENSResolver, IKVService, INotificationHandler, IPrefixedKVService, ISQLService, ISecretsService, ISessionManager, ISessionStorage, ISharingService, ISigner, ISpace, ISpaceCreationHandler, ISpaceScopedDelegations, ISpaceScopedSharing, ISpaceService, IUserAuthorization, IWasmBindings, IdentityParseError, IngestOptions, InvokeFunction, JWK, KVBatchReadResponse, KVCreateSignedReadUrlOptions, KVResponse, KVService, KVServiceConfig, KVSignedReadUrlResponse, KeyInfo, KeyProvider, KeyType, Manifest, ManifestDefaults, ManifestRegistryRecord, ManifestSecretActions, ManifestValidationError, OpenKeyCallbackStrategy, OpenKeySigningRequestBody, OpenKeySigningResponseBody, OpenKeySigningStrategyOptions, OwnerSharePolicyRegistrationReceipt, PermissionEntry, PermissionNotInManifestError, PersistedSessionData, PkhDidParts, PrefixedKVService, ProtocolMismatchError, QueryOptions, QueryResponse, ReceiveOptions, RegisterOwnerSharePolicyParams, ResolvedCapabilities, ResolvedDelegate, ResolvedSecretPath, ResourceCapability, SECRET_NAME_RE, SQLAction, SQLActionType, SQLService, SQLServiceConfig, SchemaInfo, SecretPayload, SecretScopeOptions, SecretsError, SecretsService, ServiceContext, ServiceContextConfig, ServiceSession, SessionExpiredError, ShareAccess, ShareLink, ShareLinkData, ShareSchema, SharingService, SharingServiceConfig, SignCallback, SignInOptions, SignRequest, SignResponse, SilentNotificationHandler, Space, SpaceAbilitiesMap, SpaceConfig, SpaceCreationContext, SpaceErrorCode, SpaceErrorCodes, SpaceInfo, SpaceOwnership, SpaceService, SpaceServiceConfig, SqlStatement, SqlValue, StoredDelegationChain, TableInfo, TelemetryConfig, TelemetryEventHandler, TinyCloud, TinyCloudConfig, TinyCloudDebugEnableOptions, TinyCloudDebugEvent, TinyCloudDebugLevel, TinyCloudDebugLogger, TinyCloudDebugTimer, TinyCloudSession, UnsupportedFeatureError, VAULT_PERMISSION_SERVICE, VaultCrypto, VaultEntry, VaultError, VaultGetOptions, VaultGrantOptions, VaultHeaders, VaultListOptions, VaultNetworkReadResult, VaultPublicSpaceKVActions, VaultPutOptions, VersionCheckError, ViewInfo, WasmVaultFunctions, addressStorageKey, buildSpaceUri, canonicalizeAddress, canonicalizeDid, canonicalizeDidUrl, canonicalizeNetworkId, canonicalizeSecretScope, checkNodeInfo, clearTinyCloudDebugLogs, composeManifestRequest, createCapabilityKeyRegistry, createOpenKeyCallbackSigningStrategy, createSharingService, createSpaceService, createVaultCrypto, defaultSpaceCreationHandler, didCacheKey, didEquals, disableTinyCloudDebug, enableTinyCloudDebug, expandActionShortNames, expandPermissionEntries, expandPermissionEntry, getTinyCloudDebugLogs, installTinyCloudDebugGlobals, isCapabilitySubset, isEvmAddress, loadManifest, makePkhSpaceId, makePublicSpaceId, parseCanonicalNetworkId, parseExpiry, parsePkhDid, parseSpaceUri, pkhDid, principalDid, principalDidEquals, resolveManifest, resolveSecretListPrefix, resolveSecretPath, resourceCapabilitiesToSpaceAbilitiesMap, tinyCloudDebugLogger, validateManifest } from '@tinycloud/sdk-core';
|
|
2
|
-
export { C as CreateOwnerDelegationParams, D as DelegateToOptions, b as DelegateToResult, c as DelegatedAccess, F as FileSessionStorage, M as MemorySessionStorage, N as NodeEventEmitterStrategy, e as NodeUserAuthorization, f as NodeUserAuthorizationConfig, O as OwnerDelegationReceipt, P as PortableDelegation, h as RuntimePermissionGrantOptions, S as SecretPermissionHint, i as SecretReadInput, j as SecretReadResult, k as SignStrategy, T as TinyCloudNode, l as TinyCloudNodeConfig, U as UnsupportedSessionRestoreError, W as WasmKeyProvider, m as WasmKeyProviderConfig, o as createWasmKeyProvider, p as defaultSignStrategy, q as deserializeDelegation, s as serializeDelegation } from './core-
|
|
2
|
+
export { C as CreateOwnerDelegationParams, D as DelegateToOptions, b as DelegateToResult, c as DelegatedAccess, F as FileSessionStorage, M as MemorySessionStorage, N as NodeEventEmitterStrategy, e as NodeUserAuthorization, f as NodeUserAuthorizationConfig, O as OwnerDelegationReceipt, P as PortableDelegation, h as RuntimePermissionGrantOptions, S as SecretPermissionHint, i as SecretReadInput, j as SecretReadResult, k as SignStrategy, T as TinyCloudNode, l as TinyCloudNodeConfig, U as UnsupportedSessionRestoreError, W as WasmKeyProvider, m as WasmKeyProviderConfig, o as createWasmKeyProvider, p as defaultSignStrategy, q as deserializeDelegation, s as serializeDelegation } from './core-CQ_5wXQT.js';
|
|
3
3
|
import 'events';
|
|
4
4
|
import '@tinycloud/sdk-services';
|
package/dist/core.js
CHANGED
|
@@ -1883,19 +1883,87 @@ function persistedExpiry(value) {
|
|
|
1883
1883
|
function sameInstant(left, right) {
|
|
1884
1884
|
return left.getTime() === right.getTime();
|
|
1885
1885
|
}
|
|
1886
|
-
function
|
|
1887
|
-
|
|
1886
|
+
function ownerDelegationPermissions(params) {
|
|
1887
|
+
const hasPermissions = Object.prototype.hasOwnProperty.call(params, "permissions");
|
|
1888
|
+
const hasLegacy = Object.prototype.hasOwnProperty.call(params, "path") || Object.prototype.hasOwnProperty.call(params, "actions");
|
|
1889
|
+
if (hasPermissions === hasLegacy) {
|
|
1890
|
+
throw new Error("Owner delegation requires exactly one authority shape: path/actions or permissions");
|
|
1891
|
+
}
|
|
1892
|
+
const permissions = [];
|
|
1893
|
+
if (hasPermissions) {
|
|
1894
|
+
if (!Array.isArray(params.permissions)) {
|
|
1895
|
+
throw new Error("Owner delegation permissions are invalid");
|
|
1896
|
+
}
|
|
1897
|
+
permissions.push(...params.permissions.map((permission) => ({
|
|
1898
|
+
service: permission.service,
|
|
1899
|
+
path: permission.path,
|
|
1900
|
+
actions: [...permission.actions]
|
|
1901
|
+
})));
|
|
1902
|
+
} else {
|
|
1903
|
+
if (typeof params.path !== "string" || !Array.isArray(params.actions)) {
|
|
1904
|
+
throw new Error("Owner delegation requires bounded capabilities");
|
|
1905
|
+
}
|
|
1906
|
+
const byService = /* @__PURE__ */ new Map();
|
|
1907
|
+
for (const action of params.actions) {
|
|
1908
|
+
if (typeof action !== "string") {
|
|
1909
|
+
throw new Error("Owner delegation capabilities are unsupported");
|
|
1910
|
+
}
|
|
1911
|
+
const slash = action.indexOf("/");
|
|
1912
|
+
const service = slash === -1 ? "" : action.slice(0, slash);
|
|
1913
|
+
if (SERVICE_LONG_TO_SHORT[service] === void 0) {
|
|
1914
|
+
throw new Error("Owner delegation capabilities are unsupported");
|
|
1915
|
+
}
|
|
1916
|
+
const actions = byService.get(service) ?? [];
|
|
1917
|
+
actions.push(action);
|
|
1918
|
+
byService.set(service, actions);
|
|
1919
|
+
}
|
|
1920
|
+
for (const [service, actions] of byService) {
|
|
1921
|
+
permissions.push({ service, path: params.path, actions });
|
|
1922
|
+
}
|
|
1923
|
+
}
|
|
1924
|
+
if (permissions.length === 0 || permissions.length > 16) {
|
|
1925
|
+
throw new Error("Owner delegation requires bounded capabilities");
|
|
1926
|
+
}
|
|
1927
|
+
const resources = /* @__PURE__ */ new Set();
|
|
1928
|
+
for (const permission of permissions) {
|
|
1929
|
+
if (typeof permission.service !== "string" || SERVICE_LONG_TO_SHORT[permission.service] === void 0 || typeof permission.path !== "string" || permission.path.length === 0 || permission.path.trim() !== permission.path || /[\u0000-\u001f\u007f\\*]/.test(permission.path) || !Array.isArray(permission.actions) || permission.actions.length === 0 || permission.actions.length > 32) {
|
|
1930
|
+
throw new Error("Owner delegation requires bounded capabilities");
|
|
1931
|
+
}
|
|
1932
|
+
const resourceKey = `${permission.service}\0${permission.path}`;
|
|
1933
|
+
if (resources.has(resourceKey)) {
|
|
1934
|
+
throw new Error("Owner delegation permissions contain duplicate resources");
|
|
1935
|
+
}
|
|
1936
|
+
resources.add(resourceKey);
|
|
1937
|
+
const actions = /* @__PURE__ */ new Set();
|
|
1938
|
+
for (const action of permission.actions) {
|
|
1939
|
+
if (typeof action !== "string" || !action.startsWith(`${permission.service}/`) || action.length === permission.service.length + 1 || actions.has(action)) {
|
|
1940
|
+
throw new Error("Owner delegation capabilities are unsupported");
|
|
1941
|
+
}
|
|
1942
|
+
actions.add(action);
|
|
1943
|
+
}
|
|
1944
|
+
if (permission.service === ENCRYPTION_PERMISSION_SERVICE2) {
|
|
1945
|
+
try {
|
|
1946
|
+
parseNetworkId2(permission.path);
|
|
1947
|
+
} catch {
|
|
1948
|
+
throw new Error("Owner delegation encryption permission requires a canonical network URN");
|
|
1949
|
+
}
|
|
1950
|
+
}
|
|
1951
|
+
}
|
|
1952
|
+
return permissions;
|
|
1953
|
+
}
|
|
1954
|
+
function ownerPermissionsToAbilities(permissions) {
|
|
1888
1955
|
const abilities = {};
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
if (
|
|
1892
|
-
|
|
1893
|
-
|
|
1956
|
+
const rawAbilities = {};
|
|
1957
|
+
for (const permission of permissions) {
|
|
1958
|
+
if (permission.service === ENCRYPTION_PERMISSION_SERVICE2) {
|
|
1959
|
+
rawAbilities[permission.path] = [...permission.actions];
|
|
1960
|
+
continue;
|
|
1961
|
+
}
|
|
1962
|
+
const shortService = SERVICE_LONG_TO_SHORT[permission.service];
|
|
1894
1963
|
abilities[shortService] ?? (abilities[shortService] = {});
|
|
1895
|
-
|
|
1896
|
-
abilities[shortService][path].push(action);
|
|
1964
|
+
abilities[shortService][permission.path] = [...permission.actions];
|
|
1897
1965
|
}
|
|
1898
|
-
return
|
|
1966
|
+
return { abilities, rawAbilities };
|
|
1899
1967
|
}
|
|
1900
1968
|
function base64UrlEncode(bytes) {
|
|
1901
1969
|
const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
|
|
@@ -4269,21 +4337,29 @@ var _TinyCloudNode = class _TinyCloudNode {
|
|
|
4269
4337
|
async createOwnerDelegation(params, assertActive) {
|
|
4270
4338
|
const assertOwnerGraphActive = assertActive ?? this._serviceGraph.assertActive.bind(this._serviceGraph);
|
|
4271
4339
|
assertOwnerGraphActive();
|
|
4272
|
-
if (!params.delegateDid.startsWith("did:key:")
|
|
4340
|
+
if (!params.delegateDid.startsWith("did:key:")) {
|
|
4273
4341
|
throw new Error("Owner delegation requires an external did:key audience and bounded capabilities");
|
|
4274
4342
|
}
|
|
4343
|
+
const permissions = ownerDelegationPermissions(params);
|
|
4275
4344
|
const now = /* @__PURE__ */ new Date();
|
|
4276
|
-
if (params.expiresAt.getTime() <= now.getTime() || params.expiresAt.getTime() - now.getTime() > EXPIRY3.MAX_MS) {
|
|
4345
|
+
if (!(params.expiresAt instanceof Date) || params.expiresAt.getTime() <= now.getTime() || params.expiresAt.getTime() - now.getTime() > EXPIRY3.MAX_MS) {
|
|
4277
4346
|
throw new Error("Owner delegation expiry must be explicit, future, and within EXPIRY.MAX_MS");
|
|
4278
4347
|
}
|
|
4279
4348
|
if (!this.signer) throw new Error("Owner wallet signer is required");
|
|
4280
4349
|
const session = this.currentTinyCloudSession();
|
|
4281
4350
|
if (!session) throw new Error("Owner session is required");
|
|
4282
|
-
const
|
|
4283
|
-
|
|
4351
|
+
const ownerDid = pkhDid2(session.address, session.chainId);
|
|
4352
|
+
for (const permission of permissions) {
|
|
4353
|
+
if (permission.service === ENCRYPTION_PERMISSION_SERVICE2 && !principalDidEquals2(parseNetworkId2(permission.path).ownerDid, ownerDid)) {
|
|
4354
|
+
throw new Error("Owner delegation cannot grant a foreign encryption network");
|
|
4355
|
+
}
|
|
4356
|
+
}
|
|
4357
|
+
const { abilities, rawAbilities } = ownerPermissionsToAbilities(permissions);
|
|
4358
|
+
const primary = permissions[0];
|
|
4284
4359
|
const host = this.config.host;
|
|
4285
4360
|
const prepared = this.wasmBindings.prepareSession({
|
|
4286
4361
|
abilities,
|
|
4362
|
+
...Object.keys(rawAbilities).length === 0 ? {} : { rawAbilities },
|
|
4287
4363
|
address: this.wasmBindings.ensureEip55(session.address),
|
|
4288
4364
|
chainId: session.chainId,
|
|
4289
4365
|
domain: this.siweDomain,
|
|
@@ -4303,10 +4379,10 @@ var _TinyCloudNode = class _TinyCloudNode {
|
|
|
4303
4379
|
const delegation = {
|
|
4304
4380
|
cid: delegationSession.delegationCid,
|
|
4305
4381
|
delegateDID: params.delegateDid,
|
|
4306
|
-
delegatorDID:
|
|
4382
|
+
delegatorDID: ownerDid,
|
|
4307
4383
|
spaceId: params.spaceId,
|
|
4308
|
-
path:
|
|
4309
|
-
actions: [...
|
|
4384
|
+
path: primary.path,
|
|
4385
|
+
actions: [...primary.actions],
|
|
4310
4386
|
expiry: params.expiresAt,
|
|
4311
4387
|
isRevoked: false,
|
|
4312
4388
|
allowSubDelegation: true,
|
|
@@ -4317,6 +4393,7 @@ var _TinyCloudNode = class _TinyCloudNode {
|
|
|
4317
4393
|
delegation,
|
|
4318
4394
|
signedDagCbor: decodeAuthorizationBytes(delegationSession.delegationHeader.Authorization),
|
|
4319
4395
|
delegationCid: delegationSession.delegationCid,
|
|
4396
|
+
permissions,
|
|
4320
4397
|
nodeReceipt: {
|
|
4321
4398
|
commitEventCid: activation.commitEventCid,
|
|
4322
4399
|
activated: activation.activated ?? [],
|