@tinycloud/sdk-core 3.8.0-beta.15 → 3.8.0-beta.16

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.cjs CHANGED
@@ -74,13 +74,13 @@ __export(index_exports, {
74
74
  ClientSessionSchema: () => ClientSessionSchema,
75
75
  CloudLocationResolutionError: () => CloudLocationResolutionError,
76
76
  CredentialError: () => CredentialError,
77
- DECRYPT_ACTION: () => import_sdk_services9.DECRYPT_ACTION,
78
- DECRYPT_FACT_TYPE: () => import_sdk_services9.DECRYPT_FACT_TYPE,
79
- DECRYPT_RESULT_TYPE: () => import_sdk_services9.DECRYPT_RESULT_TYPE,
77
+ DECRYPT_ACTION: () => import_sdk_services10.DECRYPT_ACTION,
78
+ DECRYPT_FACT_TYPE: () => import_sdk_services10.DECRYPT_FACT_TYPE,
79
+ DECRYPT_RESULT_TYPE: () => import_sdk_services10.DECRYPT_RESULT_TYPE,
80
80
  DEFAULT_DEFAULTS: () => DEFAULT_DEFAULTS,
81
- DEFAULT_ENCRYPTION_ALG: () => import_sdk_services9.DEFAULT_ENCRYPTION_ALG,
81
+ DEFAULT_ENCRYPTION_ALG: () => import_sdk_services10.DEFAULT_ENCRYPTION_ALG,
82
82
  DEFAULT_EXPIRY: () => DEFAULT_EXPIRY,
83
- DEFAULT_KEY_VERSION: () => import_sdk_services9.DEFAULT_KEY_VERSION,
83
+ DEFAULT_KEY_VERSION: () => import_sdk_services10.DEFAULT_KEY_VERSION,
84
84
  DEFAULT_KNOWLEDGE_ROOT: () => DEFAULT_KNOWLEDGE_ROOT,
85
85
  DEFAULT_LOCAL_NODE_PIN_STORAGE_KEY: () => DEFAULT_LOCAL_NODE_PIN_STORAGE_KEY,
86
86
  DEFAULT_LOCAL_NODE_URL: () => DEFAULT_LOCAL_NODE_URL,
@@ -95,36 +95,36 @@ __export(index_exports, {
95
95
  DEFAULT_TINYCLOUD_LOCATION_REGISTRY_URL: () => DEFAULT_TINYCLOUD_LOCATION_REGISTRY_URL,
96
96
  DELIVERY_ADMISSION_DOMAIN: () => DELIVERY_ADMISSION_DOMAIN,
97
97
  DUCKDB: () => import_bootstrap4.DUCKDB,
98
- DataVaultService: () => import_sdk_services9.DataVaultService,
99
- DatabaseHandle: () => import_sdk_services9.DatabaseHandle,
100
- DecryptTransportResponseError: () => import_sdk_services9.DecryptTransportResponseError,
98
+ DataVaultService: () => import_sdk_services10.DataVaultService,
99
+ DatabaseHandle: () => import_sdk_services10.DatabaseHandle,
100
+ DecryptTransportResponseError: () => import_sdk_services10.DecryptTransportResponseError,
101
101
  DelegationErrorCodes: () => DelegationErrorCodes,
102
102
  DelegationManager: () => DelegationManager,
103
- DuckDbAction: () => import_sdk_services9.DuckDbAction,
104
- DuckDbDatabaseHandle: () => import_sdk_services9.DuckDbDatabaseHandle,
105
- DuckDbService: () => import_sdk_services9.DuckDbService,
103
+ DuckDbAction: () => import_sdk_services10.DuckDbAction,
104
+ DuckDbDatabaseHandle: () => import_sdk_services10.DuckDbDatabaseHandle,
105
+ DuckDbService: () => import_sdk_services10.DuckDbService,
106
106
  ED25519_JCS_SIGNATURE_SUITE: () => ED25519_JCS_SIGNATURE_SUITE,
107
107
  EIP191_JCS_SIGNATURE_SUITE: () => EIP191_JCS_SIGNATURE_SUITE,
108
108
  EMAIL_CREDENTIAL_MAX_AGE_SECONDS: () => EMAIL_CREDENTIAL_MAX_AGE_SECONDS,
109
109
  EMAIL_DOMAIN_CREDENTIAL_MAX_AGE_SECONDS: () => EMAIL_DOMAIN_CREDENTIAL_MAX_AGE_SECONDS,
110
110
  ENCRYPTION: () => import_bootstrap4.ENCRYPTION,
111
111
  ENCRYPTION_MANIFEST_SPACE: () => ENCRYPTION_MANIFEST_SPACE,
112
- ENCRYPTION_NETWORK_URN_PREFIX: () => import_sdk_services9.ENCRYPTION_NETWORK_URN_PREFIX,
112
+ ENCRYPTION_NETWORK_URN_PREFIX: () => import_sdk_services10.ENCRYPTION_NETWORK_URN_PREFIX,
113
113
  ENCRYPTION_PERMISSION_SERVICE: () => ENCRYPTION_PERMISSION_SERVICE,
114
- ENCRYPTION_SERVICE: () => import_sdk_services9.ENCRYPTION_SERVICE,
115
- ENCRYPTION_SERVICE_SHORT: () => import_sdk_services9.ENCRYPTION_SERVICE_SHORT,
116
- ENVELOPE_VERSION: () => import_sdk_services9.ENVELOPE_VERSION,
114
+ ENCRYPTION_SERVICE: () => import_sdk_services10.ENCRYPTION_SERVICE,
115
+ ENCRYPTION_SERVICE_SHORT: () => import_sdk_services10.ENCRYPTION_SERVICE_SHORT,
116
+ ENVELOPE_VERSION: () => import_sdk_services10.ENVELOPE_VERSION,
117
117
  EXPIRY: () => EXPIRY,
118
- EncryptionService: () => import_sdk_services9.EncryptionService,
118
+ EncryptionService: () => import_sdk_services10.EncryptionService,
119
119
  EnsDataSchema: () => EnsDataSchema,
120
- ErrorCodes: () => import_sdk_services9.ErrorCodes,
120
+ ErrorCodes: () => import_sdk_services10.ErrorCodes,
121
121
  HOLDER_BINDING_DOMAIN: () => HOLDER_BINDING_DOMAIN,
122
122
  HOLDER_KEY_BINDING_PRESENTATION_SCHEMA: () => HOLDER_KEY_BINDING_PRESENTATION_SCHEMA,
123
123
  HOOKS: () => import_bootstrap4.HOOKS,
124
- HooksService: () => import_sdk_services9.HooksService,
124
+ HooksService: () => import_sdk_services10.HooksService,
125
125
  IdentityParseError: () => IdentityParseError,
126
126
  KV: () => import_bootstrap4.KV,
127
- KVService: () => import_sdk_services9.KVService,
127
+ KVService: () => import_sdk_services10.KVService,
128
128
  LAST_V2_CREATE_AT: () => LAST_V2_CREATE_AT,
129
129
  LAST_V2_READ_AT: () => LAST_V2_READ_AT,
130
130
  LISTEN_SQL_STATEMENT_CATALOG: () => LISTEN_SQL_STATEMENT_CATALOG,
@@ -136,7 +136,7 @@ __export(index_exports, {
136
136
  MAX_CONTENT_BYTES: () => MAX_CONTENT_BYTES,
137
137
  MAX_LEGACY_ENVELOPE_EXPIRES_AT: () => MAX_LEGACY_ENVELOPE_EXPIRES_AT,
138
138
  MAX_SEALED_SHARE_CONTENT_BYTES: () => MAX_SEALED_SHARE_CONTENT_BYTES,
139
- MAX_SECRET_SCOPE_LENGTH: () => import_sdk_services9.MAX_SECRET_SCOPE_LENGTH,
139
+ MAX_SECRET_SCOPE_LENGTH: () => import_sdk_services10.MAX_SECRET_SCOPE_LENGTH,
140
140
  MAX_SHARE_ARTIFACT_BYTES: () => MAX_SHARE_ARTIFACT_BYTES,
141
141
  MAX_SHARE_CONTENT_BYTES: () => MAX_SHARE_CONTENT_BYTES,
142
142
  ManifestValidationError: () => ManifestValidationError,
@@ -144,8 +144,8 @@ __export(index_exports, {
144
144
  MemorySenderShareRecordStorage: () => MemorySenderShareRecordStorage,
145
145
  MemoryShareCache: () => MemoryShareCache,
146
146
  NATIVE_PROJECTION_V1_DOMAIN: () => NATIVE_PROJECTION_V1_DOMAIN,
147
- NETWORK_NAME_PATTERN: () => import_sdk_services9.NETWORK_NAME_PATTERN,
148
- NetworkIdError: () => import_sdk_services9.NetworkIdError,
147
+ NETWORK_NAME_PATTERN: () => import_sdk_services10.NETWORK_NAME_PATTERN,
148
+ NetworkIdError: () => import_sdk_services10.NetworkIdError,
149
149
  NodeNotFoundError: () => NodeNotFoundError,
150
150
  NodeRegistryEntryExistsError: () => NodeRegistryEntryExistsError,
151
151
  OPENKEY_ACTION_ID_SEPARATOR: () => OPENKEY_ACTION_ID_SEPARATOR,
@@ -174,7 +174,7 @@ __export(index_exports, {
174
174
  POLICY_V2_SCHEMA: () => POLICY_V2_SCHEMA,
175
175
  PORTABLE_DELEGATION_SCHEMA: () => PORTABLE_DELEGATION_SCHEMA,
176
176
  PermissionNotInManifestError: () => PermissionNotInManifestError,
177
- PrefixedKVService: () => import_sdk_services9.PrefixedKVService,
177
+ PrefixedKVService: () => import_sdk_services10.PrefixedKVService,
178
178
  ProtocolMismatchError: () => ProtocolMismatchError,
179
179
  REGISTRY_LOOKUP_MAX_BODY_BYTES: () => REGISTRY_LOOKUP_MAX_BODY_BYTES,
180
180
  REGISTRY_NOT_FOUND_BODY: () => REGISTRY_NOT_FOUND_BODY,
@@ -189,22 +189,22 @@ __export(index_exports, {
189
189
  RegistryLookupInputError: () => RegistryLookupInputError,
190
190
  RegistryUnavailableError: () => RegistryUnavailableError,
191
191
  SECRETS_SPACE: () => SECRETS_SPACE,
192
- SECRET_NAME_RE: () => import_sdk_services9.SECRET_NAME_RE,
192
+ SECRET_NAME_RE: () => import_sdk_services10.SECRET_NAME_RE,
193
193
  SECRET_RECORDS_SCHEMA: () => import_bootstrap4.SECRET_RECORDS_SCHEMA,
194
- SECRET_SCOPE_RE: () => import_sdk_services9.SECRET_SCOPE_RE,
194
+ SECRET_SCOPE_RE: () => import_sdk_services10.SECRET_SCOPE_RE,
195
195
  SERVICE_LONG_TO_SHORT: () => SERVICE_LONG_TO_SHORT,
196
196
  SERVICE_SHORT_TO_LONG: () => SERVICE_SHORT_TO_LONG,
197
197
  SPACE: () => import_bootstrap4.SPACE,
198
198
  SQL: () => import_bootstrap4.SQL,
199
- SQLAction: () => import_sdk_services9.SQLAction,
200
- SQLService: () => import_sdk_services9.SQLService,
201
- STORAGE_FULL_MESSAGE: () => import_sdk_services9.STORAGE_FULL_MESSAGE,
202
- STORAGE_MANAGE_URL: () => import_sdk_services9.STORAGE_MANAGE_URL,
203
- STORAGE_NEARLY_FULL_RATIO: () => import_sdk_services9.STORAGE_NEARLY_FULL_RATIO,
204
- STORAGE_WRITE_TOO_LARGE_MESSAGE: () => import_sdk_services9.STORAGE_WRITE_TOO_LARGE_MESSAGE,
205
- SecretsService: () => import_sdk_services9.SecretsService,
199
+ SQLAction: () => import_sdk_services10.SQLAction,
200
+ SQLService: () => import_sdk_services10.SQLService,
201
+ STORAGE_FULL_MESSAGE: () => import_sdk_services10.STORAGE_FULL_MESSAGE,
202
+ STORAGE_MANAGE_URL: () => import_sdk_services10.STORAGE_MANAGE_URL,
203
+ STORAGE_NEARLY_FULL_RATIO: () => import_sdk_services10.STORAGE_NEARLY_FULL_RATIO,
204
+ STORAGE_WRITE_TOO_LARGE_MESSAGE: () => import_sdk_services10.STORAGE_WRITE_TOO_LARGE_MESSAGE,
205
+ SecretsService: () => import_sdk_services10.SecretsService,
206
206
  SenderShareStore: () => SenderShareStore,
207
- ServiceContext: () => import_sdk_services9.ServiceContext,
207
+ ServiceContext: () => import_sdk_services10.ServiceContext,
208
208
  SessionExpiredError: () => SessionExpiredError,
209
209
  ShareAccessError: () => ShareAccessError,
210
210
  ShareAddressedDelegationEnvelopeV2Schema: () => ShareAddressedDelegationEnvelopeV2Schema,
@@ -230,8 +230,8 @@ __export(index_exports, {
230
230
  Space: () => Space,
231
231
  SpaceErrorCodes: () => SpaceErrorCodes,
232
232
  SpaceService: () => SpaceService,
233
- StorageFullMonitor: () => import_sdk_services9.StorageFullMonitor,
234
- TC832_RESERVED_SCOPES: () => import_sdk_services9.TC832_RESERVED_SCOPES,
233
+ StorageFullMonitor: () => import_sdk_services10.StorageFullMonitor,
234
+ TC832_RESERVED_SCOPES: () => import_sdk_services10.TC832_RESERVED_SCOPES,
235
235
  TERMINAL_DELEGATION_FACT: () => TERMINAL_DELEGATION_FACT,
236
236
  TINYCLOUD_ACCOUNT_SPACE_MANIFEST: () => import_bootstrap4.TINYCLOUD_ACCOUNT_SPACE_MANIFEST,
237
237
  TINYCLOUD_AGENTS_SPACE_MANIFEST: () => import_bootstrap4.TINYCLOUD_AGENTS_SPACE_MANIFEST,
@@ -242,55 +242,55 @@ __export(index_exports, {
242
242
  TINYCLOUD_PUBLIC_SPACE_MANIFEST: () => import_bootstrap4.TINYCLOUD_PUBLIC_SPACE_MANIFEST,
243
243
  TINYCLOUD_SECRETS_BOOTSTRAP_MANIFEST: () => import_bootstrap4.TINYCLOUD_SECRETS_BOOTSTRAP_MANIFEST,
244
244
  TinyCloud: () => TinyCloud,
245
- TinyCloudDebugLogger: () => import_sdk_services9.TinyCloudDebugLogger,
245
+ TinyCloudDebugLogger: () => import_sdk_services10.TinyCloudDebugLogger,
246
246
  TranscriptRequester: () => TranscriptRequester,
247
247
  TranscriptRequesterError: () => TranscriptRequesterError,
248
248
  UnsupportedFeatureError: () => UnsupportedFeatureError,
249
249
  UnsupportedSignatureSuiteError: () => UnsupportedSignatureSuiteError,
250
250
  VAULT_PERMISSION_SERVICE: () => VAULT_PERMISSION_SERVICE,
251
- VaultHeaders: () => import_sdk_services9.VaultHeaders,
252
- VaultPublicSpaceKVActions: () => import_sdk_services9.VaultPublicSpaceKVActions,
251
+ VaultHeaders: () => import_sdk_services10.VaultHeaders,
252
+ VaultPublicSpaceKVActions: () => import_sdk_services10.VaultPublicSpaceKVActions,
253
253
  VersionCheckError: () => VersionCheckError,
254
254
  actionContains: () => actionContains,
255
255
  activateSessionWithHost: () => activateSessionWithHost,
256
256
  addressStorageKey: () => addressStorageKey,
257
257
  admitPolicyCredentialV3: () => admitPolicyCredentialV3,
258
258
  admitPolicyCredentialV4: () => admitPolicyCredentialV4,
259
- appSecretScope: () => import_sdk_services9.appSecretScope,
259
+ appSecretScope: () => import_sdk_services10.appSecretScope,
260
260
  applyPrefix: () => applyPrefix,
261
261
  assertSpaceCreationAllowed: () => assertSpaceCreationAllowed,
262
- authorizationVerdictOf: () => import_sdk_services9.authorizationVerdictOf,
262
+ authorizationVerdictOf: () => import_sdk_services10.authorizationVerdictOf,
263
263
  bootstrapEncryptionNetworkId: () => import_bootstrap4.bootstrapEncryptionNetworkId,
264
264
  bootstrapSpaceId: () => import_bootstrap4.bootstrapSpaceId,
265
265
  bootstrapSteps: () => import_bootstrap4.bootstrapSteps,
266
- buildCanonicalDecryptRequest: () => import_sdk_services9.buildCanonicalDecryptRequest,
267
- buildDecryptAttenuation: () => import_sdk_services9.buildDecryptAttenuation,
268
- buildDecryptFacts: () => import_sdk_services9.buildDecryptFacts,
269
- buildDecryptInvocation: () => import_sdk_services9.buildDecryptInvocation,
270
- buildNetworkId: () => import_sdk_services9.buildNetworkId,
266
+ buildCanonicalDecryptRequest: () => import_sdk_services10.buildCanonicalDecryptRequest,
267
+ buildDecryptAttenuation: () => import_sdk_services10.buildDecryptAttenuation,
268
+ buildDecryptFacts: () => import_sdk_services10.buildDecryptFacts,
269
+ buildDecryptInvocation: () => import_sdk_services10.buildDecryptInvocation,
270
+ buildNetworkId: () => import_sdk_services10.buildNetworkId,
271
271
  buildPolicyCredentialPresentationV3: () => buildPolicyCredentialPresentationV3,
272
272
  buildPolicyCredentialPresentationV4: () => buildPolicyCredentialPresentationV4,
273
273
  buildSpaceUri: () => buildSpaceUri,
274
274
  canonicalDigest: () => canonicalDigest,
275
275
  canonicalEmailDomain: () => import_share_envelope.canonicalEmailDomain,
276
- canonicalHashHex: () => import_sdk_services9.canonicalHashHex,
276
+ canonicalHashHex: () => import_sdk_services10.canonicalHashHex,
277
277
  canonicalLocationPayload: () => canonicalLocationPayload,
278
278
  canonicalMailbox: () => import_share_envelope.canonicalMailbox,
279
279
  canonicalOwnerSharePolicy: () => canonicalOwnerSharePolicy,
280
- canonicalSignedResponse: () => import_sdk_services9.canonicalSignedResponse,
280
+ canonicalSignedResponse: () => import_sdk_services10.canonicalSignedResponse,
281
281
  canonicalizeAddress: () => canonicalizeAddress,
282
282
  canonicalizeDid: () => canonicalizeDid,
283
283
  canonicalizeDidUrl: () => canonicalizeDidUrl,
284
- canonicalizeEncryptionJson: () => import_sdk_services9.canonicalizeEncryptionJson,
284
+ canonicalizeEncryptionJson: () => import_sdk_services10.canonicalizeEncryptionJson,
285
285
  canonicalizeNetworkId: () => canonicalizeNetworkId,
286
286
  canonicalizeRecapCaveats: () => canonicalizeRecapCaveats,
287
- canonicalizeSecretScope: () => import_sdk_services9.canonicalizeSecretScope,
287
+ canonicalizeSecretScope: () => import_sdk_services10.canonicalizeSecretScope,
288
288
  canonicalizeSignedObjectUnsigned: () => canonicalizeSignedObjectUnsigned,
289
289
  canonicalizeUnifiedPolicyCapability: () => canonicalizeUnifiedPolicyCapability,
290
- checkDecryptInvocationInput: () => import_sdk_services9.checkDecryptInvocationInput,
290
+ checkDecryptInvocationInput: () => import_sdk_services10.checkDecryptInvocationInput,
291
291
  checkNodeInfo: () => checkNodeInfo,
292
292
  classifyRegistryLookup: () => classifyRegistryLookup,
293
- clearTinyCloudDebugLogs: () => import_sdk_services9.clearTinyCloudDebugLogs,
293
+ clearTinyCloudDebugLogs: () => import_sdk_services10.clearTinyCloudDebugLogs,
294
294
  compactAttenuationContains: () => compactAttenuationContains,
295
295
  composeBootstrapSpaceManifest: () => import_bootstrap4.composeBootstrapSpaceManifest,
296
296
  composeManifestRequest: () => composeManifestRequest,
@@ -321,7 +321,7 @@ __export(index_exports, {
321
321
  createStorageReceipt: () => createStorageReceipt,
322
322
  createStoredCredentialRecord: () => createStoredCredentialRecord,
323
323
  createTranscriptRequester: () => createTranscriptRequester,
324
- createVaultCrypto: () => import_sdk_services9.createVaultCrypto,
324
+ createVaultCrypto: () => import_sdk_services10.createVaultCrypto,
325
325
  credentialEndpointPath: () => credentialEndpointPath,
326
326
  credentialError: () => credentialError,
327
327
  credentialIndexKey: () => credentialIndexKey,
@@ -329,37 +329,37 @@ __export(index_exports, {
329
329
  credentialRecordKey: () => credentialRecordKey,
330
330
  credentialRequirementDigest: () => credentialRequirementDigest,
331
331
  decodeBase64Url: () => decodeBase64Url,
332
- decryptEnvelopeWithKey: () => import_sdk_services9.decryptEnvelopeWithKey,
332
+ decryptEnvelopeWithKey: () => import_sdk_services10.decryptEnvelopeWithKey,
333
333
  decryptShareBytesAsync: () => decryptShareBytesAsync,
334
- defaultRetryPolicy: () => import_sdk_services9.defaultRetryPolicy,
334
+ defaultRetryPolicy: () => import_sdk_services10.defaultRetryPolicy,
335
335
  defaultSignStrategy: () => defaultSignStrategy,
336
336
  defaultSpaceCreationHandler: () => defaultSpaceCreationHandler,
337
337
  delegatePortablePolicySession: () => delegatePortablePolicySession,
338
338
  deriveDelegationCid: () => deriveDelegationCid,
339
339
  deriveSignedObjectMaterial: () => deriveSignedObjectMaterial,
340
- deriveSignedReceiverKey: () => import_sdk_services9.deriveSignedReceiverKey,
340
+ deriveSignedReceiverKey: () => import_sdk_services10.deriveSignedReceiverKey,
341
341
  descriptorSatisfiesRequirement: () => descriptorSatisfiesRequirement,
342
342
  didCacheKey: () => didCacheKey,
343
343
  didEquals: () => didEquals,
344
344
  diffImmutableSiweFields: () => diffImmutableSiweFields,
345
- disableTinyCloudDebug: () => import_sdk_services9.disableTinyCloudDebug,
345
+ disableTinyCloudDebug: () => import_sdk_services10.disableTinyCloudDebug,
346
346
  discoverLocalTinyCloudNode: () => discoverLocalTinyCloudNode,
347
- discoverNetwork: () => import_sdk_services9.discoverNetwork,
348
- enableTinyCloudDebug: () => import_sdk_services9.enableTinyCloudDebug,
347
+ discoverNetwork: () => import_sdk_services10.discoverNetwork,
348
+ enableTinyCloudDebug: () => import_sdk_services10.enableTinyCloudDebug,
349
349
  encodeBase64Url: () => encodeBase64Url,
350
350
  encodeInlineShareUrl: () => encodeInlineShareUrl,
351
351
  encodeShareArtifact: () => encodeShareArtifact,
352
352
  encodeShareUrl: () => encodeShareUrl,
353
353
  encryptShareBytes: () => encryptShareBytes,
354
354
  encryptShareBytesAsync: () => encryptShareBytesAsync,
355
- encryptToNetwork: () => import_sdk_services9.encryptToNetwork,
356
- encryptionBase64Decode: () => import_sdk_services9.base64Decode,
357
- encryptionBase64Encode: () => import_sdk_services9.base64Encode,
358
- encryptionError: () => import_sdk_services9.encryptionError,
359
- encryptionUtf8Decode: () => import_sdk_services9.utf8Decode,
360
- encryptionUtf8Encode: () => import_sdk_services9.utf8Encode,
361
- ensureNetworkUsableForDecrypt: () => import_sdk_services9.ensureNetworkUsableForDecrypt,
362
- err: () => import_sdk_services9.err,
355
+ encryptToNetwork: () => import_sdk_services10.encryptToNetwork,
356
+ encryptionBase64Decode: () => import_sdk_services10.base64Decode,
357
+ encryptionBase64Encode: () => import_sdk_services10.base64Encode,
358
+ encryptionError: () => import_sdk_services10.encryptionError,
359
+ encryptionUtf8Decode: () => import_sdk_services10.utf8Decode,
360
+ encryptionUtf8Encode: () => import_sdk_services10.utf8Encode,
361
+ ensureNetworkUsableForDecrypt: () => import_sdk_services10.ensureNetworkUsableForDecrypt,
362
+ err: () => import_sdk_services10.err,
363
363
  expandActionShortNames: () => expandActionShortNames,
364
364
  expandDelegationPermissionEntries: () => expandDelegationPermissionEntries,
365
365
  expandPermissionEntries: () => expandPermissionEntries,
@@ -368,27 +368,27 @@ __export(index_exports, {
368
368
  extractRecapAttenuations: () => extractRecapAttenuations,
369
369
  fetchLocationRecord: () => fetchLocationRecord,
370
370
  fetchPeerId: () => fetchPeerId,
371
- generateRandomReceiverKey: () => import_sdk_services9.generateRandomReceiverKey,
371
+ generateRandomReceiverKey: () => import_sdk_services10.generateRandomReceiverKey,
372
372
  getPolicyRootStatusV3: () => getPolicyRootStatusV3,
373
- getTinyCloudDebugLogs: () => import_sdk_services9.getTinyCloudDebugLogs,
373
+ getTinyCloudDebugLogs: () => import_sdk_services10.getTinyCloudDebugLogs,
374
374
  hasTinyCloudManageKeyScope: () => hasTinyCloudManageKeyScope,
375
- hexDecode: () => import_sdk_services9.hexDecode,
376
- hexEncode: () => import_sdk_services9.hexEncode,
375
+ hexDecode: () => import_sdk_services10.hexDecode,
376
+ hexEncode: () => import_sdk_services10.hexEncode,
377
377
  holderBindingCanonicalBytes: () => holderBindingCanonicalBytes,
378
378
  holderBindingSigningBytes: () => holderBindingSigningBytes,
379
379
  httpResponseError: () => httpResponseError,
380
380
  httpUrlToMultiaddr: () => httpUrlToMultiaddr,
381
381
  importPortableDelegation: () => importPortableDelegation,
382
- installTinyCloudDebugGlobals: () => import_sdk_services9.installTinyCloudDebugGlobals,
382
+ installTinyCloudDebugGlobals: () => import_sdk_services10.installTinyCloudDebugGlobals,
383
383
  intersectShareCapabilities: () => intersectShareCapabilities,
384
384
  isCanonicalEmailDomain: () => import_share_envelope.isCanonicalEmailDomain,
385
385
  isCapabilitySubset: () => isCapabilitySubset,
386
386
  isDigest: () => isDigest,
387
387
  isEvmAddress: () => isEvmAddress,
388
388
  isExplicitOnlyAction: () => isExplicitOnlyAction,
389
- isNetworkId: () => import_sdk_services9.isNetworkId,
389
+ isNetworkId: () => import_sdk_services10.isNetworkId,
390
390
  isPlausibleOpenKeyActionId: () => isPlausibleOpenKeyActionId,
391
- isStorageFullError: () => import_sdk_services9.isStorageFullError,
391
+ isStorageFullError: () => import_sdk_services10.isStorageFullError,
392
392
  isV2ShareLink: () => isV2ShareLink,
393
393
  issuedCredentialEnvelopeFromVerified: () => issuedCredentialEnvelopeFromVerified,
394
394
  jcsCanonicalize: () => jcsCanonicalize,
@@ -401,36 +401,36 @@ __export(index_exports, {
401
401
  manifestAbilitiesUnion: () => manifestAbilitiesUnion,
402
402
  markDelegationTerminal: () => markDelegationTerminal,
403
403
  multiaddrToHttpUrl: () => multiaddrToHttpUrl,
404
- networkDiscoveryKey: () => import_sdk_services9.networkDiscoveryKey,
404
+ networkDiscoveryKey: () => import_sdk_services10.networkDiscoveryKey,
405
405
  normalizeDefaults: () => normalizeDefaults,
406
406
  normalizeJson: () => normalizeJson,
407
407
  normalizeShareActions: () => normalizeShareActions,
408
408
  normalizeShareRecipientTarget: () => normalizeShareRecipientTarget,
409
409
  normalizeShareResource: () => normalizeShareResource,
410
410
  normalizeUnifiedPolicyCapability: () => normalizeUnifiedPolicyCapability,
411
- ok: () => import_sdk_services9.ok,
412
- openWrappedKey: () => import_sdk_services9.openWrappedKey,
411
+ ok: () => import_sdk_services10.ok,
412
+ openWrappedKey: () => import_sdk_services10.openWrappedKey,
413
413
  parseCanonicalNetworkId: () => parseCanonicalNetworkId,
414
414
  parseCanonicalRecapResource: () => parseCanonicalRecapResource,
415
415
  parseCanonicalTinyCloudIdentity: () => parseCanonicalTinyCloudIdentity,
416
416
  parseCanonicalTinyCloudIdentityClaims: () => parseCanonicalTinyCloudIdentityClaims,
417
- parseCapabilityResource: () => import_sdk_services9.parseCapabilityResource,
417
+ parseCapabilityResource: () => import_sdk_services10.parseCapabilityResource,
418
418
  parseCompactUcanAuthorization: () => parseCompactUcanAuthorization,
419
419
  parseExpiry: () => parseExpiry,
420
- parseNetworkId: () => import_sdk_services9.parseNetworkId,
420
+ parseNetworkId: () => import_sdk_services10.parseNetworkId,
421
421
  parseNodeNativePortableDelegation: () => parseNodeNativePortableDelegation,
422
422
  parsePkhDid: () => parsePkhDid,
423
423
  parsePolicySessionUcan: () => parsePolicySessionUcan,
424
424
  parsePortableDelegation: () => parsePortableDelegation,
425
425
  parseRecapCapabilities: () => parseRecapCapabilities,
426
- parseSecretCatalogKey: () => import_sdk_services9.parseSecretCatalogKey,
426
+ parseSecretCatalogKey: () => import_sdk_services10.parseSecretCatalogKey,
427
427
  parseShareArtifact: () => parseShareArtifact,
428
428
  parseShareUrl: () => parseShareUrl,
429
429
  parseSignedCompactUcanAttenuation: () => parseSignedCompactUcanAttenuation,
430
430
  parseSignedSiweCacao: () => parseSignedSiweCacao,
431
431
  parseSpaceUri: () => parseSpaceUri,
432
- parseStorageRejection: () => import_sdk_services9.parseStorageRejection,
433
- parseStorageStatus: () => import_sdk_services9.parseStorageStatus,
432
+ parseStorageRejection: () => import_sdk_services10.parseStorageRejection,
433
+ parseStorageStatus: () => import_sdk_services10.parseStorageStatus,
434
434
  pkhDid: () => pkhDid,
435
435
  policyCidFromCanonicalBytes: () => policyCidFromCanonicalBytes,
436
436
  policyDigestHex: () => policyDigestHex,
@@ -451,8 +451,8 @@ __export(index_exports, {
451
451
  resolveManifest: () => resolveManifest,
452
452
  resolveManifestKnowledgeRoot: () => resolveManifestKnowledgeRoot,
453
453
  resolveOwnerHosts: () => resolveOwnerHosts,
454
- resolveSecretListPrefix: () => import_sdk_services9.resolveSecretListPrefix,
455
- resolveSecretPath: () => import_sdk_services9.resolveSecretPath,
454
+ resolveSecretListPrefix: () => import_sdk_services10.resolveSecretListPrefix,
455
+ resolveSecretPath: () => import_sdk_services10.resolveSecretPath,
456
456
  resolveTinyCloudHosts: () => resolveTinyCloudHosts,
457
457
  resourceCapabilitiesToAbilitiesMap: () => resourceCapabilitiesToAbilitiesMap,
458
458
  resourceCapabilitiesToSpaceAbilitiesMap: () => resourceCapabilitiesToSpaceAbilitiesMap,
@@ -460,7 +460,7 @@ __export(index_exports, {
460
460
  revokePolicyRootV3: () => revokePolicyRootV3,
461
461
  serializeJcsJson: () => serialize,
462
462
  serializePortableDelegation: () => serializePortableDelegation,
463
- serviceError: () => import_sdk_services9.serviceError,
463
+ serviceError: () => import_sdk_services10.serviceError,
464
464
  sha256Base64Url: () => sha256Base64Url,
465
465
  shareCapabilityAllows: () => shareCapabilityAllows,
466
466
  shortDeliveryLinkBodyCid: () => shortDeliveryLinkBodyCid,
@@ -471,9 +471,9 @@ __export(index_exports, {
471
471
  signPolicyCredentialPresentationV4: () => signPolicyCredentialPresentationV4,
472
472
  signShareEnvelope: () => signShareEnvelope,
473
473
  signedObjectIdFor: () => signedObjectIdFor,
474
- storageUsageState: () => import_sdk_services9.storageUsageState,
474
+ storageUsageState: () => import_sdk_services10.storageUsageState,
475
475
  submitHostDelegation: () => submitHostDelegation,
476
- tinyCloudDebugLogger: () => import_sdk_services9.tinyCloudDebugLogger,
476
+ tinyCloudDebugLogger: () => import_sdk_services10.tinyCloudDebugLogger,
477
477
  toSignedObjectError: () => toSignedObjectError,
478
478
  unauthorizedRecapCapabilities: () => unauthorizedRecapCapabilities,
479
479
  unifiedNativeProjectionHashHex: () => unifiedNativeProjectionHashHex,
@@ -485,7 +485,7 @@ __export(index_exports, {
485
485
  validateCredentialFlowDescriptor: () => validateCredentialFlowDescriptor,
486
486
  validateCredentialHolderBinding: () => validateCredentialHolderBinding,
487
487
  validateCredentialRequirement: () => validateCredentialRequirement,
488
- validateEnvelope: () => import_sdk_services9.validateEnvelope,
488
+ validateEnvelope: () => import_sdk_services10.validateEnvelope,
489
489
  validateLocationRecord: () => validateLocationRecord,
490
490
  validateLocationRecordPayload: () => validateLocationRecordPayload,
491
491
  validateManifest: () => validateManifest,
@@ -503,8 +503,8 @@ __export(index_exports, {
503
503
  validatePolicyStatusUnsigned: () => validatePolicyStatusUnsigned,
504
504
  validatePolicyUnsigned: () => validatePolicyUnsigned,
505
505
  validateUnifiedPolicyV2: () => validateUnifiedPolicyV2,
506
- validatedCapabilityOf: () => import_sdk_services9.validatedCapabilityOf,
507
- verifyDecryptResponse: () => import_sdk_services9.verifyDecryptResponse,
506
+ validatedCapabilityOf: () => import_sdk_services10.validatedCapabilityOf,
507
+ verifyDecryptResponse: () => import_sdk_services10.verifyDecryptResponse,
508
508
  verifyDidKeyEd25519Signature: () => verifyDidKeyEd25519Signature,
509
509
  verifyEip191MessageSignature: () => verifyEip191MessageSignature,
510
510
  verifyIssuedCredential: () => verifyIssuedCredential,
@@ -3948,6 +3948,7 @@ var import_sha256 = require("@noble/hashes/sha256");
3948
3948
  var import_blake3 = require("@noble/hashes/blake3");
3949
3949
  var import_ed255193 = require("@noble/curves/ed25519");
3950
3950
  var import_zod2 = require("zod");
3951
+ var import_sdk_services2 = require("@tinycloud/sdk-services");
3951
3952
 
3952
3953
  // src/http-error.ts
3953
3954
  var import_sdk_services = require("@tinycloud/sdk-services");
@@ -4216,12 +4217,9 @@ function parseKvResource(resource) {
4216
4217
  return { space, path };
4217
4218
  }
4218
4219
  function parseEncryptionResource(resource) {
4219
- if (!resource.startsWith("urn:tinycloud:encryption:")) throw new Error("encryption capability is invalid");
4220
- const rest = resource.slice("urn:tinycloud:encryption:".length);
4221
- const separator = rest.lastIndexOf(":");
4222
- const ownerDid = separator < 0 ? "" : rest.slice(0, separator);
4223
- const network = separator < 0 ? "" : rest.slice(separator + 1);
4224
- if (!ownerDid.startsWith("did:") || network.length === 0 || network.includes(":") || network.includes("/") || network.includes("%") || network.includes("?") || network.includes("#")) {
4220
+ try {
4221
+ if ((0, import_sdk_services2.parseEncryptionResource)(resource).keyPath?.endsWith("/")) throw new Error("prefix");
4222
+ } catch {
4225
4223
  throw new Error("encryption capability is invalid");
4226
4224
  }
4227
4225
  }
@@ -7769,7 +7767,7 @@ function validateEncodedShareData(data) {
7769
7767
  // src/manifest.ts
7770
7768
  var import_ms = __toESM(require("ms"), 1);
7771
7769
  var import_bootstrap2 = require("@tinycloud/bootstrap");
7772
- var import_sdk_services2 = require("@tinycloud/sdk-services");
7770
+ var import_sdk_services3 = require("@tinycloud/sdk-services");
7773
7771
  var import_resource = require("@tinycloud/sdk-services/encryption/resource");
7774
7772
  var DEFAULT_KNOWLEDGE_ROOT = "knowledge/index.md";
7775
7773
  var ManifestValidationError = class extends Error {
@@ -7893,11 +7891,13 @@ function expandEncryptionPermissionEntry(entry) {
7893
7891
  `tinycloud.encryption entries require path to be a networkId URN (got ${JSON.stringify(entry.path)})`
7894
7892
  );
7895
7893
  }
7896
- if (entry.path.includes("/")) {
7894
+ const sharePrefix = entry.path.endsWith("/share/");
7895
+ if (entry.path.includes("/") && !sharePrefix) {
7897
7896
  throw new ManifestValidationError("named keys go in manifest.keys");
7898
7897
  }
7899
7898
  try {
7900
- (0, import_sdk_services2.parseNetworkId)(entry.path);
7899
+ const network = (0, import_sdk_services3.parseNetworkId)(sharePrefix ? entry.path.slice(0, -"/share/".length) : entry.path);
7900
+ if (sharePrefix && network.name !== "default") throw new Error("share prefix requires default network");
7901
7901
  } catch {
7902
7902
  throw new ManifestValidationError("tinycloud.encryption entries require a valid networkId URN");
7903
7903
  }
@@ -7932,6 +7932,9 @@ function expandEncryptionPermissionEntry(entry) {
7932
7932
  seen.add(a);
7933
7933
  }
7934
7934
  }
7935
+ if (sharePrefix && dedupedActions.some((action) => action !== "tinycloud.encryption/decrypt")) {
7936
+ throw new ManifestValidationError("share prefix only supports decrypt");
7937
+ }
7935
7938
  return [
7936
7939
  {
7937
7940
  service: ENCRYPTION_PERMISSION_SERVICE,
@@ -8122,13 +8125,13 @@ function validateManifestSecrets(secrets) {
8122
8125
  throw new ManifestValidationError("manifest.secrets must be an object");
8123
8126
  }
8124
8127
  for (const [name2, spec] of Object.entries(secrets)) {
8125
- if (!import_sdk_services2.SECRET_NAME_RE.test(name2)) {
8128
+ if (!import_sdk_services3.SECRET_NAME_RE.test(name2)) {
8126
8129
  throw new ManifestValidationError(
8127
- `manifest.secrets.${name2} must match ${import_sdk_services2.SECRET_NAME_RE.source}`
8130
+ `manifest.secrets.${name2} must match ${import_sdk_services3.SECRET_NAME_RE.source}`
8128
8131
  );
8129
8132
  }
8130
8133
  try {
8131
- (0, import_sdk_services2.resolveSecretPath)(
8134
+ (0, import_sdk_services3.resolveSecretPath)(
8132
8135
  secretNameFromSpec(name2, spec),
8133
8136
  { scope: secretScopeFromSpec(spec) }
8134
8137
  );
@@ -8345,7 +8348,7 @@ function secretEntriesForManifest(secrets) {
8345
8348
  const entries = [];
8346
8349
  for (const [name2, spec] of Object.entries(secrets)) {
8347
8350
  const actions = secretActionsFromSpec(name2, spec);
8348
- const secretPath = (0, import_sdk_services2.resolveSecretPath)(
8351
+ const secretPath = (0, import_sdk_services3.resolveSecretPath)(
8349
8352
  secretNameFromSpec(name2, spec),
8350
8353
  { scope: secretScopeFromSpec(spec) }
8351
8354
  );
@@ -8798,7 +8801,7 @@ function parseRecapCapabilities(parseWasm, siwe) {
8798
8801
  var import_ed255197 = require("@noble/curves/ed25519");
8799
8802
 
8800
8803
  // src/delegations/ShareRecipientClient.ts
8801
- var import_sdk_services3 = require("@tinycloud/sdk-services");
8804
+ var import_sdk_services4 = require("@tinycloud/sdk-services");
8802
8805
  var import_ed255196 = require("@noble/curves/ed25519");
8803
8806
  var import_sha2565 = require("@noble/hashes/sha256");
8804
8807
 
@@ -9985,9 +9988,9 @@ function redactedCode(error) {
9985
9988
  if (error instanceof ShareConflict) return error.code;
9986
9989
  const code3 = error && typeof error === "object" && "code" in error ? error.code : void 0;
9987
9990
  if (typeof code3 !== "string") return "SHARE_INVALID";
9988
- if (code3 === import_sdk_services3.ErrorCodes.KV_PRECONDITION_FAILED || code3 === "412") return "SHARE_CONFLICT";
9989
- if (code3 === import_sdk_services3.ErrorCodes.NODE_BUSY || code3 === import_sdk_services3.ErrorCodes.REQUEST_TIMEOUT) return "SHARE_OFFLINE";
9990
- if (code3 === import_sdk_services3.ErrorCodes.OUTCOME_UNKNOWN) return "SHARE_WRITE_FAILED";
9991
+ if (code3 === import_sdk_services4.ErrorCodes.KV_PRECONDITION_FAILED || code3 === "412") return "SHARE_CONFLICT";
9992
+ if (code3 === import_sdk_services4.ErrorCodes.NODE_BUSY || code3 === import_sdk_services4.ErrorCodes.REQUEST_TIMEOUT) return "SHARE_OFFLINE";
9993
+ if (code3 === import_sdk_services4.ErrorCodes.OUTCOME_UNKNOWN) return "SHARE_WRITE_FAILED";
9991
9994
  if (code3 === "KV_NOT_FOUND" || code3 === "NOT_FOUND" || code3 === "404") return "SHARE_NOT_FOUND";
9992
9995
  if (code3.includes("EXPIRED") || code3 === "expired") return "SHARE_EXPIRED";
9993
9996
  if (code3.includes("REVOK")) return "SHARE_REVOKED";
@@ -10226,7 +10229,7 @@ var ShareRecipientClient = class {
10226
10229
  if (portableDelegation !== void 0 && kv !== void 0) {
10227
10230
  const result2 = await kv.put(resolvedPath, bytes2, { contentType: input.contentType ?? envelope.content.mimeType, ifMatch: input.etag });
10228
10231
  if (!result2.ok) {
10229
- if (result2.error.code === import_sdk_services3.ErrorCodes.KV_PRECONDITION_FAILED) throw new ShareConflict(resolvedPath, result2.error.meta?.etag);
10232
+ if (result2.error.code === import_sdk_services4.ErrorCodes.KV_PRECONDITION_FAILED) throw new ShareConflict(resolvedPath, result2.error.meta?.etag);
10230
10233
  throw result2.error;
10231
10234
  }
10232
10235
  return { etag: result2.data.headers.etag };
@@ -10234,7 +10237,7 @@ var ShareRecipientClient = class {
10234
10237
  if (policySession !== void 0) return this.nativeSave(envelope, policySession, resolvedPath, bytes2, input);
10235
10238
  const result = await kv.put(resolvedPath, bytes2, { contentType: input.contentType ?? envelope.content.mimeType, ifMatch: input.etag });
10236
10239
  if (!result.ok) {
10237
- if (result.error.code === import_sdk_services3.ErrorCodes.KV_PRECONDITION_FAILED) throw new ShareConflict(resolvedPath, result.error.meta?.etag);
10240
+ if (result.error.code === import_sdk_services4.ErrorCodes.KV_PRECONDITION_FAILED) throw new ShareConflict(resolvedPath, result.error.meta?.etag);
10238
10241
  throw result.error;
10239
10242
  }
10240
10243
  return { etag: result.data.headers.etag };
@@ -10318,8 +10321,8 @@ var ShareRecipientClient = class {
10318
10321
  if (this.options.createKVService !== void 0) {
10319
10322
  return this.options.createKVService({ hosts: [origin2], session, invoke, fetch: this.fetchFn });
10320
10323
  }
10321
- const context = new import_sdk_services3.ServiceContext({ hosts: [origin2], session, invoke, fetch: this.fetchFn });
10322
- const service = new import_sdk_services3.KVService({ prefix: "" });
10324
+ const context = new import_sdk_services4.ServiceContext({ hosts: [origin2], session, invoke, fetch: this.fetchFn });
10325
+ const service = new import_sdk_services4.KVService({ prefix: "" });
10323
10326
  context.registerService("kv", service);
10324
10327
  service.initialize(context);
10325
10328
  return service;
@@ -12867,14 +12870,14 @@ function markDelegationTerminal(token, key) {
12867
12870
  }
12868
12871
 
12869
12872
  // src/networkId.ts
12870
- var import_sdk_services4 = require("@tinycloud/sdk-services");
12873
+ var import_sdk_services5 = require("@tinycloud/sdk-services");
12871
12874
  function canonicalizeNetworkId(networkId) {
12872
- const parsed = (0, import_sdk_services4.parseNetworkId)(networkId);
12873
- return (0, import_sdk_services4.buildNetworkId)(canonicalizeDid(parsed.ownerDid), parsed.name);
12875
+ const parsed = (0, import_sdk_services5.parseNetworkId)(networkId);
12876
+ return (0, import_sdk_services5.buildNetworkId)(canonicalizeDid(parsed.ownerDid), parsed.name);
12874
12877
  }
12875
12878
  function parseCanonicalNetworkId(networkId) {
12876
12879
  const canonical = canonicalizeNetworkId(networkId);
12877
- return (0, import_sdk_services4.parseNetworkId)(canonical);
12880
+ return (0, import_sdk_services5.parseNetworkId)(canonical);
12878
12881
  }
12879
12882
 
12880
12883
  // src/storage.schema.ts
@@ -12982,10 +12985,10 @@ function validatePersistedSessionData(data) {
12982
12985
  }
12983
12986
 
12984
12987
  // src/TinyCloud.ts
12985
- var import_sdk_services6 = require("@tinycloud/sdk-services");
12988
+ var import_sdk_services7 = require("@tinycloud/sdk-services");
12986
12989
 
12987
12990
  // src/spaces/SpaceService.ts
12988
- var import_sdk_services5 = require("@tinycloud/sdk-services");
12991
+ var import_sdk_services6 = require("@tinycloud/sdk-services");
12989
12992
 
12990
12993
  // src/spaces/Space.ts
12991
12994
  function unavailableSecretsService() {
@@ -13420,8 +13423,8 @@ var SpaceService = class {
13420
13423
  */
13421
13424
  async list() {
13422
13425
  if (!this.session) {
13423
- return (0, import_sdk_services5.err)(
13424
- (0, import_sdk_services5.serviceError)(SpaceErrorCodes.AUTH_REQUIRED, "Authentication required", SERVICE_NAME)
13426
+ return (0, import_sdk_services6.err)(
13427
+ (0, import_sdk_services6.serviceError)(SpaceErrorCodes.AUTH_REQUIRED, "Authentication required", SERVICE_NAME)
13425
13428
  );
13426
13429
  }
13427
13430
  try {
@@ -13430,8 +13433,8 @@ var SpaceService = class {
13430
13433
  if (ownedResult.ok) {
13431
13434
  spaces.push(...ownedResult.data);
13432
13435
  } else {
13433
- const verdict = (0, import_sdk_services5.authorizationVerdictOf)(ownedResult.error);
13434
- if (verdict === "unauthenticated" || verdict === "forbidden") return (0, import_sdk_services5.err)(ownedResult.error);
13436
+ const verdict = (0, import_sdk_services6.authorizationVerdictOf)(ownedResult.error);
13437
+ if (verdict === "unauthenticated" || verdict === "forbidden") return (0, import_sdk_services6.err)(ownedResult.error);
13435
13438
  }
13436
13439
  if (this.capabilityRegistry) {
13437
13440
  const delegatedSpaces = this.discoverDelegatedSpaces();
@@ -13443,10 +13446,10 @@ var SpaceService = class {
13443
13446
  this.notifySpaceRegistered(space);
13444
13447
  }
13445
13448
  }
13446
- return (0, import_sdk_services5.ok)(uniqueSpaces);
13449
+ return (0, import_sdk_services6.ok)(uniqueSpaces);
13447
13450
  } catch (error) {
13448
- return (0, import_sdk_services5.err)(
13449
- (0, import_sdk_services5.serviceError)(
13451
+ return (0, import_sdk_services6.err)(
13452
+ (0, import_sdk_services6.serviceError)(
13450
13453
  SpaceErrorCodes.NETWORK_ERROR,
13451
13454
  `Failed to list spaces: ${String(error)}`,
13452
13455
  SERVICE_NAME,
@@ -13466,7 +13469,7 @@ var SpaceService = class {
13466
13469
  headers
13467
13470
  });
13468
13471
  if (!response.ok) {
13469
- return (0, import_sdk_services5.err)(await serviceHttpError(
13472
+ return (0, import_sdk_services6.err)(await serviceHttpError(
13470
13473
  response,
13471
13474
  SpaceErrorCodes.NETWORK_ERROR,
13472
13475
  "Failed to list owned spaces",
@@ -13476,8 +13479,8 @@ var SpaceService = class {
13476
13479
  const rawData = await response.json();
13477
13480
  const validationResult = validateServerOwnedSpacesResponse(rawData);
13478
13481
  if (!validationResult.ok) {
13479
- return (0, import_sdk_services5.err)(
13480
- (0, import_sdk_services5.serviceError)(
13482
+ return (0, import_sdk_services6.err)(
13483
+ (0, import_sdk_services6.serviceError)(
13481
13484
  SpaceErrorCodes.NETWORK_ERROR,
13482
13485
  validationResult.error.message,
13483
13486
  SERVICE_NAME,
@@ -13493,10 +13496,10 @@ var SpaceService = class {
13493
13496
  permissions: ["*"]
13494
13497
  // Full permissions for owned spaces
13495
13498
  }));
13496
- return (0, import_sdk_services5.ok)(spaces);
13499
+ return (0, import_sdk_services6.ok)(spaces);
13497
13500
  } catch (error) {
13498
- return (0, import_sdk_services5.err)(
13499
- (0, import_sdk_services5.serviceError)(
13501
+ return (0, import_sdk_services6.err)(
13502
+ (0, import_sdk_services6.serviceError)(
13500
13503
  SpaceErrorCodes.NETWORK_ERROR,
13501
13504
  `Network error listing owned spaces: ${String(error)}`,
13502
13505
  SERVICE_NAME,
@@ -13577,13 +13580,13 @@ var SpaceService = class {
13577
13580
  */
13578
13581
  async create(name2) {
13579
13582
  if (!this.session) {
13580
- return (0, import_sdk_services5.err)(
13581
- (0, import_sdk_services5.serviceError)(SpaceErrorCodes.AUTH_REQUIRED, "Authentication required", SERVICE_NAME)
13583
+ return (0, import_sdk_services6.err)(
13584
+ (0, import_sdk_services6.serviceError)(SpaceErrorCodes.AUTH_REQUIRED, "Authentication required", SERVICE_NAME)
13582
13585
  );
13583
13586
  }
13584
13587
  if (!name2 || !/^[a-zA-Z0-9_-]+$/.test(name2)) {
13585
- return (0, import_sdk_services5.err)(
13586
- (0, import_sdk_services5.serviceError)(
13588
+ return (0, import_sdk_services6.err)(
13589
+ (0, import_sdk_services6.serviceError)(
13587
13590
  SpaceErrorCodes.INVALID_NAME,
13588
13591
  "Space name must contain only alphanumeric characters, underscores, and hyphens",
13589
13592
  SERVICE_NAME
@@ -13599,14 +13602,14 @@ var SpaceService = class {
13599
13602
  });
13600
13603
  if (!response.ok) {
13601
13604
  if (response.status === 409) {
13602
- return (0, import_sdk_services5.err)(await serviceHttpError(
13605
+ return (0, import_sdk_services6.err)(await serviceHttpError(
13603
13606
  response,
13604
13607
  SpaceErrorCodes.ALREADY_EXISTS,
13605
13608
  `Space "${name2}" already exists`,
13606
13609
  SERVICE_NAME
13607
13610
  ));
13608
13611
  }
13609
- return (0, import_sdk_services5.err)(await serviceHttpError(
13612
+ return (0, import_sdk_services6.err)(await serviceHttpError(
13610
13613
  response,
13611
13614
  SpaceErrorCodes.CREATION_FAILED,
13612
13615
  "Failed to create space",
@@ -13616,8 +13619,8 @@ var SpaceService = class {
13616
13619
  const rawData = await response.json();
13617
13620
  const validationResult = validateServerCreateSpaceResponse(rawData);
13618
13621
  if (!validationResult.ok) {
13619
- return (0, import_sdk_services5.err)(
13620
- (0, import_sdk_services5.serviceError)(
13622
+ return (0, import_sdk_services6.err)(
13623
+ (0, import_sdk_services6.serviceError)(
13621
13624
  SpaceErrorCodes.CREATION_FAILED,
13622
13625
  validationResult.error.message,
13623
13626
  SERVICE_NAME,
@@ -13634,10 +13637,10 @@ var SpaceService = class {
13634
13637
  };
13635
13638
  this.infoCache.set(spaceInfo.id, { info: spaceInfo, cachedAt: Date.now() });
13636
13639
  this.notifySpaceRegistered(spaceInfo);
13637
- return (0, import_sdk_services5.ok)(spaceInfo);
13640
+ return (0, import_sdk_services6.ok)(spaceInfo);
13638
13641
  } catch (error) {
13639
- return (0, import_sdk_services5.err)(
13640
- (0, import_sdk_services5.serviceError)(
13642
+ return (0, import_sdk_services6.err)(
13643
+ (0, import_sdk_services6.serviceError)(
13641
13644
  SpaceErrorCodes.NETWORK_ERROR,
13642
13645
  `Network error creating space: ${String(error)}`,
13643
13646
  SERVICE_NAME,
@@ -13707,10 +13710,10 @@ var SpaceService = class {
13707
13710
  const spaceId = this.resolveSpaceId(nameOrUri);
13708
13711
  const cached = this.infoCache.get(spaceId);
13709
13712
  if (cached && Date.now() - cached.cachedAt < this.cacheTTL) {
13710
- return (0, import_sdk_services5.ok)(true);
13713
+ return (0, import_sdk_services6.ok)(true);
13711
13714
  }
13712
13715
  const infoResult = await this.getSpaceInfo(spaceId);
13713
- return (0, import_sdk_services5.ok)(infoResult.ok);
13716
+ return (0, import_sdk_services6.ok)(infoResult.ok);
13714
13717
  }
13715
13718
  // ===========================================================================
13716
13719
  // Space Info
@@ -13721,11 +13724,11 @@ var SpaceService = class {
13721
13724
  async getSpaceInfo(spaceId) {
13722
13725
  const cached = this.infoCache.get(spaceId);
13723
13726
  if (cached && Date.now() - cached.cachedAt < this.cacheTTL) {
13724
- return (0, import_sdk_services5.ok)(cached.info);
13727
+ return (0, import_sdk_services6.ok)(cached.info);
13725
13728
  }
13726
13729
  if (!this.session) {
13727
- return (0, import_sdk_services5.err)(
13728
- (0, import_sdk_services5.serviceError)(SpaceErrorCodes.AUTH_REQUIRED, "Authentication required", SERVICE_NAME)
13730
+ return (0, import_sdk_services6.err)(
13731
+ (0, import_sdk_services6.serviceError)(SpaceErrorCodes.AUTH_REQUIRED, "Authentication required", SERVICE_NAME)
13729
13732
  );
13730
13733
  }
13731
13734
  try {
@@ -13737,14 +13740,14 @@ var SpaceService = class {
13737
13740
  });
13738
13741
  if (!response.ok) {
13739
13742
  if (response.status === 404) {
13740
- return (0, import_sdk_services5.err)(await serviceHttpError(
13743
+ return (0, import_sdk_services6.err)(await serviceHttpError(
13741
13744
  response,
13742
13745
  SpaceErrorCodes.NOT_FOUND,
13743
13746
  `Space not found: ${spaceId}`,
13744
13747
  SERVICE_NAME
13745
13748
  ));
13746
13749
  }
13747
- return (0, import_sdk_services5.err)(await serviceHttpError(
13750
+ return (0, import_sdk_services6.err)(await serviceHttpError(
13748
13751
  response,
13749
13752
  SpaceErrorCodes.NETWORK_ERROR,
13750
13753
  "Failed to get space info",
@@ -13754,8 +13757,8 @@ var SpaceService = class {
13754
13757
  const rawData = await response.json();
13755
13758
  const validationResult = validateServerSpaceInfoResponse(rawData);
13756
13759
  if (!validationResult.ok) {
13757
- return (0, import_sdk_services5.err)(
13758
- (0, import_sdk_services5.serviceError)(
13760
+ return (0, import_sdk_services6.err)(
13761
+ (0, import_sdk_services6.serviceError)(
13759
13762
  SpaceErrorCodes.NETWORK_ERROR,
13760
13763
  validationResult.error.message,
13761
13764
  SERVICE_NAME,
@@ -13773,10 +13776,10 @@ var SpaceService = class {
13773
13776
  expiresAt: data.expiresAt ? new Date(data.expiresAt) : void 0
13774
13777
  };
13775
13778
  this.infoCache.set(spaceId, { info: spaceInfo, cachedAt: Date.now() });
13776
- return (0, import_sdk_services5.ok)(spaceInfo);
13779
+ return (0, import_sdk_services6.ok)(spaceInfo);
13777
13780
  } catch (error) {
13778
- return (0, import_sdk_services5.err)(
13779
- (0, import_sdk_services5.serviceError)(
13781
+ return (0, import_sdk_services6.err)(
13782
+ (0, import_sdk_services6.serviceError)(
13780
13783
  SpaceErrorCodes.NETWORK_ERROR,
13781
13784
  `Network error getting space info: ${String(error)}`,
13782
13785
  SERVICE_NAME,
@@ -13861,7 +13864,7 @@ var SpaceService = class {
13861
13864
  headers
13862
13865
  });
13863
13866
  if (!response.ok) {
13864
- return (0, import_sdk_services5.err)(await serviceHttpError(
13867
+ return (0, import_sdk_services6.err)(await serviceHttpError(
13865
13868
  response,
13866
13869
  SpaceErrorCodes.NETWORK_ERROR,
13867
13870
  "Failed to list delegations",
@@ -13871,8 +13874,8 @@ var SpaceService = class {
13871
13874
  const rawData = await response.json();
13872
13875
  const validationResult = validateServerDelegationsResponse(rawData);
13873
13876
  if (!validationResult.ok) {
13874
- return (0, import_sdk_services5.err)(
13875
- (0, import_sdk_services5.serviceError)(
13877
+ return (0, import_sdk_services6.err)(
13878
+ (0, import_sdk_services6.serviceError)(
13876
13879
  SpaceErrorCodes.NETWORK_ERROR,
13877
13880
  validationResult.error.message,
13878
13881
  SERVICE_NAME,
@@ -13881,10 +13884,10 @@ var SpaceService = class {
13881
13884
  );
13882
13885
  }
13883
13886
  const delegations = transformServerDelegations(validationResult.data, spaceId);
13884
- return (0, import_sdk_services5.ok)(delegations);
13887
+ return (0, import_sdk_services6.ok)(delegations);
13885
13888
  } catch (error) {
13886
- return (0, import_sdk_services5.err)(
13887
- (0, import_sdk_services5.serviceError)(
13889
+ return (0, import_sdk_services6.err)(
13890
+ (0, import_sdk_services6.serviceError)(
13888
13891
  SpaceErrorCodes.NETWORK_ERROR,
13889
13892
  `Network error listing delegations: ${String(error)}`,
13890
13893
  SERVICE_NAME
@@ -13914,7 +13917,7 @@ var SpaceService = class {
13914
13917
  headers
13915
13918
  });
13916
13919
  if (!response.ok) {
13917
- return (0, import_sdk_services5.err)(await serviceHttpError(
13920
+ return (0, import_sdk_services6.err)(await serviceHttpError(
13918
13921
  response,
13919
13922
  SpaceErrorCodes.NETWORK_ERROR,
13920
13923
  "Failed to list received delegations",
@@ -13924,8 +13927,8 @@ var SpaceService = class {
13924
13927
  const rawData = await response.json();
13925
13928
  const validationResult = validateServerDelegationsResponse(rawData);
13926
13929
  if (!validationResult.ok) {
13927
- return (0, import_sdk_services5.err)(
13928
- (0, import_sdk_services5.serviceError)(
13930
+ return (0, import_sdk_services6.err)(
13931
+ (0, import_sdk_services6.serviceError)(
13929
13932
  SpaceErrorCodes.NETWORK_ERROR,
13930
13933
  validationResult.error.message,
13931
13934
  SERVICE_NAME,
@@ -13934,10 +13937,10 @@ var SpaceService = class {
13934
13937
  );
13935
13938
  }
13936
13939
  const delegations = transformServerDelegations(validationResult.data, spaceId);
13937
- return (0, import_sdk_services5.ok)(delegations);
13940
+ return (0, import_sdk_services6.ok)(delegations);
13938
13941
  } catch (error) {
13939
- return (0, import_sdk_services5.err)(
13940
- (0, import_sdk_services5.serviceError)(
13942
+ return (0, import_sdk_services6.err)(
13943
+ (0, import_sdk_services6.serviceError)(
13941
13944
  SpaceErrorCodes.NETWORK_ERROR,
13942
13945
  `Network error listing received delegations: ${String(error)}`,
13943
13946
  SERVICE_NAME
@@ -13949,8 +13952,8 @@ var SpaceService = class {
13949
13952
  if (self.createDelegationFn) {
13950
13953
  return self.createDelegationFn({ ...params, spaceId });
13951
13954
  }
13952
- return (0, import_sdk_services5.err)(
13953
- (0, import_sdk_services5.serviceError)(
13955
+ return (0, import_sdk_services6.err)(
13956
+ (0, import_sdk_services6.serviceError)(
13954
13957
  SpaceErrorCodes.NOT_INITIALIZED,
13955
13958
  "Delegation creation requires a createDelegation function. This should be provided by the platform SDK (web-sdk or node-sdk).",
13956
13959
  SERVICE_NAME
@@ -13971,17 +13974,17 @@ var SpaceService = class {
13971
13974
  body: JSON.stringify({ cid: cid2, spaceId })
13972
13975
  });
13973
13976
  if (!response.ok) {
13974
- return (0, import_sdk_services5.err)(await serviceHttpError(
13977
+ return (0, import_sdk_services6.err)(await serviceHttpError(
13975
13978
  response,
13976
13979
  SpaceErrorCodes.NETWORK_ERROR,
13977
13980
  "Failed to revoke delegation",
13978
13981
  SERVICE_NAME
13979
13982
  ));
13980
13983
  }
13981
- return (0, import_sdk_services5.ok)(void 0);
13984
+ return (0, import_sdk_services6.ok)(void 0);
13982
13985
  } catch (error) {
13983
- return (0, import_sdk_services5.err)(
13984
- (0, import_sdk_services5.serviceError)(
13986
+ return (0, import_sdk_services6.err)(
13987
+ (0, import_sdk_services6.serviceError)(
13985
13988
  SpaceErrorCodes.NETWORK_ERROR,
13986
13989
  `Network error revoking delegation: ${String(error)}`,
13987
13990
  SERVICE_NAME
@@ -14004,18 +14007,18 @@ var SpaceService = class {
14004
14007
  if (self.sharingService) {
14005
14008
  const result = await self.sharingService.generate(params);
14006
14009
  if (!result.ok) {
14007
- return (0, import_sdk_services5.err)(
14008
- (0, import_sdk_services5.serviceError)(
14010
+ return (0, import_sdk_services6.err)(
14011
+ (0, import_sdk_services6.serviceError)(
14009
14012
  SpaceErrorCodes.NETWORK_ERROR,
14010
14013
  result.error.message || "Failed to generate share link",
14011
14014
  SERVICE_NAME
14012
14015
  )
14013
14016
  );
14014
14017
  }
14015
- return (0, import_sdk_services5.ok)(result.data);
14018
+ return (0, import_sdk_services6.ok)(result.data);
14016
14019
  }
14017
- return (0, import_sdk_services5.err)(
14018
- (0, import_sdk_services5.serviceError)(
14020
+ return (0, import_sdk_services6.err)(
14021
+ (0, import_sdk_services6.serviceError)(
14019
14022
  SpaceErrorCodes.NOT_INITIALIZED,
14020
14023
  "SharingService not configured. V2 sharing requires a SharingService instance.",
14021
14024
  SERVICE_NAME
@@ -14023,8 +14026,8 @@ var SpaceService = class {
14023
14026
  );
14024
14027
  },
14025
14028
  async list() {
14026
- return (0, import_sdk_services5.err)(
14027
- (0, import_sdk_services5.serviceError)(
14029
+ return (0, import_sdk_services6.err)(
14030
+ (0, import_sdk_services6.serviceError)(
14028
14031
  SpaceErrorCodes.NOT_INITIALIZED,
14029
14032
  "Listing share links is not supported in v2. Share links are self-contained tokens that are not tracked on the server.",
14030
14033
  SERVICE_NAME
@@ -14032,8 +14035,8 @@ var SpaceService = class {
14032
14035
  );
14033
14036
  },
14034
14037
  async revoke(token) {
14035
- return (0, import_sdk_services5.err)(
14036
- (0, import_sdk_services5.serviceError)(
14038
+ return (0, import_sdk_services6.err)(
14039
+ (0, import_sdk_services6.serviceError)(
14037
14040
  SpaceErrorCodes.NOT_INITIALIZED,
14038
14041
  "Revoking share links by token is not supported in v2. To revoke access, revoke the underlying delegation using space.delegations.revoke(cid).",
14039
14042
  SERVICE_NAME
@@ -14093,7 +14096,7 @@ var TinyCloud = class _TinyCloud {
14093
14096
  "hosts are required to initialize services. Provide them via config.hosts or initializeServices()."
14094
14097
  );
14095
14098
  }
14096
- this._serviceContext = new import_sdk_services6.ServiceContext({
14099
+ this._serviceContext = new import_sdk_services7.ServiceContext({
14097
14100
  invoke: effectiveInvoke,
14098
14101
  invokeAny: this.config.invokeAny,
14099
14102
  fetch: fetchFn ?? this.config.fetch ?? globalThis.fetch.bind(globalThis),
@@ -14102,10 +14105,10 @@ var TinyCloud = class _TinyCloud {
14102
14105
  telemetry: this.config.telemetry
14103
14106
  });
14104
14107
  const serviceConstructors = {
14105
- kv: import_sdk_services6.KVService,
14106
- sql: import_sdk_services6.SQLService,
14107
- duckdb: import_sdk_services6.DuckDbService,
14108
- hooks: import_sdk_services6.HooksService,
14108
+ kv: import_sdk_services7.KVService,
14109
+ sql: import_sdk_services7.SQLService,
14110
+ duckdb: import_sdk_services7.DuckDbService,
14111
+ hooks: import_sdk_services7.HooksService,
14109
14112
  ...this.config.services
14110
14113
  };
14111
14114
  for (const [name2, ServiceClass] of Object.entries(serviceConstructors)) {
@@ -14369,18 +14372,18 @@ var TinyCloud = class _TinyCloud {
14369
14372
  const address = this.address();
14370
14373
  const chainId = this.chainId();
14371
14374
  if (!address || !chainId) {
14372
- return (0, import_sdk_services6.err)(
14373
- (0, import_sdk_services6.serviceError)(
14374
- import_sdk_services6.ErrorCodes.AUTH_REQUIRED,
14375
+ return (0, import_sdk_services7.err)(
14376
+ (0, import_sdk_services7.serviceError)(
14377
+ import_sdk_services7.ErrorCodes.AUTH_REQUIRED,
14375
14378
  "Must be signed in to ensure public space",
14376
14379
  "public-space"
14377
14380
  )
14378
14381
  );
14379
14382
  }
14380
14383
  if (!this._serviceContext) {
14381
- return (0, import_sdk_services6.err)(
14382
- (0, import_sdk_services6.serviceError)(
14383
- import_sdk_services6.ErrorCodes.AUTH_REQUIRED,
14384
+ return (0, import_sdk_services7.err)(
14385
+ (0, import_sdk_services7.serviceError)(
14386
+ import_sdk_services7.ErrorCodes.AUTH_REQUIRED,
14384
14387
  "Services not initialized. Call initializeServices() or signIn() first.",
14385
14388
  "public-space"
14386
14389
  )
@@ -14390,9 +14393,9 @@ var TinyCloud = class _TinyCloud {
14390
14393
  try {
14391
14394
  const session = this._serviceContext.session;
14392
14395
  if (!session) {
14393
- return (0, import_sdk_services6.err)(
14394
- (0, import_sdk_services6.serviceError)(
14395
- import_sdk_services6.ErrorCodes.AUTH_REQUIRED,
14396
+ return (0, import_sdk_services7.err)(
14397
+ (0, import_sdk_services7.serviceError)(
14398
+ import_sdk_services7.ErrorCodes.AUTH_REQUIRED,
14396
14399
  "No active session",
14397
14400
  "public-space"
14398
14401
  )
@@ -14409,7 +14412,7 @@ var TinyCloud = class _TinyCloud {
14409
14412
  { method: "POST", headers, body: JSON.stringify({ spaceId }) }
14410
14413
  );
14411
14414
  if (response.ok) {
14412
- return (0, import_sdk_services6.ok)(void 0);
14415
+ return (0, import_sdk_services7.ok)(void 0);
14413
14416
  }
14414
14417
  if (response.status === 404) {
14415
14418
  const createHeaders = this._serviceContext.invoke(
@@ -14428,27 +14431,27 @@ var TinyCloud = class _TinyCloud {
14428
14431
  );
14429
14432
  if (!createResponse.ok) {
14430
14433
  if (createResponse.status === 409) {
14431
- return (0, import_sdk_services6.ok)(void 0);
14434
+ return (0, import_sdk_services7.ok)(void 0);
14432
14435
  }
14433
- return (0, import_sdk_services6.err)(await serviceHttpError(
14436
+ return (0, import_sdk_services7.err)(await serviceHttpError(
14434
14437
  createResponse,
14435
- import_sdk_services6.ErrorCodes.NETWORK_ERROR,
14438
+ import_sdk_services7.ErrorCodes.NETWORK_ERROR,
14436
14439
  "Failed to create public space",
14437
14440
  "public-space"
14438
14441
  ));
14439
14442
  }
14440
- return (0, import_sdk_services6.ok)(void 0);
14443
+ return (0, import_sdk_services7.ok)(void 0);
14441
14444
  }
14442
- return (0, import_sdk_services6.err)(await serviceHttpError(
14445
+ return (0, import_sdk_services7.err)(await serviceHttpError(
14443
14446
  response,
14444
- import_sdk_services6.ErrorCodes.NETWORK_ERROR,
14447
+ import_sdk_services7.ErrorCodes.NETWORK_ERROR,
14445
14448
  "Failed to check public space",
14446
14449
  "public-space"
14447
14450
  ));
14448
14451
  } catch (error) {
14449
- return (0, import_sdk_services6.err)(
14450
- (0, import_sdk_services6.serviceError)(
14451
- import_sdk_services6.ErrorCodes.NETWORK_ERROR,
14452
+ return (0, import_sdk_services7.err)(
14453
+ (0, import_sdk_services7.serviceError)(
14454
+ import_sdk_services7.ErrorCodes.NETWORK_ERROR,
14452
14455
  `Network error ensuring public space: ${String(error)}`,
14453
14456
  "public-space",
14454
14457
  { cause: error instanceof Error ? error : void 0 }
@@ -14481,8 +14484,8 @@ var TinyCloud = class _TinyCloud {
14481
14484
  if (!session) {
14482
14485
  throw new Error("No active session. Sign in first.");
14483
14486
  }
14484
- const publicKV = new import_sdk_services6.KVService({ prefix: "" });
14485
- const publicContext = new import_sdk_services6.ServiceContext({
14487
+ const publicKV = new import_sdk_services7.KVService({ prefix: "" });
14488
+ const publicContext = new import_sdk_services7.ServiceContext({
14486
14489
  invoke: this._serviceContext.invoke,
14487
14490
  fetch: this._serviceContext.fetch,
14488
14491
  hosts: this._serviceContext.hosts,
@@ -14515,16 +14518,16 @@ var TinyCloud = class _TinyCloud {
14515
14518
  const response = await doFetch(url, { method: "GET" });
14516
14519
  if (!response.ok) {
14517
14520
  if (response.status === 404) {
14518
- return (0, import_sdk_services6.err)(await serviceHttpError(
14521
+ return (0, import_sdk_services7.err)(await serviceHttpError(
14519
14522
  response,
14520
- import_sdk_services6.ErrorCodes.NOT_FOUND,
14523
+ import_sdk_services7.ErrorCodes.NOT_FOUND,
14521
14524
  `Key not found: ${key} in space ${spaceId}`,
14522
14525
  "public-space"
14523
14526
  ));
14524
14527
  }
14525
- return (0, import_sdk_services6.err)(await serviceHttpError(
14528
+ return (0, import_sdk_services7.err)(await serviceHttpError(
14526
14529
  response,
14527
- import_sdk_services6.ErrorCodes.NETWORK_ERROR,
14530
+ import_sdk_services7.ErrorCodes.NETWORK_ERROR,
14528
14531
  "Failed to read public space",
14529
14532
  "public-space"
14530
14533
  ));
@@ -14541,11 +14544,11 @@ var TinyCloud = class _TinyCloud {
14541
14544
  data = text3;
14542
14545
  }
14543
14546
  }
14544
- return (0, import_sdk_services6.ok)(data);
14547
+ return (0, import_sdk_services7.ok)(data);
14545
14548
  } catch (error) {
14546
- return (0, import_sdk_services6.err)(
14547
- (0, import_sdk_services6.serviceError)(
14548
- import_sdk_services6.ErrorCodes.NETWORK_ERROR,
14549
+ return (0, import_sdk_services7.err)(
14550
+ (0, import_sdk_services7.serviceError)(
14551
+ import_sdk_services7.ErrorCodes.NETWORK_ERROR,
14549
14552
  `Network error reading public space: ${String(error)}`,
14550
14553
  "public-space",
14551
14554
  { cause: error instanceof Error ? error : void 0 }
@@ -14571,7 +14574,7 @@ var TinyCloud = class _TinyCloud {
14571
14574
  };
14572
14575
 
14573
14576
  // src/account/AccountService.ts
14574
- var import_sdk_services7 = require("@tinycloud/sdk-services");
14577
+ var import_sdk_services8 = require("@tinycloud/sdk-services");
14575
14578
  var import_bootstrap3 = require("@tinycloud/bootstrap");
14576
14579
  var SERVICE_NAME2 = "account";
14577
14580
  var ACCOUNT_INDEX_DB = "account";
@@ -14619,7 +14622,7 @@ var AccountService = class {
14619
14622
  applications.push(applicationFromRecord(key, loaded.data.data));
14620
14623
  }
14621
14624
  applications.sort((a, b) => a.appId.localeCompare(b.appId));
14622
- return (0, import_sdk_services7.ok)(applications);
14625
+ return (0, import_sdk_services8.ok)(applications);
14623
14626
  },
14624
14627
  get: async (appId) => {
14625
14628
  const kvResult = this.accountKV();
@@ -14627,14 +14630,14 @@ var AccountService = class {
14627
14630
  const key = applicationKey(appId);
14628
14631
  const loaded = await kvResult.data.get(key);
14629
14632
  if (!loaded.ok) return accountErr(loaded.error);
14630
- return (0, import_sdk_services7.ok)(applicationFromRecord(key, loaded.data.data));
14633
+ return (0, import_sdk_services8.ok)(applicationFromRecord(key, loaded.data.data));
14631
14634
  },
14632
14635
  register: async (manifest, options2 = {}) => {
14633
14636
  const manifests = Array.isArray(manifest) ? manifest : [manifest];
14634
14637
  const request = composeManifestRequest(manifests);
14635
14638
  if (request.registryRecords.length === 0) {
14636
- return (0, import_sdk_services7.err)(
14637
- (0, import_sdk_services7.serviceError)(
14639
+ return (0, import_sdk_services8.err)(
14640
+ (0, import_sdk_services8.serviceError)(
14638
14641
  "INVALID_MANIFEST",
14639
14642
  "Manifest did not produce an account application registry record",
14640
14643
  SERVICE_NAME2
@@ -14668,7 +14671,7 @@ var AccountService = class {
14668
14671
  registered = applicationFromRecord(record2.key, stored);
14669
14672
  await this.upsertApplicationIndexQuietly(registered);
14670
14673
  }
14671
- return (0, import_sdk_services7.ok)(registered);
14674
+ return (0, import_sdk_services8.ok)(registered);
14672
14675
  },
14673
14676
  remove: async (appId) => {
14674
14677
  const kvResult = this.accountKV();
@@ -14676,7 +14679,7 @@ var AccountService = class {
14676
14679
  const removed = await kvResult.data.delete(applicationKey(appId));
14677
14680
  if (!removed.ok) return accountErr(removed.error);
14678
14681
  await this.deleteApplicationIndexQuietly(appId);
14679
- return (0, import_sdk_services7.ok)(void 0);
14682
+ return (0, import_sdk_services8.ok)(void 0);
14680
14683
  }
14681
14684
  };
14682
14685
  this.spaces = {
@@ -14690,7 +14693,7 @@ var AccountService = class {
14690
14693
  if (canonical.data.allRegistered && options2.refreshIndex !== false) {
14691
14694
  await this.replaceSpacesIndexQuietly(canonical.data.spaces);
14692
14695
  }
14693
- return (0, import_sdk_services7.ok)(canonical.data.spaces);
14696
+ return (0, import_sdk_services8.ok)(canonical.data.spaces);
14694
14697
  }
14695
14698
  const kvResult = this.accountKV();
14696
14699
  if (!kvResult.ok) return kvResult;
@@ -14703,14 +14706,14 @@ var AccountService = class {
14703
14706
  spaces.push(spaceFromRecord(key, loaded.data.data));
14704
14707
  }
14705
14708
  spaces.sort((a, b) => a.name.localeCompare(b.name) || a.spaceId.localeCompare(b.spaceId));
14706
- return (0, import_sdk_services7.ok)(spaces);
14709
+ return (0, import_sdk_services8.ok)(spaces);
14707
14710
  },
14708
14711
  get: async (spaceId) => {
14709
14712
  const kvResult = this.accountKV();
14710
14713
  if (!kvResult.ok) return kvResult;
14711
14714
  const loaded = await kvResult.data.get(spaceKey(spaceId));
14712
14715
  if (!loaded.ok) return accountErr(loaded.error);
14713
- return (0, import_sdk_services7.ok)(spaceFromRecord(spaceKey(spaceId), loaded.data.data));
14716
+ return (0, import_sdk_services8.ok)(spaceFromRecord(spaceKey(spaceId), loaded.data.data));
14714
14717
  },
14715
14718
  register: async (space) => {
14716
14719
  await this.config.ensureAccountSpaceHosted?.();
@@ -14721,7 +14724,7 @@ var AccountService = class {
14721
14724
  if (!written.ok) return accountErr(written.error);
14722
14725
  const registered = spaceFromRecord(spaceKey(stored.space_id), stored);
14723
14726
  await this.upsertSpaceIndexQuietly(registered);
14724
- return (0, import_sdk_services7.ok)(registered);
14727
+ return (0, import_sdk_services8.ok)(registered);
14725
14728
  },
14726
14729
  /**
14727
14730
  * Register multiple spaces in one KV batch write + one multi-row index
@@ -14734,7 +14737,7 @@ var AccountService = class {
14734
14737
  * leave the first attempt's blocks orphaned.
14735
14738
  */
14736
14739
  registerBatch: async (spaces) => {
14737
- if (spaces.length === 0) return (0, import_sdk_services7.ok)({ spaces: [] });
14740
+ if (spaces.length === 0) return (0, import_sdk_services8.ok)({ spaces: [] });
14738
14741
  await this.config.ensureAccountSpaceHosted?.();
14739
14742
  const kvResult = this.accountKV();
14740
14743
  if (!kvResult.ok) return kvResult;
@@ -14749,7 +14752,7 @@ var AccountService = class {
14749
14752
  const batchResult = await kvResult.data.batchPut(items);
14750
14753
  if (batchResult.ok) {
14751
14754
  await this.upsertSpacesIndexQuietly(registered);
14752
- return (0, import_sdk_services7.ok)({ spaces: registered });
14755
+ return (0, import_sdk_services8.ok)({ spaces: registered });
14753
14756
  }
14754
14757
  if (!isAmbiguousBatchFailure(batchResult.error)) {
14755
14758
  return accountErr(batchResult.error);
@@ -14762,8 +14765,8 @@ var AccountService = class {
14762
14765
  }
14763
14766
  }
14764
14767
  if (reconcileFailures.length > 0) {
14765
- return (0, import_sdk_services7.err)(
14766
- (0, import_sdk_services7.serviceError)(
14768
+ return (0, import_sdk_services8.err)(
14769
+ (0, import_sdk_services8.serviceError)(
14767
14770
  "KV_BATCH_RECONCILE_FAILED",
14768
14771
  `KV batch write for ${items.length} space(s) failed ambiguously (${batchResult.error.message}) and per-space reconciliation also failed for: ${reconcileFailures.join("; ")}`,
14769
14772
  SERVICE_NAME2,
@@ -14775,7 +14778,7 @@ var AccountService = class {
14775
14778
  `[AccountService] KV batch write for ${items.length} space(s) returned an ambiguous error and was reconciled via per-space fallback. Original error: ${batchResult.error.message}`
14776
14779
  );
14777
14780
  await this.upsertSpacesIndexQuietly(registered);
14778
- return (0, import_sdk_services7.ok)({ spaces: registered, recoveredFromBatchError: batchResult.error });
14781
+ return (0, import_sdk_services8.ok)({ spaces: registered, recoveredFromBatchError: batchResult.error });
14779
14782
  },
14780
14783
  /**
14781
14784
  * Register only spaces without a registry record (TC-800). Existing
@@ -14783,7 +14786,7 @@ var AccountService = class {
14783
14786
  * Bootstrap repair uses this on populated accounts.
14784
14787
  */
14785
14788
  registerMissing: async (spaces) => {
14786
- if (spaces.length === 0) return (0, import_sdk_services7.ok)([]);
14789
+ if (spaces.length === 0) return (0, import_sdk_services8.ok)([]);
14787
14790
  await this.config.ensureAccountSpaceHosted?.();
14788
14791
  const kvResult = this.accountKV();
14789
14792
  if (!kvResult.ok) return kvResult;
@@ -14799,15 +14802,15 @@ var AccountService = class {
14799
14802
  const key = keys[i];
14800
14803
  const result = byKey.get(key);
14801
14804
  if (!result) {
14802
- return (0, import_sdk_services7.err)((0, import_sdk_services7.serviceError)(
14803
- import_sdk_services7.ErrorCodes.NETWORK_ERROR,
14805
+ return (0, import_sdk_services8.err)((0, import_sdk_services8.serviceError)(
14806
+ import_sdk_services8.ErrorCodes.NETWORK_ERROR,
14804
14807
  `KV batch read omitted requested key ${JSON.stringify(key)}`,
14805
14808
  SERVICE_NAME2
14806
14809
  ));
14807
14810
  }
14808
14811
  if (result.ok) {
14809
14812
  final[i] = spaceFromRecord(key, result.data.data);
14810
- } else if (result.error.code === import_sdk_services7.ErrorCodes.KV_NOT_FOUND) {
14813
+ } else if (result.error.code === import_sdk_services8.ErrorCodes.KV_NOT_FOUND) {
14811
14814
  missing.push({ index: i, key, record: stored[i] });
14812
14815
  } else {
14813
14816
  return accountErr(result.error);
@@ -14815,21 +14818,21 @@ var AccountService = class {
14815
14818
  }
14816
14819
  const creates = await Promise.all(missing.map(async ({ index, key, record: record2 }) => {
14817
14820
  const written = await kv.put(key, record2, { ifNoneMatch: "*" });
14818
- if (written.ok) return { index, result: (0, import_sdk_services7.ok)(spaceFromRecord(key, record2)) };
14821
+ if (written.ok) return { index, result: (0, import_sdk_services8.ok)(spaceFromRecord(key, record2)) };
14819
14822
  const raced = await kv.get(key);
14820
- if (raced.ok) return { index, result: (0, import_sdk_services7.ok)(spaceFromRecord(key, raced.data.data)) };
14821
- return { index, result: (0, import_sdk_services7.err)(written.error) };
14823
+ if (raced.ok) return { index, result: (0, import_sdk_services8.ok)(spaceFromRecord(key, raced.data.data)) };
14824
+ return { index, result: (0, import_sdk_services8.err)(written.error) };
14822
14825
  }));
14823
14826
  for (const { index, result } of creates) {
14824
14827
  if (!result.ok) return accountErr(result.error);
14825
14828
  final[index] = result.data;
14826
14829
  }
14827
14830
  await this.upsertSpacesIndexQuietly(final);
14828
- return (0, import_sdk_services7.ok)(final);
14831
+ return (0, import_sdk_services8.ok)(final);
14829
14832
  },
14830
14833
  syncAccessible: async () => {
14831
14834
  const synced = await this.syncAccessibleSpaces({ tolerateStorageFull: false });
14832
- return synced.ok ? (0, import_sdk_services7.ok)(synced.data.spaces) : synced;
14835
+ return synced.ok ? (0, import_sdk_services8.ok)(synced.data.spaces) : synced;
14833
14836
  },
14834
14837
  remove: async (spaceId) => {
14835
14838
  const kvResult = this.accountKV();
@@ -14837,21 +14840,21 @@ var AccountService = class {
14837
14840
  const removed = await kvResult.data.delete(spaceKey(spaceId));
14838
14841
  if (!removed.ok) return accountErr(removed.error);
14839
14842
  await this.deleteSpaceIndexQuietly(spaceId);
14840
- return (0, import_sdk_services7.ok)(void 0);
14843
+ return (0, import_sdk_services8.ok)(void 0);
14841
14844
  }
14842
14845
  };
14843
14846
  this.delegations = {
14844
14847
  query: async (options2 = {}) => {
14845
14848
  const manager = this.config.getDelegationManager?.();
14846
14849
  if (!manager) {
14847
- return (0, import_sdk_services7.err)((0, import_sdk_services7.serviceError)(
14850
+ return (0, import_sdk_services8.err)((0, import_sdk_services8.serviceError)(
14848
14851
  "NOT_INITIALIZED",
14849
14852
  "Delegation history requires an authenticated delegation manager",
14850
14853
  SERVICE_NAME2
14851
14854
  ));
14852
14855
  }
14853
14856
  const queried = await manager.query(options2);
14854
- return queried.ok ? (0, import_sdk_services7.ok)(queried.data) : accountErr(queried.error);
14857
+ return queried.ok ? (0, import_sdk_services8.ok)(queried.data) : accountErr(queried.error);
14855
14858
  },
14856
14859
  list: async (options2 = {}) => {
14857
14860
  if (options2.preferIndex) {
@@ -14885,17 +14888,17 @@ var AccountService = class {
14885
14888
  }
14886
14889
  }
14887
14890
  delegations.sort((a, b) => a.spaceId.localeCompare(b.spaceId) || a.cid.localeCompare(b.cid));
14888
- return (0, import_sdk_services7.ok)(delegations);
14891
+ return (0, import_sdk_services8.ok)(delegations);
14889
14892
  },
14890
14893
  revoke: async (input) => {
14891
14894
  const cid2 = typeof input === "string" ? input : input.cid;
14892
14895
  const manager = this.config.getDelegationManager?.();
14893
14896
  if (manager) {
14894
14897
  const revoked2 = await manager.revoke(cid2);
14895
- return revoked2.ok ? (0, import_sdk_services7.ok)(revoked2.data) : accountErr(revoked2.error);
14898
+ return revoked2.ok ? (0, import_sdk_services8.ok)(revoked2.data) : accountErr(revoked2.error);
14896
14899
  }
14897
14900
  if (typeof input === "string") {
14898
- return (0, import_sdk_services7.err)((0, import_sdk_services7.serviceError)(
14901
+ return (0, import_sdk_services8.err)((0, import_sdk_services8.serviceError)(
14899
14902
  "NOT_INITIALIZED",
14900
14903
  "CID-only revocation requires an authenticated delegation manager",
14901
14904
  SERVICE_NAME2
@@ -14905,7 +14908,7 @@ var AccountService = class {
14905
14908
  if (!space.ok) return space;
14906
14909
  const revoked = await this.config.getSpaces().get(space.data.id).delegations.revoke(cid2);
14907
14910
  if (!revoked.ok) return accountErr(revoked.error);
14908
- return (0, import_sdk_services7.ok)(void 0);
14911
+ return (0, import_sdk_services8.ok)(void 0);
14909
14912
  }
14910
14913
  };
14911
14914
  this.index = {
@@ -14914,7 +14917,7 @@ var AccountService = class {
14914
14917
  if (!dbResult.ok) return dbResult;
14915
14918
  const schema = await this.ensureAccountIndex(dbResult.data);
14916
14919
  if (!schema.ok) return schema;
14917
- return (0, import_sdk_services7.ok)({ database: ACCOUNT_INDEX_DB });
14920
+ return (0, import_sdk_services8.ok)({ database: ACCOUNT_INDEX_DB });
14918
14921
  },
14919
14922
  rebuild: async () => {
14920
14923
  const dbResult = this.accountDb();
@@ -14996,7 +14999,7 @@ var AccountService = class {
14996
14999
  ];
14997
15000
  const rebuilt = await dbResult.data.batch(statements);
14998
15001
  if (!rebuilt.ok) return accountErr(rebuilt.error);
14999
- return (0, import_sdk_services7.ok)({
15002
+ return (0, import_sdk_services8.ok)({
15000
15003
  database: ACCOUNT_INDEX_DB,
15001
15004
  applications: applications.data.length,
15002
15005
  spaces: spaces.data.length,
@@ -15012,7 +15015,7 @@ var AccountService = class {
15012
15015
  "SELECT applications.app_id, name, description, updated_at, manifest_json, application_state.manifest_hash FROM applications LEFT JOIN application_state ON applications.app_id = application_state.app_id ORDER BY applications.app_id"
15013
15016
  );
15014
15017
  if (!queried.ok) return accountErr(queried.error);
15015
- return (0, import_sdk_services7.ok)(queried.data.rows.map(indexedApplicationFromRow));
15018
+ return (0, import_sdk_services8.ok)(queried.data.rows.map(indexedApplicationFromRow));
15016
15019
  }
15017
15020
  },
15018
15021
  spaces: {
@@ -15023,7 +15026,7 @@ var AccountService = class {
15023
15026
  "SELECT space_id, name, owner_did, type, permissions_json, status, registered_at, updated_at, expires_at FROM spaces ORDER BY name, space_id"
15024
15027
  );
15025
15028
  if (!queried.ok) return accountErr(queried.error);
15026
- return (0, import_sdk_services7.ok)(queried.data.rows.map(indexedSpaceFromRow));
15029
+ return (0, import_sdk_services8.ok)(queried.data.rows.map(indexedSpaceFromRow));
15027
15030
  }
15028
15031
  },
15029
15032
  delegations: {
@@ -15045,7 +15048,7 @@ var AccountService = class {
15045
15048
  params
15046
15049
  );
15047
15050
  if (!queried.ok) return accountErr(queried.error);
15048
- return (0, import_sdk_services7.ok)(queried.data.rows.map(indexedDelegationFromRow));
15051
+ return (0, import_sdk_services8.ok)(queried.data.rows.map(indexedDelegationFromRow));
15049
15052
  }
15050
15053
  },
15051
15054
  query: async (sql, params) => {
@@ -15053,7 +15056,7 @@ var AccountService = class {
15053
15056
  if (!dbResult.ok) return dbResult;
15054
15057
  const queried = await dbResult.data.query(sql, params);
15055
15058
  if (!queried.ok) return accountErr(queried.error);
15056
- return (0, import_sdk_services7.ok)(queried.data);
15059
+ return (0, import_sdk_services8.ok)(queried.data);
15057
15060
  },
15058
15061
  status: async () => {
15059
15062
  const dbResult = this.accountDb();
@@ -15063,11 +15066,11 @@ var AccountService = class {
15063
15066
  );
15064
15067
  if (!queried.ok) {
15065
15068
  if (isMissingIndexError(queried.error)) {
15066
- return (0, import_sdk_services7.ok)({ database: ACCOUNT_INDEX_DB, state: "missing", sources: [] });
15069
+ return (0, import_sdk_services8.ok)({ database: ACCOUNT_INDEX_DB, state: "missing", sources: [] });
15067
15070
  }
15068
15071
  return accountErr(queried.error);
15069
15072
  }
15070
- return (0, import_sdk_services7.ok)({
15073
+ return (0, import_sdk_services8.ok)({
15071
15074
  database: ACCOUNT_INDEX_DB,
15072
15075
  state: "ready",
15073
15076
  sources: queried.data.rows.map(([source, syncedAt, count]) => ({
@@ -15086,7 +15089,7 @@ var AccountService = class {
15086
15089
  if (!delegations.ok) return delegations;
15087
15090
  const spaces = await this.spaces.list();
15088
15091
  if (!spaces.ok) return spaces;
15089
- return (0, import_sdk_services7.ok)({
15092
+ return (0, import_sdk_services8.ok)({
15090
15093
  did: this.config.getDid(),
15091
15094
  host: this.config.getHost(),
15092
15095
  primarySpaceId: this.config.getPrimarySpaceId(),
@@ -15100,28 +15103,28 @@ var AccountService = class {
15100
15103
  accountKV() {
15101
15104
  const accountSpaceId = this.config.getAccountSpaceId();
15102
15105
  if (!accountSpaceId) {
15103
- return (0, import_sdk_services7.err)(
15104
- (0, import_sdk_services7.serviceError)(
15106
+ return (0, import_sdk_services8.err)(
15107
+ (0, import_sdk_services8.serviceError)(
15105
15108
  "ACCOUNT_SPACE_UNAVAILABLE",
15106
15109
  "Account space is unavailable. Sign in with a wallet-backed profile first.",
15107
15110
  SERVICE_NAME2
15108
15111
  )
15109
15112
  );
15110
15113
  }
15111
- return (0, import_sdk_services7.ok)(this.config.getSpaces().get(accountSpaceId).kv);
15114
+ return (0, import_sdk_services8.ok)(this.config.getSpaces().get(accountSpaceId).kv);
15112
15115
  }
15113
15116
  accountDb() {
15114
15117
  const db = this.config.getAccountDb?.();
15115
15118
  if (!db) {
15116
- return (0, import_sdk_services7.err)(
15117
- (0, import_sdk_services7.serviceError)(
15119
+ return (0, import_sdk_services8.err)(
15120
+ (0, import_sdk_services8.serviceError)(
15118
15121
  "ACCOUNT_INDEX_UNAVAILABLE",
15119
15122
  "Account index database is unavailable. Sign in with a wallet-backed profile first.",
15120
15123
  SERVICE_NAME2
15121
15124
  )
15122
15125
  );
15123
15126
  }
15124
- return (0, import_sdk_services7.ok)(db);
15127
+ return (0, import_sdk_services8.ok)(db);
15125
15128
  }
15126
15129
  async indexHasApplicationHash(appId, manifestHash) {
15127
15130
  const dbResult = this.accountDb();
@@ -15139,7 +15142,7 @@ var AccountService = class {
15139
15142
  }
15140
15143
  async upsertApplicationIndex(app) {
15141
15144
  const dbResult = this.accountDb();
15142
- if (!dbResult.ok) return (0, import_sdk_services7.ok)(void 0);
15145
+ if (!dbResult.ok) return (0, import_sdk_services8.ok)(void 0);
15143
15146
  const schema = await this.ensureAccountIndex(dbResult.data);
15144
15147
  if (!schema.ok) return schema;
15145
15148
  const updatedAt = app.updatedAt ?? (/* @__PURE__ */ new Date()).toISOString();
@@ -15161,14 +15164,14 @@ var AccountService = class {
15161
15164
  }
15162
15165
  ]);
15163
15166
  if (!written.ok) return accountErr(written.error);
15164
- return (0, import_sdk_services7.ok)(void 0);
15167
+ return (0, import_sdk_services8.ok)(void 0);
15165
15168
  }
15166
15169
  async deleteApplicationIndexQuietly(appId) {
15167
15170
  await ignoreIndexFailure(() => this.deleteApplicationIndex(appId));
15168
15171
  }
15169
15172
  async deleteApplicationIndex(appId) {
15170
15173
  const dbResult = this.accountDb();
15171
- if (!dbResult.ok) return (0, import_sdk_services7.ok)(void 0);
15174
+ if (!dbResult.ok) return (0, import_sdk_services8.ok)(void 0);
15172
15175
  const schema = await this.ensureAccountIndex(dbResult.data);
15173
15176
  if (!schema.ok) return schema;
15174
15177
  const deleted = await dbResult.data.batch([
@@ -15176,14 +15179,14 @@ var AccountService = class {
15176
15179
  { sql: "DELETE FROM application_state WHERE app_id = ?", params: [appId] }
15177
15180
  ]);
15178
15181
  if (!deleted.ok) return accountErr(deleted.error);
15179
- return (0, import_sdk_services7.ok)(void 0);
15182
+ return (0, import_sdk_services8.ok)(void 0);
15180
15183
  }
15181
15184
  async upsertSpaceIndexQuietly(space) {
15182
15185
  await ignoreIndexFailure(() => this.upsertSpaceIndex(space));
15183
15186
  }
15184
15187
  async upsertSpaceIndex(space) {
15185
15188
  const dbResult = this.accountDb();
15186
- if (!dbResult.ok) return (0, import_sdk_services7.ok)(void 0);
15189
+ if (!dbResult.ok) return (0, import_sdk_services8.ok)(void 0);
15187
15190
  const schema = await this.ensureAccountIndex(dbResult.data);
15188
15191
  if (!schema.ok) return schema;
15189
15192
  const updatedAt = space.updatedAt ?? (/* @__PURE__ */ new Date()).toISOString();
@@ -15204,7 +15207,7 @@ var AccountService = class {
15204
15207
  }
15205
15208
  ]);
15206
15209
  if (!written.ok) return accountErr(written.error);
15207
- return (0, import_sdk_services7.ok)(void 0);
15210
+ return (0, import_sdk_services8.ok)(void 0);
15208
15211
  }
15209
15212
  async upsertSpacesIndexQuietly(spaces) {
15210
15213
  await ignoreIndexFailure(() => this.upsertSpacesIndex(spaces));
@@ -15218,9 +15221,9 @@ var AccountService = class {
15218
15221
  * atomically: all rows or none.
15219
15222
  */
15220
15223
  async upsertSpacesIndex(spaces) {
15221
- if (spaces.length === 0) return (0, import_sdk_services7.ok)(void 0);
15224
+ if (spaces.length === 0) return (0, import_sdk_services8.ok)(void 0);
15222
15225
  const dbResult = this.accountDb();
15223
- if (!dbResult.ok) return (0, import_sdk_services7.ok)(void 0);
15226
+ if (!dbResult.ok) return (0, import_sdk_services8.ok)(void 0);
15224
15227
  const schema = await this.ensureAccountIndex(dbResult.data);
15225
15228
  if (!schema.ok) return schema;
15226
15229
  const placeholders = spaces.map(() => "(?, ?, ?, ?, ?, ?, ?, ?, ?)").join(", ");
@@ -15245,21 +15248,21 @@ var AccountService = class {
15245
15248
  }
15246
15249
  ]);
15247
15250
  if (!written.ok) return accountErr(written.error);
15248
- return (0, import_sdk_services7.ok)(void 0);
15251
+ return (0, import_sdk_services8.ok)(void 0);
15249
15252
  }
15250
15253
  async deleteSpaceIndexQuietly(spaceId) {
15251
15254
  await ignoreIndexFailure(() => this.deleteSpaceIndex(spaceId));
15252
15255
  }
15253
15256
  async deleteSpaceIndex(spaceId) {
15254
15257
  const dbResult = this.accountDb();
15255
- if (!dbResult.ok) return (0, import_sdk_services7.ok)(void 0);
15258
+ if (!dbResult.ok) return (0, import_sdk_services8.ok)(void 0);
15256
15259
  const schema = await this.ensureAccountIndex(dbResult.data);
15257
15260
  if (!schema.ok) return schema;
15258
15261
  const deleted = await dbResult.data.batch([
15259
15262
  { sql: "DELETE FROM spaces WHERE space_id = ?", params: [spaceId] }
15260
15263
  ]);
15261
15264
  if (!deleted.ok) return accountErr(deleted.error);
15262
- return (0, import_sdk_services7.ok)(void 0);
15265
+ return (0, import_sdk_services8.ok)(void 0);
15263
15266
  }
15264
15267
  /**
15265
15268
  * Register every space the session can reach and return them. With
@@ -15279,7 +15282,7 @@ var AccountService = class {
15279
15282
  spaces.push(result.data);
15280
15283
  continue;
15281
15284
  }
15282
- if (!options2.tolerateStorageFull || !(0, import_sdk_services7.isStorageFullError)(result.error)) {
15285
+ if (!options2.tolerateStorageFull || !(0, import_sdk_services8.isStorageFullError)(result.error)) {
15283
15286
  return result;
15284
15287
  }
15285
15288
  allRegistered = false;
@@ -15287,18 +15290,18 @@ var AccountService = class {
15287
15290
  const record2 = spaceRecordFromInput(space);
15288
15291
  spaces.push(spaceFromRecord(spaceKey(record2.space_id), record2));
15289
15292
  }
15290
- return (0, import_sdk_services7.ok)({ spaces, allRegistered });
15293
+ return (0, import_sdk_services8.ok)({ spaces, allRegistered });
15291
15294
  }
15292
15295
  async resolveSpace(space) {
15293
15296
  const listed = await this.config.getSpaces().list();
15294
15297
  if (!listed.ok) return accountErr(listed.error);
15295
15298
  const found = listed.data.find((candidate) => candidate.id === space || candidate.name === space);
15296
15299
  if (!found) {
15297
- return (0, import_sdk_services7.err)(
15298
- (0, import_sdk_services7.serviceError)("SPACE_NOT_FOUND", `No account space found for ${JSON.stringify(space)}`, SERVICE_NAME2)
15300
+ return (0, import_sdk_services8.err)(
15301
+ (0, import_sdk_services8.serviceError)("SPACE_NOT_FOUND", `No account space found for ${JSON.stringify(space)}`, SERVICE_NAME2)
15299
15302
  );
15300
15303
  }
15301
- return (0, import_sdk_services7.ok)(found);
15304
+ return (0, import_sdk_services8.ok)(found);
15302
15305
  }
15303
15306
  async replaceApplicationsIndexQuietly(applications) {
15304
15307
  await ignoreIndexFailure(async () => {
@@ -15440,7 +15443,7 @@ var AccountService = class {
15440
15443
  ]
15441
15444
  });
15442
15445
  if (!migrated.ok) return accountErr(migrated.error);
15443
- return (0, import_sdk_services7.ok)(void 0);
15446
+ return (0, import_sdk_services8.ok)(void 0);
15444
15447
  }
15445
15448
  };
15446
15449
  function applicationKey(appId) {
@@ -15596,17 +15599,17 @@ function mapDelegation(delegation, space, direction) {
15596
15599
  };
15597
15600
  }
15598
15601
  function accountErr(error) {
15599
- return (0, import_sdk_services7.err)((0, import_sdk_services7.serviceError)(error.code, error.message, SERVICE_NAME2, { cause: error.cause, meta: error.meta }));
15602
+ return (0, import_sdk_services8.err)((0, import_sdk_services8.serviceError)(error.code, error.message, SERVICE_NAME2, { cause: error.cause, meta: error.meta }));
15600
15603
  }
15601
15604
  function isMissingIndexError(error) {
15602
15605
  return /no such table:/i.test(error.message);
15603
15606
  }
15604
15607
  var AMBIGUOUS_WRITE_STATUSES = /* @__PURE__ */ new Set([500, 502, 503, 504, 520, 522, 524]);
15605
15608
  function isAmbiguousBatchFailure(error) {
15606
- if (error.code === import_sdk_services7.ErrorCodes.NETWORK_ERROR || error.code === import_sdk_services7.ErrorCodes.TIMEOUT) {
15609
+ if (error.code === import_sdk_services8.ErrorCodes.NETWORK_ERROR || error.code === import_sdk_services8.ErrorCodes.TIMEOUT) {
15607
15610
  return error.meta?.requestMayHaveDispatched === true;
15608
15611
  }
15609
- if (error.code === import_sdk_services7.ErrorCodes.KV_WRITE_FAILED) {
15612
+ if (error.code === import_sdk_services8.ErrorCodes.KV_WRITE_FAILED) {
15610
15613
  const status = error.meta?.status;
15611
15614
  return typeof status === "number" && AMBIGUOUS_WRITE_STATUSES.has(status);
15612
15615
  }
@@ -15620,7 +15623,7 @@ async function ignoreIndexFailure(task) {
15620
15623
  }
15621
15624
 
15622
15625
  // src/index.ts
15623
- var import_sdk_services9 = require("@tinycloud/sdk-services");
15626
+ var import_sdk_services10 = require("@tinycloud/sdk-services");
15624
15627
 
15625
15628
  // src/space.ts
15626
15629
  async function fetchPeerId(host, spaceId, signal) {
@@ -15725,7 +15728,7 @@ async function postSessionActivation(host, delegationHeader, signal) {
15725
15728
  }
15726
15729
 
15727
15730
  // src/authorization/CapabilityKeyRegistry.ts
15728
- var import_sdk_services8 = require("@tinycloud/sdk-services");
15731
+ var import_sdk_services9 = require("@tinycloud/sdk-services");
15729
15732
  var SERVICE_NAME3 = "capability-key-registry";
15730
15733
  var CapabilityKeyRegistryErrorCodes = {
15731
15734
  /** Key not found in registry */
@@ -15950,8 +15953,8 @@ var CapabilityKeyRegistry = class {
15950
15953
  revokeDelegation(cid2) {
15951
15954
  const stored = this.store.byCid.get(cid2);
15952
15955
  if (!stored || stored.length === 0) {
15953
- return (0, import_sdk_services8.err)(
15954
- (0, import_sdk_services8.serviceError)(
15956
+ return (0, import_sdk_services9.err)(
15957
+ (0, import_sdk_services9.serviceError)(
15955
15958
  CapabilityKeyRegistryErrorCodes.KEY_NOT_FOUND,
15956
15959
  `Delegation not found: ${cid2}`,
15957
15960
  SERVICE_NAME3
@@ -15971,7 +15974,7 @@ var CapabilityKeyRegistry = class {
15971
15974
  }
15972
15975
  }
15973
15976
  }
15974
- return (0, import_sdk_services8.ok)(void 0);
15977
+ return (0, import_sdk_services9.ok)(void 0);
15975
15978
  }
15976
15979
  // ===========================================================================
15977
15980
  // Search