@tinycloud/sdk-services 3.11.0-beta.2 → 3.12.0-beta.3

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.
Files changed (71) hide show
  1. package/dist/{BaseService-Ma2MwJAd.d.ts → BaseService-BRDG69KR.d.ts} +1 -1
  2. package/dist/{BaseService-O0iyuFLk.d.cts → BaseService-CdBkfPGE.d.cts} +1 -1
  3. package/dist/{IHooksService-4QNODVy6.d.cts → IHooksService-C9p3stsB.d.cts} +1 -1
  4. package/dist/{IHooksService-CvTpJbQD.d.ts → IHooksService-D6eyZat1.d.ts} +1 -1
  5. package/dist/{ISQLService-Aly1CBsW.d.ts → ISQLService-B_4KcGA-.d.ts} +1 -1
  6. package/dist/{ISQLService-BOgWzHLT.d.cts → ISQLService-C6nNpcls.d.cts} +1 -1
  7. package/dist/context.cjs +4 -0
  8. package/dist/context.cjs.map +1 -1
  9. package/dist/context.d.cts +1 -1
  10. package/dist/context.d.ts +1 -1
  11. package/dist/context.js +4 -0
  12. package/dist/context.js.map +1 -1
  13. package/dist/encryption/index.cjs +60 -3
  14. package/dist/encryption/index.cjs.map +1 -1
  15. package/dist/encryption/index.d.cts +12 -22
  16. package/dist/encryption/index.d.ts +12 -22
  17. package/dist/encryption/index.js +60 -3
  18. package/dist/encryption/index.js.map +1 -1
  19. package/dist/encryption/named-keys.cjs +2 -0
  20. package/dist/encryption/named-keys.cjs.map +1 -1
  21. package/dist/encryption/named-keys.d.cts +2 -2
  22. package/dist/encryption/named-keys.d.ts +2 -2
  23. package/dist/encryption/named-keys.js +2 -0
  24. package/dist/encryption/named-keys.js.map +1 -1
  25. package/dist/encryption/resource.cjs.map +1 -1
  26. package/dist/encryption/resource.js.map +1 -1
  27. package/dist/feed/index.cjs +4 -0
  28. package/dist/feed/index.cjs.map +1 -1
  29. package/dist/feed/index.d.cts +3 -3
  30. package/dist/feed/index.d.ts +3 -3
  31. package/dist/feed/index.js +4 -0
  32. package/dist/feed/index.js.map +1 -1
  33. package/dist/index.cjs +260 -7
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.d.cts +14 -12
  36. package/dist/index.d.ts +14 -12
  37. package/dist/index.js +253 -7
  38. package/dist/index.js.map +1 -1
  39. package/dist/internal/decrypt-transport-response-error.d.cts +1 -1
  40. package/dist/internal/decrypt-transport-response-error.d.ts +1 -1
  41. package/dist/kv/index.cjs +34 -0
  42. package/dist/kv/index.cjs.map +1 -1
  43. package/dist/kv/index.d.cts +4 -4
  44. package/dist/kv/index.d.ts +4 -4
  45. package/dist/kv/index.js +34 -0
  46. package/dist/kv/index.js.map +1 -1
  47. package/dist/kv/replication/index.cjs +34 -0
  48. package/dist/kv/replication/index.cjs.map +1 -1
  49. package/dist/kv/replication/index.d.cts +3 -3
  50. package/dist/kv/replication/index.d.ts +3 -3
  51. package/dist/kv/replication/index.js +34 -0
  52. package/dist/kv/replication/index.js.map +1 -1
  53. package/dist/{scope-DEgc9f-W.d.cts → scope-DtcbyRKY.d.cts} +1 -1
  54. package/dist/{scope-BZr0QwxX.d.ts → scope-J20PQP3u.d.ts} +1 -1
  55. package/dist/sql/index.cjs +36 -0
  56. package/dist/sql/index.cjs.map +1 -1
  57. package/dist/sql/index.d.cts +4 -4
  58. package/dist/sql/index.d.ts +4 -4
  59. package/dist/sql/index.js +36 -0
  60. package/dist/sql/index.js.map +1 -1
  61. package/dist/telemetry/requestLog.cjs +4 -0
  62. package/dist/telemetry/requestLog.cjs.map +1 -1
  63. package/dist/telemetry/requestLog.d.cts +1 -1
  64. package/dist/telemetry/requestLog.d.ts +1 -1
  65. package/dist/telemetry/requestLog.js +4 -0
  66. package/dist/telemetry/requestLog.js.map +1 -1
  67. package/dist/{types-CSd0RYir.d.ts → types-DjAP8dve.d.cts} +4 -0
  68. package/dist/{types-CSd0RYir.d.cts → types-DjAP8dve.d.ts} +4 -0
  69. package/dist/{types-D4XbIfFJ.d.cts → types-XE4tyBLH.d.ts} +60 -3
  70. package/dist/{types-Bf91gup6.d.ts → types-cWtQmCCw.d.cts} +60 -3
  71. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
