ts-procedures 5.15.0 → 6.0.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 +2 -0
- package/agent_config/claude-code/agents/ts-procedures-architect.md +13 -6
- package/agent_config/claude-code/skills/ts-procedures/SKILL.md +26 -4
- package/agent_config/claude-code/skills/ts-procedures/anti-patterns.md +85 -17
- package/agent_config/claude-code/skills/ts-procedures/api-reference.md +220 -9
- package/agent_config/claude-code/skills/ts-procedures/patterns.md +271 -16
- package/agent_config/claude-code/skills/ts-procedures-review/SKILL.md +1 -1
- package/agent_config/claude-code/skills/ts-procedures-review/checklist.md +20 -12
- package/agent_config/claude-code/skills/ts-procedures-scaffold/SKILL.md +2 -1
- package/agent_config/claude-code/skills/ts-procedures-scaffold/templates/client.md +53 -18
- package/agent_config/claude-code/skills/ts-procedures-scaffold/templates/express-rpc.md +20 -17
- package/agent_config/claude-code/skills/ts-procedures-scaffold/templates/hono-api.md +20 -16
- package/agent_config/claude-code/skills/ts-procedures-scaffold/templates/hono-rpc.md +20 -17
- package/agent_config/claude-code/skills/ts-procedures-scaffold/templates/hono-stream.md +16 -3
- package/agent_config/copilot/copilot-instructions.md +132 -19
- package/agent_config/cursor/cursorrules +132 -19
- package/build/client/call.d.ts +19 -9
- package/build/client/call.js +33 -19
- package/build/client/call.js.map +1 -1
- package/build/client/call.test.js +167 -17
- package/build/client/call.test.js.map +1 -1
- package/build/client/error-dispatch.d.ts +13 -0
- package/build/client/error-dispatch.js +26 -0
- package/build/client/error-dispatch.js.map +1 -0
- package/build/client/error-dispatch.test.d.ts +1 -0
- package/build/client/error-dispatch.test.js +56 -0
- package/build/client/error-dispatch.test.js.map +1 -0
- package/build/client/fetch-adapter.js +10 -4
- package/build/client/fetch-adapter.js.map +1 -1
- package/build/client/index.d.ts +2 -1
- package/build/client/index.js +22 -3
- package/build/client/index.js.map +1 -1
- package/build/client/index.test.js +104 -0
- package/build/client/index.test.js.map +1 -1
- package/build/client/resolve-options.d.ts +45 -0
- package/build/client/resolve-options.js +82 -0
- package/build/client/resolve-options.js.map +1 -0
- package/build/client/resolve-options.test.d.ts +1 -0
- package/build/client/resolve-options.test.js +158 -0
- package/build/client/resolve-options.test.js.map +1 -0
- package/build/client/stream.d.ts +19 -9
- package/build/client/stream.js +36 -21
- package/build/client/stream.js.map +1 -1
- package/build/client/stream.test.js +102 -46
- package/build/client/stream.test.js.map +1 -1
- package/build/client/typed-error-dispatch.test.d.ts +1 -0
- package/build/client/typed-error-dispatch.test.js +168 -0
- package/build/client/typed-error-dispatch.test.js.map +1 -0
- package/build/client/types.d.ts +105 -1
- package/build/client/types.js +1 -1
- package/build/codegen/e2e.test.js +150 -4
- package/build/codegen/e2e.test.js.map +1 -1
- package/build/codegen/emit-client-runtime.js +7 -0
- package/build/codegen/emit-client-runtime.js.map +1 -1
- package/build/codegen/emit-errors.d.ts +17 -6
- package/build/codegen/emit-errors.integration.test.d.ts +1 -0
- package/build/codegen/emit-errors.integration.test.js +162 -0
- package/build/codegen/emit-errors.integration.test.js.map +1 -0
- package/build/codegen/emit-errors.js +50 -39
- package/build/codegen/emit-errors.js.map +1 -1
- package/build/codegen/emit-errors.test.js +75 -78
- package/build/codegen/emit-errors.test.js.map +1 -1
- package/build/codegen/emit-index.d.ts +7 -0
- package/build/codegen/emit-index.js +26 -4
- package/build/codegen/emit-index.js.map +1 -1
- package/build/codegen/emit-index.test.js +55 -23
- package/build/codegen/emit-index.test.js.map +1 -1
- package/build/codegen/emit-scope.d.ts +8 -0
- package/build/codegen/emit-scope.js +82 -7
- package/build/codegen/emit-scope.js.map +1 -1
- package/build/codegen/pipeline.js +22 -2
- package/build/codegen/pipeline.js.map +1 -1
- package/build/implementations/http/doc-registry.d.ts +21 -0
- package/build/implementations/http/doc-registry.js +51 -78
- package/build/implementations/http/doc-registry.js.map +1 -1
- package/build/implementations/http/doc-registry.test.js +8 -6
- package/build/implementations/http/doc-registry.test.js.map +1 -1
- package/build/implementations/http/error-taxonomy.d.ts +240 -0
- package/build/implementations/http/error-taxonomy.js +230 -0
- package/build/implementations/http/error-taxonomy.js.map +1 -0
- package/build/implementations/http/error-taxonomy.test.d.ts +1 -0
- package/build/implementations/http/error-taxonomy.test.js +399 -0
- package/build/implementations/http/error-taxonomy.test.js.map +1 -0
- package/build/implementations/http/express-rpc/error-taxonomy.test.d.ts +1 -0
- package/build/implementations/http/express-rpc/error-taxonomy.test.js +83 -0
- package/build/implementations/http/express-rpc/error-taxonomy.test.js.map +1 -0
- package/build/implementations/http/express-rpc/index.d.ts +39 -8
- package/build/implementations/http/express-rpc/index.js +39 -8
- package/build/implementations/http/express-rpc/index.js.map +1 -1
- package/build/implementations/http/hono-api/error-taxonomy.test.d.ts +1 -0
- package/build/implementations/http/hono-api/error-taxonomy.test.js +137 -0
- package/build/implementations/http/hono-api/error-taxonomy.test.js.map +1 -0
- package/build/implementations/http/hono-api/index.d.ts +38 -1
- package/build/implementations/http/hono-api/index.js +32 -0
- package/build/implementations/http/hono-api/index.js.map +1 -1
- package/build/implementations/http/hono-rpc/error-taxonomy.test.d.ts +1 -0
- package/build/implementations/http/hono-rpc/error-taxonomy.test.js +64 -0
- package/build/implementations/http/hono-rpc/error-taxonomy.test.js.map +1 -0
- package/build/implementations/http/hono-rpc/index.d.ts +34 -7
- package/build/implementations/http/hono-rpc/index.js +31 -4
- package/build/implementations/http/hono-rpc/index.js.map +1 -1
- package/build/implementations/http/hono-stream/error-taxonomy.test.d.ts +1 -0
- package/build/implementations/http/hono-stream/error-taxonomy.test.js +87 -0
- package/build/implementations/http/hono-stream/error-taxonomy.test.js.map +1 -0
- package/build/implementations/http/hono-stream/index.d.ts +40 -3
- package/build/implementations/http/hono-stream/index.js +37 -10
- package/build/implementations/http/hono-stream/index.js.map +1 -1
- package/build/implementations/http/hono-stream/index.test.js +45 -18
- package/build/implementations/http/hono-stream/index.test.js.map +1 -1
- package/build/implementations/http/on-request-error.test.d.ts +1 -0
- package/build/implementations/http/on-request-error.test.js +173 -0
- package/build/implementations/http/on-request-error.test.js.map +1 -0
- package/build/implementations/http/route-errors.test.d.ts +1 -0
- package/build/implementations/http/route-errors.test.js +140 -0
- package/build/implementations/http/route-errors.test.js.map +1 -0
- package/build/implementations/types.d.ts +30 -2
- package/docs/client-and-codegen.md +228 -14
- package/docs/core.md +14 -5
- package/docs/http-integrations.md +135 -4
- package/docs/streaming.md +3 -1
- package/package.json +7 -2
- package/src/client/call.test.ts +202 -29
- package/src/client/call.ts +50 -28
- package/src/client/error-dispatch.test.ts +72 -0
- package/src/client/error-dispatch.ts +27 -0
- package/src/client/fetch-adapter.ts +11 -5
- package/src/client/index.test.ts +117 -0
- package/src/client/index.ts +34 -8
- package/src/client/resolve-options.test.ts +205 -0
- package/src/client/resolve-options.ts +113 -0
- package/src/client/stream.test.ts +132 -107
- package/src/client/stream.ts +53 -27
- package/src/client/typed-error-dispatch.test.ts +211 -0
- package/src/client/types.ts +116 -2
- package/src/codegen/e2e.test.ts +160 -4
- package/src/codegen/emit-client-runtime.ts +7 -0
- package/src/codegen/emit-errors.integration.test.ts +183 -0
- package/src/codegen/emit-errors.test.ts +91 -87
- package/src/codegen/emit-errors.ts +123 -41
- package/src/codegen/emit-index.test.ts +68 -24
- package/src/codegen/emit-index.ts +66 -4
- package/src/codegen/emit-scope.ts +124 -7
- package/src/codegen/pipeline.ts +25 -2
- package/src/implementations/http/README.md +28 -5
- package/src/implementations/http/doc-registry.test.ts +10 -6
- package/src/implementations/http/doc-registry.ts +63 -80
- package/src/implementations/http/error-taxonomy.test.ts +438 -0
- package/src/implementations/http/error-taxonomy.ts +337 -0
- package/src/implementations/http/express-rpc/README.md +21 -22
- package/src/implementations/http/express-rpc/error-taxonomy.test.ts +103 -0
- package/src/implementations/http/express-rpc/index.ts +75 -14
- package/src/implementations/http/hono-api/README.md +284 -0
- package/src/implementations/http/hono-api/error-taxonomy.test.ts +179 -0
- package/src/implementations/http/hono-api/index.ts +76 -1
- package/src/implementations/http/hono-rpc/README.md +18 -19
- package/src/implementations/http/hono-rpc/error-taxonomy.test.ts +82 -0
- package/src/implementations/http/hono-rpc/index.ts +65 -9
- package/src/implementations/http/hono-stream/README.md +44 -25
- package/src/implementations/http/hono-stream/error-taxonomy.test.ts +98 -0
- package/src/implementations/http/hono-stream/index.test.ts +54 -18
- package/src/implementations/http/hono-stream/index.ts +83 -13
- package/src/implementations/http/on-request-error.test.ts +201 -0
- package/src/implementations/http/route-errors.test.ts +177 -0
- package/src/implementations/types.ts +30 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/client/index.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/client/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { AdapterRequest, ProcedureCallDefaults, ProcedureCallOptions, RequestMeta } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves the effective base path:
|
|
4
|
+
* per-call `basePath` > default `basePath` > config `basePath` (fallback).
|
|
5
|
+
*/
|
|
6
|
+
export declare function resolveBasePath(defaults: ProcedureCallDefaults | undefined, options: ProcedureCallOptions | undefined, fallback: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* Resolves the effective AbortSignal by combining (via `AbortSignal.any`):
|
|
9
|
+
* - default signal (if any)
|
|
10
|
+
* - per-call signal (if any)
|
|
11
|
+
* - timeout signal (if resolved timeout > 0)
|
|
12
|
+
*
|
|
13
|
+
* Returns undefined when none apply. Per-call `timeout: 0` disables an
|
|
14
|
+
* inherited default timeout.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveSignal(defaults: ProcedureCallDefaults | undefined, options: ProcedureCallOptions | undefined): AbortSignal | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Merges headers with precedence: default < per-call. Returns undefined if
|
|
19
|
+
* no headers would be set.
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveHeaders(defaults: ProcedureCallDefaults | undefined, options: ProcedureCallOptions | undefined): Record<string, string> | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Merges meta with precedence: default < per-call. Returns undefined if
|
|
24
|
+
* no meta fields would be set.
|
|
25
|
+
*
|
|
26
|
+
* The cast is load-bearing: when a developer augments `RequestMeta` with
|
|
27
|
+
* required fields, spread of two `RequestMeta | undefined` values widens to
|
|
28
|
+
* a partial shape, which TypeScript can't prove satisfies `RequestMeta`.
|
|
29
|
+
* At runtime, the merged object carries whichever keys the caller supplied —
|
|
30
|
+
* the contract is "if you declare required fields in RequestMeta, supply them
|
|
31
|
+
* somewhere (defaults or per-call)."
|
|
32
|
+
*/
|
|
33
|
+
export declare function resolveMeta(defaults: ProcedureCallDefaults | undefined, options: ProcedureCallOptions | undefined): RequestMeta | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Applies resolved default + per-call options to an AdapterRequest.
|
|
36
|
+
*
|
|
37
|
+
* Runs before hooks, so `onBeforeRequest` observes the merged request and can
|
|
38
|
+
* still override any field.
|
|
39
|
+
*
|
|
40
|
+
* Headers produced by the request builder (e.g., `schema.input.headers` for
|
|
41
|
+
* API routes) are preserved; resolved headers merge underneath them so the
|
|
42
|
+
* route-declared headers win, matching the adapter.config → defaults → call
|
|
43
|
+
* → route-declared → hooks precedence chain documented in the types.
|
|
44
|
+
*/
|
|
45
|
+
export declare function applyRequestOptions(request: AdapterRequest, defaults: ProcedureCallDefaults | undefined, options: ProcedureCallOptions | undefined): AdapterRequest;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves the effective base path:
|
|
3
|
+
* per-call `basePath` > default `basePath` > config `basePath` (fallback).
|
|
4
|
+
*/
|
|
5
|
+
export function resolveBasePath(defaults, options, fallback) {
|
|
6
|
+
return options?.basePath ?? defaults?.basePath ?? fallback;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Resolves the effective AbortSignal by combining (via `AbortSignal.any`):
|
|
10
|
+
* - default signal (if any)
|
|
11
|
+
* - per-call signal (if any)
|
|
12
|
+
* - timeout signal (if resolved timeout > 0)
|
|
13
|
+
*
|
|
14
|
+
* Returns undefined when none apply. Per-call `timeout: 0` disables an
|
|
15
|
+
* inherited default timeout.
|
|
16
|
+
*/
|
|
17
|
+
export function resolveSignal(defaults, options) {
|
|
18
|
+
const signals = [];
|
|
19
|
+
if (defaults?.signal)
|
|
20
|
+
signals.push(defaults.signal);
|
|
21
|
+
if (options?.signal)
|
|
22
|
+
signals.push(options.signal);
|
|
23
|
+
const timeout = options?.timeout ?? defaults?.timeout;
|
|
24
|
+
if (timeout != null && timeout > 0) {
|
|
25
|
+
signals.push(AbortSignal.timeout(timeout));
|
|
26
|
+
}
|
|
27
|
+
if (signals.length === 0)
|
|
28
|
+
return undefined;
|
|
29
|
+
if (signals.length === 1)
|
|
30
|
+
return signals[0];
|
|
31
|
+
return AbortSignal.any(signals);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Merges headers with precedence: default < per-call. Returns undefined if
|
|
35
|
+
* no headers would be set.
|
|
36
|
+
*/
|
|
37
|
+
export function resolveHeaders(defaults, options) {
|
|
38
|
+
const defaultHeaders = defaults?.headers;
|
|
39
|
+
const callHeaders = options?.headers;
|
|
40
|
+
if (!defaultHeaders && !callHeaders)
|
|
41
|
+
return undefined;
|
|
42
|
+
return { ...defaultHeaders, ...callHeaders };
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Merges meta with precedence: default < per-call. Returns undefined if
|
|
46
|
+
* no meta fields would be set.
|
|
47
|
+
*
|
|
48
|
+
* The cast is load-bearing: when a developer augments `RequestMeta` with
|
|
49
|
+
* required fields, spread of two `RequestMeta | undefined` values widens to
|
|
50
|
+
* a partial shape, which TypeScript can't prove satisfies `RequestMeta`.
|
|
51
|
+
* At runtime, the merged object carries whichever keys the caller supplied —
|
|
52
|
+
* the contract is "if you declare required fields in RequestMeta, supply them
|
|
53
|
+
* somewhere (defaults or per-call)."
|
|
54
|
+
*/
|
|
55
|
+
export function resolveMeta(defaults, options) {
|
|
56
|
+
const defaultMeta = defaults?.meta;
|
|
57
|
+
const callMeta = options?.meta;
|
|
58
|
+
if (!defaultMeta && !callMeta)
|
|
59
|
+
return undefined;
|
|
60
|
+
return { ...defaultMeta, ...callMeta };
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Applies resolved default + per-call options to an AdapterRequest.
|
|
64
|
+
*
|
|
65
|
+
* Runs before hooks, so `onBeforeRequest` observes the merged request and can
|
|
66
|
+
* still override any field.
|
|
67
|
+
*
|
|
68
|
+
* Headers produced by the request builder (e.g., `schema.input.headers` for
|
|
69
|
+
* API routes) are preserved; resolved headers merge underneath them so the
|
|
70
|
+
* route-declared headers win, matching the adapter.config → defaults → call
|
|
71
|
+
* → route-declared → hooks precedence chain documented in the types.
|
|
72
|
+
*/
|
|
73
|
+
export function applyRequestOptions(request, defaults, options) {
|
|
74
|
+
const signal = resolveSignal(defaults, options);
|
|
75
|
+
const resolvedHeaders = resolveHeaders(defaults, options);
|
|
76
|
+
const meta = resolveMeta(defaults, options);
|
|
77
|
+
const headers = resolvedHeaders || request.headers
|
|
78
|
+
? { ...resolvedHeaders, ...request.headers }
|
|
79
|
+
: undefined;
|
|
80
|
+
return { ...request, headers, signal, meta };
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=resolve-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-options.js","sourceRoot":"","sources":["../../src/client/resolve-options.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,QAA2C,EAC3C,OAAyC,EACzC,QAAgB;IAEhB,OAAO,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAA;AAC5D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC3B,QAA2C,EAC3C,OAAyC;IAEzC,MAAM,OAAO,GAAkB,EAAE,CAAA;IAEjC,IAAI,QAAQ,EAAE,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACnD,IAAI,OAAO,EAAE,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAEjD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,CAAA;IACrD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,QAA2C,EAC3C,OAAyC;IAEzC,MAAM,cAAc,GAAG,QAAQ,EAAE,OAAO,CAAA;IACxC,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,CAAA;IAEpC,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAA;IAErD,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,WAAW,EAAE,CAAA;AAC9C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,WAAW,CACzB,QAA2C,EAC3C,OAAyC;IAEzC,MAAM,WAAW,GAAG,QAAQ,EAAE,IAAI,CAAA;IAClC,MAAM,QAAQ,GAAG,OAAO,EAAE,IAAI,CAAA;IAE9B,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAA;IAE/C,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,QAAQ,EAAiB,CAAA;AACvD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAuB,EACvB,QAA2C,EAC3C,OAAyC;IAEzC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC/C,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACzD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAE3C,MAAM,OAAO,GACX,eAAe,IAAI,OAAO,CAAC,OAAO;QAChC,CAAC,CAAC,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;QAC5C,CAAC,CAAC,SAAS,CAAA;IAEf,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AAC9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
+
import { applyRequestOptions, resolveBasePath, resolveHeaders, resolveMeta, resolveSignal, } from './resolve-options.js';
|
|
3
|
+
// ── resolveBasePath ───────────────────────────────────────
|
|
4
|
+
describe('resolveBasePath', () => {
|
|
5
|
+
it('uses fallback when nothing is set', () => {
|
|
6
|
+
expect(resolveBasePath(undefined, undefined, 'https://api.example.com')).toBe('https://api.example.com');
|
|
7
|
+
});
|
|
8
|
+
it('uses default when only defaults.basePath is set', () => {
|
|
9
|
+
expect(resolveBasePath({ basePath: 'https://default.example.com' }, undefined, 'https://fallback')).toBe('https://default.example.com');
|
|
10
|
+
});
|
|
11
|
+
it('per-call basePath overrides default', () => {
|
|
12
|
+
expect(resolveBasePath({ basePath: 'https://default.example.com' }, { basePath: 'https://percall.example.com' }, 'https://fallback')).toBe('https://percall.example.com');
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
// ── resolveHeaders ────────────────────────────────────────
|
|
16
|
+
describe('resolveHeaders', () => {
|
|
17
|
+
it('returns undefined when neither side sets headers', () => {
|
|
18
|
+
expect(resolveHeaders(undefined, undefined)).toBeUndefined();
|
|
19
|
+
});
|
|
20
|
+
it('returns default headers when only defaults set', () => {
|
|
21
|
+
expect(resolveHeaders({ headers: { 'x-a': '1' } }, undefined)).toEqual({ 'x-a': '1' });
|
|
22
|
+
});
|
|
23
|
+
it('per-call keys override default keys', () => {
|
|
24
|
+
const defaults = { headers: { 'x-a': 'default', 'x-b': 'keep' } };
|
|
25
|
+
const options = { headers: { 'x-a': 'override' } };
|
|
26
|
+
expect(resolveHeaders(defaults, options)).toEqual({
|
|
27
|
+
'x-a': 'override',
|
|
28
|
+
'x-b': 'keep',
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
// ── resolveMeta ───────────────────────────────────────────
|
|
33
|
+
describe('resolveMeta', () => {
|
|
34
|
+
it('returns undefined when neither side sets meta', () => {
|
|
35
|
+
expect(resolveMeta(undefined, undefined)).toBeUndefined();
|
|
36
|
+
});
|
|
37
|
+
it('merges default + per-call meta (shallow), per-call keys win', () => {
|
|
38
|
+
const defaults = { meta: { a: 1, b: 2 } };
|
|
39
|
+
const options = { meta: { b: 99, c: 3 } };
|
|
40
|
+
expect(resolveMeta(defaults, options)).toEqual({ a: 1, b: 99, c: 3 });
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
// ── resolveSignal ─────────────────────────────────────────
|
|
44
|
+
describe('resolveSignal', () => {
|
|
45
|
+
it('returns undefined when nothing is set', () => {
|
|
46
|
+
expect(resolveSignal(undefined, undefined)).toBeUndefined();
|
|
47
|
+
});
|
|
48
|
+
it('returns the default signal when no timeout and no per-call signal', () => {
|
|
49
|
+
const controller = new AbortController();
|
|
50
|
+
expect(resolveSignal({ signal: controller.signal }, undefined)).toBe(controller.signal);
|
|
51
|
+
});
|
|
52
|
+
it('returns the per-call signal when no default and no timeout', () => {
|
|
53
|
+
const controller = new AbortController();
|
|
54
|
+
expect(resolveSignal(undefined, { signal: controller.signal })).toBe(controller.signal);
|
|
55
|
+
});
|
|
56
|
+
it('combines default + per-call signals — default aborts combined signal', () => {
|
|
57
|
+
const defaultCtrl = new AbortController();
|
|
58
|
+
const callCtrl = new AbortController();
|
|
59
|
+
const signal = resolveSignal({ signal: defaultCtrl.signal }, { signal: callCtrl.signal });
|
|
60
|
+
expect(signal.aborted).toBe(false);
|
|
61
|
+
defaultCtrl.abort(new Error('default-abort'));
|
|
62
|
+
expect(signal.aborted).toBe(true);
|
|
63
|
+
});
|
|
64
|
+
it('combines default + per-call signals — per-call aborts combined signal', () => {
|
|
65
|
+
const defaultCtrl = new AbortController();
|
|
66
|
+
const callCtrl = new AbortController();
|
|
67
|
+
const signal = resolveSignal({ signal: defaultCtrl.signal }, { signal: callCtrl.signal });
|
|
68
|
+
callCtrl.abort(new Error('call-abort'));
|
|
69
|
+
expect(signal.aborted).toBe(true);
|
|
70
|
+
});
|
|
71
|
+
it('applies timeout via AbortSignal.timeout', () => {
|
|
72
|
+
const spy = vi.spyOn(AbortSignal, 'timeout');
|
|
73
|
+
try {
|
|
74
|
+
const signal = resolveSignal(undefined, { timeout: 100 });
|
|
75
|
+
expect(spy).toHaveBeenCalledWith(100);
|
|
76
|
+
expect(signal).toBeDefined();
|
|
77
|
+
}
|
|
78
|
+
finally {
|
|
79
|
+
spy.mockRestore();
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
it('per-call timeout overrides default timeout', () => {
|
|
83
|
+
const spy = vi.spyOn(AbortSignal, 'timeout');
|
|
84
|
+
try {
|
|
85
|
+
resolveSignal({ timeout: 10_000 }, { timeout: 100 });
|
|
86
|
+
expect(spy).toHaveBeenCalledWith(100);
|
|
87
|
+
expect(spy).not.toHaveBeenCalledWith(10_000);
|
|
88
|
+
}
|
|
89
|
+
finally {
|
|
90
|
+
spy.mockRestore();
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
it('combines signal + timeout — signal aborts first', () => {
|
|
94
|
+
const controller = new AbortController();
|
|
95
|
+
const signal = resolveSignal(undefined, { signal: controller.signal, timeout: 10_000 });
|
|
96
|
+
expect(signal.aborted).toBe(false);
|
|
97
|
+
controller.abort();
|
|
98
|
+
expect(signal.aborted).toBe(true);
|
|
99
|
+
});
|
|
100
|
+
it('per-call timeout: 0 disables default timeout', () => {
|
|
101
|
+
const signal = resolveSignal({ timeout: 1000 }, { timeout: 0 });
|
|
102
|
+
expect(signal).toBeUndefined();
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
// ── applyRequestOptions ───────────────────────────────────
|
|
106
|
+
describe('applyRequestOptions', () => {
|
|
107
|
+
const baseRequest = {
|
|
108
|
+
url: 'https://api.example.com/foo',
|
|
109
|
+
method: 'POST',
|
|
110
|
+
body: { hello: 'world' },
|
|
111
|
+
};
|
|
112
|
+
it('returns the request unchanged when nothing is provided', () => {
|
|
113
|
+
const result = applyRequestOptions(baseRequest, undefined, undefined);
|
|
114
|
+
expect(result.url).toBe(baseRequest.url);
|
|
115
|
+
expect(result.body).toEqual({ hello: 'world' });
|
|
116
|
+
expect(result.headers).toBeUndefined();
|
|
117
|
+
expect(result.signal).toBeUndefined();
|
|
118
|
+
expect(result.meta).toBeUndefined();
|
|
119
|
+
});
|
|
120
|
+
it('merges default + per-call headers, preserving route-declared headers', () => {
|
|
121
|
+
const reqWithHeaders = {
|
|
122
|
+
...baseRequest,
|
|
123
|
+
headers: { 'content-type': 'application/json', 'x-route': 'declared' },
|
|
124
|
+
};
|
|
125
|
+
const result = applyRequestOptions(reqWithHeaders, { headers: { 'x-default': 'd', 'x-route': 'from-default' } }, { headers: { 'x-call': 'c', 'x-route': 'from-call' } });
|
|
126
|
+
expect(result.headers).toEqual({
|
|
127
|
+
'x-default': 'd',
|
|
128
|
+
'x-call': 'c',
|
|
129
|
+
// Route-declared headers WIN over resolved options (typed contract)
|
|
130
|
+
'content-type': 'application/json',
|
|
131
|
+
'x-route': 'declared',
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
it('attaches meta to the request when provided', () => {
|
|
135
|
+
const result = applyRequestOptions(baseRequest, undefined, {
|
|
136
|
+
meta: { traceId: 'abc' },
|
|
137
|
+
});
|
|
138
|
+
expect(result.meta).toEqual({ traceId: 'abc' });
|
|
139
|
+
});
|
|
140
|
+
it('passes per-call signal through', () => {
|
|
141
|
+
const controller = new AbortController();
|
|
142
|
+
const result = applyRequestOptions(baseRequest, undefined, { signal: controller.signal });
|
|
143
|
+
expect(result.signal).toBe(controller.signal);
|
|
144
|
+
});
|
|
145
|
+
it('attaches a signal when per-call timeout is set', () => {
|
|
146
|
+
const spy = vi.spyOn(AbortSignal, 'timeout');
|
|
147
|
+
try {
|
|
148
|
+
const result = applyRequestOptions(baseRequest, undefined, { timeout: 100 });
|
|
149
|
+
expect(spy).toHaveBeenCalledWith(100);
|
|
150
|
+
expect(result.signal).toBeDefined();
|
|
151
|
+
expect(result.signal?.aborted).toBe(false);
|
|
152
|
+
}
|
|
153
|
+
finally {
|
|
154
|
+
spy.mockRestore();
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
//# sourceMappingURL=resolve-options.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-options.test.js","sourceRoot":"","sources":["../../src/client/resolve-options.test.ts"],"names":[],"mappings":"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"}
|
package/build/client/stream.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ClientAdapter, ClientHooks, StreamDescriptor, TypedStream } from './types.js';
|
|
1
|
+
import type { ClientAdapter, ClientHooks, ErrorRegistry, StreamDescriptor, TypedStream, ProcedureCallDefaults, ProcedureCallOptions } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Wraps an AsyncIterable into a TypedStream.
|
|
4
4
|
*
|
|
@@ -12,16 +12,26 @@ import type { ClientAdapter, ClientHooks, StreamDescriptor, TypedStream } from '
|
|
|
12
12
|
* On error: `.result` rejects and the error is re-thrown from the async iterator.
|
|
13
13
|
*/
|
|
14
14
|
export declare function createTypedStream<TYield, TReturn = void>(source: AsyncIterable<unknown>, streamMode: 'sse' | 'text'): TypedStream<TYield, TReturn>;
|
|
15
|
+
export interface ExecuteStreamConfig {
|
|
16
|
+
descriptor: StreamDescriptor;
|
|
17
|
+
basePath: string;
|
|
18
|
+
adapter: ClientAdapter;
|
|
19
|
+
hooks: ClientHooks;
|
|
20
|
+
defaults?: ProcedureCallDefaults;
|
|
21
|
+
options?: ProcedureCallOptions;
|
|
22
|
+
errorRegistry?: ErrorRegistry;
|
|
23
|
+
}
|
|
15
24
|
/**
|
|
16
25
|
* Executes a streaming procedure call through the adapter.
|
|
17
26
|
*
|
|
18
27
|
* Flow:
|
|
19
|
-
* 1.
|
|
20
|
-
* 2.
|
|
21
|
-
* 3.
|
|
22
|
-
* 4.
|
|
23
|
-
* 5.
|
|
24
|
-
* 6.
|
|
25
|
-
* 7.
|
|
28
|
+
* 1. Resolve base path and build AdapterRequest
|
|
29
|
+
* 2. Apply request options (headers, signal, timeout, meta) from defaults + per-call
|
|
30
|
+
* 3. Run onBeforeRequest hooks
|
|
31
|
+
* 4. Call adapter.stream()
|
|
32
|
+
* 5. On adapter error: run onError hooks, re-throw
|
|
33
|
+
* 6. Run onAfterResponse immediately (before iteration), body is null
|
|
34
|
+
* 7. If non-2xx: throw ClientRequestError
|
|
35
|
+
* 8. Return createTypedStream(streamResponse.body, descriptor.streamMode)
|
|
26
36
|
*/
|
|
27
|
-
export declare function executeStream<TYield, TReturn = void>(
|
|
37
|
+
export declare function executeStream<TYield, TReturn = void>(config: ExecuteStreamConfig): Promise<TypedStream<TYield, TReturn>>;
|
package/build/client/stream.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { buildAdapterRequest } from './request-builder.js';
|
|
2
2
|
import { runBeforeRequest, runAfterResponse, runOnError } from './hooks.js';
|
|
3
|
+
import { applyRequestOptions, resolveBasePath } from './resolve-options.js';
|
|
3
4
|
import { ClientRequestError } from './errors.js';
|
|
5
|
+
import { dispatchTypedError } from './error-dispatch.js';
|
|
4
6
|
// ── createTypedStream ─────────────────────────────────────
|
|
5
7
|
/**
|
|
6
8
|
* Wraps an AsyncIterable into a TypedStream.
|
|
@@ -65,45 +67,58 @@ export function createTypedStream(source, streamMode) {
|
|
|
65
67
|
result: resultPromise,
|
|
66
68
|
};
|
|
67
69
|
}
|
|
68
|
-
// ── executeStream ─────────────────────────────────────────
|
|
69
70
|
/**
|
|
70
71
|
* Executes a streaming procedure call through the adapter.
|
|
71
72
|
*
|
|
72
73
|
* Flow:
|
|
73
|
-
* 1.
|
|
74
|
-
* 2.
|
|
75
|
-
* 3.
|
|
76
|
-
* 4.
|
|
77
|
-
* 5.
|
|
78
|
-
* 6.
|
|
79
|
-
* 7.
|
|
74
|
+
* 1. Resolve base path and build AdapterRequest
|
|
75
|
+
* 2. Apply request options (headers, signal, timeout, meta) from defaults + per-call
|
|
76
|
+
* 3. Run onBeforeRequest hooks
|
|
77
|
+
* 4. Call adapter.stream()
|
|
78
|
+
* 5. On adapter error: run onError hooks, re-throw
|
|
79
|
+
* 6. Run onAfterResponse immediately (before iteration), body is null
|
|
80
|
+
* 7. If non-2xx: throw ClientRequestError
|
|
81
|
+
* 8. Return createTypedStream(streamResponse.body, descriptor.streamMode)
|
|
80
82
|
*/
|
|
81
|
-
export async function executeStream(
|
|
83
|
+
export async function executeStream(config) {
|
|
84
|
+
const { descriptor, basePath, adapter, hooks, defaults, options, errorRegistry } = config;
|
|
82
85
|
// 1. Build the initial request
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
+
const resolvedBasePath = resolveBasePath(defaults, options, basePath);
|
|
87
|
+
let request = buildAdapterRequest(descriptor, resolvedBasePath);
|
|
88
|
+
// 2. Apply request-level options (headers, signal, timeout, meta)
|
|
89
|
+
request = applyRequestOptions(request, defaults, options);
|
|
90
|
+
// 3. Run before-request hooks
|
|
91
|
+
const beforeCtx = await runBeforeRequest({ procedureName: descriptor.name, scope: descriptor.scope, request }, hooks, options);
|
|
86
92
|
request = beforeCtx.request;
|
|
87
|
-
//
|
|
93
|
+
// 4. Call the adapter
|
|
88
94
|
let streamResponse;
|
|
89
95
|
try {
|
|
90
96
|
streamResponse = await adapter.stream(request);
|
|
91
97
|
}
|
|
92
98
|
catch (err) {
|
|
93
|
-
//
|
|
94
|
-
await runOnError({ procedureName: descriptor.name, scope: descriptor.scope, request, error: err },
|
|
99
|
+
// 5. On adapter error: run error hooks, re-throw
|
|
100
|
+
await runOnError({ procedureName: descriptor.name, scope: descriptor.scope, request, error: err }, hooks, options);
|
|
95
101
|
throw err;
|
|
96
102
|
}
|
|
97
|
-
// Build an AdapterResponse shape for the hooks
|
|
103
|
+
// Build an AdapterResponse shape for the hooks. For success the body is null
|
|
104
|
+
// (the actual data flows through the async iterable); for non-2xx the adapter
|
|
105
|
+
// eagerly parses the JSON response body and surfaces it via `errorBody`.
|
|
98
106
|
const responseForHooks = {
|
|
99
107
|
status: streamResponse.status,
|
|
100
108
|
headers: streamResponse.headers,
|
|
101
|
-
body: null,
|
|
109
|
+
body: streamResponse.errorBody ?? null,
|
|
102
110
|
};
|
|
103
|
-
//
|
|
104
|
-
await runAfterResponse({ procedureName: descriptor.name, scope: descriptor.scope, request, response: responseForHooks },
|
|
105
|
-
//
|
|
111
|
+
// 6. Run after-response hooks immediately (before iteration)
|
|
112
|
+
await runAfterResponse({ procedureName: descriptor.name, scope: descriptor.scope, request, response: responseForHooks }, hooks, options);
|
|
113
|
+
// 7. Check status after hooks (hooks may mutate responseForHooks.status)
|
|
106
114
|
if (responseForHooks.status < 200 || responseForHooks.status >= 300) {
|
|
115
|
+
const typed = dispatchTypedError(errorRegistry, responseForHooks.body, {
|
|
116
|
+
status: responseForHooks.status,
|
|
117
|
+
procedureName: descriptor.name,
|
|
118
|
+
scope: descriptor.scope,
|
|
119
|
+
});
|
|
120
|
+
if (typed)
|
|
121
|
+
throw typed;
|
|
107
122
|
throw new ClientRequestError({
|
|
108
123
|
status: responseForHooks.status,
|
|
109
124
|
headers: responseForHooks.headers,
|
|
@@ -112,7 +127,7 @@ export async function executeStream(descriptor, basePath, adapter, globalHooks,
|
|
|
112
127
|
scope: descriptor.scope,
|
|
113
128
|
});
|
|
114
129
|
}
|
|
115
|
-
//
|
|
130
|
+
// 8. Return the typed stream
|
|
116
131
|
return createTypedStream(streamResponse.body, descriptor.streamMode);
|
|
117
132
|
}
|
|
118
133
|
//# sourceMappingURL=stream.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/client/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/client/stream.ts"],"names":[],"mappings":"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"}
|