@tinycloud/node-sdk 3.2.0-beta.4 → 3.2.0-beta.5

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, CapabilityPresentationEnvelopeV1, IWasmBindings, PersistedSessionProof, ISessionManager } from '@tinycloud/sdk-core';
2
2
  export { ACCOUNT_REGISTRY_PATH, ACCOUNT_REGISTRY_SPACE, AccountApplication, AccountApplicationListOptions, AccountApplicationRegisterOptions, AccountDelegation, AccountDelegationListOptions, AccountDelegationPage, AccountDelegationQueryOptions, AccountDelegationRecord, AccountDelegationResource, AccountDelegationRevokeOptions, AccountIndexEnsureResult, AccountIndexRebuildResult, AccountIndexStatus, AccountIndexedReadOptions, AccountService, AccountServiceConfig, AccountSpace, AccountSpaceListOptions, AccountStatus, AuthorityRefusal, AutoApproveSpaceCreationHandler, AutoRejectStrategy, AutoSignStrategy, BatchOptions, BatchResponse, BuildCanonicalDecryptRequestInput, BuildDecryptFactsInput, BuildDecryptInvocationInput, BuiltDecryptInvocation, CallbackStrategy, CanonicalAddress, CanonicalDecryptRequest, CanonicalJson, CanonicalParsedNetworkId, CapabilityEntry, CapabilityKeyRegistry, CapabilityKeyRegistryErrorCode, CapabilityKeyRegistryErrorCodes, CaveatedDelegationUnsupportedError, ClientSession, ColumnInfo, ComposeManifestOptions, ComposedManifestRequest, CreateDelegationParams, DECRYPT_ACTION, DECRYPT_FACT_TYPE, DECRYPT_RESULT_TYPE, DEFAULT_ENCRYPTION_ALG, DEFAULT_KEY_VERSION, DEFAULT_MANIFEST_SPACE, DEFAULT_MANIFEST_VERSION, DEFAULT_SIGNED_READ_URL_EXPIRY_MS, DataVaultConfig, DataVaultService, DatabaseHandle, DecryptCapabilityProof, DecryptEnvelopeOptions, DecryptInvocationFact, DecryptInvocationSigner, DecryptRequestBody, DecryptResponseBody, DecryptTransport, DecryptTransportResponseError, DelegateReceivedShareParams, DelegatedShareAccess, Delegation, DelegationChain, DelegationChainV2, DelegationDirection, DelegationError, DelegationErrorCode, DelegationErrorCodes, DelegationFilters, DelegationManager, DelegationManagerConfig, DelegationRecord, DelegationResult, DelegationRevocationReceipt, DidCacheKeyOptions, DidEqualsOptions, DiscoverNetworkInput, DiscoveredNetwork, DiscoverySource, DuckDbAction, DuckDbActionType, DuckDbBatchOptions, DuckDbBatchResponse, DuckDbDatabaseHandle, DuckDbExecuteOptions, DuckDbExecuteResponse, DuckDbOptions, DuckDbQueryOptions, DuckDbQueryResponse, DuckDbService, DuckDbServiceConfig, DuckDbStatement, DuckDbValue, ENCRYPTION_NETWORK_URN_PREFIX, ENCRYPTION_SERVICE, ENCRYPTION_SERVICE_SHORT, ENVELOPE_VERSION, EncodedShareData, EncryptToNetworkInput, EncryptToNetworkOptions, EncryptToNetworkResult, EncryptionCrypto, EncryptionError, EncryptionErrorInput, EncryptionService, EncryptionServiceConfig, ExecuteOptions, ExecuteResponse, Extension, FetchFunction, GenerateShareParams, HookEvent, HookServiceName, HookStreamEvent, HookSubscription, HookWebhookListOptions, HookWebhookRecord, HookWebhookRegistration, HookWebhookScope, HookWebhookUnregisterOptions, HooksService, HooksServiceConfig, ICapabilityKeyRegistry, IDataVaultService, IDatabaseHandle, IDuckDbDatabaseHandle, IDuckDbService, IENSResolver, IEncryptionService, IHooksService, IKVService, INotificationHandler, IPrefixedKVService, ISQLService, ISecretsService, ISessionManager, ISessionStorage, ISharingService, ISigner, ISpace, ISpaceCreationHandler, ISpaceScopedDelegations, ISpaceScopedSharing, ISpaceService, IUserAuthorization, IWasmBindings, IdentityParseError, IngestOptions, InlineEncryptedEnvelope, InvokeFunction, JWK, KVBatchReadResponse, KVCreateSignedReadUrlOptions, KVListPage, KVReadThrough, KVReplicaHandle, KVReplicaSpec, KVReplicaStorage, KVReplicationController, KVReplicationDeps, KVResponse, KVService, KVServiceConfig, KVSignedReadUrlResponse, KeyInfo, KeyProvider, KeyType, LocalGetResult, LocalListResult, LocalReadMeta, LocalReplicaStatus, LocalSyncResult, MAX_SECRET_SCOPE_LENGTH, Manifest, ManifestDefaults, ManifestRegistryRecord, ManifestSecretActions, ManifestValidationError, NETWORK_NAME_PATTERN, NetworkDescriptor, NetworkIdError, NodeDescriptorFetcher, OpenKeyCallbackStrategy, OpenKeySigningRequestBody, OpenKeySigningResponseBody, OpenKeySigningStrategyOptions, OwnerDelegationPermission, ParsedNetworkId, ParsedSecretCatalogKey, PendingWriteRecord, PendingWriteState, PendingWriteStore, PermissionEntry, PermissionNotInManifestError, PersistedSessionData, PinnedKey, PkhDidParts, PrefixedKVService, ProtocolMismatchError, PurgeTarget, QueryOptions, QueryResponse, RandomReceiverKeyInput, ReceiveOptions, ReceiverKeyPair, ReceiverKeySigner, RegisterBatchSuccess, RegisterPolicyV3Input, RegisterPolicyV3Receipt, ReplicaAuthorityState, ReplicaCoverage, ReplicaDevice, ReplicaGrantInfo, ReplicaState, ReplicaStatusEntry, ReplicationAuthority, ReplicationControl, ReplicationEvent, ReplicationIdentity, ReplicationOptions, ReplicationPurgeReport, ReplicationReason, ReplicationScheduler, ResolvedCapabilities, ResolvedDelegate, ResolvedReplicationOptions, ResolvedSecretPath, ResourceCapability, SECRET_NAME_RE, SECRET_SCOPE_RE, SQLAction, SQLActionType, SQLService, SQLServiceConfig, STORAGE_FULL_MESSAGE, STORAGE_WRITE_TOO_LARGE_MESSAGE, SchemaInfo, SecretCatalogEntry, SecretPayload, SecretPutOptions, SecretScopeOptions, SecretsError, SecretsService, ServiceContext, ServiceContextConfig, ServiceSession, SessionExpiredError, ShareAccess, ShareLink, ShareLinkData, ShareSchema, SharingService, SharingServiceConfig, SignCallback, SignInOptions, SignRequest, SignResponse, SignedReceiverKeyInput, SilentNotificationHandler, Space, SpaceAbilitiesMap, SpaceConfig, SpaceCreationContext, SpaceErrorCode, SpaceErrorCodes, SpaceInfo, SpaceOwnership, SpaceService, SpaceServiceConfig, SqlStatement, SqlValue, StoredDelegationChain, SubscribeOptions, TC832_RESERVED_SCOPES, 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, VerifyDecryptResponseInput, VersionCheckError, ViewInfo, WasmVaultFunctions, WellKnownDescriptorFetcher, addressStorageKey, appSecretScope, buildCanonicalDecryptRequest, buildDecryptAttenuation, buildDecryptFacts, buildDecryptInvocation, buildNetworkId, buildSpaceUri, canonicalHashHex, canonicalSignedResponse, canonicalizeAddress, canonicalizeDid, canonicalizeDidUrl, canonicalizeEncryptionJson, canonicalizeNetworkId, canonicalizeSecretScope, checkDecryptInvocationInput, checkNodeInfo, clearTinyCloudDebugLogs, composeManifestRequest, createCapabilityKeyRegistry, createOpenKeyCallbackSigningStrategy, createSharingService, createSpaceService, createVaultCrypto, decryptEnvelopeWithKey, defaultSpaceCreationHandler, deriveSignedReceiverKey, didCacheKey, didEquals, disableTinyCloudDebug, discoverNetwork, enableTinyCloudDebug, encryptToNetwork, encryptionBase64Decode, encryptionBase64Encode, encryptionError, encryptionUtf8Decode, encryptionUtf8Encode, ensureNetworkUsableForDecrypt, expandActionShortNames, expandPermissionEntries, expandPermissionEntry, generateRandomReceiverKey, getTinyCloudDebugLogs, hexDecode, hexEncode, installTinyCloudDebugGlobals, isCapabilitySubset, isEvmAddress, isNetworkId, isStorageFullError, loadManifest, makePkhSpaceId, makePublicSpaceId, networkDiscoveryKey, openWrappedKey, parseCanonicalNetworkId, parseExpiry, parseNetworkId, parsePkhDid, parseSecretCatalogKey, parseSpaceUri, pkhDid, principalDid, principalDidEquals, resolveManifest, resolveSecretListPrefix, resolveSecretPath, resourceCapabilitiesToSpaceAbilitiesMap, tinyCloudDebugLogger, validateEnvelope, validateManifest, verifyDecryptResponse } from '@tinycloud/sdk-core';