- import { B as BaseService } from '../BaseService-O0iyuFLk.cjs';
2
- import { f as Result, c as IService } from '../types-CSd0RYir.cjs';
3
- import { aI as KVGetOptions, aN as KVResponse, aB as KVBatchReadResponse, aM as KVPutOptions, ay as KVBatchPutItem, az as KVBatchPutOptions, aA as KVBatchPutResponse, aK as KVListOptions, aL as KVListResponse, aE as KVChangesOptions, aF as KVChangesResponse, aH as KVDeleteOptions, aJ as KVHeadOptions, aG as KVCreateSignedReadUrlOptions, aQ as KVSignedReadUrlResponse, aP as KVServiceConfig, c as KVReadThrough } from '../scope-DEgc9f-W.cjs';
4
- export { A as AuthorityRefusal, C as CLEAR_PENDING_WARNING, av as DEFAULT_SIGNED_READ_URL_EXPIRY_MS, aw as KVAction, ax as KVActionType, aC as KVChange, aD as KVChangesAuthority, b as KVListPage, d as KVReplicaHandle, e as KVReplicaSpec, f as KVReplicaStorage, a as KVReplicationController, K as KVReplicationDeps, aO as KVResponseHeaders, L as LocalGetResult, g as LocalListResult, h as LocalReadMeta, i as LocalReplicaStatus, j as LocalSyncResult, k as PendingWriteRecord, l as PendingWriteState, P as PendingWriteStore, m as PinnedKey, w as PurgeTarget, z as ReplicaAuthorityState, H as ReplicaCoverage, N as ReplicaDevice, X as ReplicaGatedHandle, _ as ReplicaGrantInfo, a0 as ReplicaInspectedStatus, ah as ReplicaState, ai as ReplicaStatusEntry, aj as ReplicationAuthority, ak as ReplicationControl, al as ReplicationEvent, R as ReplicationIdentity, am as ReplicationOptions, an as ReplicationPurgeReport, ao as ReplicationReason, ap as ReplicationScheduler, aq as ResolvedReplicationOptions, as as canonicalReplicationIdentity, at as replicationIdentityKey, au as requiresSecretsOptIn } from '../scope-DEgc9f-W.cjs';
1
+ import { B as BaseService } from '../BaseService-CdBkfPGE.cjs';
2
+ import { f as Result, c as IService } from '../types-DjAP8dve.cjs';
3
+ import { aI as KVGetOptions, aN as KVResponse, aB as KVBatchReadResponse, aM as KVPutOptions, ay as KVBatchPutItem, az as KVBatchPutOptions, aA as KVBatchPutResponse, aK as KVListOptions, aL as KVListResponse, aE as KVChangesOptions, aF as KVChangesResponse, aH as KVDeleteOptions, aJ as KVHeadOptions, aG as KVCreateSignedReadUrlOptions, aQ as KVSignedReadUrlResponse, aP as KVServiceConfig, c as KVReadThrough } from '../scope-DtcbyRKY.cjs';
4
+ export { A as AuthorityRefusal, C as CLEAR_PENDING_WARNING, av as DEFAULT_SIGNED_READ_URL_EXPIRY_MS, aw as KVAction, ax as KVActionType, aC as KVChange, aD as KVChangesAuthority, b as KVListPage, d as KVReplicaHandle, e as KVReplicaSpec, f as KVReplicaStorage, a as KVReplicationController, K as KVReplicationDeps, aO as KVResponseHeaders, L as LocalGetResult, g as LocalListResult, h as LocalReadMeta, i as LocalReplicaStatus, j as LocalSyncResult, k as PendingWriteRecord, l as PendingWriteState, P as PendingWriteStore, m as PinnedKey, w as PurgeTarget, z as ReplicaAuthorityState, H as ReplicaCoverage, N as ReplicaDevice, X as ReplicaGatedHandle, _ as ReplicaGrantInfo, a0 as ReplicaInspectedStatus, ah as ReplicaState, ai as ReplicaStatusEntry, aj as ReplicationAuthority, ak as ReplicationControl, al as ReplicationEvent, R as ReplicationIdentity, am as ReplicationOptions, an as ReplicationPurgeReport, ao as ReplicationReason, ap as ReplicationScheduler, aq as ResolvedReplicationOptions, as as canonicalReplicationIdentity, at as replicationIdentityKey, au as requiresSecretsOptIn } from '../scope-DtcbyRKY.cjs';
5
5
  export { kvPrefixCovers } from './replication/prefix.cjs';
