@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/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ISigner, Bytes, IWasmBindings, ISessionManager } from '@tinycloud/sdk-core';
2
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';
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-BSqBtkg3.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
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';
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-BSqBtkg3.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;
@@ -18182,7 +18184,8 @@ function createWasmKeyProvider(sessionManager) {
18182
18184
  // src/delegateToHelpers.ts
18183
18185
  import {
18184
18186
  parseExpiry,
18185
- SiweMessage
18187
+ SiweMessage,
18188
+ EXPIRY as EXPIRY2
18186
18189
  } from "@tinycloud/sdk-core";
18187
18190
  function legacyParamsToPermissionEntries(actions, path, spaceIdOverride) {
18188
18191
  const byService = /* @__PURE__ */ new Map();
@@ -18214,9 +18217,10 @@ function legacyParamsToPermissionEntries(actions, path, spaceIdOverride) {
18214
18217
  }
18215
18218
  return entries;
18216
18219
  }
18220
+ var DEFAULT_DELEGATION_EXPIRY_MS = EXPIRY2.SESSION_MS;
18217
18221
  function resolveExpiryMs(expiry) {
18218
18222
  if (expiry === void 0) {
18219
- return 60 * 60 * 1e3;
18223
+ return DEFAULT_DELEGATION_EXPIRY_MS;
18220
18224
  }
18221
18225
  if (typeof expiry === "number") {
18222
18226
  if (!Number.isFinite(expiry) || expiry <= 0) {
@@ -18390,6 +18394,7 @@ var NodeSecretsService = class {
18390
18394
 
18391
18395
  // src/TinyCloudNode.ts
18392
18396
  var DEFAULT_HOST = "https://node.tinycloud.xyz";
18397
+ var DEFAULT_SESSION_EXPIRATION_MS = EXPIRY3.SESSION_MS;
18393
18398
  var _TinyCloudNode = class _TinyCloudNode {
18394
18399
  /**
18395
18400
  * Create a new TinyCloudNode instance.
@@ -18532,7 +18537,7 @@ var _TinyCloudNode = class _TinyCloudNode {
18532
18537
  sessionStorage: config.sessionStorage ?? new MemorySessionStorage(),
18533
18538
  domain: this.siweDomain,
18534
18539
  spacePrefix: config.prefix,
18535
- sessionExpirationMs: config.sessionExpirationMs ?? 60 * 60 * 1e3,
18540
+ sessionExpirationMs: config.sessionExpirationMs ?? DEFAULT_SESSION_EXPIRATION_MS,
18536
18541
  tinycloudHosts: this.explicitHost ? [this.explicitHost] : void 0,
18537
18542
  tinycloudRegistryUrl: config.tinycloudRegistryUrl,
18538
18543
  tinycloudFallbackHosts: config.tinycloudFallbackHosts,
@@ -18842,7 +18847,7 @@ var _TinyCloudNode = class _TinyCloudNode {
18842
18847
  sessionStorage: options?.sessionStorage ?? this.config.sessionStorage ?? new MemorySessionStorage(),
18843
18848
  domain: this.siweDomain,
18844
18849
  spacePrefix: prefix,
18845
- sessionExpirationMs: this.config.sessionExpirationMs ?? 60 * 60 * 1e3,
18850
+ sessionExpirationMs: this.config.sessionExpirationMs ?? DEFAULT_SESSION_EXPIRATION_MS,
18846
18851
  tinycloudHosts: this.explicitHost ? [this.explicitHost] : void 0,
18847
18852
  tinycloudRegistryUrl: this.config.tinycloudRegistryUrl,
18848
18853
  tinycloudFallbackHosts: this.config.tinycloudFallbackHosts,
@@ -18886,7 +18891,7 @@ var _TinyCloudNode = class _TinyCloudNode {
18886
18891
  sessionStorage: options?.sessionStorage ?? this.config.sessionStorage ?? new MemorySessionStorage(),
18887
18892
  domain: this.siweDomain,
18888
18893
  spacePrefix: prefix,
18889
- sessionExpirationMs: this.config.sessionExpirationMs ?? 60 * 60 * 1e3,
18894
+ sessionExpirationMs: this.config.sessionExpirationMs ?? DEFAULT_SESSION_EXPIRATION_MS,
18890
18895
  tinycloudHosts: this.explicitHost ? [this.explicitHost] : void 0,
18891
18896
  tinycloudRegistryUrl: this.config.tinycloudRegistryUrl,
18892
18897
  tinycloudFallbackHosts: this.config.tinycloudFallbackHosts,
@@ -19162,7 +19167,7 @@ var _TinyCloudNode = class _TinyCloudNode {
19162
19167
  * @internal
19163
19168
  */
19164
19169
  getSessionExpiry() {
19165
- const expirationMs = this.config.sessionExpirationMs ?? 60 * 60 * 1e3;
19170
+ const expirationMs = this.config.sessionExpirationMs ?? DEFAULT_SESSION_EXPIRATION_MS;
19166
19171
  return new Date(Date.now() + expirationMs);
19167
19172
  }
19168
19173
  /**
@@ -19319,6 +19324,34 @@ var _TinyCloudNode = class _TinyCloudNode {
19319
19324
  }
19320
19325
  return this._sql;
19321
19326
  }
19327
+ /**
19328
+ * Get an SQL service scoped to a specific space.
19329
+ *
19330
+ * Mirrors {@link SpaceService}'s per-space KV factory: clones the active
19331
+ * service context and overrides its session's spaceId so that subsequent
19332
+ * `sql/<dbName>/<action>` invocations route to that space. Useful when
19333
+ * the caller already holds a delegation covering the target space (e.g.
19334
+ * via {@link grantRuntimePermissions} or {@link useRuntimeDelegation})
19335
+ * but the SDK's per-space SQL surface isn't otherwise exposed.
19336
+ *
19337
+ * Does NOT auto-create the space.
19338
+ *
19339
+ * @param spaceId - Full space URI (`tinycloud:pkh:eip155:<chain>:<addr>:<name>`).
19340
+ */
19341
+ sqlForSpace(spaceId) {
19342
+ if (!this._serviceContext || !this._serviceContext.session) {
19343
+ throw new Error("Not signed in. Call signIn() first.");
19344
+ }
19345
+ const sql = new SQLService2({});
19346
+ const spaceScopedContext = new ServiceContext2({
19347
+ invoke: this._serviceContext.invoke,
19348
+ fetch: this._serviceContext.fetch,
19349
+ hosts: this._serviceContext.hosts
19350
+ });
19351
+ spaceScopedContext.setSession({ ...this._serviceContext.session, spaceId });
19352
+ sql.initialize(spaceScopedContext);
19353
+ return sql;
19354
+ }
19322
19355
  /**
19323
19356
  * DuckDB database operations on this user's space.
19324
19357
  */
@@ -19745,7 +19778,7 @@ var _TinyCloudNode = class _TinyCloudNode {
19745
19778
  ];
19746
19779
  const abilities = { kv: { "": kvActions } };
19747
19780
  const now = /* @__PURE__ */ new Date();
19748
- const expiryMs = 60 * 60 * 1e3;
19781
+ const expiryMs = EXPIRY3.EPHEMERAL_MS;
19749
19782
  const expirationTime = new Date(now.getTime() + expiryMs);
19750
19783
  const prepared = this.wasmBindings.prepareSession({
19751
19784
  abilities,