3
- export { A as ACCEPTED_MARKER_VERSIONS, a as AuthDelegationArtifact, b as AuthRequestArtifact, B as BOOTSTRAP_COMPLETION_MARKER_KEY, c as BOOTSTRAP_COMPLETION_MARKER_VERSION, d as BootstrapCompletionMarker, e as BootstrapWarning, C as CompactRuntimeDelegationInput, f as CreateOwnerDelegationParams, D as DelegateToOptions, g as DelegateToResult, h as DelegatedAccess, i as DelegationAuthority, E as EnsureEncryptionNetworkOptions, F as FileSessionStorage, I as InvalidRestoredSessionError, M as MemorySessionStorage, N as NodeEventEmitterStrategy, j as NodeUserAuthorization, k as NodeUserAuthorizationConfig, O as OwnerDelegationReceipt, P as PortableDelegation, R as RUNTIME_DELEGATION_REJECTIONS, l as RestorableSession, m as RuntimeDelegationActivator, n as RuntimeDelegationRejectedError, o as RuntimeDelegationRejection, p as RuntimePermissionGrantOptions, S as SecretPermissionHint, q as SecretReadInput, r as SecretReadResult, s as SessionGrantProof, t as SignStrategy, T as TinyCloudNode, u as TinyCloudNodeConfig, U as UnifiedOwnerRootInput, v as UnifiedOwnerRootReceipt, w as UnsupportedSessionRestoreError, V as ValidatedRuntimeDelegation, x as VerifiedSessionGrant, W as WasmKeyProvider, y as WasmKeyProviderConfig, z as activateCompactRuntimeDelegation, G as activateValidatedRuntimeDelegation, H as createWasmKeyProvider, J as defaultSignStrategy, K as deserializeDelegation, L as grantAuthRequest, Q as serializeDelegation, X as signedCompactUcanExpiry } from './WasmKeyProvider-DjfRu9aL.cjs';
3
+ export { A as ACCEPTED_MARKER_VERSIONS, a as AuthDelegationArtifact, b as AuthRequestArtifact, B as BOOTSTRAP_COMPLETION_MARKER_KEY, c as BOOTSTRAP_COMPLETION_MARKER_VERSION, d as BootstrapCompletionMarker, e as BootstrapWarning, C as CompactRuntimeDelegationInput, f as CreateOwnerDelegationParams, D as DelegateToOptions, g as DelegateToResult, h as DelegatedAccess, i as DelegationAuthority, E as EnsureEncryptionNetworkOptions, F as FileSessionStorage, I as InvalidRestoredSessionError, M as MemorySessionStorage, N as NodeEventEmitterStrategy, j as NodeUserAuthorization, k as NodeUserAuthorizationConfig, O as OwnerDelegationReceipt, P as PortableDelegation, R as RUNTIME_DELEGATION_REJECTIONS, l as RestorableSession, m as RuntimeDelegationActivator, n as RuntimeDelegationRejectedError, o as RuntimeDelegationRejection, p as RuntimePermissionGrantOptions, S as SecretPermissionHint, q as SecretReadInput, r as SecretReadResult, s as SessionGrantProof, t as SignStrategy, T as TinyCloudNode, u as TinyCloudNodeConfig, U as UnifiedOwnerRootInput, v as UnifiedOwnerRootReceipt, w as UnsupportedSessionRestoreError, V as ValidatedRuntimeDelegation, x as VerifiedSessionGrant, W as WasmKeyProvider, y as WasmKeyProviderConfig, z as activateCompactRuntimeDelegation, G as activateValidatedRuntimeDelegation, H as createWasmKeyProvider, J as defaultSignStrategy, K as deserializeDelegation, L as grantAuthRequest, Q as serializeDelegation, X as signedCompactUcanExpiry } from './WasmKeyProvider-D2gBxuiY.cjs';
4
4
  import { invoke, invokeAny, computeCid, prepareSession, completeSessionSetup, ensureEip55, makeSpaceId, createDelegation, parseRecapFromSiwe, parseVerifiedRecapFromSiwe, 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 { KVReplicaStorage } from '@tinycloud/sdk-services';
6
6
  import 'events';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ISigner, Bytes, CapabilityPresentationEnvelopeV1, IWasmBindings, PersistedSessionProof, ISessionManager } from '@tinycloud/sdk-core';
