stitchkit 0.55.0 → 0.56.1
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/browser/socket-io.d.ts +14 -6
- package/dist/browser/socket-io.d.ts.map +1 -1
- package/dist/cli.js +4 -4
- package/dist/contract/errors.d.ts +7 -0
- package/dist/contract/errors.d.ts.map +1 -1
- package/dist/contract/index.js +1 -1
- package/dist/files/boundary.d.ts +8 -5
- package/dist/files/boundary.d.ts.map +1 -1
- package/dist/files.js +1 -1
- package/dist/{index-rgd18hx3.js → index-28cqssm3.js} +7 -0
- package/dist/index-557by2db.js +34 -0
- package/dist/index-5r13htq1.js +283 -0
- package/dist/index-6y759j86.js +1031 -0
- package/dist/{index-npye5kt7.js → index-75njxz7p.js} +69 -7
- package/dist/{index-1k16zv57.js → index-bfcpjw20.js} +125 -31
- package/dist/{index-0gv7k0ra.js → index-escqg10p.js} +73 -666
- package/dist/{index-v4bbq3p4.js → index-j3dem06f.js} +1 -1
- package/dist/{index-qx84bqzk.js → index-jcc611vh.js} +1 -1
- package/dist/{index-pzc32v75.js → index-sm2tjx06.js} +41 -4
- package/dist/{index-js7yexng.js → index-xy8fmh6w.js} +83 -4
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -6
- package/dist/node.js +5 -4
- package/dist/observability/audit.d.ts +4 -0
- package/dist/observability/audit.d.ts.map +1 -1
- package/dist/observability/event.d.ts +5 -0
- package/dist/observability/event.d.ts.map +1 -1
- package/dist/observability/index.js +17 -11
- package/dist/remote.js +1 -1
- package/dist/server/context-contribution.d.ts +8 -0
- package/dist/server/context-contribution.d.ts.map +1 -1
- package/dist/server/create.d.ts.map +1 -1
- package/dist/server/error-hook.d.ts +1 -1
- package/dist/server/error-hook.d.ts.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +10 -6
- package/dist/server/logger.d.ts.map +1 -1
- package/dist/server/middleware/auth.d.ts +29 -2
- package/dist/server/middleware/auth.d.ts.map +1 -1
- package/dist/server/request-body.d.ts.map +1 -1
- package/dist/testing/surface-conformance.d.ts +143 -10
- package/dist/testing/surface-conformance.d.ts.map +1 -1
- package/dist/testing/surface-manifest.d.ts +132 -33
- package/dist/testing/surface-manifest.d.ts.map +1 -1
- package/dist/testing.d.ts +2 -2
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +470 -122
- package/dist/tools/async-operation.d.ts +210 -18
- package/dist/tools/async-operation.d.ts.map +1 -1
- package/dist/tools/define-download-tool.d.ts.map +1 -1
- package/dist/tools/define-upload-tool.d.ts.map +1 -1
- package/dist/tools/internal/surface-projector.d.ts +101 -0
- package/dist/tools/internal/surface-projector.d.ts.map +1 -0
- package/dist/tools/managed-file-error.d.ts +6 -0
- package/dist/tools/managed-file-error.d.ts.map +1 -0
- package/dist/tools/mcp-prepare.d.ts +3 -21
- package/dist/tools/mcp-prepare.d.ts.map +1 -1
- package/dist/tools/mcp-round-policy.d.ts +9 -0
- package/dist/tools/mcp-round-policy.d.ts.map +1 -0
- package/dist/tools/mcp-round.d.ts +0 -4
- package/dist/tools/mcp-round.d.ts.map +1 -1
- package/dist/tools/mount-download.d.ts.map +1 -1
- package/dist/tools/mount-upload.d.ts.map +1 -1
- package/dist/tools/mount.d.ts +5 -9
- package/dist/tools/mount.d.ts.map +1 -1
- package/dist/tools/runtime-tool.d.ts.map +1 -1
- package/dist/tools/surface.d.ts +7 -0
- package/dist/tools/surface.d.ts.map +1 -1
- package/dist/tools/view-file.d.ts.map +1 -1
- package/dist/tools.d.ts +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +348 -383
- package/llms-full.txt +425 -66
- package/package.json +1 -1
- package/dist/index-h60df7rj.js +0 -110
- package/dist/index-k4dftwf7.js +0 -66
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isUnsafeKey,
|
|
3
3
|
mergeMeta
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-5r13htq1.js";
|
|
5
5
|
import {
|
|
6
6
|
callRuntimeHandler,
|
|
7
7
|
isRecord,
|
|
@@ -267,7 +267,41 @@ var RUNTIME_CONTEXT_RESERVED_KEYS = new Set([
|
|
|
267
267
|
function contributionError(scope, reason) {
|
|
268
268
|
return new TypeError(`[stitchkit] auth: invalid context contribution for scope ${JSON.stringify(scope)}: ${reason}`);
|
|
269
269
|
}
|
|
270
|
-
function
|
|
270
|
+
function descriptorsEqual(left, right) {
|
|
271
|
+
if (!left || !right)
|
|
272
|
+
return left === right;
|
|
273
|
+
if (left.enumerable !== right.enumerable || left.configurable !== right.configurable || left.writable !== right.writable) {
|
|
274
|
+
return false;
|
|
275
|
+
}
|
|
276
|
+
if ("value" in left || "value" in right) {
|
|
277
|
+
return "value" in left && "value" in right && Object.is(left.value, right.value);
|
|
278
|
+
}
|
|
279
|
+
return left.get === right.get && left.set === right.set;
|
|
280
|
+
}
|
|
281
|
+
function contextContributionDelta(original, shadow, scope) {
|
|
282
|
+
if (Object.getPrototypeOf(shadow) !== Object.getPrototypeOf(original)) {
|
|
283
|
+
throw contributionError(scope, "context prototype changes are not supported");
|
|
284
|
+
}
|
|
285
|
+
const originalKeys = Reflect.ownKeys(original);
|
|
286
|
+
const shadowKeys = Reflect.ownKeys(shadow);
|
|
287
|
+
const shadowKeySet = new Set(shadowKeys);
|
|
288
|
+
for (const key of originalKeys) {
|
|
289
|
+
if (!shadowKeySet.has(key)) {
|
|
290
|
+
const printable = typeof key === "string" ? JSON.stringify(key) : "a symbol key";
|
|
291
|
+
throw contributionError(scope, `context key ${printable} may not be deleted`);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
const contribution = Object.create(null);
|
|
295
|
+
for (const key of shadowKeys) {
|
|
296
|
+
const originalDescriptor = Object.getOwnPropertyDescriptor(original, key);
|
|
297
|
+
const shadowDescriptor = Object.getOwnPropertyDescriptor(shadow, key);
|
|
298
|
+
if (!shadowDescriptor || descriptorsEqual(originalDescriptor, shadowDescriptor))
|
|
299
|
+
continue;
|
|
300
|
+
Object.defineProperty(contribution, key, shadowDescriptor);
|
|
301
|
+
}
|
|
302
|
+
return contribution;
|
|
303
|
+
}
|
|
304
|
+
function prepareContextContribution(value, scope) {
|
|
271
305
|
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
272
306
|
throw contributionError(scope, "expected a plain record");
|
|
273
307
|
}
|
|
@@ -301,7 +335,10 @@ function mergeContextContribution(ctx, value, scope) {
|
|
|
301
335
|
}
|
|
302
336
|
prepared[key] = descriptor.value;
|
|
303
337
|
}
|
|
304
|
-
|
|
338
|
+
return prepared;
|
|
339
|
+
}
|
|
340
|
+
function mergeContextContribution(ctx, value, scope) {
|
|
341
|
+
Object.assign(ctx, prepareContextContribution(value, scope));
|
|
305
342
|
}
|
|
306
343
|
|
|
307
344
|
// src/server/process-signal-common.ts
|
|
@@ -333,4 +370,4 @@ function guardSignalCallback(run, phase, onError) {
|
|
|
333
370
|
}
|
|
334
371
|
}
|
|
335
372
|
|
|
336
|
-
export { RUNTIME_CONTEXT_RESERVED_KEYS, mergeContextContribution, DEFAULT_CORS_ALLOW_HEADERS, DEFAULT_CORS_EXPOSE_HEADERS, assertCorsConfig, corsHeaders, corsPreflightResponse, defineMultipartStream, createMultipartStream, contractOnlyService, implement, createImplement, createScopedImplement, createScopedImplementRegistry, implementRegistry, createImplementRegistry, DEFAULT_PROCESS_SIGNALS, defaultSignalSource, reportSignalError, guardSignalCallback };
|
|
373
|
+
export { RUNTIME_CONTEXT_RESERVED_KEYS, contextContributionDelta, prepareContextContribution, mergeContextContribution, DEFAULT_CORS_ALLOW_HEADERS, DEFAULT_CORS_EXPOSE_HEADERS, assertCorsConfig, corsHeaders, corsPreflightResponse, defineMultipartStream, createMultipartStream, contractOnlyService, implement, createImplement, createScopedImplement, createScopedImplementRegistry, implementRegistry, createImplementRegistry, DEFAULT_PROCESS_SIGNALS, defaultSignalSource, reportSignalError, guardSignalCallback };
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
contextContributionDelta,
|
|
3
|
+
mergeContextContribution,
|
|
4
|
+
prepareContextContribution
|
|
5
|
+
} from "./index-sm2tjx06.js";
|
|
4
6
|
import {
|
|
5
7
|
base64UrlToBytes,
|
|
6
8
|
bytesToBase64Url,
|
|
@@ -8,7 +10,7 @@ import {
|
|
|
8
10
|
isUnsafeKey,
|
|
9
11
|
safeJsonParse,
|
|
10
12
|
unauthorized
|
|
11
|
-
} from "./index-
|
|
13
|
+
} from "./index-5r13htq1.js";
|
|
12
14
|
import {
|
|
13
15
|
isRecord
|
|
14
16
|
} from "./index-7eq9va6e.js";
|
|
@@ -160,6 +162,17 @@ function isThenable(value) {
|
|
|
160
162
|
return false;
|
|
161
163
|
}
|
|
162
164
|
}
|
|
165
|
+
var scopedAuthHookBrand = Symbol("stitchkit.scoped-auth-hook");
|
|
166
|
+
var authOwnershipPlans = new WeakMap;
|
|
167
|
+
function createShadowContext(ctx) {
|
|
168
|
+
const shadow = {
|
|
169
|
+
params: ctx.params,
|
|
170
|
+
input: ctx.input,
|
|
171
|
+
source: ctx.source
|
|
172
|
+
};
|
|
173
|
+
Object.defineProperties(shadow, Object.getOwnPropertyDescriptors(ctx));
|
|
174
|
+
return shadow;
|
|
175
|
+
}
|
|
163
176
|
function createAuthHook(config) {
|
|
164
177
|
const onAnonymous = config.onAnonymous ?? (() => unauthorized());
|
|
165
178
|
const onForbidden = config.onForbidden ?? (() => forbidden());
|
|
@@ -198,8 +211,74 @@ function createAuthHook(config) {
|
|
|
198
211
|
return;
|
|
199
212
|
mergeContextContribution(ctx, result, scope);
|
|
200
213
|
}
|
|
214
|
+
auth[scopedAuthHookBrand] = () => {
|
|
215
|
+
return;
|
|
216
|
+
};
|
|
217
|
+
authOwnershipPlans.set(auth, {
|
|
218
|
+
defaultScope: config.defaultScope,
|
|
219
|
+
hook: auth,
|
|
220
|
+
scopes: new Set(Object.keys(config.rules))
|
|
221
|
+
});
|
|
201
222
|
return auth;
|
|
202
223
|
}
|
|
224
|
+
function composeAuthHooks(config) {
|
|
225
|
+
const plans = [];
|
|
226
|
+
for (const hook of config.hooks) {
|
|
227
|
+
const plan = authOwnershipPlans.get(hook);
|
|
228
|
+
if (!plan) {
|
|
229
|
+
throw new TypeError("[stitchkit] auth: composeAuthHooks accepts only hooks created by createAuthHook or composeAuthHooks");
|
|
230
|
+
}
|
|
231
|
+
if (plan.defaultScope !== undefined && plan.defaultScope !== config.defaultScope) {
|
|
232
|
+
throw new TypeError(`[stitchkit] auth: child default scope ${JSON.stringify(plan.defaultScope)} must match the composite default scope`);
|
|
233
|
+
}
|
|
234
|
+
plans.push(plan);
|
|
235
|
+
}
|
|
236
|
+
const defaultScope = config.defaultScope;
|
|
237
|
+
if (defaultScope !== undefined && !plans.some((plan) => plan.scopes.has(defaultScope))) {
|
|
238
|
+
throw new TypeError(`[stitchkit] auth: composite default scope ${JSON.stringify(defaultScope)} has no owner`);
|
|
239
|
+
}
|
|
240
|
+
const ownedScopes = new Set;
|
|
241
|
+
for (const plan of plans) {
|
|
242
|
+
for (const scope of plan.scopes)
|
|
243
|
+
ownedScopes.add(scope);
|
|
244
|
+
}
|
|
245
|
+
async function composed(ctx, endpoint) {
|
|
246
|
+
const scope = endpoint.scope ?? config.defaultScope;
|
|
247
|
+
if (!scope)
|
|
248
|
+
return;
|
|
249
|
+
const owners = plans.filter((plan) => plan.scopes.has(scope));
|
|
250
|
+
if (owners.length === 0) {
|
|
251
|
+
throw new Error(`[stitchkit] auth: no rule for scope "${scope}"`);
|
|
252
|
+
}
|
|
253
|
+
const scopedEndpoint = { ...endpoint, scope };
|
|
254
|
+
const contribution = Object.create(null);
|
|
255
|
+
const contributionOwners = new Set;
|
|
256
|
+
for (const owner of owners) {
|
|
257
|
+
ctx.signal?.throwIfAborted();
|
|
258
|
+
const shadow = createShadowContext(ctx);
|
|
259
|
+
await owner.hook(shadow, scopedEndpoint);
|
|
260
|
+
const ownerContribution = prepareContextContribution(contextContributionDelta(ctx, shadow, scope), scope);
|
|
261
|
+
for (const key of Object.keys(ownerContribution)) {
|
|
262
|
+
if (contributionOwners.has(key)) {
|
|
263
|
+
throw new TypeError(`[stitchkit] auth: multiple owners contributed context key ${JSON.stringify(key)} for scope ${JSON.stringify(scope)}`);
|
|
264
|
+
}
|
|
265
|
+
contributionOwners.add(key);
|
|
266
|
+
}
|
|
267
|
+
Object.assign(contribution, ownerContribution);
|
|
268
|
+
}
|
|
269
|
+
ctx.signal?.throwIfAborted();
|
|
270
|
+
mergeContextContribution(ctx, contribution, scope);
|
|
271
|
+
}
|
|
272
|
+
composed[scopedAuthHookBrand] = () => {
|
|
273
|
+
return;
|
|
274
|
+
};
|
|
275
|
+
authOwnershipPlans.set(composed, {
|
|
276
|
+
defaultScope: config.defaultScope,
|
|
277
|
+
hook: composed,
|
|
278
|
+
scopes: ownedScopes
|
|
279
|
+
});
|
|
280
|
+
return composed;
|
|
281
|
+
}
|
|
203
282
|
function createBearerResolver(config) {
|
|
204
283
|
return async (req) => {
|
|
205
284
|
const token = extractToken(req);
|
|
@@ -221,4 +300,4 @@ async function verifyPkce(verifier, challenge) {
|
|
|
221
300
|
return derived === challenge;
|
|
222
301
|
}
|
|
223
302
|
|
|
224
|
-
export { parseCookies, serializeCookie, defineCookie, verifyJwt, signJwt, extractToken, createAuthHook, createBearerResolver, deriveCodeChallenge, verifyPkce };
|
|
303
|
+
export { parseCookies, serializeCookie, defineCookie, verifyJwt, signJwt, extractToken, createAuthHook, composeAuthHooks, createBearerResolver, deriveCodeChallenge, verifyPkce };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { type ClientConfig, type ClientContract, type ClientFetch, type ClientRegistryValue, type ContractClientConfig, contractEndpointMatchers, createClient, createClients, createScopedClients, createScopedUrlBuilders, createUrlBuilder, createUrlBuilders, type PathPrefixArgs, type RegistryScope, type ScopeClientConfigs, type ScopedClientRegistry, type ScopedUrlBuilderRegistry, type UrlBuilderConfig, } from './browser/client';
|
|
2
2
|
export { ApiError, type ApiEvent, type ApiEventListener, type ConfiguredHttpClient, createHttpClient, type HeaderProvider, type HttpClient, type HttpClientConfig, type RequestOptions, type UnauthorizedMatcher, } from './browser/http';
|
|
3
|
-
export type { RealtimeClient, RealtimeClientOptions, SocketEventMap, SocketIOClient, SocketIOClientConfig, } from './browser/socket-io';
|
|
4
|
-
export { createRealtimeClient, createSocketIOClient } from './browser/socket-io';
|
|
3
|
+
export type { BindRealtimeClientOptions, BoundRealtimeClient, RealtimeClient, RealtimeClientOptions, RealtimeClientTransport, SocketEventMap, SocketIOClient, SocketIOClientConfig, } from './browser/socket-io';
|
|
4
|
+
export { bindRealtimeClient, createRealtimeClient, createSocketIOClient, } from './browser/socket-io';
|
|
5
5
|
export { type ParseSSEOptions, parseSSE } from './browser/stream';
|
|
6
6
|
export * from './contract';
|
|
7
7
|
export type { StitchLogger } from './logger';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,QAAQ,EACR,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,QAAQ,EACR,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,yBAAyB,EACzB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClE,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
parseTrailingWildcard,
|
|
20
20
|
rateLimited,
|
|
21
21
|
unauthorized
|
|
22
|
-
} from "./index-
|
|
22
|
+
} from "./index-28cqssm3.js";
|
|
23
23
|
import {
|
|
24
24
|
isRecord,
|
|
25
25
|
mapObject,
|
|
@@ -1120,8 +1120,18 @@ function toIoAuth(auth) {
|
|
|
1120
1120
|
Promise.resolve().then(auth).then(cb, () => cb({}));
|
|
1121
1121
|
};
|
|
1122
1122
|
}
|
|
1123
|
-
function
|
|
1124
|
-
const
|
|
1123
|
+
function assertRealtimeClientTransport(transport) {
|
|
1124
|
+
for (const capability of ["on", "emit", "emitWithAck", "onConnectionChange"]) {
|
|
1125
|
+
if (typeof Reflect.get(transport, capability) !== "function") {
|
|
1126
|
+
throw new TypeError(`Realtime client transport does not implement ${capability}()`);
|
|
1127
|
+
}
|
|
1128
|
+
}
|
|
1129
|
+
if (typeof transport.connected !== "boolean") {
|
|
1130
|
+
throw new TypeError("Realtime client transport does not expose boolean connected");
|
|
1131
|
+
}
|
|
1132
|
+
}
|
|
1133
|
+
function bindRealtimeClient(contract, transport, { onRejected, logger } = {}) {
|
|
1134
|
+
assertRealtimeClientTransport(transport);
|
|
1125
1135
|
const events = createValidatedRealtimeSocket({
|
|
1126
1136
|
target: transport,
|
|
1127
1137
|
inbound: contract.serverToClient,
|
|
@@ -1165,13 +1175,23 @@ function createRealtimeClient(contract, { onRejected, logger, ...config }) {
|
|
|
1165
1175
|
}
|
|
1166
1176
|
return {
|
|
1167
1177
|
...events,
|
|
1168
|
-
connect: transport.connect,
|
|
1169
|
-
disconnect: transport.disconnect,
|
|
1170
1178
|
get connected() {
|
|
1171
1179
|
return transport.connected;
|
|
1172
1180
|
},
|
|
1173
1181
|
request,
|
|
1174
|
-
onConnectionChange: transport.onConnectionChange
|
|
1182
|
+
onConnectionChange: (listener) => transport.onConnectionChange(listener)
|
|
1183
|
+
};
|
|
1184
|
+
}
|
|
1185
|
+
function createRealtimeClient(contract, { onRejected, logger, ...config }) {
|
|
1186
|
+
const transport = createSocketIOClient(config);
|
|
1187
|
+
const bound = bindRealtimeClient(contract, transport, { onRejected, logger });
|
|
1188
|
+
return {
|
|
1189
|
+
...bound,
|
|
1190
|
+
get connected() {
|
|
1191
|
+
return bound.connected;
|
|
1192
|
+
},
|
|
1193
|
+
connect: transport.connect,
|
|
1194
|
+
disconnect: transport.disconnect
|
|
1175
1195
|
};
|
|
1176
1196
|
}
|
|
1177
1197
|
function createSocketIOClient(config) {
|
|
@@ -1382,6 +1402,7 @@ export {
|
|
|
1382
1402
|
STITCH_ERROR_STATUS,
|
|
1383
1403
|
appError,
|
|
1384
1404
|
badRequest,
|
|
1405
|
+
bindRealtimeClient,
|
|
1385
1406
|
childSpan,
|
|
1386
1407
|
conflict,
|
|
1387
1408
|
contractEndpointMatchers,
|
package/dist/node.js
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
createHandler,
|
|
9
9
|
createServerLifecycle,
|
|
10
10
|
createSocketIOServer
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-75njxz7p.js";
|
|
12
12
|
import {
|
|
13
13
|
createImplement,
|
|
14
14
|
createImplementRegistry,
|
|
@@ -17,8 +17,9 @@ import {
|
|
|
17
17
|
createScopedImplementRegistry,
|
|
18
18
|
implement,
|
|
19
19
|
implementRegistry
|
|
20
|
-
} from "./index-
|
|
21
|
-
import"./index-
|
|
20
|
+
} from "./index-sm2tjx06.js";
|
|
21
|
+
import"./index-557by2db.js";
|
|
22
|
+
import"./index-j3dem06f.js";
|
|
22
23
|
import {
|
|
23
24
|
AppError,
|
|
24
25
|
appError,
|
|
@@ -28,7 +29,7 @@ import {
|
|
|
28
29
|
notFound,
|
|
29
30
|
rateLimited,
|
|
30
31
|
unauthorized
|
|
31
|
-
} from "./index-
|
|
32
|
+
} from "./index-5r13htq1.js";
|
|
32
33
|
import"./index-6k1937bx.js";
|
|
33
34
|
import"./index-7eq9va6e.js";
|
|
34
35
|
import"./index-1bx83sw4.js";
|
|
@@ -34,6 +34,8 @@ export interface SinkDrop {
|
|
|
34
34
|
export interface RequestObservabilityConfig extends RequestEventSinkConfig {
|
|
35
35
|
/** Clone and record JSON request bodies. Default false. */
|
|
36
36
|
includePayload?: boolean;
|
|
37
|
+
/** Emit client-closed HTTP requests as `outcome: 'cancelled'`. Default false. */
|
|
38
|
+
includeCancelled?: boolean;
|
|
37
39
|
}
|
|
38
40
|
export interface ObservabilityConfig {
|
|
39
41
|
request?: RequestObservabilityConfig;
|
|
@@ -45,6 +47,8 @@ export interface HttpRequestCompletion {
|
|
|
45
47
|
statusCode: number;
|
|
46
48
|
durationMs: number;
|
|
47
49
|
payload?: Promise<unknown>;
|
|
50
|
+
/** Framework-owned neutral cancellation; currently paired with HTTP 499. */
|
|
51
|
+
outcome?: 'cancelled';
|
|
48
52
|
}
|
|
49
53
|
/** Server-facing request projection returned by `createObservability`. */
|
|
50
54
|
export interface HttpRequestObserver {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/observability/audit.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAe,KAAK,eAAe,EAAmB,MAAM,YAAY,CAAC;AAChF,OAAO,EAEL,KAAK,wBAAwB,EAI7B,KAAK,mBAAmB,EAEzB,MAAM,UAAU,CAAC;AAGlB,kEAAkE;AAClE,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,iFAAiF;IACjF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC;IAC1C,yEAAyE;IACzE,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,8DAA8D;IAC9D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEnD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,2DAA2D;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/observability/audit.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAe,KAAK,eAAe,EAAmB,MAAM,YAAY,CAAC;AAChF,OAAO,EAEL,KAAK,wBAAwB,EAI7B,KAAK,mBAAmB,EAEzB,MAAM,UAAU,CAAC;AAGlB,kEAAkE;AAClE,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,iFAAiF;IACjF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC;IAC1C,yEAAyE;IACzE,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,8DAA8D;IAC9D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEnD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,2DAA2D;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC;AAED,gEAAgE;AAChE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,4EAA4E;IAC5E,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACnD;AAED,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,iDAAiD;IACjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,2EAA2E;IAC3E,SAAS,IAAI,mBAAmB,CAAC;IACjC,4EAA4E;IAC5E,KAAK,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;CAC5C;AAkOD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,CA8J9E"}
|
|
@@ -48,6 +48,11 @@ export interface RequestEvent {
|
|
|
48
48
|
parentSpanId?: string;
|
|
49
49
|
/** Whether the call succeeded. */
|
|
50
50
|
ok: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Explicit non-failure outcome. Present only for event classes a sink opted
|
|
53
|
+
* into; ordinary success/failure rows retain their released shape.
|
|
54
|
+
*/
|
|
55
|
+
outcome?: 'cancelled';
|
|
51
56
|
/** HTTP status — the real status for HTTP, `200` / `400` for a tool call. */
|
|
52
57
|
statusCode: number;
|
|
53
58
|
/** Wall-clock duration. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/observability/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC;IACxC,6EAA6E;IAC7E,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,uEAAuE;IACvE,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,mDAAmD;IACnD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,SAAS,EAAE,IAAI,CAAC;CACjB"}
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/observability/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC;IACxC,6EAA6E;IAC7E,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,uEAAuE;IACvE,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,mDAAmD;IACnD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,SAAS,EAAE,IAAI,CAAC;CACjB"}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
redact,
|
|
4
4
|
sanitizePayload,
|
|
5
5
|
truncatePreview
|
|
6
|
-
} from "../index-
|
|
6
|
+
} from "../index-jcc611vh.js";
|
|
7
7
|
import {
|
|
8
8
|
getRequestContext,
|
|
9
9
|
getTraceId,
|
|
@@ -15,8 +15,8 @@ import {
|
|
|
15
15
|
setRequestError,
|
|
16
16
|
setRequestUser,
|
|
17
17
|
wrapInRequestContext
|
|
18
|
-
} from "../index-
|
|
19
|
-
import"../index-
|
|
18
|
+
} from "../index-j3dem06f.js";
|
|
19
|
+
import"../index-5r13htq1.js";
|
|
20
20
|
import"../index-6k1937bx.js";
|
|
21
21
|
import {
|
|
22
22
|
childSpan,
|
|
@@ -250,13 +250,16 @@ function createObservability(config) {
|
|
|
250
250
|
let closePromise;
|
|
251
251
|
const request = config.request ? {
|
|
252
252
|
includePayload: config.request.includePayload ?? false,
|
|
253
|
-
complete: ({ context, statusCode, durationMs, payload }) => {
|
|
253
|
+
complete: ({ context, statusCode, durationMs, payload, outcome }) => {
|
|
254
254
|
const requestConfig = config.request;
|
|
255
255
|
if (!requestConfig)
|
|
256
256
|
return;
|
|
257
|
+
const cancelled = outcome === "cancelled";
|
|
258
|
+
if (cancelled && !requestConfig.includeCancelled)
|
|
259
|
+
return;
|
|
257
260
|
requestManager?.submit(async () => {
|
|
258
261
|
let body;
|
|
259
|
-
if (payload) {
|
|
262
|
+
if (!cancelled && payload) {
|
|
260
263
|
try {
|
|
261
264
|
body = await payload;
|
|
262
265
|
} catch {
|
|
@@ -277,15 +280,18 @@ function createObservability(config) {
|
|
|
277
280
|
traceId: context.trace.traceId,
|
|
278
281
|
spanId: context.trace.spanId,
|
|
279
282
|
parentSpanId: context.trace.parentSpanId,
|
|
280
|
-
ok: statusCode < 400,
|
|
283
|
+
ok: !cancelled && statusCode < 400,
|
|
284
|
+
...cancelled && { outcome: "cancelled" },
|
|
281
285
|
statusCode,
|
|
282
286
|
durationMs,
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
+
...!cancelled && {
|
|
288
|
+
errorCode: context.error?.code,
|
|
289
|
+
errorMessage: context.error?.message,
|
|
290
|
+
...context.error?.details !== undefined && {
|
|
291
|
+
errorDetail: sanitizePayload(context.error.details, requestConfig.sanitize)
|
|
292
|
+
}
|
|
287
293
|
},
|
|
288
|
-
payload: sanitizePayload(body, requestConfig.sanitize),
|
|
294
|
+
payload: cancelled ? null : sanitizePayload(body, requestConfig.sanitize),
|
|
289
295
|
resultSize: null,
|
|
290
296
|
responseBytes: 0,
|
|
291
297
|
userId: context.userId,
|
package/dist/remote.js
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import type { RuntimeContext } from '../contract';
|
|
2
2
|
/** Keys whose value is owned by a transport/runtime boundary, never by application enrichment. */
|
|
3
3
|
export declare const RUNTIME_CONTEXT_RESERVED_KEYS: Set<string>;
|
|
4
|
+
/**
|
|
5
|
+
* Return the application-owned fields changed on an isolated context. The
|
|
6
|
+
* descriptors are preserved so the regular contribution validator can reject
|
|
7
|
+
* accessors and symbols without invoking consumer code.
|
|
8
|
+
*/
|
|
9
|
+
export declare function contextContributionDelta(original: RuntimeContext, shadow: RuntimeContext, scope: string): Record<string, unknown>;
|
|
10
|
+
/** Validate and copy a contribution without mutating a runtime context. */
|
|
11
|
+
export declare function prepareContextContribution(value: unknown, scope: string): Record<string, unknown>;
|
|
4
12
|
/**
|
|
5
13
|
* Validate the complete contribution before mutating the runtime context.
|
|
6
14
|
* Accessors, exotic prototypes and transport-owned keys fail closed so a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-contribution.d.ts","sourceRoot":"","sources":["../../src/server/context-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,kGAAkG;AAClG,eAAO,MAAM,6BAA6B,aAexC,CAAC;
|
|
1
|
+
{"version":3,"file":"context-contribution.d.ts","sourceRoot":"","sources":["../../src/server/context-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,kGAAkG;AAClG,eAAO,MAAM,6BAA6B,aAexC,CAAC;AA0BH;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuBzB;AAED,2EAA2E;AAC3E,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuCzB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,IAAI,CAEN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/server/create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/server/create.ts"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAA2B,MAAM,SAAS,CAAC;AA2BpF,wBAAgB,aAAa,CAAC,OAAO,GAAG,OAAO,EAC7C,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAC7B,YAAY,CAAC,OAAO,CAAC,CA8gBvB"}
|
|
@@ -55,7 +55,7 @@ export interface ErrorHookConfig<TWireCode extends string = string> {
|
|
|
55
55
|
* `satisfies Record<StitchErrorCode, …>` makes a new framework code a compile
|
|
56
56
|
* error here. Codes you threw yourself (not stitchkit's) pass through as-is.
|
|
57
57
|
*/
|
|
58
|
-
codeMap?: Record<StitchErrorCode, TWireCode
|
|
58
|
+
codeMap?: Partial<Record<StitchErrorCode, TWireCode>>;
|
|
59
59
|
/** Build the response body from the resolved error. */
|
|
60
60
|
/**
|
|
61
61
|
* Build the response body from the resolved error. `ctx` is the request's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-hook.d.ts","sourceRoot":"","sources":["../../src/server/error-hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzD,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,oCAAoC;AACpC,MAAM,WAAW,eAAe,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM;IAChE;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"error-hook.d.ts","sourceRoot":"","sources":["../../src/server/error-hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzD,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,wFAAwF;IACxF,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,oCAAoC;AACpC,MAAM,WAAW,eAAe,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM;IAChE;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;IACtD,uDAAuD;IACvD;;;;;OAKG;IACH,MAAM,EAAE,CACN,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,cAAc,EACnB,QAAQ,CAAC,EAAE,SAAS,KACjB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC;;;;OAIG;IACH,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,cAAc,EACnB,QAAQ,CAAC,EAAE,SAAS,KACjB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM,EAC/D,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,GACjC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAgCxC"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export { type ByteRange, parseByteRange, type ServeFileOptions, serveFile, stati
|
|
|
10
10
|
export { createImplement, createImplementRegistry, createMultipartStream, createScopedImplement, createScopedImplementRegistry, defineMultipartStream, type ExactRegistryHandlers, type ExactScopedRegistryHandlers, type ImplementationRegistry, implement, implementRegistry, type KeyedServices, type MultipartStreamConfig, type RegistryHandlers, type ScopedImplementationRegistry, type ScopedRegistryHandlers, type StreamScope, } from './implement';
|
|
11
11
|
export { composeLifecycleHooks } from './lifecycle';
|
|
12
12
|
export type { LogFormat } from './logger';
|
|
13
|
-
export { type AuthHook, type AuthHookConfig, type AuthRule, type AuthRuleContribution, type AuthRules, type AuthScopes, type BearerResolverConfig, createAuthHook, createBearerResolver, extractToken, type JwtPayload, type RuleScopes, type ScopedAuthHook, type ScopedAuthRule, type SignJwtOptions, signJwt, type VerifyJwtOptions, verifyJwt, } from './middleware/auth';
|
|
13
|
+
export { type AuthHook, type AuthHookConfig, type AuthRule, type AuthRuleContribution, type AuthRules, type AuthScopes, type BearerResolverConfig, type ComposeAuthHooksConfig, type ComposedAuthScopes, composeAuthHooks, createAuthHook, createBearerResolver, extractToken, type JwtPayload, type RuleScopes, type ScopedAuthHook, type ScopedAuthRule, type SignJwtOptions, signJwt, type VerifyJwtOptions, verifyJwt, } from './middleware/auth';
|
|
14
14
|
export { type CookieDef, type CookieOptions, defineCookie, parseCookies, serializeCookie, } from './middleware/cookies';
|
|
15
15
|
export { type CorsConfig, corsHeaders, corsPreflightResponse, DEFAULT_CORS_ALLOW_HEADERS, DEFAULT_CORS_EXPOSE_HEADERS, } from './middleware/cors';
|
|
16
16
|
export { deriveCodeChallenge, type PkceMethod, verifyPkce } from './middleware/pkce';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.js
CHANGED
|
@@ -12,8 +12,9 @@ import {
|
|
|
12
12
|
parseMultipart,
|
|
13
13
|
socketIoLane,
|
|
14
14
|
webSocketLane
|
|
15
|
-
} from "../index-
|
|
15
|
+
} from "../index-75njxz7p.js";
|
|
16
16
|
import {
|
|
17
|
+
composeAuthHooks,
|
|
17
18
|
createAuthHook,
|
|
18
19
|
createBearerResolver,
|
|
19
20
|
defineCookie,
|
|
@@ -24,7 +25,7 @@ import {
|
|
|
24
25
|
signJwt,
|
|
25
26
|
verifyJwt,
|
|
26
27
|
verifyPkce
|
|
27
|
-
} from "../index-
|
|
28
|
+
} from "../index-xy8fmh6w.js";
|
|
28
29
|
import {
|
|
29
30
|
DEFAULT_CORS_ALLOW_HEADERS,
|
|
30
31
|
DEFAULT_CORS_EXPOSE_HEADERS,
|
|
@@ -38,11 +39,12 @@ import {
|
|
|
38
39
|
defineMultipartStream,
|
|
39
40
|
implement,
|
|
40
41
|
implementRegistry
|
|
41
|
-
} from "../index-
|
|
42
|
+
} from "../index-sm2tjx06.js";
|
|
42
43
|
import {
|
|
43
44
|
isWithinDir,
|
|
44
45
|
realPathWithinDir
|
|
45
46
|
} from "../index-sbdmyz75.js";
|
|
47
|
+
import"../index-557by2db.js";
|
|
46
48
|
import {
|
|
47
49
|
jsonSchemaFields,
|
|
48
50
|
toJsonSchema
|
|
@@ -61,7 +63,7 @@ import {
|
|
|
61
63
|
resolveSocketIp,
|
|
62
64
|
resolveTraceId,
|
|
63
65
|
zodIssues
|
|
64
|
-
} from "../index-
|
|
66
|
+
} from "../index-j3dem06f.js";
|
|
65
67
|
import {
|
|
66
68
|
AppError,
|
|
67
69
|
STITCH_ERROR_STATUS,
|
|
@@ -73,7 +75,7 @@ import {
|
|
|
73
75
|
notFound,
|
|
74
76
|
rateLimited,
|
|
75
77
|
unauthorized
|
|
76
|
-
} from "../index-
|
|
78
|
+
} from "../index-5r13htq1.js";
|
|
77
79
|
import"../index-6k1937bx.js";
|
|
78
80
|
import {
|
|
79
81
|
isRecord,
|
|
@@ -347,7 +349,8 @@ function cacheHeaders(maxAge, scope = "public") {
|
|
|
347
349
|
function createErrorHook(config) {
|
|
348
350
|
return async (ctx, error, endpoint) => {
|
|
349
351
|
const appErr = normalizeError(error);
|
|
350
|
-
const
|
|
352
|
+
const mapped = config.codeMap && isStitchErrorCode(appErr.code) ? config.codeMap[appErr.code] : undefined;
|
|
353
|
+
const code = mapped ?? appErr.code;
|
|
351
354
|
const info = {
|
|
352
355
|
code,
|
|
353
356
|
status: appErr.status,
|
|
@@ -1027,6 +1030,7 @@ export {
|
|
|
1027
1030
|
bindProcessSignals,
|
|
1028
1031
|
bindRealtimeServer,
|
|
1029
1032
|
cacheHeaders,
|
|
1033
|
+
composeAuthHooks,
|
|
1030
1034
|
composeLifecycleHooks,
|
|
1031
1035
|
composeWebSocketHandlers,
|
|
1032
1036
|
conflict,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/server/logger.ts"],"names":[],"mappings":"AAqCA,0CAA0C;AAC1C,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,CAGlE;AAaD,6DAA6D;AAC7D,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD;AAoBD,yCAAyC;AACzC,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/server/logger.ts"],"names":[],"mappings":"AAqCA,0CAA0C;AAC1C,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,CAGlE;AAaD,6DAA6D;AAC7D,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD;AAoBD,yCAAyC;AACzC,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAKxE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAIA;AA0BD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAGnE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,UAAU,CASZ;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAMR;AAED,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,UAAU,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,MAAM,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAyBzD"}
|