@tinycloud/node-sdk 2.2.0-beta.10 → 2.2.0-beta.12

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.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ISigner, Bytes, IWasmBindings, ISessionManager } from '@tinycloud/sdk-core';
2
- export { ACCOUNT_REGISTRY_PATH, ACCOUNT_REGISTRY_SPACE, AutoApproveSpaceCreationHandler, AutoRejectStrategy, AutoSignStrategy, BatchOptions, BatchResponse, CallbackStrategy, CapabilityEntry, CapabilityKeyRegistry, CapabilityKeyRegistryErrorCode, CapabilityKeyRegistryErrorCodes, ClientSession, ColumnInfo, ComposeManifestOptions, ComposedManifestRequest, CreateDelegationParams, DEFAULT_MANIFEST_SPACE, DEFAULT_MANIFEST_VERSION, DataVaultConfig, DataVaultService, DatabaseHandle, Delegation, DelegationChain, DelegationChainV2, DelegationDirection, DelegationError, DelegationErrorCode, DelegationErrorCodes, DelegationFilters, DelegationManager, DelegationManagerConfig, DelegationRecord, DelegationResult, DuckDbAction, DuckDbActionType, DuckDbBatchOptions, DuckDbBatchResponse, DuckDbDatabaseHandle, DuckDbExecuteOptions, DuckDbExecuteResponse, DuckDbOptions, DuckDbQueryOptions, DuckDbQueryResponse, DuckDbService, DuckDbServiceConfig, DuckDbStatement, DuckDbValue, EncodedShareData, ExecuteOptions, ExecuteResponse, Extension, FetchFunction, GenerateShareParams, HookEvent, HookServiceName, HookStreamEvent, HookSubscription, HookWebhookListOptions, HookWebhookRecord, HookWebhookRegistration, HookWebhookScope, HookWebhookUnregisterOptions, HooksService, HooksServiceConfig, ICapabilityKeyRegistry, IDataVaultService, IDatabaseHandle, IDuckDbDatabaseHandle, IDuckDbService, IENSResolver, IHooksService, IKVService, INotificationHandler, IPrefixedKVService, ISQLService, ISecretsService, ISessionManager, ISessionStorage, ISharingService, ISigner, ISpace, ISpaceCreationHandler, ISpaceScopedDelegations, ISpaceScopedSharing, ISpaceService, IUserAuthorization, IWasmBindings, IngestOptions, InvokeFunction, JWK, KVResponse, KVService, KVServiceConfig, KeyInfo, KeyProvider, KeyType, Manifest, ManifestDefaults, ManifestRegistryRecord, ManifestSecretActions, ManifestValidationError, PermissionEntry, PermissionNotInManifestError, PersistedSessionData, PrefixedKVService, ProtocolMismatchError, QueryOptions, QueryResponse, ReceiveOptions, 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, SubscribeOptions, TableInfo, TinyCloud, TinyCloudConfig, TinyCloudSession, UnsupportedFeatureError, VAULT_PERMISSION_SERVICE, VaultCrypto, VaultEntry, VaultError, VaultGetOptions, VaultGrantOptions, VaultHeaders, VaultListOptions, VaultPublicSpaceKVActions, VaultPutOptions, VersionCheckError, ViewInfo, WasmVaultFunctions, buildSpaceUri, canonicalizeSecretScope, checkNodeInfo, composeManifestRequest, createCapabilityKeyRegistry, createSharingService, createSpaceService, createVaultCrypto, defaultSpaceCreationHandler, expandActionShortNames, expandPermissionEntries, expandPermissionEntry, isCapabilitySubset, loadManifest, makePublicSpaceId, parseExpiry, parseSpaceUri, resolveManifest, resolveSecretPath, resourceCapabilitiesToSpaceAbilitiesMap, validateManifest } from '@tinycloud/sdk-core';
3
- export { D as DelegateToOptions, a as DelegateToResult, b as DelegatedAccess, F as FileSessionStorage, M as MemorySessionStorage, N as NodeEventEmitterStrategy, c as NodeUserAuthorization, d as NodeUserAuthorizationConfig, P as PortableDelegation, R as RestorableSession, e as RuntimePermissionGrantOptions, S as SignStrategy, T as TinyCloudNode, f as TinyCloudNodeConfig, W as WasmKeyProvider, g as WasmKeyProviderConfig, h as createWasmKeyProvider, i as defaultSignStrategy, j as deserializeDelegation, s as serializeDelegation } from './core-DcJ27GsA.cjs';
2
+ export { ACCOUNT_REGISTRY_PATH, ACCOUNT_REGISTRY_SPACE, AutoApproveSpaceCreationHandler, AutoRejectStrategy, AutoSignStrategy, BatchOptions, BatchResponse, CallbackStrategy, CapabilityEntry, CapabilityKeyRegistry, CapabilityKeyRegistryErrorCode, CapabilityKeyRegistryErrorCodes, ClientSession, ColumnInfo, ComposeManifestOptions, ComposedManifestRequest, CreateDelegationParams, DEFAULT_MANIFEST_SPACE, DEFAULT_MANIFEST_VERSION, DEFAULT_SIGNED_READ_URL_EXPIRY_MS, DataVaultConfig, DataVaultService, DatabaseHandle, Delegation, DelegationChain, DelegationChainV2, DelegationDirection, DelegationError, DelegationErrorCode, DelegationErrorCodes, DelegationFilters, DelegationManager, DelegationManagerConfig, DelegationRecord, DelegationResult, DuckDbAction, DuckDbActionType, DuckDbBatchOptions, DuckDbBatchResponse, DuckDbDatabaseHandle, DuckDbExecuteOptions, DuckDbExecuteResponse, DuckDbOptions, DuckDbQueryOptions, DuckDbQueryResponse, DuckDbService, DuckDbServiceConfig, DuckDbStatement, DuckDbValue, EncodedShareData, ExecuteOptions, ExecuteResponse, Extension, FetchFunction, GenerateShareParams, HookEvent, HookServiceName, HookStreamEvent, HookSubscription, HookWebhookListOptions, HookWebhookRecord, HookWebhookRegistration, HookWebhookScope, HookWebhookUnregisterOptions, HooksService, HooksServiceConfig, ICapabilityKeyRegistry, IDataVaultService, IDatabaseHandle, IDuckDbDatabaseHandle, IDuckDbService, IENSResolver, IHooksService, IKVService, INotificationHandler, IPrefixedKVService, ISQLService, ISecretsService, ISessionManager, ISessionStorage, ISharingService, ISigner, ISpace, ISpaceCreationHandler, ISpaceScopedDelegations, ISpaceScopedSharing, ISpaceService, IUserAuthorization, IWasmBindings, IngestOptions, InvokeFunction, JWK, KVCreateSignedReadUrlOptions, KVResponse, KVService, KVServiceConfig, KVSignedReadUrlResponse, KeyInfo, KeyProvider, KeyType, Manifest, ManifestDefaults, ManifestRegistryRecord, ManifestSecretActions, ManifestValidationError, PermissionEntry, PermissionNotInManifestError, PersistedSessionData, PrefixedKVService, ProtocolMismatchError, QueryOptions, QueryResponse, ReceiveOptions, 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, SubscribeOptions, TableInfo, TinyCloud, TinyCloudConfig, TinyCloudSession, UnsupportedFeatureError, VAULT_PERMISSION_SERVICE, VaultCrypto, VaultEntry, VaultError, VaultGetOptions, VaultGrantOptions, VaultHeaders, VaultListOptions, VaultPublicSpaceKVActions, VaultPutOptions, VersionCheckError, ViewInfo, WasmVaultFunctions, buildSpaceUri, canonicalizeSecretScope, checkNodeInfo, composeManifestRequest, createCapabilityKeyRegistry, createSharingService, createSpaceService, createVaultCrypto, defaultSpaceCreationHandler, expandActionShortNames, expandPermissionEntries, expandPermissionEntry, isCapabilitySubset, loadManifest, makePublicSpaceId, parseExpiry, parseSpaceUri, resolveManifest, resolveSecretPath, resourceCapabilitiesToSpaceAbilitiesMap, validateManifest } from '@tinycloud/sdk-core';
3
+ export { D as DelegateToOptions, a as DelegateToResult, b as DelegatedAccess, F as FileSessionStorage, M as MemorySessionStorage, N as NodeEventEmitterStrategy, c as NodeUserAuthorization, d as NodeUserAuthorizationConfig, P as PortableDelegation, R as RestorableSession, e as RuntimePermissionGrantOptions, S as SignStrategy, T as TinyCloudNode, f as TinyCloudNodeConfig, W as WasmKeyProvider, g as WasmKeyProviderConfig, h as createWasmKeyProvider, i as defaultSignStrategy, j as deserializeDelegation, s as serializeDelegation } from './core-M5RMfMIi.cjs';
4
4
  import { invoke, invokeAny, prepareSession, completeSessionSetup, ensureEip55, makeSpaceId, createDelegation, parseRecapFromSiwe, generateHostSIWEMessage, siweToDelegationHeaders, protocolVersion, vault_encrypt, vault_decrypt, vault_derive_key, vault_x25519_from_seed, vault_x25519_dh, vault_random_bytes, vault_sha256 } from '@tinycloud/node-sdk-wasm';