2
2
  export { ACCOUNT_REGISTRY_PATH, ACCOUNT_REGISTRY_SPACE, AccountApplication, AccountApplicationListOptions, AccountApplicationRegisterOptions, AccountDelegation, AccountDelegationListOptions, AccountDelegationPage, AccountDelegationQueryOptions, AccountDelegationRecord, AccountDelegationResource, AccountDelegationRevokeOptions, AccountIndexEnsureResult, AccountIndexRebuildResult, AccountIndexStatus, AccountIndexedReadOptions, AccountService, AccountServiceConfig, AccountSpace, AccountSpaceListOptions, AccountStatus, AuthorityRefusal, AutoApproveSpaceCreationHandler, AutoRejectStrategy, AutoSignStrategy, BatchOptions, BatchResponse, BuildCanonicalDecryptRequestInput, BuildDecryptFactsInput, BuildDecryptInvocationInput, BuiltDecryptInvocation, CallbackStrategy, CanonicalAddress, CanonicalDecryptRequest, CanonicalJson, CanonicalParsedNetworkId, CapabilityEntry, CapabilityKeyRegistry, CapabilityKeyRegistryErrorCode, CapabilityKeyRegistryErrorCodes, CaveatedDelegationUnsupportedError, ClientSession, ColumnInfo, ComposeManifestOptions, ComposedManifestRequest, CreateDelegationParams, DECRYPT_ACTION, DECRYPT_FACT_TYPE, DECRYPT_RESULT_TYPE, DEFAULT_ENCRYPTION_ALG, DEFAULT_KEY_VERSION, DEFAULT_MANIFEST_SPACE, DEFAULT_MANIFEST_VERSION, DEFAULT_SIGNED_READ_URL_EXPIRY_MS, DataVaultConfig, DataVaultService, DatabaseHandle, DecryptCapabilityProof, DecryptEnvelopeOptions, DecryptInvocationFact, DecryptInvocationSigner, DecryptRequestBody, DecryptResponseBody, DecryptTransport, DecryptTransportResponseError, DelegateReceivedShareParams, DelegatedShareAccess, Delegation, DelegationChain, DelegationChainV2, DelegationDirection, DelegationError, DelegationErrorCode, DelegationErrorCodes, DelegationFilters, DelegationManager, DelegationManagerConfig, DelegationRecord, DelegationResult, DelegationRevocationReceipt, DidCacheKeyOptions, DidEqualsOptions, DiscoverNetworkInput, DiscoveredNetwork, DiscoverySource, DuckDbAction, DuckDbActionType, DuckDbBatchOptions, DuckDbBatchResponse, DuckDbDatabaseHandle, DuckDbExecuteOptions, DuckDbExecuteResponse, DuckDbOptions, DuckDbQueryOptions, DuckDbQueryResponse, DuckDbService, DuckDbServiceConfig, DuckDbStatement, DuckDbValue, ENCRYPTION_NETWORK_URN_PREFIX, ENCRYPTION_SERVICE, ENCRYPTION_SERVICE_SHORT, ENVELOPE_VERSION, EncodedShareData, EncryptToNetworkInput, EncryptToNetworkOptions, EncryptToNetworkResult, EncryptionCrypto, EncryptionError, EncryptionErrorInput, EncryptionService, EncryptionServiceConfig, ExecuteOptions, ExecuteResponse, Extension, FetchFunction, GenerateShareParams, HookEvent, HookServiceName, HookStreamEvent, HookSubscription, HookWebhookListOptions, HookWebhookRecord, HookWebhookRegistration, HookWebhookScope, HookWebhookUnregisterOptions, HooksService, HooksServiceConfig, ICapabilityKeyRegistry, IDataVaultService, IDatabaseHandle, IDuckDbDatabaseHandle, IDuckDbService, IENSResolver, IEncryptionService, IHooksService, IKVService, INotificationHandler, IPrefixedKVService, ISQLService, ISecretsService, ISessionManager, ISessionStorage, ISharingService, ISigner, ISpace, ISpaceCreationHandler, ISpaceScopedDelegations, ISpaceScopedSharing, ISpaceService, IUserAuthorization, IWasmBindings, IdentityParseError, IngestOptions, InlineEncryptedEnvelope, InvokeFunction, JWK, KVBatchReadResponse, KVCreateSignedReadUrlOptions, KVListPage, KVReadThrough, KVReplicaHandle, KVReplicaSpec, KVReplicaStorage, KVReplicationController, KVReplicationDeps, KVResponse, KVService, KVServiceConfig, KVSignedReadUrlResponse, KeyInfo, KeyProvider, KeyType, LocalGetResult, LocalListResult, LocalReadMeta, LocalReplicaStatus, LocalSyncResult, MAX_SECRET_SCOPE_LENGTH, Manifest, ManifestDefaults, ManifestRegistryRecord, ManifestSecretActions, ManifestValidationError, NETWORK_NAME_PATTERN, NetworkDescriptor, NetworkIdError, NodeDescriptorFetcher, OpenKeyCallbackStrategy, OpenKeySigningRequestBody, OpenKeySigningResponseBody, OpenKeySigningStrategyOptions, OwnerDelegationPermission, ParsedNetworkId, ParsedSecretCatalogKey, PendingWriteRecord, PendingWriteState, PendingWriteStore, PermissionEntry, PermissionNotInManifestError, PersistedSessionData, PinnedKey, PkhDidParts, PrefixedKVService, ProtocolMismatchError, PurgeTarget, QueryOptions, QueryResponse, RandomReceiverKeyInput, ReceiveOptions, ReceiverKeyPair, ReceiverKeySigner, RegisterBatchSuccess, RegisterPolicyV3Input, RegisterPolicyV3Receipt, ReplicaAuthorityState, ReplicaCoverage, ReplicaDevice, ReplicaGrantInfo, ReplicaState, ReplicaStatusEntry, ReplicationAuthority, ReplicationControl, ReplicationEvent, ReplicationIdentity, ReplicationOptions, ReplicationPurgeReport, ReplicationReason, ReplicationScheduler, ResolvedCapabilities, ResolvedDelegate, ResolvedReplicationOptions, ResolvedSecretPath, ResourceCapability, SECRET_NAME_RE, SECRET_SCOPE_RE, SQLAction, SQLActionType, SQLService, SQLServiceConfig, STORAGE_FULL_MESSAGE, STORAGE_WRITE_TOO_LARGE_MESSAGE, SchemaInfo, SecretCatalogEntry, SecretPayload, SecretPutOptions, SecretScopeOptions, SecretsError, SecretsService, ServiceContext, ServiceContextConfig, ServiceSession, SessionExpiredError, ShareAccess, ShareLink, ShareLinkData, ShareSchema, SharingService, SharingServiceConfig, SignCallback, SignInOptions, SignRequest, SignResponse, SignedReceiverKeyInput, SilentNotificationHandler, Space, SpaceAbilitiesMap, SpaceConfig, SpaceCreationContext, SpaceErrorCode, SpaceErrorCodes, SpaceInfo, SpaceOwnership, SpaceService, SpaceServiceConfig, SqlStatement, SqlValue, StoredDelegationChain, SubscribeOptions, TC832_RESERVED_SCOPES, 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, VerifyDecryptResponseInput, VersionCheckError, ViewInfo, WasmVaultFunctions, WellKnownDescriptorFetcher, addressStorageKey, appSecretScope, buildCanonicalDecryptRequest, buildDecryptAttenuation, buildDecryptFacts, buildDecryptInvocation, buildNetworkId, buildSpaceUri, canonicalHashHex, canonicalSignedResponse, canonicalizeAddress, canonicalizeDid, canonicalizeDidUrl, canonicalizeEncryptionJson, canonicalizeNetworkId, canonicalizeSecretScope, checkDecryptInvocationInput, checkNodeInfo, clearTinyCloudDebugLogs, composeManifestRequest, createCapabilityKeyRegistry, createOpenKeyCallbackSigningStrategy, createSharingService, createSpaceService, createVaultCrypto, decryptEnvelopeWithKey, defaultSpaceCreationHandler, deriveSignedReceiverKey, didCacheKey, didEquals, disableTinyCloudDebug, discoverNetwork, enableTinyCloudDebug, encryptToNetwork, encryptionBase64Decode, encryptionBase64Encode, encryptionError, encryptionUtf8Decode, encryptionUtf8Encode, ensureNetworkUsableForDecrypt, expandActionShortNames, expandPermissionEntries, expandPermissionEntry, generateRandomReceiverKey, getTinyCloudDebugLogs, hexDecode, hexEncode, installTinyCloudDebugGlobals, isCapabilitySubset, isEvmAddress, isNetworkId, isStorageFullError, loadManifest, makePkhSpaceId, makePublicSpaceId, networkDiscoveryKey, openWrappedKey, parseCanonicalNetworkId, parseExpiry, parseNetworkId, parsePkhDid, parseSecretCatalogKey, parseSpaceUri, pkhDid, principalDid, principalDidEquals, resolveManifest, resolveSecretListPrefix, resolveSecretPath, resourceCapabilitiesToSpaceAbilitiesMap, tinyCloudDebugLogger, validateEnvelope, validateManifest, verifyDecryptResponse } from '@tinycloud/sdk-core';
