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

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.d.cts CHANGED
@@ -1,4 +1,4 @@
1
1
  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, ICapabilityKeyRegistry, IDataVaultService, IDatabaseHandle, IDuckDbDatabaseHandle, IDuckDbService, IENSResolver, 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, 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';
2
- 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, 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 { 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, 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-BSqBtkg3.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, 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, ICapabilityKeyRegistry, IDataVaultService, IDatabaseHandle, IDuckDbDatabaseHandle, IDuckDbService, IENSResolver, 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, 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';
2
- 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, 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 { 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, 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-BSqBtkg3.js';
3
3
  import 'events';
4
4
  import '@tinycloud/sdk-services';
package/dist/core.js CHANGED
@@ -208,7 +208,8 @@ import {
208
208
  composeManifestRequest,
209
209
  resourceCapabilitiesToAbilitiesMap,
210
210
  resourceCapabilitiesToSpaceAbilitiesMap,
211
- resolveTinyCloudHosts
211
+ resolveTinyCloudHosts,
212
+ EXPIRY
212
213
  } from "@tinycloud/sdk-core";
213
214
 
214
215
  // src/authorization/strategies.ts
@@ -268,7 +269,7 @@ var NodeUserAuthorization = class {
268
269
  ]
269
270
  }
270
271
  };
271
- this.sessionExpirationMs = config.sessionExpirationMs ?? 60 * 60 * 1e3;
272
+ this.sessionExpirationMs = config.sessionExpirationMs ?? EXPIRY.SESSION_MS;
272
273
  this.autoCreateSpace = config.autoCreateSpace ?? false;
273
274
  this.spaceCreationHandler = config.spaceCreationHandler;
274
275
  this.tinycloudHosts = config.tinycloudHosts;
@@ -975,7 +976,8 @@ import {
975
976
  expandPermissionEntries as expandPermissionEntriesCore,
976
977
  isCapabilitySubset,
977
978
  parseRecapCapabilities,
978
- SERVICE_LONG_TO_SHORT
979
+ SERVICE_LONG_TO_SHORT,
980
+ EXPIRY as EXPIRY3
979
981
  } from "@tinycloud/sdk-core";
980
982
 
981
983
  // src/DelegatedAccess.ts