6
6
  import './replication/contractConstants.cjs';
7
7
  import './replication/grantPolicyConstants.cjs';
@@ -1,7 +1,7 @@
1
- import { B as BaseService } from '../BaseService-Ma2MwJAd.js';
2
- import { f as Result, c as IService } from '../types-CSd0RYir.js';
3
- import { aI as KVGetOptions, aN as KVResponse, aB as KVBatchReadResponse, aM as KVPutOptions, ay as KVBatchPutItem, az as KVBatchPutOptions, aA as KVBatchPutResponse, aK as KVListOptions, aL as KVListResponse, aE as KVChangesOptions, aF as KVChangesResponse, aH as KVDeleteOptions, aJ as KVHeadOptions, aG as KVCreateSignedReadUrlOptions, aQ as KVSignedReadUrlResponse, aP as KVServiceConfig, c as KVReadThrough } from '../scope-BZr0QwxX.js';
4
- export { A as AuthorityRefusal, C as CLEAR_PENDING_WARNING, av as DEFAULT_SIGNED_READ_URL_EXPIRY_MS, aw as KVAction, ax as KVActionType, aC as KVChange, aD as KVChangesAuthority, b as KVListPage, d as KVReplicaHandle, e as KVReplicaSpec, f as KVReplicaStorage, a as KVReplicationController, K as KVReplicationDeps, aO as KVResponseHeaders, L as LocalGetResult, g as LocalListResult, h as LocalReadMeta, i as LocalReplicaStatus, j as LocalSyncResult, k as PendingWriteRecord, l as PendingWriteState, P as PendingWriteStore, m as PinnedKey, w as PurgeTarget, z as ReplicaAuthorityState, H as ReplicaCoverage, N as ReplicaDevice, X as ReplicaGatedHandle, _ as ReplicaGrantInfo, a0 as ReplicaInspectedStatus, ah as ReplicaState, ai as ReplicaStatusEntry, aj as ReplicationAuthority, ak as ReplicationControl, al as ReplicationEvent, R as ReplicationIdentity, am as ReplicationOptions, an as ReplicationPurgeReport, ao as ReplicationReason, ap as ReplicationScheduler, aq as ResolvedReplicationOptions, as as canonicalReplicationIdentity, at as replicationIdentityKey, au as requiresSecretsOptIn } from '../scope-BZr0QwxX.js';
1
+ import { B as BaseService } from '../BaseService-BRDG69KR.js';
2
+ import { f as Result, c as IService } from '../types-DjAP8dve.js';
3
+ import { aI as KVGetOptions, aN as KVResponse, aB as KVBatchReadResponse, aM as KVPutOptions, ay as KVBatchPutItem, az as KVBatchPutOptions, aA as KVBatchPutResponse, aK as KVListOptions, aL as KVListResponse, aE as KVChangesOptions, aF as KVChangesResponse, aH as KVDeleteOptions, aJ as KVHeadOptions, aG as KVCreateSignedReadUrlOptions, aQ as KVSignedReadUrlResponse, aP as KVServiceConfig, c as KVReadThrough } from '../scope-J20PQP3u.js';
4
+ export { A as AuthorityRefusal, C as CLEAR_PENDING_WARNING, av as DEFAULT_SIGNED_READ_URL_EXPIRY_MS, aw as KVAction, ax as KVActionType, aC as KVChange, aD as KVChangesAuthority, b as KVListPage, d as KVReplicaHandle, e as KVReplicaSpec, f as KVReplicaStorage, a as KVReplicationController, K as KVReplicationDeps, aO as KVResponseHeaders, L as LocalGetResult, g as LocalListResult, h as LocalReadMeta, i as LocalReplicaStatus, j as LocalSyncResult, k as PendingWriteRecord, l as PendingWriteState, P as PendingWriteStore, m as PinnedKey, w as PurgeTarget, z as ReplicaAuthorityState, H as ReplicaCoverage, N as ReplicaDevice, X as ReplicaGatedHandle, _ as ReplicaGrantInfo, a0 as ReplicaInspectedStatus, ah as ReplicaState, ai as ReplicaStatusEntry, aj as ReplicationAuthority, ak as ReplicationControl, al as ReplicationEvent, R as ReplicationIdentity, am as ReplicationOptions, an as ReplicationPurgeReport, ao as ReplicationReason, ap as ReplicationScheduler, aq as ResolvedReplicationOptions, as as canonicalReplicationIdentity, at as replicationIdentityKey, au as requiresSecretsOptIn } from '../scope-J20PQP3u.js';
5
5
  export { kvPrefixCovers } from './replication/prefix.js';