5
5
  import 'events';
6
6
  import '@tinycloud/sdk-services';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ISigner, Bytes, IWasmBindings, ISessionManager } from '@tinycloud/sdk-core';
2
- export { ACCOUNT_REGISTRY_PATH, ACCOUNT_REGISTRY_SPACE, AutoApproveSpaceCreationHandler, AutoRejectStrategy, AutoSignStrategy, BatchOptions, BatchResponse, CallbackStrategy, CapabilityEntry, CapabilityKeyRegistry, CapabilityKeyRegistryErrorCode, CapabilityKeyRegistryErrorCodes, ClientSession, ColumnInfo, ComposeManifestOptions, ComposedManifestRequest, CreateDelegationParams, DEFAULT_MANIFEST_SPACE, DEFAULT_MANIFEST_VERSION, DataVaultConfig, DataVaultService, DatabaseHandle, Delegation, DelegationChain, DelegationChainV2, DelegationDirection, DelegationError, DelegationErrorCode, DelegationErrorCodes, DelegationFilters, DelegationManager, DelegationManagerConfig, DelegationRecord, DelegationResult, DuckDbAction, DuckDbActionType, DuckDbBatchOptions, DuckDbBatchResponse, DuckDbDatabaseHandle, DuckDbExecuteOptions, DuckDbExecuteResponse, DuckDbOptions, DuckDbQueryOptions, DuckDbQueryResponse, DuckDbService, DuckDbServiceConfig, DuckDbStatement, DuckDbValue, EncodedShareData, ExecuteOptions, ExecuteResponse, Extension, FetchFunction, GenerateShareParams, HookEvent, HookServiceName, HookStreamEvent, HookSubscription, HookWebhookListOptions, HookWebhookRecord, HookWebhookRegistration, HookWebhookScope, HookWebhookUnregisterOptions, HooksService, HooksServiceConfig, ICapabilityKeyRegistry, IDataVaultService, IDatabaseHandle, IDuckDbDatabaseHandle, IDuckDbService, IENSResolver, IHooksService, IKVService, INotificationHandler, IPrefixedKVService, ISQLService, ISecretsService, ISessionManager, ISessionStorage, ISharingService, ISigner, ISpace, ISpaceCreationHandler, ISpaceScopedDelegations, ISpaceScopedSharing, ISpaceService, IUserAuthorization, IWasmBindings, IngestOptions, InvokeFunction, JWK, KVResponse, KVService, KVServiceConfig, KeyInfo, KeyProvider, KeyType, Manifest, ManifestDefaults, ManifestRegistryRecord, ManifestSecretActions, ManifestValidationError, PermissionEntry, PermissionNotInManifestError, PersistedSessionData, PrefixedKVService, ProtocolMismatchError, QueryOptions, QueryResponse, ReceiveOptions, 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, SubscribeOptions, TableInfo, TinyCloud, TinyCloudConfig, TinyCloudSession, UnsupportedFeatureError, VAULT_PERMISSION_SERVICE, VaultCrypto, VaultEntry, VaultError, VaultGetOptions, VaultGrantOptions, VaultHeaders, VaultListOptions, VaultPublicSpaceKVActions, VaultPutOptions, VersionCheckError, ViewInfo, WasmVaultFunctions, buildSpaceUri, canonicalizeSecretScope, checkNodeInfo, composeManifestRequest, createCapabilityKeyRegistry, createSharingService, createSpaceService, createVaultCrypto, defaultSpaceCreationHandler, expandActionShortNames, expandPermissionEntries, expandPermissionEntry, isCapabilitySubset, loadManifest, makePublicSpaceId, parseExpiry, parseSpaceUri, resolveManifest, resolveSecretPath, resourceCapabilitiesToSpaceAbilitiesMap, validateManifest } from '@tinycloud/sdk-core';
3
- export { D as DelegateToOptions, a as DelegateToResult, b as DelegatedAccess, F as FileSessionStorage, M as MemorySessionStorage, N as NodeEventEmitterStrategy, c as NodeUserAuthorization, d as NodeUserAuthorizationConfig, P as PortableDelegation, R as RestorableSession, e as RuntimePermissionGrantOptions, S as SignStrategy, T as TinyCloudNode, f as TinyCloudNodeConfig, W as WasmKeyProvider, g as WasmKeyProviderConfig, h as createWasmKeyProvider, i as defaultSignStrategy, j as deserializeDelegation, s as serializeDelegation } from './core-DcJ27GsA.js';
2
+ export { ACCOUNT_REGISTRY_PATH, ACCOUNT_REGISTRY_SPACE, AutoApproveSpaceCreationHandler, AutoRejectStrategy, AutoSignStrategy, BatchOptions, BatchResponse, CallbackStrategy, CapabilityEntry, CapabilityKeyRegistry, CapabilityKeyRegistryErrorCode, CapabilityKeyRegistryErrorCodes, ClientSession, ColumnInfo, ComposeManifestOptions, ComposedManifestRequest, CreateDelegationParams, DEFAULT_MANIFEST_SPACE, DEFAULT_MANIFEST_VERSION, DEFAULT_SIGNED_READ_URL_EXPIRY_MS, DataVaultConfig, DataVaultService, DatabaseHandle, Delegation, DelegationChain, DelegationChainV2, DelegationDirection, DelegationError, DelegationErrorCode, DelegationErrorCodes, DelegationFilters, DelegationManager, DelegationManagerConfig, DelegationRecord, DelegationResult, DuckDbAction, DuckDbActionType, DuckDbBatchOptions, DuckDbBatchResponse, DuckDbDatabaseHandle, DuckDbExecuteOptions, DuckDbExecuteResponse, DuckDbOptions, DuckDbQueryOptions, DuckDbQueryResponse, DuckDbService, DuckDbServiceConfig, DuckDbStatement, DuckDbValue, EncodedShareData, ExecuteOptions, ExecuteResponse, Extension, FetchFunction, GenerateShareParams, HookEvent, HookServiceName, HookStreamEvent, HookSubscription, HookWebhookListOptions, HookWebhookRecord, HookWebhookRegistration, HookWebhookScope, HookWebhookUnregisterOptions, HooksService, HooksServiceConfig, ICapabilityKeyRegistry, IDataVaultService, IDatabaseHandle, IDuckDbDatabaseHandle, IDuckDbService, IENSResolver, IHooksService, IKVService, INotificationHandler, IPrefixedKVService, ISQLService, ISecretsService, ISessionManager, ISessionStorage, ISharingService, ISigner, ISpace, ISpaceCreationHandler, ISpaceScopedDelegations, ISpaceScopedSharing, ISpaceService, IUserAuthorization, IWasmBindings, IngestOptions, InvokeFunction, JWK, KVCreateSignedReadUrlOptions, KVResponse, KVService, KVServiceConfig, KVSignedReadUrlResponse, KeyInfo, KeyProvider, KeyType, Manifest, ManifestDefaults, ManifestRegistryRecord, ManifestSecretActions, ManifestValidationError, PermissionEntry, PermissionNotInManifestError, PersistedSessionData, PrefixedKVService, ProtocolMismatchError, QueryOptions, QueryResponse, ReceiveOptions, 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, SubscribeOptions, TableInfo, TinyCloud, TinyCloudConfig, TinyCloudSession, UnsupportedFeatureError, VAULT_PERMISSION_SERVICE, VaultCrypto, VaultEntry, VaultError, VaultGetOptions, VaultGrantOptions, VaultHeaders, VaultListOptions, VaultPublicSpaceKVActions, VaultPutOptions, VersionCheckError, ViewInfo, WasmVaultFunctions, buildSpaceUri, canonicalizeSecretScope, checkNodeInfo, composeManifestRequest, createCapabilityKeyRegistry, createSharingService, createSpaceService, createVaultCrypto, defaultSpaceCreationHandler, expandActionShortNames, expandPermissionEntries, expandPermissionEntry, isCapabilitySubset, loadManifest, makePublicSpaceId, parseExpiry, parseSpaceUri, resolveManifest, resolveSecretPath, resourceCapabilitiesToSpaceAbilitiesMap, validateManifest } from '@tinycloud/sdk-core';
3
+ export { D as DelegateToOptions, a as DelegateToResult, b as DelegatedAccess, F as FileSessionStorage, M as MemorySessionStorage, N as NodeEventEmitterStrategy, c as NodeUserAuthorization, d as NodeUserAuthorizationConfig, P as PortableDelegation, R as RestorableSession, e as RuntimePermissionGrantOptions, S as SignStrategy, T as TinyCloudNode, f as TinyCloudNodeConfig, W as WasmKeyProvider, g as WasmKeyProviderConfig, h as createWasmKeyProvider, i as defaultSignStrategy, j as deserializeDelegation, s as serializeDelegation } from './core-M5RMfMIi.js';
4
4
  import { invoke, invokeAny, prepareSession, completeSessionSetup, ensureEip55, makeSpaceId, createDelegation, parseRecapFromSiwe, generateHostSIWEMessage, siweToDelegationHeaders, protocolVersion, vault_encrypt, vault_decrypt, vault_derive_key, vault_x25519_from_seed, vault_x25519_dh, vault_random_bytes, vault_sha256 } from '@tinycloud/node-sdk-wasm';
