@tinycloud/sdk-services 3.11.0 → 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.
- package/dist/{BaseService-Ma2MwJAd.d.ts → BaseService-BRDG69KR.d.ts} +1 -1
- package/dist/{BaseService-O0iyuFLk.d.cts → BaseService-CdBkfPGE.d.cts} +1 -1
- package/dist/{IHooksService-4QNODVy6.d.cts → IHooksService-C9p3stsB.d.cts} +1 -1
- package/dist/{IHooksService-CvTpJbQD.d.ts → IHooksService-D6eyZat1.d.ts} +1 -1
- package/dist/{ISQLService-Aly1CBsW.d.ts → ISQLService-B_4KcGA-.d.ts} +1 -1
- package/dist/{ISQLService-BOgWzHLT.d.cts → ISQLService-C6nNpcls.d.cts} +1 -1
- package/dist/context.cjs +4 -0
- package/dist/context.cjs.map +1 -1
- package/dist/context.d.cts +1 -1
- package/dist/context.d.ts +1 -1
- package/dist/context.js +4 -0
- package/dist/context.js.map +1 -1
- package/dist/encryption/index.cjs +60 -3
- package/dist/encryption/index.cjs.map +1 -1
- package/dist/encryption/index.d.cts +12 -22
- package/dist/encryption/index.d.ts +12 -22
- package/dist/encryption/index.js +60 -3
- package/dist/encryption/index.js.map +1 -1
- package/dist/encryption/named-keys.cjs +2 -0
- package/dist/encryption/named-keys.cjs.map +1 -1
- package/dist/encryption/named-keys.d.cts +2 -2
- package/dist/encryption/named-keys.d.ts +2 -2
- package/dist/encryption/named-keys.js +2 -0
- package/dist/encryption/named-keys.js.map +1 -1
- package/dist/encryption/resource.cjs.map +1 -1
- package/dist/encryption/resource.js.map +1 -1
- package/dist/feed/index.cjs +4 -0
- package/dist/feed/index.cjs.map +1 -1
- package/dist/feed/index.d.cts +3 -3
- package/dist/feed/index.d.ts +3 -3
- package/dist/feed/index.js +4 -0
- package/dist/feed/index.js.map +1 -1
- package/dist/index.cjs +260 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +14 -12
- package/dist/index.d.ts +14 -12
- package/dist/index.js +253 -7
- package/dist/index.js.map +1 -1
- package/dist/internal/decrypt-transport-response-error.d.cts +1 -1
- package/dist/internal/decrypt-transport-response-error.d.ts +1 -1
- package/dist/kv/index.cjs +34 -0
- package/dist/kv/index.cjs.map +1 -1
- package/dist/kv/index.d.cts +4 -4
- package/dist/kv/index.d.ts +4 -4
- package/dist/kv/index.js +34 -0
- package/dist/kv/index.js.map +1 -1
- package/dist/kv/replication/index.cjs +34 -0
- package/dist/kv/replication/index.cjs.map +1 -1
- package/dist/kv/replication/index.d.cts +3 -3
- package/dist/kv/replication/index.d.ts +3 -3
- package/dist/kv/replication/index.js +34 -0
- package/dist/kv/replication/index.js.map +1 -1
- package/dist/{scope-DEgc9f-W.d.cts → scope-DtcbyRKY.d.cts} +1 -1
- package/dist/{scope-BZr0QwxX.d.ts → scope-J20PQP3u.d.ts} +1 -1
- package/dist/sql/index.cjs +36 -0
- package/dist/sql/index.cjs.map +1 -1
- package/dist/sql/index.d.cts +4 -4
- package/dist/sql/index.d.ts +4 -4
- package/dist/sql/index.js +36 -0
- package/dist/sql/index.js.map +1 -1
- package/dist/telemetry/requestLog.cjs +4 -0
- package/dist/telemetry/requestLog.cjs.map +1 -1
- package/dist/telemetry/requestLog.d.cts +1 -1
- package/dist/telemetry/requestLog.d.ts +1 -1
- package/dist/telemetry/requestLog.js +4 -0
- package/dist/telemetry/requestLog.js.map +1 -1
- package/dist/{types-CSd0RYir.d.ts → types-DjAP8dve.d.cts} +4 -0
- package/dist/{types-CSd0RYir.d.cts → types-DjAP8dve.d.ts} +4 -0
- package/dist/{types-D4XbIfFJ.d.cts → types-XE4tyBLH.d.ts} +60 -3
- package/dist/{types-Bf91gup6.d.ts → types-cWtQmCCw.d.cts} +60 -3
- package/package.json +1 -1
|
@@ -95,6 +95,34 @@ function requiresSecretsOptIn(space, prefix) {
|
|
|
95
95
|
// src/errors.ts
|
|
96
96
|
var import_bootstrap = require("@tinycloud/bootstrap");
|
|
97
97
|
|
|
98
|
+
// src/resourceRouting.ts
|
|
99
|
+
var ROUTING_FAILURE_CODES = {
|
|
100
|
+
NODE_NOT_RESPONDING: true,
|
|
101
|
+
PARTIAL_NODE_WRITE: true,
|
|
102
|
+
NODE_IDENTITY_MISMATCH: true,
|
|
103
|
+
RESOURCE_NOT_ROUTED: true,
|
|
104
|
+
DECRYPTION_DEPENDENCY_UNAVAILABLE: true,
|
|
105
|
+
registry_unavailable: true,
|
|
106
|
+
node_not_found: true,
|
|
107
|
+
node_registry_entry_exists: true
|
|
108
|
+
};
|
|
109
|
+
function isRoutingFailureCode(code) {
|
|
110
|
+
return Object.prototype.hasOwnProperty.call(ROUTING_FAILURE_CODES, code);
|
|
111
|
+
}
|
|
112
|
+
function routingFailure(error) {
|
|
113
|
+
if (typeof error === "object" && error !== null && "code" in error && "message" in error && typeof error.code === "string" && typeof error.message === "string" && isRoutingFailureCode(error.code)) {
|
|
114
|
+
const candidate = "meta" in error ? error.meta : void 0;
|
|
115
|
+
let meta = typeof candidate === "object" && candidate !== null && !Array.isArray(candidate) ? candidate : void 0;
|
|
116
|
+
if (error.code === "NODE_NOT_RESPONDING" && "hosts" in error && Array.isArray(error.hosts)) {
|
|
117
|
+
meta = { ...meta, hosts: error.hosts };
|
|
118
|
+
} else if (error.code === "PARTIAL_NODE_WRITE" && "succeeded" in error && Array.isArray(error.succeeded) && "failed" in error && Array.isArray(error.failed)) {
|
|
119
|
+
meta = { ...meta, succeeded: error.succeeded, failed: error.failed };
|
|
120
|
+
}
|
|
121
|
+
return { code: error.code, message: error.message, ...error instanceof Error ? { cause: error } : {}, ...meta ? { meta } : {} };
|
|
122
|
+
}
|
|
123
|
+
return void 0;
|
|
124
|
+
}
|
|
125
|
+
|
|
98
126
|
// src/types.ts
|
|
99
127
|
var ErrorCodes = {
|
|
100
128
|
// Common errors
|
|
@@ -107,6 +135,10 @@ var ErrorCodes = {
|
|
|
107
135
|
/** HTTP 401: a delegation the cited one rests on was revoked. */
|
|
108
136
|
AUTH_DELEGATION_ANCESTOR_REVOKED: "AUTH_DELEGATION_ANCESTOR_REVOKED",
|
|
109
137
|
NETWORK_ERROR: "NETWORK_ERROR",
|
|
138
|
+
NODE_NOT_RESPONDING: "NODE_NOT_RESPONDING",
|
|
139
|
+
NODE_IDENTITY_MISMATCH: "NODE_IDENTITY_MISMATCH",
|
|
140
|
+
PARTIAL_NODE_WRITE: "PARTIAL_NODE_WRITE",
|
|
141
|
+
RESOURCE_NOT_ROUTED: "RESOURCE_NOT_ROUTED",
|
|
110
142
|
TIMEOUT: "TIMEOUT",
|
|
111
143
|
ABORTED: "ABORTED",
|
|
112
144
|
INVALID_INPUT: "INVALID_INPUT",
|
|
@@ -219,6 +251,8 @@ var capabilityServices = new Set(
|
|
|
219
251
|
import_bootstrap.CAPABILITY_REGISTRY.map(({ service }) => service.slice("tinycloud.".length))
|
|
220
252
|
);
|
|
221
253
|
function wrapError(service, error, defaultCode = ErrorCodes.NETWORK_ERROR) {
|
|
254
|
+
const routing = routingFailure(error);
|
|
255
|
+
if (routing) return { ...routing, service };
|
|
222
256
|
if (error instanceof Error) {
|
|
223
257
|
if (isRequestTimeoutError(error)) {
|
|
224
258
|
return timeoutError(service, error.timeoutMs, error);
|