6
6
  import './replication/contractConstants.js';
7
7
  import './replication/grantPolicyConstants.js';
package/dist/kv/index.js CHANGED
@@ -10,6 +10,10 @@ var ErrorCodes = {
10
10
  /** HTTP 401: a delegation the cited one rests on was revoked. */
11
11
  AUTH_DELEGATION_ANCESTOR_REVOKED: "AUTH_DELEGATION_ANCESTOR_REVOKED",
12
12
  NETWORK_ERROR: "NETWORK_ERROR",
13
+ NODE_NOT_RESPONDING: "NODE_NOT_RESPONDING",
14
+ NODE_IDENTITY_MISMATCH: "NODE_IDENTITY_MISMATCH",
15
+ PARTIAL_NODE_WRITE: "PARTIAL_NODE_WRITE",
16
+ RESOURCE_NOT_ROUTED: "RESOURCE_NOT_ROUTED",
13
17
  TIMEOUT: "TIMEOUT",
14
18
  ABORTED: "ABORTED",
15
19
  INVALID_INPUT: "INVALID_INPUT",
@@ -161,6 +165,34 @@ function parseNetworkId(networkId) {
161
165
  return { networkId, ownerDid, name };
162
166
  }
163
167
 
168
+ // src/resourceRouting.ts
169
+ var ROUTING_FAILURE_CODES = {
170
+ NODE_NOT_RESPONDING: true,
171
+ PARTIAL_NODE_WRITE: true,
172
+ NODE_IDENTITY_MISMATCH: true,
173
+ RESOURCE_NOT_ROUTED: true,
174
+ DECRYPTION_DEPENDENCY_UNAVAILABLE: true,
175
+ registry_unavailable: true,
176
+ node_not_found: true,
177
+ node_registry_entry_exists: true
178
+ };
179
+ function isRoutingFailureCode(code) {
180
+ return Object.prototype.hasOwnProperty.call(ROUTING_FAILURE_CODES, code);
181
+ }
182
+ function routingFailure(error) {
183
+ if (typeof error === "object" && error !== null && "code" in error && "message" in error && typeof error.code === "string" && typeof error.message === "string" && isRoutingFailureCode(error.code)) {
184
+ const candidate = "meta" in error ? error.meta : void 0;
185
+ let meta = typeof candidate === "object" && candidate !== null && !Array.isArray(candidate) ? candidate : void 0;
186
+ if (error.code === "NODE_NOT_RESPONDING" && "hosts" in error && Array.isArray(error.hosts)) {
187
+ meta = { ...meta, hosts: error.hosts };
188
+ } else if (error.code === "PARTIAL_NODE_WRITE" && "succeeded" in error && Array.isArray(error.succeeded) && "failed" in error && Array.isArray(error.failed)) {
189
+ meta = { ...meta, succeeded: error.succeeded, failed: error.failed };
190
+ }
191
+ return { code: error.code, message: error.message, ...error instanceof Error ? { cause: error } : {}, ...meta ? { meta } : {} };
192
+ }
193
+ return void 0;
194
+ }
195
+
164
196
  // src/errors.ts
165
197
  function parsePermissionHint(value) {
166
198
  if (typeof value !== "object" || value === null || Array.isArray(value)) return void 0;
@@ -434,6 +466,8 @@ function storageRejectionError(service, status, meta, responseText) {
434
466
  return status === 402 ? storageQuotaExceededError(service, STORAGE_FULL_MESSAGE, quotaMeta) : storageLimitReachedError(service, STORAGE_WRITE_TOO_LARGE_MESSAGE, quotaMeta);
435
467
  }
436
468
  function wrapError(service, error, defaultCode = ErrorCodes.NETWORK_ERROR) {
469
+ const routing = routingFailure(error);
470
+ if (routing) return { ...routing, service };
437
471
  if (error instanceof Error) {
438
472
  if (isRequestTimeoutError(error)) {
439
473
  return timeoutError(service, error.timeoutMs, error);