5
5
  import 'events';
6
6
  import '@tinycloud/sdk-services';
package/dist/index.js CHANGED
@@ -17175,7 +17175,8 @@ import {
17175
17175
  expandPermissionEntries as expandPermissionEntriesCore,
17176
17176
  isCapabilitySubset,
17177
17177
  parseRecapCapabilities,
17178
- SERVICE_LONG_TO_SHORT
17178
+ SERVICE_LONG_TO_SHORT,
17179
+ EXPIRY as EXPIRY3
17179
17180
  } from "@tinycloud/sdk-core";
17180
17181
 
17181
17182
  // src/authorization/NodeUserAuthorization.ts
@@ -17189,7 +17190,8 @@ import {
17189
17190
  composeManifestRequest,
17190
17191
  resourceCapabilitiesToAbilitiesMap,
17191
17192
  resourceCapabilitiesToSpaceAbilitiesMap,
17192
- resolveTinyCloudHosts
17193
+ resolveTinyCloudHosts,
17194
+ EXPIRY
17193
17195
  } from "@tinycloud/sdk-core";
17194
17196
 
17195
17197
  // src/authorization/strategies.ts
@@ -17320,7 +17322,7 @@ var NodeUserAuthorization = class {
17320
17322
  ]
17321
17323
  }
