stitchkit 0.38.0 → 0.40.0
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/README.md +1 -1
- package/dist/browser/client-url.d.ts +2 -0
- package/dist/browser/client-url.d.ts.map +1 -1
- package/dist/browser/client.d.ts +32 -1
- package/dist/browser/client.d.ts.map +1 -1
- package/dist/browser/http.d.ts +5 -6
- package/dist/browser/http.d.ts.map +1 -1
- package/dist/cli.js +2 -2
- package/dist/contract/define.d.ts +36 -12
- package/dist/contract/define.d.ts.map +1 -1
- package/dist/contract/factory.d.ts +3 -3
- package/dist/contract/factory.d.ts.map +1 -1
- package/dist/contract/index.d.ts +1 -1
- package/dist/contract/index.d.ts.map +1 -1
- package/dist/contract/index.js +1 -1
- package/dist/{index-czmqks7r.js → index-6jypn22c.js} +1 -1
- package/dist/{index-p3kwf73n.js → index-7rbzbnnf.js} +28 -15
- package/dist/{index-bgdd42pt.js → index-92gs1m5b.js} +1 -1
- package/dist/{index-mzx0an0s.js → index-fyfk537k.js} +50 -5
- package/dist/{index-n5t4gnfz.js → index-p1x65gk7.js} +18 -3
- package/dist/{index-x4wbc8sz.js → index-xax049k6.js} +73 -5
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +122 -17
- package/dist/internal/route-pattern.d.ts +7 -0
- package/dist/internal/route-pattern.d.ts.map +1 -0
- package/dist/node.js +3 -3
- package/dist/observability/index.js +1 -1
- package/dist/react/entity-cache.d.ts +56 -42
- package/dist/react/entity-cache.d.ts.map +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +98 -46
- package/dist/server/create.d.ts.map +1 -1
- package/dist/server/index.js +10 -9
- package/dist/server/middleware/cors.d.ts.map +1 -1
- package/dist/server/openapi.d.ts.map +1 -1
- package/dist/server/router.d.ts +2 -0
- package/dist/server/router.d.ts.map +1 -1
- package/dist/server/socket-io.d.ts +1 -1
- package/dist/server/types.d.ts +4 -6
- package/dist/server/types.d.ts.map +1 -1
- package/dist/tools/agent.d.ts +3 -0
- package/dist/tools/agent.d.ts.map +1 -1
- package/dist/tools/execute.d.ts +8 -4
- package/dist/tools/execute.d.ts.map +1 -1
- package/dist/tools/invoker.d.ts +37 -0
- package/dist/tools/invoker.d.ts.map +1 -0
- package/dist/tools/mcp.d.ts.map +1 -1
- package/dist/tools/names.d.ts +1 -1
- package/dist/tools/names.d.ts.map +1 -1
- package/dist/tools/native-mcp.d.ts +6 -33
- package/dist/tools/native-mcp.d.ts.map +1 -1
- package/dist/tools/runtime-tool.d.ts +58 -0
- package/dist/tools/runtime-tool.d.ts.map +1 -0
- package/dist/tools.d.ts +3 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +193 -82
- package/llms-full.txt +492 -93
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -200,7 +200,7 @@ socket.io.on('connection', (s) => { /* rooms, handshake auth — your domain log
|
|
|
200
200
|
createServer({
|
|
201
201
|
services: [service],
|
|
202
202
|
websocket: socket.websocket, // → Bun.serve
|
|
203
|
-
rawRoutes: [socket.route], // ready /socket.io/* route
|
|
203
|
+
rawRoutes: [socket.route], // ready /socket.io/*socketPath route
|
|
204
204
|
})
|
|
205
205
|
```
|
|
206
206
|
|
|
@@ -4,6 +4,8 @@ export interface ClientRequestPlan {
|
|
|
4
4
|
relativeUrl: string;
|
|
5
5
|
remainingArgs: Record<string, unknown>;
|
|
6
6
|
}
|
|
7
|
+
/** Compile the same contract/prefix structure used by the request planner into a pathname matcher. */
|
|
8
|
+
export declare function createClientRouteMatcher<K extends string>(endpoint: EndpointDef, contractPrefix: string, config?: ContractClientConfig<K>): (pathname: string) => boolean;
|
|
7
9
|
/** Plan the complete request URL and body/form fields without executing I/O. */
|
|
8
10
|
export declare function planClientRequest<K extends string>(endpoint: EndpointDef, contractPrefix: string, args: Record<string, unknown>, config?: ContractClientConfig<K>): ClientRequestPlan;
|
|
9
11
|
/** Join a configured absolute or relative base with a planner-owned relative URL. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-url.d.ts","sourceRoot":"","sources":["../../src/browser/client-url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"client-url.d.ts","sourceRoot":"","sources":["../../src/browser/client-url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,UAAU,CAAC;AAIrE,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AA+ED,sGAAsG;AACtG,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,EACvD,QAAQ,EAAE,WAAW,EACrB,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC/B,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAsC/B;AA6DD,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,QAAQ,EAAE,WAAW,EACrB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC/B,iBAAiB,CAenB;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAI9E"}
|
package/dist/browser/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ContractDef, EndpointDef, ScopedHttpClient, ScopedUrlBuilder } from '../contract';
|
|
2
|
-
import { type HttpClient as HttpAdapter } from './http';
|
|
2
|
+
import { type HttpClient as HttpAdapter, type UnauthorizedMatcher } from './http';
|
|
3
3
|
/** Config for the built-in fetch client — used when no `HttpClient` is passed. */
|
|
4
4
|
export interface ClientConfig {
|
|
5
5
|
baseUrl: string;
|
|
@@ -28,6 +28,11 @@ export interface ContractClientConfig<K extends string = never> {
|
|
|
28
28
|
pathPrefix?: string | ((args: PathPrefixArgs<K>) => string);
|
|
29
29
|
stripPrefixKeys?: readonly K[];
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Build exact expected-401 pathname matchers from selected contract operations.
|
|
33
|
+
* Omit `endpointNames` to select every HTTP-exposed operation in the contract.
|
|
34
|
+
*/
|
|
35
|
+
export declare function contractEndpointMatchers<T extends Record<string, EndpointDef>, const Names extends readonly (keyof T)[], const K extends string = never>(contract: ContractDef<T, string>, endpointNames?: Names, contractConfig?: ContractClientConfig<K>): UnauthorizedMatcher[];
|
|
31
36
|
/**
|
|
32
37
|
* Build a fully-typed client from a contract. Every endpoint becomes a typed
|
|
33
38
|
* method — arguments and result inferred from its schemas. Pass an `HttpClient`
|
|
@@ -43,6 +48,29 @@ export declare function createClient<T extends Record<string, EndpointDef>, cons
|
|
|
43
48
|
export declare function createClients<T extends Record<string, ContractDef<Record<string, EndpointDef>, string>>, const K extends string = never>(contracts: T, configOrClient: ClientConfig | HttpAdapter, contractConfig?: ContractClientConfig<K>): {
|
|
44
49
|
[P in keyof T]: ScopedHttpClient<T[P]['endpoints'], ScopedKeys<K>>;
|
|
45
50
|
};
|
|
51
|
+
export type ClientContract = ContractDef<Record<string, EndpointDef>, string>;
|
|
52
|
+
export type ClientRegistryValue = ClientContract | readonly ClientContract[];
|
|
53
|
+
export type ScopeClientConfigs<TScope extends string> = {
|
|
54
|
+
[S in TScope]: ContractClientConfig<string>;
|
|
55
|
+
};
|
|
56
|
+
type RegistryContract<R> = R extends readonly (infer C)[] ? C : R;
|
|
57
|
+
export type RegistryScope<R> = RegistryContract<R> extends ContractDef<Record<string, EndpointDef>, infer S> ? S : never;
|
|
58
|
+
type PrefixKeys<C> = C extends {
|
|
59
|
+
stripPrefixKeys: readonly (infer K extends string)[];
|
|
60
|
+
} ? K : never;
|
|
61
|
+
type ClientForContract<C, Configs> = C extends ContractDef<infer E, infer S> ? S extends keyof Configs ? ScopedHttpClient<E, ScopedKeys<PrefixKeys<Configs[S]>>> : never : never;
|
|
62
|
+
type UnionToIntersection<U> = (U extends unknown ? (value: U) => void : never) extends (value: infer I) => void ? I : never;
|
|
63
|
+
type ScopedNamespace<R, Configs> = UnionToIntersection<ClientForContract<RegistryContract<R>, Configs>>;
|
|
64
|
+
type UrlBuilderForContract<C, Configs> = C extends ContractDef<infer E, infer S> ? S extends keyof Configs ? ScopedUrlBuilder<E, ScopedKeys<PrefixKeys<Configs[S]>>> : never : never;
|
|
65
|
+
type ScopedUrlNamespace<R, Configs> = UnionToIntersection<UrlBuilderForContract<RegistryContract<R>, Configs>>;
|
|
66
|
+
export type ScopedClientRegistry<T extends Record<string, ClientRegistryValue>, Configs> = {
|
|
67
|
+
[P in keyof T]: ScopedNamespace<T[P], Configs>;
|
|
68
|
+
};
|
|
69
|
+
export type ScopedUrlBuilderRegistry<T extends Record<string, ClientRegistryValue>, Configs> = {
|
|
70
|
+
[P in keyof T]: ScopedUrlNamespace<T[P], Configs>;
|
|
71
|
+
};
|
|
72
|
+
/** Build one client registry routed by contract scope; arrays compose a namespace. */
|
|
73
|
+
export declare function createScopedClients<const T extends Record<string, ClientRegistryValue>, const Configs extends ScopeClientConfigs<RegistryScope<T[keyof T]>>>(contracts: T, configOrClient: ClientConfig | HttpAdapter, scopeConfigs: Configs): ScopedClientRegistry<T, Configs>;
|
|
46
74
|
/** Base URL source for synchronous contract URL builders. */
|
|
47
75
|
export interface UrlBuilderConfig {
|
|
48
76
|
baseUrl: string;
|
|
@@ -51,4 +79,7 @@ export declare function createUrlBuilder<T extends Record<string, EndpointDef>,
|
|
|
51
79
|
export declare function createUrlBuilders<T extends Record<string, ContractDef<Record<string, EndpointDef>, string>>, const K extends string = never>(contracts: T, source: UrlBuilderConfig, contractConfig?: ContractClientConfig<K>): {
|
|
52
80
|
[P in keyof T]: ScopedUrlBuilder<T[P]['endpoints'], ScopedKeys<K>>;
|
|
53
81
|
};
|
|
82
|
+
/** Build one URL registry routed by contract scope; arrays compose a namespace. */
|
|
83
|
+
export declare function createScopedUrlBuilders<const T extends Record<string, ClientRegistryValue>, const Configs extends ScopeClientConfigs<RegistryScope<T[keyof T]>>>(contracts: T, source: UrlBuilderConfig, scopeConfigs: Configs): ScopedUrlBuilderRegistry<T, Configs>;
|
|
84
|
+
export {};
|
|
54
85
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/browser/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAGjB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAEL,KAAK,UAAU,IAAI,WAAW,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/browser/client.ts"],"names":[],"mappings":"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"}
|
package/dist/browser/http.d.ts
CHANGED
|
@@ -7,6 +7,8 @@ export type ApiEvent = {
|
|
|
7
7
|
type: 'logout';
|
|
8
8
|
};
|
|
9
9
|
export type ApiEventListener = (event: ApiEvent) => void;
|
|
10
|
+
/** Exact pathname policy used to suppress an expected `401` event. */
|
|
11
|
+
export type UnauthorizedMatcher = (pathname: string) => boolean;
|
|
10
12
|
export declare class ApiError extends Error {
|
|
11
13
|
readonly code: string;
|
|
12
14
|
readonly status: number;
|
|
@@ -39,12 +41,8 @@ export interface HttpClientConfig {
|
|
|
39
41
|
statusCodes?: number[];
|
|
40
42
|
};
|
|
41
43
|
parseError?: (body: unknown) => ErrorEnvelope['error'] | null;
|
|
42
|
-
/**
|
|
43
|
-
|
|
44
|
-
* login / session endpoints, where a `401` is an expected outcome. Matched
|
|
45
|
-
* against `URL.pathname`, so the prefixes start with `/`.
|
|
46
|
-
*/
|
|
47
|
-
authEndpoints?: string[];
|
|
44
|
+
/** Contract-derived pathname matchers whose expected `401` must not emit an event. */
|
|
45
|
+
suppressUnauthorizedFor?: readonly UnauthorizedMatcher[];
|
|
48
46
|
/**
|
|
49
47
|
* Extra headers added to every request. A function is re-evaluated per
|
|
50
48
|
* request — use it for runtime tokens (e.g. a short-lived auth token).
|
|
@@ -76,6 +74,7 @@ export interface RequestOptions {
|
|
|
76
74
|
/** The HTTP transport adapter `createClient` builds typed methods on. */
|
|
77
75
|
export interface HttpClient {
|
|
78
76
|
get<T>(url: string, options?: RequestOptions): Promise<T>;
|
|
77
|
+
head<T>(url: string, options?: RequestOptions): Promise<T>;
|
|
79
78
|
post<T>(url: string, data?: unknown, options?: RequestOptions): Promise<T>;
|
|
80
79
|
put<T>(url: string, data?: unknown, options?: RequestOptions): Promise<T>;
|
|
81
80
|
patch<T>(url: string, data?: unknown, options?: RequestOptions): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/browser/http.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AAEzD,qBAAa,QAAS,SAAQ,KAAK;aAEf,IAAI,EAAE,MAAM;aACZ,MAAM,EAAE,MAAM;aACd,OAAO,CAAC,EAAE,OAAO;aAEjB,IAAI,CAAC,EAAE,MAAM;IAL/B,YACkB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAAU,EAClB,OAAO,CAAC,EAAE,OAAO,EACjC,OAAO,CAAC,EAAE,MAAM,EACA,IAAI,CAAC,EAAE,MAAM,YAAA,EAI9B;IAED,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE3C;CACF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAU9E;AAED,MAAM,MAAM,cAAc,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAEtD,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;;;OAKG;IACH,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACvE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9D
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/browser/http.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
emitResult,
|
|
5
5
|
parseCliArgs,
|
|
6
6
|
pollUntilDone
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-p1x65gk7.js";
|
|
8
8
|
import"./index-frfyw9fa.js";
|
|
9
9
|
import"./index-x3fcszf8.js";
|
|
10
|
-
import"./index-
|
|
10
|
+
import"./index-fyfk537k.js";
|
|
11
11
|
export {
|
|
12
12
|
pollUntilDone,
|
|
13
13
|
parseCliArgs,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
1
|
+
import { type ZodType, z } from 'zod';
|
|
2
|
+
export type HttpMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
3
3
|
export declare const ALL_TRANSPORTS: readonly ['HTTP', 'MCP', 'AGENT', 'CLI'];
|
|
4
4
|
export type Transport = (typeof ALL_TRANSPORTS)[number];
|
|
5
5
|
/** Successful HTTP statuses that may be declared by a typed-data endpoint. */
|
|
@@ -23,11 +23,11 @@ export interface ResponseMetadata {
|
|
|
23
23
|
*/
|
|
24
24
|
export type TransportSource = 'http' | 'mcp' | 'agent' | 'cli' | (string & {});
|
|
25
25
|
interface EndpointDefBase {
|
|
26
|
-
method: HttpMethod
|
|
26
|
+
method: Exclude<HttpMethod, 'HEAD'>;
|
|
27
27
|
/**
|
|
28
28
|
* Route under the contract prefix. Named segments (`/:id`) are exposed through
|
|
29
|
-
* `params`; a terminal
|
|
30
|
-
*
|
|
29
|
+
* `params`; a terminal named wildcard (`/*filePath`) additionally exposes the
|
|
30
|
+
* slash-joined remainder under that name and matches an empty remainder.
|
|
31
31
|
*/
|
|
32
32
|
path: string;
|
|
33
33
|
desc: string;
|
|
@@ -236,7 +236,31 @@ interface RawResponseEndpointDef extends EndpointDefBase {
|
|
|
236
236
|
expose?: readonly ['HTTP'];
|
|
237
237
|
responseMeta?: never;
|
|
238
238
|
}
|
|
239
|
-
|
|
239
|
+
/** An explicit HTTP HEAD operation. Headers/status are handler-owned; the body is always stripped. */
|
|
240
|
+
export interface HeadEndpointDef {
|
|
241
|
+
method: 'HEAD';
|
|
242
|
+
path: string;
|
|
243
|
+
desc: string;
|
|
244
|
+
scope?: string;
|
|
245
|
+
params?: ZodType<unknown>;
|
|
246
|
+
timeout?: number;
|
|
247
|
+
idempotent?: boolean;
|
|
248
|
+
meta?: Record<string, unknown>;
|
|
249
|
+
rawResponse: true;
|
|
250
|
+
input?: never;
|
|
251
|
+
output?: never;
|
|
252
|
+
multipart?: never;
|
|
253
|
+
rawBody?: never;
|
|
254
|
+
maxUploadBytes?: never;
|
|
255
|
+
maxJsonBodyBytes?: never;
|
|
256
|
+
toolName?: never;
|
|
257
|
+
ui?: never;
|
|
258
|
+
annotations?: never;
|
|
259
|
+
expose?: readonly ['HTTP'];
|
|
260
|
+
responseMeta?: never;
|
|
261
|
+
contentType?: string;
|
|
262
|
+
}
|
|
263
|
+
export type EndpointDef = HttpOnlyEndpointDef | ToolEndpointDef | RawBodyEndpointDef | ResponseMetaDataEndpointDef | ResponseMetaEmptyEndpointDef | ResponseMetaRawBodyDataEndpointDef | ResponseMetaRawBodyEmptyEndpointDef | RawResponseEndpointDef | HeadEndpointDef;
|
|
240
264
|
export interface ContractMeta<TScope extends string = string> {
|
|
241
265
|
prefix: string;
|
|
242
266
|
scope?: TScope;
|
|
@@ -372,12 +396,12 @@ export type ScopedHttpClient<C extends Record<string, EndpointDef>, Extra> = {
|
|
|
372
396
|
[K in keyof C as ExposesHttp<C[K]> extends true ? K : never]: ScopedEndpointFn<C[K], Extra>;
|
|
373
397
|
};
|
|
374
398
|
export type TypedHttpClient<C extends Record<string, EndpointDef>> = ScopedHttpClient<C, unknown>;
|
|
375
|
-
type IsUrlBuildable<E> = E
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
export type ScopedUrlFn<E, Extra> = [keyof
|
|
399
|
+
type IsUrlBuildable<E> = ExposesHttp<E>;
|
|
400
|
+
type EndpointUrlArgs<E> = InferInput<Prop<E, 'params'>> & (E extends {
|
|
401
|
+
method: 'GET' | 'DELETE';
|
|
402
|
+
} ? InferInput<Prop<E, 'input'>> : unknown);
|
|
403
|
+
type UrlArgsWith<E, Extra> = EndpointUrlArgs<E> & Extra;
|
|
404
|
+
export type ScopedUrlFn<E, Extra> = [keyof UrlArgsWith<E, Extra>] extends [never] ? () => string : (args: UrlArgsWith<E, Extra>) => string;
|
|
381
405
|
export type ScopedUrlBuilder<C extends Record<string, EndpointDef>, Extra> = {
|
|
382
406
|
[K in keyof C as IsUrlBuildable<C[K]> extends true ? K : never]: ScopedUrlFn<C[K], Extra>;
|
|
383
407
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/contract/define.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/contract/define.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import type { ContractDef, EndpointDef } from './define';
|
|
24
24
|
/** A `defineContract` whose `scope` is required and typed to `TScope`. */
|
|
25
|
-
export type ScopedDefineContract<TScope extends string> = <const T extends Record<string, EndpointDef>>(meta: {
|
|
25
|
+
export type ScopedDefineContract<TScope extends string> = <const TContractScope extends TScope, const T extends Record<string, EndpointDef>>(meta: {
|
|
26
26
|
prefix: string;
|
|
27
|
-
scope:
|
|
27
|
+
scope: TContractScope;
|
|
28
28
|
meta?: Record<string, unknown>;
|
|
29
|
-
}, endpoints: T) => ContractDef<T,
|
|
29
|
+
}, endpoints: T) => ContractDef<T, TContractScope>;
|
|
30
30
|
/**
|
|
31
31
|
* Build a `defineContract` that requires a `scope` from the application's own
|
|
32
32
|
* union. Call once per app and re-export the returned `defineContract`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/contract/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGzD,0EAA0E;AAC1E,MAAM,MAAM,oBAAoB,CAAC,MAAM,SAAS,MAAM,IAAI,CACxD,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAE3C,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/contract/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGzD,0EAA0E;AAC1E,MAAM,MAAM,oBAAoB,CAAC,MAAM,SAAS,MAAM,IAAI,CACxD,KAAK,CAAC,cAAc,SAAS,MAAM,EACnC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAE3C,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAC/E,SAAS,EAAE,CAAC,KACT,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;AAEpC;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,SAAS,MAAM,KAAK;IAC9D,cAAc,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;CAC9C,CAiBA"}
|
package/dist/contract/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ALL_TRANSPORTS, type BodyHttpSuccessStatus, type ContractDef, type ContractMeta, defineContract, type EndpointDef, type EndpointFn, type EndpointResponseMeta, type EndpointToolAnnotations, type EndpointUiMeta, type FileDescriptor, type HandlerContext, type HttpMethod, type HttpSuccessStatus, type MultipartFile, type ResponseMetadata, type RuntimeContext, type ScopedEndpointFn, type ScopedHttpClient, type ScopedUrlBuilder, type ScopedUrlFn, type Transport, type TransportSource, type TypedClient, type TypedHttpClient, type TypedUrlBuilder, } from './define';
|
|
1
|
+
export { ALL_TRANSPORTS, type BodyHttpSuccessStatus, type ContractDef, type ContractMeta, defineContract, type EndpointDef, type EndpointFn, type EndpointResponseMeta, type EndpointToolAnnotations, type EndpointUiMeta, type FileDescriptor, type HandlerContext, type HeadEndpointDef, type HttpMethod, type HttpSuccessStatus, type MultipartFile, type ResponseMetadata, type RuntimeContext, type ScopedEndpointFn, type ScopedHttpClient, type ScopedUrlBuilder, type ScopedUrlFn, type Transport, type TransportSource, type TypedClient, type TypedHttpClient, type TypedUrlBuilder, } from './define';
|
|
2
2
|
export { AppError, appError, badRequest, conflict, type ErrorEnvelope, forbidden, isStitchErrorCode, notFound, rateLimited, STITCH_ERROR_STATUS, type StitchErrorCode, unauthorized, } from './errors';
|
|
3
3
|
export { type DefinedErrors, defineErrors, type ErrorThrower, } from './errors-factory';
|
|
4
4
|
export { createContractFactory, type ScopedDefineContract } from './factory';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,KAAK,aAAa,EAClB,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,KAAK,eAAe,EACpB,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,KAAK,aAAa,EAClB,YAAY,EACZ,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAE7E,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,KAAK,SAAS,EACd,eAAe,GAChB,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,KAAK,aAAa,EAClB,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,KAAK,eAAe,EACpB,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,KAAK,aAAa,EAClB,YAAY,EACZ,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAE7E,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,KAAK,SAAS,EACd,eAAe,GAChB,MAAM,cAAc,CAAC"}
|
package/dist/contract/index.js
CHANGED
|
@@ -21,7 +21,7 @@ function resolveOrigin(config, requestOrigin) {
|
|
|
21
21
|
function corsHeaders(config, requestOrigin) {
|
|
22
22
|
const allowOrigin = resolveOrigin(config, requestOrigin);
|
|
23
23
|
const headers = {
|
|
24
|
-
"Access-Control-Allow-Methods": config.methods ?? "GET, POST, PUT, PATCH, DELETE, OPTIONS",
|
|
24
|
+
"Access-Control-Allow-Methods": config.methods ?? "GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS",
|
|
25
25
|
"Access-Control-Allow-Headers": config.headers ?? DEFAULT_CORS_ALLOW_HEADERS
|
|
26
26
|
};
|
|
27
27
|
const expose = Array.isArray(config.exposeHeaders) ? config.exposeHeaders.join(", ") : config.exposeHeaders ?? DEFAULT_CORS_EXPOSE_HEADERS;
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
assertCorsConfig,
|
|
3
3
|
corsHeaders,
|
|
4
4
|
corsPreflightResponse
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-6jypn22c.js";
|
|
6
6
|
import {
|
|
7
7
|
isWithinDir
|
|
8
8
|
} from "./index-x3fcszf8.js";
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
mergeMeta,
|
|
20
20
|
normalizeError,
|
|
21
21
|
parseQueryParams,
|
|
22
|
+
parseTrailingWildcard,
|
|
22
23
|
recordedErrorMessage,
|
|
23
24
|
resolveSocketIp,
|
|
24
25
|
resolveTraceId,
|
|
@@ -27,7 +28,7 @@ import {
|
|
|
27
28
|
setRequestError,
|
|
28
29
|
typedEntries,
|
|
29
30
|
validateHandlerOutput
|
|
30
|
-
} from "./index-
|
|
31
|
+
} from "./index-fyfk537k.js";
|
|
31
32
|
|
|
32
33
|
// src/server/multipart.ts
|
|
33
34
|
var DEFAULT_MAX_UPLOAD_BYTES = 25 * 1024 * 1024;
|
|
@@ -128,9 +129,10 @@ function joinPath(...parts) {
|
|
|
128
129
|
return `/${joined}`;
|
|
129
130
|
}
|
|
130
131
|
function matchSegments(patternSegments, requestSegments) {
|
|
131
|
-
const
|
|
132
|
-
const
|
|
133
|
-
|
|
132
|
+
const wildcardSegment = patternSegments.at(-1);
|
|
133
|
+
const wildcardName = wildcardSegment?.startsWith("*") ? wildcardSegment.slice(1) : null;
|
|
134
|
+
const prefixLength = wildcardName ? patternSegments.length - 1 : patternSegments.length;
|
|
135
|
+
if (wildcardName) {
|
|
134
136
|
if (requestSegments.length < prefixLength)
|
|
135
137
|
return null;
|
|
136
138
|
} else if (patternSegments.length !== requestSegments.length) {
|
|
@@ -147,13 +149,13 @@ function matchSegments(patternSegments, requestSegments) {
|
|
|
147
149
|
return null;
|
|
148
150
|
}
|
|
149
151
|
}
|
|
150
|
-
if (
|
|
151
|
-
params[
|
|
152
|
+
if (wildcardName) {
|
|
153
|
+
params[wildcardName] = requestSegments.slice(prefixLength).map(decodeURIComponent).join("/");
|
|
152
154
|
}
|
|
153
155
|
return params;
|
|
154
156
|
}
|
|
155
157
|
function segmentRank(segment) {
|
|
156
|
-
if (segment
|
|
158
|
+
if (segment?.startsWith("*"))
|
|
157
159
|
return 2;
|
|
158
160
|
if (segment?.startsWith(":"))
|
|
159
161
|
return 1;
|
|
@@ -220,7 +222,8 @@ function validateRoutes(routeMap) {
|
|
|
220
222
|
for (const [method, entries] of routeMap) {
|
|
221
223
|
const seen = new Map;
|
|
222
224
|
for (const entry of entries) {
|
|
223
|
-
|
|
225
|
+
parseTrailingWildcard(entry.pattern);
|
|
226
|
+
const normalized = entry.segments.map((s) => s.startsWith(":") ? ":param" : s.startsWith("*") ? "*wildcard" : s).join("/");
|
|
224
227
|
const key = `${method} /${normalized}`;
|
|
225
228
|
const existing = seen.get(key);
|
|
226
229
|
if (existing) {
|
|
@@ -239,7 +242,7 @@ function findShadowedRoutes(routeMap, rawRoutes) {
|
|
|
239
242
|
const probe = `/${entry.segments.map((segment) => {
|
|
240
243
|
if (segment.startsWith(":"))
|
|
241
244
|
return "__param__";
|
|
242
|
-
if (segment
|
|
245
|
+
if (segment.startsWith("*"))
|
|
243
246
|
return "__wildcard__";
|
|
244
247
|
return segment;
|
|
245
248
|
}).join("/")}`;
|
|
@@ -260,7 +263,7 @@ function matchRawRoute(rawRoutes, httpMethod, pathname) {
|
|
|
260
263
|
for (const route of rawRoutes) {
|
|
261
264
|
if (route.method !== "ALL" && route.method !== httpMethod)
|
|
262
265
|
continue;
|
|
263
|
-
if (route.path
|
|
266
|
+
if (parseTrailingWildcard(route.path)) {
|
|
264
267
|
const routeSegs = route.path.split("/").filter(Boolean);
|
|
265
268
|
const pathSegs = pathname.split("/").filter(Boolean);
|
|
266
269
|
const params = matchSegments(routeSegs, pathSegs);
|
|
@@ -281,12 +284,16 @@ function matchRawRoute(rawRoutes, httpMethod, pathname) {
|
|
|
281
284
|
}
|
|
282
285
|
return null;
|
|
283
286
|
}
|
|
287
|
+
function validateRawRoutes(rawRoutes) {
|
|
288
|
+
for (const route of rawRoutes ?? [])
|
|
289
|
+
parseTrailingWildcard(route.path);
|
|
290
|
+
}
|
|
284
291
|
function staticRoute(prefix, dir) {
|
|
285
292
|
const cleanPrefix = prefix.replace(/\/+$/, "");
|
|
286
293
|
const root = resolve(dir.replace(/\/+$/, ""));
|
|
287
294
|
return {
|
|
288
295
|
method: "GET",
|
|
289
|
-
path: `${cleanPrefix}
|
|
296
|
+
path: `${cleanPrefix}/*filePath`,
|
|
290
297
|
handler: async (req) => {
|
|
291
298
|
const pathname = new URL(req.url).pathname;
|
|
292
299
|
let rel;
|
|
@@ -691,6 +698,7 @@ function createHandler(config) {
|
|
|
691
698
|
};
|
|
692
699
|
const routeMap = buildRouteMap(normalizeGroups(config));
|
|
693
700
|
validateRoutes(routeMap);
|
|
701
|
+
validateRawRoutes(config.rawRoutes);
|
|
694
702
|
for (const shadow of findShadowedRoutes(routeMap, config.rawRoutes)) {
|
|
695
703
|
const gate = shadow.scope && shadow.scope !== "public" ? ` (scope "${shadow.scope}")` : "";
|
|
696
704
|
const line = `[stitchkit] raw route ${shadow.rawRoute} shadows contract route ${shadow.pattern}` + ` → ${shadow.endpoint}${gate} will never run, and its hooks never apply`;
|
|
@@ -849,7 +857,12 @@ function createHandler(config) {
|
|
|
849
857
|
if (!(result instanceof Response)) {
|
|
850
858
|
throw new AppError("INTERNAL_SERVER_ERROR", `Raw endpoint ${method.serviceName}.${method.key} must return a Response`, 500);
|
|
851
859
|
}
|
|
852
|
-
const
|
|
860
|
+
const response = method.method === "HEAD" ? new Response(null, {
|
|
861
|
+
status: result.status,
|
|
862
|
+
statusText: result.statusText,
|
|
863
|
+
headers: result.headers
|
|
864
|
+
}) : result;
|
|
865
|
+
const rawRes = applyCors(response, cors, req);
|
|
853
866
|
logDone(rawRes.status);
|
|
854
867
|
return rawRes;
|
|
855
868
|
}
|
|
@@ -1129,7 +1142,7 @@ async function createSocketIOServer(config) {
|
|
|
1129
1142
|
const { websocket } = engine.handler();
|
|
1130
1143
|
const route = {
|
|
1131
1144
|
method: "ALL",
|
|
1132
|
-
path: `${path.replace(/\/+$/, "")}
|
|
1145
|
+
path: `${path.replace(/\/+$/, "")}/*socketPath`,
|
|
1133
1146
|
handler: (req, ctx) => {
|
|
1134
1147
|
if (!ctx.server) {
|
|
1135
1148
|
throw new Error("[stitchkit] createSocketIOServer route needs a running Bun server — mount it via createServer.");
|
|
@@ -1145,7 +1158,7 @@ async function createSocketIOServer(config) {
|
|
|
1145
1158
|
websocket: { open: noop, message: noop, close: noop, maxPayloadLength: 0 },
|
|
1146
1159
|
route: {
|
|
1147
1160
|
method: "ALL",
|
|
1148
|
-
path: `${path.replace(/\/+$/, "")}
|
|
1161
|
+
path: `${path.replace(/\/+$/, "")}/*socketPath`,
|
|
1149
1162
|
handler: () => {
|
|
1150
1163
|
throw new Error("[stitchkit] On Node, Socket.IO attaches via serveNode({ socket }) — this route is not mounted.");
|
|
1151
1164
|
}
|
|
@@ -68,6 +68,51 @@ function appError(code, message, details) {
|
|
|
68
68
|
throw new AppError(code, message, isStitchErrorCode(code) ? STITCH_ERROR_STATUS[code] : 500, details);
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
// src/contract/define.ts
|
|
72
|
+
import { z } from "zod";
|
|
73
|
+
|
|
74
|
+
// src/internal/route-pattern.ts
|
|
75
|
+
var PARAM_IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
76
|
+
function parseTrailingWildcard(path) {
|
|
77
|
+
const segments = path.split("/").filter(Boolean);
|
|
78
|
+
const paramNames = new Set;
|
|
79
|
+
let wildcard = null;
|
|
80
|
+
for (const [segmentIndex, segment] of segments.entries()) {
|
|
81
|
+
if (segment.startsWith(":")) {
|
|
82
|
+
const name2 = segment.slice(1);
|
|
83
|
+
if (!PARAM_IDENTIFIER.test(name2)) {
|
|
84
|
+
throw new Error(`Invalid route parameter name "${name2}" in path "${path}"`);
|
|
85
|
+
}
|
|
86
|
+
if (paramNames.has(name2)) {
|
|
87
|
+
throw new Error(`Duplicate route parameter name "${name2}" in path "${path}"`);
|
|
88
|
+
}
|
|
89
|
+
paramNames.add(name2);
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
if (!segment.startsWith("*")) {
|
|
93
|
+
if (segment.includes("*")) {
|
|
94
|
+
throw new Error(`Wildcard must occupy its own segment in path "${path}"`);
|
|
95
|
+
}
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
const name = segment.slice(1);
|
|
99
|
+
if (!PARAM_IDENTIFIER.test(name)) {
|
|
100
|
+
throw new Error(`Trailing wildcard in path "${path}" must be named, for example "/*filePath"`);
|
|
101
|
+
}
|
|
102
|
+
if (segmentIndex !== segments.length - 1) {
|
|
103
|
+
throw new Error(`Wildcard "*${name}" must be the final segment in path "${path}"`);
|
|
104
|
+
}
|
|
105
|
+
if (wildcard) {
|
|
106
|
+
throw new Error(`Path "${path}" contains more than one wildcard`);
|
|
107
|
+
}
|
|
108
|
+
if (paramNames.has(name)) {
|
|
109
|
+
throw new Error(`Duplicate route parameter name "${name}" in path "${path}"`);
|
|
110
|
+
}
|
|
111
|
+
wildcard = { name, segmentIndex };
|
|
112
|
+
}
|
|
113
|
+
return wildcard;
|
|
114
|
+
}
|
|
115
|
+
|
|
71
116
|
// src/contract/define.ts
|
|
72
117
|
function mergeMeta(contractMeta, endpointMeta) {
|
|
73
118
|
if (!contractMeta)
|
|
@@ -84,7 +129,7 @@ function isRecord(value) {
|
|
|
84
129
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
85
130
|
}
|
|
86
131
|
// src/contract/pagination.ts
|
|
87
|
-
import { z } from "zod";
|
|
132
|
+
import { z as z2 } from "zod";
|
|
88
133
|
|
|
89
134
|
// src/internal/base64url.ts
|
|
90
135
|
function bytesToBase64Url(bytes) {
|
|
@@ -102,7 +147,7 @@ function base64UrlToBytes(segment) {
|
|
|
102
147
|
return Uint8Array.from(atob(padded), (c) => c.charCodeAt(0));
|
|
103
148
|
}
|
|
104
149
|
// src/internal/errors.ts
|
|
105
|
-
import { z as
|
|
150
|
+
import { z as z3 } from "zod";
|
|
106
151
|
function issuePath(path) {
|
|
107
152
|
return path.length > 0 ? path.map(String).join(".") : "(root)";
|
|
108
153
|
}
|
|
@@ -125,7 +170,7 @@ var MAX_DETAIL_ISSUES = 20;
|
|
|
125
170
|
function errorCode(err) {
|
|
126
171
|
if (AppError.is(err))
|
|
127
172
|
return err.code;
|
|
128
|
-
if (err instanceof
|
|
173
|
+
if (err instanceof z3.ZodError)
|
|
129
174
|
return "VALIDATION_ERROR";
|
|
130
175
|
return;
|
|
131
176
|
}
|
|
@@ -141,7 +186,7 @@ function recordedErrorMessage(code, envelopeMessage, thrown) {
|
|
|
141
186
|
function normalizeError(err) {
|
|
142
187
|
if (AppError.is(err))
|
|
143
188
|
return err;
|
|
144
|
-
if (err instanceof
|
|
189
|
+
if (err instanceof z3.ZodError) {
|
|
145
190
|
return new AppError("VALIDATION_ERROR", formatZodError(err), 400, {
|
|
146
191
|
issues: zodIssues(err).slice(0, MAX_DETAIL_ISSUES)
|
|
147
192
|
});
|
|
@@ -337,4 +382,4 @@ function wrapInRequestContext(handler, options = {}) {
|
|
|
337
382
|
};
|
|
338
383
|
}
|
|
339
384
|
|
|
340
|
-
export { __require, mergeMeta, AppError, notFound, badRequest, unauthorized, forbidden, conflict, rateLimited, STITCH_ERROR_STATUS, isStitchErrorCode, appError, typedEntries, isRecord, bytesToBase64Url, base64UrlToBytes, formatZodError, zodIssues, errorCode, recordedErrorMessage, normalizeError, validateHandlerOutput, isUnsafeKey, safeJsonParse, generateTraceId, resolveTraceId, resolveSocketIp, extractIp, getClientInfo, parseQueryParams, createTraceContext, parseTraceparent, formatTraceparent, resolveTraceContext, childSpan, runWithRequestContext, getRequestContext, getTraceId, getUserId, setRequestUser, setRequestEndpoint, setRequestDimensions, setRequestError, wrapInRequestContext };
|
|
385
|
+
export { __require, parseTrailingWildcard, mergeMeta, AppError, notFound, badRequest, unauthorized, forbidden, conflict, rateLimited, STITCH_ERROR_STATUS, isStitchErrorCode, appError, typedEntries, isRecord, bytesToBase64Url, base64UrlToBytes, formatZodError, zodIssues, errorCode, recordedErrorMessage, normalizeError, validateHandlerOutput, isUnsafeKey, safeJsonParse, generateTraceId, resolveTraceId, resolveSocketIp, extractIp, getClientInfo, parseQueryParams, createTraceContext, parseTraceparent, formatTraceparent, resolveTraceContext, childSpan, runWithRequestContext, getRequestContext, getTraceId, getUserId, setRequestUser, setRequestEndpoint, setRequestDimensions, setRequestError, wrapInRequestContext };
|