@@ -1158,7 +1160,8 @@ function createWasmKeyProvider(sessionManager) {
1158
1160
  // src/delegateToHelpers.ts
1159
1161
  import {
1160
1162
  parseExpiry,
1161
- SiweMessage
1163
+ SiweMessage,
1164
+ EXPIRY as EXPIRY2
1162
1165
  } from "@tinycloud/sdk-core";
1163
1166
  function legacyParamsToPermissionEntries(actions, path, spaceIdOverride) {
1164
1167
  const byService = /* @__PURE__ */ new Map();
@@ -1190,9 +1193,10 @@ function legacyParamsToPermissionEntries(actions, path, spaceIdOverride) {
1190
1193
  }
1191
1194
  return entries;
1192
1195
  }
1196
+ var DEFAULT_DELEGATION_EXPIRY_MS = EXPIRY2.SESSION_MS;
1193
1197
  function resolveExpiryMs(expiry) {
1194
1198
  if (expiry === void 0) {
1195
- return 60 * 60 * 1e3;
1199
+ return DEFAULT_DELEGATION_EXPIRY_MS;
1196
1200
  }
1197
1201
  if (typeof expiry === "number") {
1198
1202
  if (!Number.isFinite(expiry) || expiry <= 0) {
@@ -1366,6 +1370,7 @@ var NodeSecretsService = class {
1366
1370
 
1367
1371
  // src/TinyCloudNode.ts
1368
1372
  var DEFAULT_HOST = "https://node.tinycloud.xyz";
1373
+ var DEFAULT_SESSION_EXPIRATION_MS = EXPIRY3.SESSION_MS;
1369
1374
  var _TinyCloudNode = class _TinyCloudNode {
1370
1375
  /**
1371
1376
  * Create a new TinyCloudNode instance.
@@ -1508,7 +1513,7 @@ var _TinyCloudNode = class _TinyCloudNode {
1508
1513
  sessionStorage: config.sessionStorage ?? new MemorySessionStorage(),
1509
1514
  domain: this.siweDomain,
1510
1515
  spacePrefix: config.prefix,
1511
- sessionExpirationMs: config.sessionExpirationMs ?? 60 * 60 * 1e3,
1516
+ sessionExpirationMs: config.sessionExpirationMs ?? DEFAULT_SESSION_EXPIRATION_MS,
1512
1517
  tinycloudHosts: this.explicitHost ? [this.explicitHost] : void 0,
1513
1518
  tinycloudRegistryUrl: config.tinycloudRegistryUrl,
1514
1519
  tinycloudFallbackHosts: config.tinycloudFallbackHosts,
@@ -1818,7 +1823,7 @@ var _TinyCloudNode = class _TinyCloudNode {
1818
1823
  sessionStorage: options?.sessionStorage ?? this.config.sessionStorage ?? new MemorySessionStorage(),
1819
1824
  domain: this.siweDomain,
1820
1825
  spacePrefix: prefix,
1821
- sessionExpirationMs: this.config.sessionExpirationMs ?? 60 * 60 * 1e3,
1826
+ sessionExpirationMs: this.config.sessionExpirationMs ?? DEFAULT_SESSION_EXPIRATION_MS,
1822
1827
  tinycloudHosts: this.explicitHost ? [this.explicitHost] : void 0,
1823
1828
  tinycloudRegistryUrl: this.config.tinycloudRegistryUrl,
1824
1829
  tinycloudFallbackHosts: this.config.tinycloudFallbackHosts,
@@ -1862,7 +1867,7 @@ var _TinyCloudNode = class _TinyCloudNode {
1862
1867
  sessionStorage: options?.sessionStorage ?? this.config.sessionStorage ?? new MemorySessionStorage(),
1863
1868
  domain: this.siweDomain,
1864
1869
  spacePrefix: prefix,
1865
- sessionExpirationMs: this.config.sessionExpirationMs ?? 60 * 60 * 1e3,
1870
+ sessionExpirationMs: this.config.sessionExpirationMs ?? DEFAULT_SESSION_EXPIRATION_MS,
1866
1871
  tinycloudHosts: this.explicitHost ? [this.explicitHost] : void 0,
1867
1872
  tinycloudRegistryUrl: this.config.tinycloudRegistryUrl,
1868
1873
  tinycloudFallbackHosts: this.config.tinycloudFallbackHosts,
@@ -2138,7 +2143,7 @@ var _TinyCloudNode = class _TinyCloudNode {
2138
2143
  * @internal
2139
2144
  */
2140
2145
  getSessionExpiry() {
2141
- const expirationMs = this.config.sessionExpirationMs ?? 60 * 60 * 1e3;
2146
+ const expirationMs = this.config.sessionExpirationMs ?? DEFAULT_SESSION_EXPIRATION_MS;
2142
2147
  return new Date(Date.now() + expirationMs);
2143
2148
  }
2144
2149
  /**
@@ -2295,6 +2300,34 @@ var _TinyCloudNode = class _TinyCloudNode {
2295
2300
  }
2296
2301
  return this._sql;
2297
2302
  }
2303
+ /**
2304
+ * Get an SQL service scoped to a specific space.
2305
+ *
2306
+ * Mirrors {@link SpaceService}'s per-space KV factory: clones the active
2307
+ * service context and overrides its session's spaceId so that subsequent
2308
+ * `sql/<dbName>/<action>` invocations route to that space. Useful when
2309
+ * the caller already holds a delegation covering the target space (e.g.
2310
+ * via {@link grantRuntimePermissions} or {@link useRuntimeDelegation})
2311
+ * but the SDK's per-space SQL surface isn't otherwise exposed.
2312
+ *
2313
+ * Does NOT auto-create the space.
2314
+ *
2315
+ * @param spaceId - Full space URI (`tinycloud:pkh:eip155:<chain>:<addr>:<name>`).
2316
+ */
2317
+ sqlForSpace(spaceId) {
2318
+ if (!this._serviceContext || !this._serviceContext.session) {
2319
+ throw new Error("Not signed in. Call signIn() first.");
2320
+ }
2321
+ const sql = new SQLService2({});
2322
+ const spaceScopedContext = new ServiceContext2({
2323
+ invoke: this._serviceContext.invoke,
2324
+ fetch: this._serviceContext.fetch,
2325
+ hosts: this._serviceContext.hosts
2326
+ });
2327
+ spaceScopedContext.setSession({ ...this._serviceContext.session, spaceId });
2328
+ sql.initialize(spaceScopedContext);
2329
+ return sql;
2330
+ }
2298
2331
  /**
2299
2332
  * DuckDB database operations on this user's space.
2300
2333
  */
@@ -2721,7 +2754,7 @@ var _TinyCloudNode = class _TinyCloudNode {
2721
2754
  ];
2722
2755
  const abilities = { kv: { "": kvActions } };
2723
2756
  const now = /* @__PURE__ */ new Date();
2724
- const expiryMs = 60 * 60 * 1e3;
2757
+ const expiryMs = EXPIRY3.EPHEMERAL_MS;
2725
2758
  const expirationTime = new Date(now.getTime() + expiryMs);
2726
2759
  const prepared = this.wasmBindings.prepareSession({
2727
2760
  abilities,