17322
17324
  };
17323
- this.sessionExpirationMs = config.sessionExpirationMs ?? 60 * 60 * 1e3;
17325
+ this.sessionExpirationMs = config.sessionExpirationMs ?? EXPIRY.SESSION_MS;
17324
17326
  this.autoCreateSpace = config.autoCreateSpace ?? false;
17325
17327
  this.spaceCreationHandler = config.spaceCreationHandler;
17326
17328
  this.tinycloudHosts = config.tinycloudHosts;
@@ -17373,6 +17375,23 @@ var NodeUserAuthorization = class {
17373
17375
  get tinyCloudSession() {
17374
17376
  return this._tinyCloudSession;
17375
17377
  }
17378
+ /**
17379
+ * Rehydrate the auth-layer session from previously-persisted delegation
17380
+ * data. Used by {@link TinyCloudNode.restoreSession} so that downstream
17381
+ * surfaces that read from `tinyCloudSession` (notably
17382
+ * `grantRuntimePermissions`, which extracts the SIWE expiry from it) work
17383
+ * without re-running the full sign-in flow.
17384
+ *
17385
+ * Caller must supply the same fields that `signIn` would have written —
17386
+ * `siwe` is the load-bearing one because `extractSiweExpiration` returns
17387
+ * undefined for missing SIWEs and the SDK then treats the session as
17388
+ * expired-at-epoch-zero.
17389
+ */
17390
+ setRestoredTinyCloudSession(session) {
17391
+ this._tinyCloudSession = session;
17392
+ this._address = session.address;
17393
+ this._chainId = session.chainId;
17394
+ }
17376
17395
  async resolveTinyCloudHostsForSignIn(address, chainId) {
17377
17396
  if (this.tinycloudHosts && this.tinycloudHosts.length > 0) {
17378
17397
  return;
@@ -18182,7 +18201,8 @@ function createWasmKeyProvider(sessionManager) {
18182
18201
  // src/delegateToHelpers.ts
18183
18202
  import {
18184
18203
  parseExpiry,
18185
- SiweMessage
18204
+ SiweMessage,
18205
+ EXPIRY as EXPIRY2
18186
18206
  } from "@tinycloud/sdk-core";
18187
18207
  function legacyParamsToPermissionEntries(actions, path, spaceIdOverride) {
18188
18208
  const byService = /* @__PURE__ */ new Map();
@@ -18214,9 +18234,10 @@ function legacyParamsToPermissionEntries(actions, path, spaceIdOverride) {
18214
18234
  }
18215
18235
  return entries;
18216
18236
  }
18237
+ var DEFAULT_DELEGATION_EXPIRY_MS = EXPIRY2.SESSION_MS;
18217
18238
  function resolveExpiryMs(expiry) {
18218
18239
  if (expiry === void 0) {
18219
- return 60 * 60 * 1e3;
18240
+ return DEFAULT_DELEGATION_EXPIRY_MS;
18220
18241
  }
18221
18242
  if (typeof expiry === "number") {
18222
18243
  if (!Number.isFinite(expiry) || expiry <= 0) {
@@ -18390,6 +18411,7 @@ var NodeSecretsService = class {
18390
18411
 
18391
18412
  // src/TinyCloudNode.ts
18392
18413
  var DEFAULT_HOST = "https://node.tinycloud.xyz";
18414
+ var DEFAULT_SESSION_EXPIRATION_MS = EXPIRY3.SESSION_MS;
18393
18415
  var _TinyCloudNode = class _TinyCloudNode {
18394
18416
  /**
18395
18417
  * Create a new TinyCloudNode instance.
@@ -18532,7 +18554,7 @@ var _TinyCloudNode = class _TinyCloudNode {
18532
18554
  sessionStorage: config.sessionStorage ?? new MemorySessionStorage(),
18533
18555
  domain: this.siweDomain,
18534
18556
  spacePrefix: config.prefix,
18535
- sessionExpirationMs: config.sessionExpirationMs ?? 60 * 60 * 1e3,
18557
+ sessionExpirationMs: config.sessionExpirationMs ?? DEFAULT_SESSION_EXPIRATION_MS,
18536
18558
  tinycloudHosts: this.explicitHost ? [this.explicitHost] : void 0,
18537
18559
  tinycloudRegistryUrl: config.tinycloudRegistryUrl,
18538
18560
  tinycloudFallbackHosts: config.tinycloudFallbackHosts,
@@ -18798,6 +18820,33 @@ var _TinyCloudNode = class _TinyCloudNode {
18798
18820
  this._vault.initialize(this._serviceContext);
18799
18821
  this._serviceContext.registerService("vault", this._vault);
18800
18822
  this.initializeV2Services(serviceSession);
18823
+ if (sessionData.siwe && sessionData.address && sessionData.chainId) {
18824
+ const tcSession = {
18825
+ address: sessionData.address,
18826
+ chainId: sessionData.chainId,
18827
+ sessionKey: JSON.stringify(sessionData.jwk),
18828
+ spaceId: sessionData.spaceId,
18829
+ delegationCid: sessionData.delegationCid,
18830
+ delegationHeader: sessionData.delegationHeader,
18831
+ verificationMethod: sessionData.verificationMethod,
18832
+ jwk: sessionData.jwk,
18833
+ siwe: sessionData.siwe,
18834
+ signature: sessionData.signature ?? ""
18835
+ };
18836
+ if (this.auth) {
18837
+ this.auth.setRestoredTinyCloudSession(tcSession);
18838
+ } else {
18839
+ this._restoredTcSession = tcSession;
18840
+ }
18841
+ }
18842
+ }
18843
+ /**
18844
+ * Resolve the currently-active TinyCloudSession, preferring the auth
18845
+ * layer's value (wallet mode) and falling back to the node-level
18846
+ * rehydration set by {@link restoreSession} (session-only mode).
18847
+ */
18848
+ currentTinyCloudSession() {
18849
+ return this.auth?.tinyCloudSession ?? this._restoredTcSession;
18801
18850
  }
18802
18851
  /**
18803
18852
  * Connect a wallet to upgrade from session-only mode to wallet mode.
@@ -18842,7 +18891,7 @@ var _TinyCloudNode = class _TinyCloudNode {
18842
18891
  sessionStorage: options?.sessionStorage ?? this.config.sessionStorage ?? new MemorySessionStorage(),
18843
18892
  domain: this.siweDomain,
18844
18893
  spacePrefix: prefix,
18845
- sessionExpirationMs: this.config.sessionExpirationMs ?? 60 * 60 * 1e3,
18894
+ sessionExpirationMs: this.config.sessionExpirationMs ?? DEFAULT_SESSION_EXPIRATION_MS,
18846
18895
  tinycloudHosts: this.explicitHost ? [this.explicitHost] : void 0,
18847
18896
  tinycloudRegistryUrl: this.config.tinycloudRegistryUrl,
18848
18897
  tinycloudFallbackHosts: this.config.tinycloudFallbackHosts,
@@ -18886,7 +18935,7 @@ var _TinyCloudNode = class _TinyCloudNode {
18886
18935
  sessionStorage: options?.sessionStorage ?? this.config.sessionStorage ?? new MemorySessionStorage(),
18887
18936
  domain: this.siweDomain,
18888
18937
  spacePrefix: prefix,
18889
- sessionExpirationMs: this.config.sessionExpirationMs ?? 60 * 60 * 1e3,
18938
+ sessionExpirationMs: this.config.sessionExpirationMs ?? DEFAULT_SESSION_EXPIRATION_MS,
18890
18939
  tinycloudHosts: this.explicitHost ? [this.explicitHost] : void 0,
18891
18940
  tinycloudRegistryUrl: this.config.tinycloudRegistryUrl,
18892
18941
  tinycloudFallbackHosts: this.config.tinycloudFallbackHosts,
@@ -19162,7 +19211,7 @@ var _TinyCloudNode = class _TinyCloudNode {
19162
19211
  * @internal
19163
19212
  */
19164
19213
  getSessionExpiry() {
19165
- const expirationMs = this.config.sessionExpirationMs ?? 60 * 60 * 1e3;
19214
+ const expirationMs = this.config.sessionExpirationMs ?? DEFAULT_SESSION_EXPIRATION_MS;
19166
19215
  return new Date(Date.now() + expirationMs);
19167
19216
  }
19168
19217
  /**
@@ -19319,6 +19368,34 @@ var _TinyCloudNode = class _TinyCloudNode {
19319
19368
  }
19320
19369
  return this._sql;
19321
19370
  }
19371
+ /**
19372
+ * Get an SQL service scoped to a specific space.
19373
+ *
19374
+ * Mirrors {@link SpaceService}'s per-space KV factory: clones the active
19375
+ * service context and overrides its session's spaceId so that subsequent
19376
+ * `sql/<dbName>/<action>` invocations route to that space. Useful when
19377
+ * the caller already holds a delegation covering the target space (e.g.
19378
+ * via {@link grantRuntimePermissions} or {@link useRuntimeDelegation})
19379
+ * but the SDK's per-space SQL surface isn't otherwise exposed.
19380
+ *
19381
+ * Does NOT auto-create the space.
19382
+ *
19383
+ * @param spaceId - Full space URI (`tinycloud:pkh:eip155:<chain>:<addr>:<name>`).
19384
+ */
19385
+ sqlForSpace(spaceId) {
19386
+ if (!this._serviceContext || !this._serviceContext.session) {
19387
+ throw new Error("Not signed in. Call signIn() first.");
19388
+ }
19389
+ const sql = new SQLService2({});
19390
+ const spaceScopedContext = new ServiceContext2({
19391
+ invoke: this._serviceContext.invoke,
19392
+ fetch: this._serviceContext.fetch,
19393
+ hosts: this._serviceContext.hosts
19394
+ });
19395
+ spaceScopedContext.setSession({ ...this._serviceContext.session, spaceId });
19396
+ sql.initialize(spaceScopedContext);
19397
+ return sql;
19398
+ }
19322
19399
  /**
19323
19400
  * DuckDB database operations on this user's space.
19324
19401
  */
@@ -19444,7 +19521,7 @@ var _TinyCloudNode = class _TinyCloudNode {
19444
19521
  * every requested permission.
19445
19522
  */
19446
19523
  hasRuntimePermissions(permissions) {
19447
- const session = this.auth?.tinyCloudSession;
19524
+ const session = this.currentTinyCloudSession();
19448
19525
  if (!session || !Array.isArray(permissions) || permissions.length === 0) {
19449
19526
  return false;
19450
19527
  }
@@ -19464,7 +19541,7 @@ var _TinyCloudNode = class _TinyCloudNode {
19464
19541
  if (permissions === void 0) {
19465
19542
  return this.runtimePermissionGrants.map((grant) => grant.delegation);
19466
19543
  }
19467
- const session = this.auth?.tinyCloudSession;
19544
+ const session = this.currentTinyCloudSession();
19468
19545
  if (!session || !Array.isArray(permissions) || permissions.length === 0) {
19469
19546
  return [];
19470
19547
  }
@@ -19478,7 +19555,7 @@ var _TinyCloudNode = class _TinyCloudNode {
19478
19555
  * matching service calls and downstream `delegateTo()` calls can use it.
19479
19556
  */
19480
19557
  async useRuntimeDelegation(delegation) {
19481
- const session = this.auth?.tinyCloudSession;
19558
+ const session = this.currentTinyCloudSession();
19482
19559
  if (!session) {
19483
19560
  throw new SessionExpiredError(/* @__PURE__ */ new Date(0));
19484
19561
  }
@@ -19517,7 +19594,7 @@ var _TinyCloudNode = class _TinyCloudNode {
19517
19594
  if (!Array.isArray(permissions) || permissions.length === 0) {
19518
19595
  throw new Error("grantRuntimePermissions requires a non-empty permissions array");
19519
19596
  }
19520
- const session = this.auth?.tinyCloudSession;
19597
+ const session = this.currentTinyCloudSession();
19521
19598
  if (!session) {
19522
19599
  throw new SessionExpiredError(/* @__PURE__ */ new Date(0));
19523
19600
  }
@@ -19745,7 +19822,7 @@ var _TinyCloudNode = class _TinyCloudNode {
19745
19822
  ];
19746
19823
  const abilities = { kv: { "": kvActions } };
19747
19824
  const now = /* @__PURE__ */ new Date();
19748
- const expiryMs = 60 * 60 * 1e3;
19825
+ const expiryMs = EXPIRY3.EPHEMERAL_MS;
19749
19826
  const expirationTime = new Date(now.getTime() + expiryMs);
19750
19827
  const prepared = this.wasmBindings.prepareSession({
19751
19828
  abilities,
@@ -20939,7 +21016,11 @@ function deserializeDelegation(data) {
20939
21016
  }
20940
21017
 
20941
21018
  // src/index.ts
20942
- import { KVService as KVService3, PrefixedKVService } from "@tinycloud/sdk-core";
21019
+ import {
21020
+ DEFAULT_SIGNED_READ_URL_EXPIRY_MS,
21021
+ KVService as KVService3,
21022
+ PrefixedKVService
21023
+ } from "@tinycloud/sdk-core";
20943
21024
  import { SQLService as SQLService3, SQLAction, DatabaseHandle } from "@tinycloud/sdk-core";
20944
21025
  import {
20945
21026
  DuckDbService as DuckDbService3,
@@ -20992,6 +21073,7 @@ export {
20992
21073
  CapabilityKeyRegistryErrorCodes,
20993
21074
  DEFAULT_MANIFEST_SPACE2 as DEFAULT_MANIFEST_SPACE,
20994
21075
  DEFAULT_MANIFEST_VERSION,
21076
+ DEFAULT_SIGNED_READ_URL_EXPIRY_MS,
20995
21077
  DataVaultService2 as DataVaultService,
20996
21078
  DatabaseHandle,
20997
21079
  DelegatedAccess,