3
- export { A as ACCEPTED_MARKER_VERSIONS, a as AuthDelegationArtifact, b as AuthRequestArtifact, B as BOOTSTRAP_COMPLETION_MARKER_KEY, c as BOOTSTRAP_COMPLETION_MARKER_VERSION, d as BootstrapCompletionMarker, e as BootstrapWarning, C as CompactRuntimeDelegationInput, f as CreateOwnerDelegationParams, D as DelegateToOptions, g as DelegateToResult, h as DelegatedAccess, i as DelegationAuthority, E as EnsureEncryptionNetworkOptions, F as FileSessionStorage, I as InvalidRestoredSessionError, M as MemorySessionStorage, N as NodeEventEmitterStrategy, j as NodeUserAuthorization, k as NodeUserAuthorizationConfig, O as OwnerDelegationReceipt, P as PortableDelegation, R as RUNTIME_DELEGATION_REJECTIONS, l as RestorableSession, m as RuntimeDelegationActivator, n as RuntimeDelegationRejectedError, o as RuntimeDelegationRejection, p as RuntimePermissionGrantOptions, S as SecretPermissionHint, q as SecretReadInput, r as SecretReadResult, s as SessionGrantProof, t as SignStrategy, T as TinyCloudNode, u as TinyCloudNodeConfig, U as UnifiedOwnerRootInput, v as UnifiedOwnerRootReceipt, w as UnsupportedSessionRestoreError, V as ValidatedRuntimeDelegation, x as VerifiedSessionGrant, W as WasmKeyProvider, y as WasmKeyProviderConfig, z as activateCompactRuntimeDelegation, G as activateValidatedRuntimeDelegation, H as createWasmKeyProvider, J as defaultSignStrategy, K as deserializeDelegation, L as grantAuthRequest, Q as serializeDelegation, X as signedCompactUcanExpiry } from './WasmKeyProvider-DjfRu9aL.js';
3
+ export { A as ACCEPTED_MARKER_VERSIONS, a as AuthDelegationArtifact, b as AuthRequestArtifact, B as BOOTSTRAP_COMPLETION_MARKER_KEY, c as BOOTSTRAP_COMPLETION_MARKER_VERSION, d as BootstrapCompletionMarker, e as BootstrapWarning, C as CompactRuntimeDelegationInput, f as CreateOwnerDelegationParams, D as DelegateToOptions, g as DelegateToResult, h as DelegatedAccess, i as DelegationAuthority, E as EnsureEncryptionNetworkOptions, F as FileSessionStorage, I as InvalidRestoredSessionError, M as MemorySessionStorage, N as NodeEventEmitterStrategy, j as NodeUserAuthorization, k as NodeUserAuthorizationConfig, O as OwnerDelegationReceipt, P as PortableDelegation, R as RUNTIME_DELEGATION_REJECTIONS, l as RestorableSession, m as RuntimeDelegationActivator, n as RuntimeDelegationRejectedError, o as RuntimeDelegationRejection, p as RuntimePermissionGrantOptions, S as SecretPermissionHint, q as SecretReadInput, r as SecretReadResult, s as SessionGrantProof, t as SignStrategy, T as TinyCloudNode, u as TinyCloudNodeConfig, U as UnifiedOwnerRootInput, v as UnifiedOwnerRootReceipt, w as UnsupportedSessionRestoreError, V as ValidatedRuntimeDelegation, x as VerifiedSessionGrant, W as WasmKeyProvider, y as WasmKeyProviderConfig, z as activateCompactRuntimeDelegation, G as activateValidatedRuntimeDelegation, H as createWasmKeyProvider, J as defaultSignStrategy, K as deserializeDelegation, L as grantAuthRequest, Q as serializeDelegation, X as signedCompactUcanExpiry } from './WasmKeyProvider-D2gBxuiY.js';
4
4
  import { invoke, invokeAny, computeCid, prepareSession, completeSessionSetup, ensureEip55, makeSpaceId, createDelegation, parseRecapFromSiwe, parseVerifiedRecapFromSiwe, 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 { KVReplicaStorage } from '@tinycloud/sdk-services';
6
6
  import 'events';
package/dist/index.js CHANGED
@@ -17036,7 +17036,7 @@ var require_utils2 = __commonJS({
17036
17036
  });
17037
17037
 
17038
17038
  // src/replication/config.ts
17039
- import { kvPrefixCovers } from "@tinycloud/sdk-services";
17039
+ import { assertFolderPrefix as assertPureFolderPrefix, kvPrefixCovers } from "@tinycloud/sdk-services/kv/replication/prefix";
17040
17040
  function assertValidReplicationConfig(replication) {
17041
17041
  if (replication === void 0 || replication.enabled !== true) return;
17042
17042
  if (replication.storage === void 0 || replication.storage === null) {
@@ -17046,8 +17046,10 @@ function assertValidReplicationConfig(replication) {
17046
17046
  throw new TypeError("replication.prefixes must be a non-empty array");
17047
17047
  }
17048
17048
  for (const prefix of replication.prefixes) {
17049
- if (typeof prefix !== "string" || prefix === "") {
17050
- throw new TypeError("replication.prefixes must not contain an empty prefix");
17049
+ try {
17050
+ assertPureFolderPrefix(prefix);
17051
+ } catch (error) {
17052
+ throw new TypeError(error instanceof Error ? error.message : String(error));
17051
17053
  }
17052
17054
  }
17053
17055
  for (const [index, prefix] of replication.prefixes.entries()) {
@@ -17058,7 +17060,7 @@ function assertValidReplicationConfig(replication) {
17058
17060
  );
17059
17061
  }
17060
17062
  }
17061
- if (prefix.split("/", 1)[0] === "vault" && replication.allowSecrets !== true) {
17063
+ if ((prefix === "/" || prefix.split("/", 1)[0] === "vault") && replication.allowSecrets !== true) {
17062
17064
  throw new TypeError(
17063
17065
  `replication prefix ${JSON.stringify(prefix)} overlaps the vault namespace; pass allowSecrets to opt in`
17064
17066
  );
@@ -17073,15 +17075,14 @@ var init_config = __esm({
17073
17075
 
17074
17076
  // src/replication/authority-sign-in.ts
17075
17077
  import {
17076
- grantPathsForSelector,
17077
17078
  KV,
17078
17079
  isCapabilitySubset
17079
17080
  } from "@tinycloud/sdk-core";
17080
17081
  import { requiresSecretsOptIn } from "@tinycloud/sdk-services";
17082
+ import { assertFolderPrefix } from "@tinycloud/sdk-services/kv/replication/prefix";
17081
17083
  function hasUnrestrictedGetCoverage(entries, spaceId, prefix) {
17082
- const requiredPaths = grantPathsForSelector(prefix);
17083
17084
  return isCapabilitySubset(
17084
- requiredPaths.map((path) => ({ service: KV_SERVICE, space: spaceId, path, actions: [KV_GET] })),
17085
+ [{ service: KV_SERVICE, space: spaceId, path: prefix, actions: [KV_GET] }],
17085
17086
  [...entries]
17086
17087
  ).subset;
17087
17088
  }
@@ -17089,21 +17090,33 @@ function augmentSignInEntriesWithReplication(input) {
17089
17090
  const out = [];
17090
17091
  const replication = input.replication;
17091
17092
  if (replication === void 0) return out;
17093
+ const eligiblePaths = [];
17092
17094
  for (const prefix of replication.prefixes) {
17095
+ assertFolderPrefix(prefix);
17096
+ const path = prefix === "/" ? "" : prefix;
17093
17097
  if (requiresSecretsOptIn(input.primarySpaceId, prefix) && replication.allowSecrets !== true) {
17094
17098
  continue;
17095
17099
  }
17096
- if (!hasUnrestrictedGetCoverage(input.entries, input.primarySpaceId, prefix)) {
17100
+ if (!hasUnrestrictedGetCoverage(input.entries, input.primarySpaceId, path)) {
17097
17101
  continue;
17098
17102
  }
17099
- for (const path of grantPathsForSelector(prefix)) {
17100
- out.push({
17101
- service: KV_SERVICE,
17102
- space: input.primarySpaceId,
17103
- path,
17104
- actions: [KV_GET, KV_SYNC]
17105
- });
17106
- }
17103
+ eligiblePaths.push(path);
17104
+ }
17105
+ if (eligiblePaths.length === replication.prefixes.length && eligiblePaths.length > 0 && hasUnrestrictedGetCoverage(input.entries, input.primarySpaceId, "")) {
17106
+ return [{
17107
+ service: KV_SERVICE,
17108
+ space: input.primarySpaceId,
17109
+ path: "",
17110
+ actions: [KV_GET, KV_SYNC]
17111
+ }];
17112
+ }
17113
+ for (const path of eligiblePaths) {
17114
+ out.push({
17115
+ service: KV_SERVICE,
17116
+ space: input.primarySpaceId,
17117
+ path,
17118
+ actions: [KV_GET, KV_SYNC]
17119
+ });
17107
17120
  }
17108
17121
  return out;
17109
17122
  }
@@ -17265,6 +17278,7 @@ var init_runtime = __esm({
17265
17278
  scheduler: this.clock,
17266
17279
  emit,
17267
17280
  fetch: context.fetch,
17281
+ nodeFeatures: input.nodeFeatures,
17268
17282
  previous: previousClose
17269
17283
  });
17270
17284
  this.current = controller;
@@ -17326,7 +17340,6 @@ __export(authority_exports, {
17326
17340
  ucanAttUnconstrainedFor: () => ucanAttUnconstrainedFor
17327
17341
  });
17328
17342
  import {
17329
- grantPathsForSelector as grantPathsForSelector2,
17330
17343
  actionContains,
17331
17344
  KV as KV4,
17332
17345
  canonicalizeRecapCaveats as canonicalizeRecapCaveats3,
@@ -17335,12 +17348,12 @@ import {
17335
17348
  } from "@tinycloud/sdk-core";
17336
17349
  import { parseUcanGrant as replicaParseUcanGrant } from "@tinycloud/replica";
17337
17350
  function replicationEntries(spaceId, prefix) {
17338
- return grantPathsForSelector2(prefix).map((path) => ({
17351
+ return [{
17339
17352
  service: KV_SERVICE2,
17340
17353
  space: spaceId,
17341
- path,
17354
+ path: prefix === "/" ? "" : prefix,
17342
17355
  actions: [KV_GET2, KV_SYNC2]
17343
- }));
17356
+ }];
17344
17357
  }
17345
17358
  function caveatBranchesUnconstrained(value) {
17346
17359
  if (value === void 0 || value === null) return true;
@@ -17355,28 +17368,28 @@ function caveatBranchesUnconstrained(value) {
17355
17368
  }
17356
17369
  }
17357
17370
  function kvPathInResource(resource, space) {
17371
+ for (const root of [`${space}/kv`, `tinycloud://${space}/kv`]) {
17372
+ if (resource === root || resource === `${root}/`) return "/";
17373
+ }
17358
17374
  for (const base2 of [`${space}/kv/`, `tinycloud://${space}/kv/`]) {
17359
17375
  if (resource.startsWith(base2)) return resource.slice(base2.length);
17360
17376
  }
17361
17377
  return void 0;
17362
17378
  }
17363
17379
  function ucanAttCovers(att, space, prefix, ability, options) {
17364
- const requiredPaths = prefix.endsWith("/") ? [prefix] : [prefix, `${prefix}/`];
17365
- return requiredPaths.every((requestedPath) => {
17366
- for (const [resource, abilities] of Object.entries(att)) {
17367
- const path = kvPathInResource(resource, space);
17368
- if (path === void 0) continue;
17369
- for (const [granted, caveats] of Object.entries(abilities)) {
17370
- if (!actionContains(granted, ability)) continue;
17371
- if (!isCapabilitySubset3(
17372
- [{ service: KV_SERVICE2, space, path: requestedPath, actions: [ability] }],
17373
- [{ service: KV_SERVICE2, space, path, actions: [granted] }]
17374
- ).subset) continue;
17375
- if (options?.ignoreCaveats === true || caveatBranchesUnconstrained(caveats)) return true;
17376
- }
17380
+ for (const [resource, abilities] of Object.entries(att)) {
17381
+ const path = kvPathInResource(resource, space);
17382
+ if (path === void 0) continue;
17383
+ for (const [granted, caveats] of Object.entries(abilities)) {
17384
+ if (!actionContains(granted, ability)) continue;
17385
+ if (!isCapabilitySubset3(
17386
+ [{ service: KV_SERVICE2, space, path: prefix, actions: [ability] }],
17387
+ [{ service: KV_SERVICE2, space, path, actions: [granted] }]
17388
+ ).subset) continue;
17389
+ if (options?.ignoreCaveats === true || caveatBranchesUnconstrained(caveats)) return true;
17377
17390
  }
17378
- return false;
17379
- });
17391
+ }
17392
+ return false;
17380
17393
  }
17381
17394
  function ucanAttUnconstrainedFor(att, space, prefix) {
17382
17395
  return ucanAttCovers(att, space, prefix, KV_GET2) && ucanAttCovers(att, space, prefix, KV_SYNC2);
@@ -17391,7 +17404,7 @@ function replicationScopeFromSignedSession(input) {
17391
17404
  const bareDid = (value) => value.split("#", 1)[0];
17392
17405
  if (grant.cid !== input.delegationCid || bareDid(grant.audience) !== bareDid(input.verificationMethod)) return void 0;
17393
17406
  for (const resource of Object.keys(grant.att)) {
17394
- const space = resource.match(/^(?:tinycloud:\/\/)?(.+?)\/kv\//)?.[1];
17407
+ const space = resource.match(/^(?:tinycloud:\/\/)?(.+?)\/kv(?:\/|$)/)?.[1];
17395
17408
  if (space !== input.persistedSpace) continue;
17396
17409
  const owner = parseSpaceUri2(space);
17397
17410
  if (owner?.owner && owner.address && owner.chainId) return { space, principal: owner.owner };
@@ -18185,6 +18198,8 @@ function getNodeReplicationLoaders() {
18185
18198
  // src/TinyCloudNode.ts
18186
18199
  import {
18187
18200
  TinyCloud,
18201
+ checkNodeInfo as checkNodeInfo2,
18202
+ VersionCheckError,
18188
18203
  activateSessionWithHost as activateSessionWithHost2,
18189
18204
  authorizationVerdictOf,
18190
18205
  httpResponseError,
@@ -18426,6 +18441,7 @@ var NodeUserAuthorization = class {
18426
18441
  this.activeSessionKeyId = "default";
18427
18442
  this.extensions = [];
18428
18443
  this._nodeFeatures = [];
18444
+ this._nodeFeaturesKnown = false;
18429
18445
  this._lastActivationSkippedSpaceIds = [];
18430
18446
  this.wasm = config.wasmBindings;
18431
18447
  this.signer = config.signer;
@@ -18549,8 +18565,11 @@ var NodeUserAuthorization = class {
18549
18565
  }
18550
18566
  }
18551
18567
  /** @internal Atomically adopt the state staged by TinyCloudNode.restoreSession. */
18552
- installRestoredSession(sessionManager, session, hosts) {
18568
+ installRestoredSession(sessionManager, session, hosts, nodeFeatures) {
18553
18569
  this.sessionManager = sessionManager;
18570
+ this._nodeFeatures = nodeFeatures === void 0 ? [] : [...nodeFeatures];
18571
+ this._nodeFeaturesKnown = nodeFeatures !== void 0;
18572
+ this._nodeInfoIdentity = void 0;
18554
18573
  this.tinycloudHosts = hosts && hosts.length > 0 ? [...hosts] : void 0;
18555
18574
  this._lastActivationSkippedSpaceIds = [];
18556
18575
  if (!session) {
@@ -18625,6 +18644,16 @@ var NodeUserAuthorization = class {
18625
18644
  get nodeFeatures() {
18626
18645
  return this._nodeFeatures;
18627
18646
  }
18647
+ get nodeFeaturesKnown() {
18648
+ return this._nodeFeaturesKnown;
18649
+ }
18650
+ async refreshNodeInfo() {
18651
+ const infoHost = this.primaryTinyCloudHost;
18652
+ const nodeInfo = await checkNodeInfo(infoHost, this.wasm.protocolVersion());
18653
+ this._nodeFeatures = nodeInfo.features;
18654
+ this._nodeFeaturesKnown = true;
18655
+ this._nodeInfoIdentity = nodeInfo.nodeId ? { host: infoHost, nodeId: nodeInfo.nodeId } : void 0;
18656
+ }
18628
18657
  /**
18629
18658
  * The node DID reported by `GET /info` for `host`, if the sign-in (or
18630
18659
  * restore) that populated it targeted that same host. Returns `undefined`
@@ -19288,13 +19317,7 @@ var NodeUserAuthorization = class {
19288
19317
  this._tinyCloudSession = tinyCloudSession;
19289
19318
  this._address = address;
19290
19319
  this._chainId = chainId;
19291
- const infoHost = this.primaryTinyCloudHost;
19292
- const nodeInfo = await checkNodeInfo(
19293
- infoHost,
19294
- this.wasm.protocolVersion()
19295
- );
19296
- this._nodeFeatures = nodeInfo.features;
19297
- this._nodeInfoIdentity = nodeInfo.nodeId ? { host: infoHost, nodeId: nodeInfo.nodeId } : void 0;
19320
+ await this.refreshNodeInfo();
19298
19321
  for (const ext of this.extensions) {
19299
19322
  if (ext.afterSignIn) {
19300
19323
  await ext.afterSignIn(clientSession);
@@ -19460,13 +19483,7 @@ var NodeUserAuthorization = class {
19460
19483
  this._tinyCloudSession = tinyCloudSession;
19461
19484
  this._address = address;
19462
19485
  this._chainId = chainId;
19463
- const infoHost = this.primaryTinyCloudHost;
19464
- const nodeInfo = await checkNodeInfo(
19465
- infoHost,
19466
- this.wasm.protocolVersion()
19467
- );
19468
- this._nodeFeatures = nodeInfo.features;
19469
- this._nodeInfoIdentity = nodeInfo.nodeId ? { host: infoHost, nodeId: nodeInfo.nodeId } : void 0;
19486
+ await this.refreshNodeInfo();
19470
19487
  for (const ext of this.extensions) {
19471
19488
  if (ext.afterSignIn) {
19472
19489
  await ext.afterSignIn(clientSession);
@@ -21049,7 +21066,11 @@ var _TinyCloudNode = class _TinyCloudNode {
21049
21066
  return this._bootstrapStatus;
21050
21067
  }
21051
21068
  get nodeFeatures() {
21052
- return this.auth?.nodeFeatures ?? [];
21069
+ return this.auth?.nodeFeatures ?? this._restoredNodeFeatures ?? [];
21070
+ }
21071
+ get replicationNodeFeatures() {
21072
+ if (this.auth) return this.auth.nodeFeaturesKnown ? this.auth.nodeFeatures : void 0;
21073
+ return this._restoredNodeFeatures;
21053
21074
  }
21054
21075
  /** SIWE domain — uses config override or defaults to app.tinycloud.xyz */
21055
21076
  get siweDomain() {
@@ -22402,6 +22423,14 @@ var _TinyCloudNode = class _TinyCloudNode {
22402
22423
  sessionData.chainId
22403
22424
  );
22404
22425
  const stagedHost = resolvedHost ?? this.config.host;
22426
+ let restoredNodeFeatures;
22427
+ if (this.config.replication?.enabled) {
22428
+ try {
22429
+ restoredNodeFeatures = (await checkNodeInfo2(stagedHost, this.wasmBindings.protocolVersion())).features;
22430
+ } catch (error) {
22431
+ if (!(error instanceof VersionCheckError)) throw error;
22432
+ }
22433
+ }
22405
22434
  const stagedAddress = restoredAddress;
22406
22435
  const stagedChainId = sessionData.chainId ?? 1;
22407
22436
  let replicationPrincipal;
@@ -22504,8 +22533,9 @@ var _TinyCloudNode = class _TinyCloudNode {
22504
22533
  this._recapOperationsCache = stagedPrimary.cache;
22505
22534
  this.runtimePermissionGrants = stagedPrimary.grants;
22506
22535
  this.confirmedHostedSpaceIds.clear();
22536
+ this._restoredNodeFeatures = restoredNodeFeatures;
22507
22537
  if (this.auth) {
22508
- this.auth.installRestoredSession(stagedManager, stagedTcSession, [stagedHost]);
22538
+ this.auth.installRestoredSession(stagedManager, stagedTcSession, [stagedHost], restoredNodeFeatures);
22509
22539
  this._restoredTcSession = void 0;
22510
22540
  } else {
22511
22541
  this._restoredTcSession = stagedTcSession;
@@ -25079,6 +25109,7 @@ var _TinyCloudNode = class _TinyCloudNode {
25079
25109
  session,
25080
25110
  principal: identityPrincipal,
25081
25111
  authority,
25112
+ nodeFeatures: this.replicationNodeFeatures,
25082
25113
  primaryKV: [{ space: session.spaceId, kv }]
25083
25114
  });
25084
25115
  }
@@ -26526,9 +26557,9 @@ import {
26526
26557
  } from "@tinycloud/sdk-core";
26527
26558
  import {
26528
26559
  ProtocolMismatchError,
26529
- VersionCheckError,
26560
+ VersionCheckError as VersionCheckError2,
26530
26561
  UnsupportedFeatureError as UnsupportedFeatureError2,
26531
- checkNodeInfo as checkNodeInfo2
26562
+ checkNodeInfo as checkNodeInfo3
26532
26563
  } from "@tinycloud/sdk-core";
26533
26564
  import { ServiceContext as ServiceContext4 } from "@tinycloud/sdk-core";
26534
26565
 
@@ -27447,7 +27478,7 @@ export {
27447
27478
  VAULT_PERMISSION_SERVICE,
27448
27479
  VaultHeaders,
27449
27480
  VaultPublicSpaceKVActions,
27450
- VersionCheckError,
27481
+ VersionCheckError2 as VersionCheckError,
27451
27482
  WasmKeyProvider,
27452
27483
  activateCompactRuntimeDelegation,
27453
27484
  activateValidatedRuntimeDelegation,
@@ -27468,7 +27499,7 @@ export {
27468
27499
  canonicalizeNetworkId,
27469
27500
  canonicalizeSecretScope,
27470
27501
  checkDecryptInvocationInput,
27471
- checkNodeInfo2 as checkNodeInfo,
27502
+ checkNodeInfo3 as checkNodeInfo,
27472
27503
  clearTinyCloudDebugLogs,
27473
27504
  composeManifestRequest2 as composeManifestRequest,
27474
27505
  createCapabilityKeyRegistry,