ts-procedures 8.2.1 → 8.4.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.
Files changed (146) hide show
  1. package/agent_config/claude-code/skills/ts-procedures/SKILL.md +31 -9
  2. package/agent_config/claude-code/skills/ts-procedures/api-reference.md +3 -1
  3. package/agent_config/claude-code/skills/ts-procedures/patterns.md +30 -6
  4. package/agent_config/claude-code/skills/ts-procedures/templates/client.md +3 -3
  5. package/agent_config/claude-code/skills/ts-procedures/templates/hono.md +3 -3
  6. package/agent_config/claude-code/skills/ts-procedures/templates/procedure.md +3 -3
  7. package/agent_config/claude-code/skills/ts-procedures/templates/stream-procedure.md +3 -3
  8. package/agent_config/copilot/copilot-instructions.md +10 -6
  9. package/agent_config/cursor/cursorrules +10 -6
  10. package/build/client/call.js +1 -1
  11. package/build/client/call.js.map +1 -1
  12. package/build/client/index.d.ts +1 -1
  13. package/build/client/index.js +23 -1
  14. package/build/client/index.js.map +1 -1
  15. package/build/client/index.test.js +87 -0
  16. package/build/client/index.test.js.map +1 -1
  17. package/build/client/resolve-options.d.ts +5 -4
  18. package/build/client/resolve-options.js +18 -7
  19. package/build/client/resolve-options.js.map +1 -1
  20. package/build/client/resolve-options.test.js +53 -24
  21. package/build/client/resolve-options.test.js.map +1 -1
  22. package/build/client/stream.js +1 -1
  23. package/build/client/stream.js.map +1 -1
  24. package/build/client/types.d.ts +31 -3
  25. package/build/codegen/__fixtures__/make-envelope.d.ts +41 -0
  26. package/build/codegen/__fixtures__/make-envelope.js +38 -0
  27. package/build/codegen/__fixtures__/make-envelope.js.map +1 -0
  28. package/build/codegen/bin/cli.d.ts +11 -0
  29. package/build/codegen/bin/cli.js +30 -21
  30. package/build/codegen/bin/cli.js.map +1 -1
  31. package/build/codegen/bin/cli.test.js +36 -1
  32. package/build/codegen/bin/cli.test.js.map +1 -1
  33. package/build/codegen/bin/flag-specs.d.ts +10 -0
  34. package/build/codegen/bin/flag-specs.js +60 -0
  35. package/build/codegen/bin/flag-specs.js.map +1 -0
  36. package/build/codegen/bin/flag-specs.test.d.ts +1 -0
  37. package/build/codegen/bin/flag-specs.test.js +26 -0
  38. package/build/codegen/bin/flag-specs.test.js.map +1 -0
  39. package/build/codegen/collect-models.d.ts +37 -0
  40. package/build/codegen/collect-models.js +74 -0
  41. package/build/codegen/collect-models.js.map +1 -0
  42. package/build/codegen/collect-models.test.d.ts +1 -0
  43. package/build/codegen/collect-models.test.js +40 -0
  44. package/build/codegen/collect-models.test.js.map +1 -0
  45. package/build/codegen/emit-client-runtime.js +1 -0
  46. package/build/codegen/emit-client-runtime.js.map +1 -1
  47. package/build/codegen/emit-errors.integration.test.js +22 -0
  48. package/build/codegen/emit-errors.integration.test.js.map +1 -1
  49. package/build/codegen/emit-models.d.ts +26 -0
  50. package/build/codegen/emit-models.js +53 -0
  51. package/build/codegen/emit-models.js.map +1 -0
  52. package/build/codegen/emit-models.test.d.ts +1 -0
  53. package/build/codegen/emit-models.test.js +42 -0
  54. package/build/codegen/emit-models.test.js.map +1 -0
  55. package/build/codegen/emit-scope.d.ts +10 -0
  56. package/build/codegen/emit-scope.js +119 -34
  57. package/build/codegen/emit-scope.js.map +1 -1
  58. package/build/codegen/emit-types.d.ts +26 -1
  59. package/build/codegen/emit-types.js +27 -5
  60. package/build/codegen/emit-types.js.map +1 -1
  61. package/build/codegen/index.d.ts +5 -0
  62. package/build/codegen/index.js +2 -0
  63. package/build/codegen/index.js.map +1 -1
  64. package/build/codegen/model-refs.d.ts +27 -0
  65. package/build/codegen/model-refs.js +49 -0
  66. package/build/codegen/model-refs.js.map +1 -0
  67. package/build/codegen/model-refs.test.d.ts +1 -0
  68. package/build/codegen/model-refs.test.js +33 -0
  69. package/build/codegen/model-refs.test.js.map +1 -0
  70. package/build/codegen/pipeline.d.ts +3 -0
  71. package/build/codegen/pipeline.js +3 -1
  72. package/build/codegen/pipeline.js.map +1 -1
  73. package/build/codegen/schema-walk.d.ts +13 -0
  74. package/build/codegen/schema-walk.js +26 -0
  75. package/build/codegen/schema-walk.js.map +1 -0
  76. package/build/codegen/schema-walk.test.d.ts +1 -0
  77. package/build/codegen/schema-walk.test.js +35 -0
  78. package/build/codegen/schema-walk.test.js.map +1 -0
  79. package/build/codegen/targets/_shared/target-run.d.ts +5 -0
  80. package/build/codegen/targets/ts/run.js +28 -1
  81. package/build/codegen/targets/ts/run.js.map +1 -1
  82. package/build/codegen/targets/ts/shared-models.test.d.ts +1 -0
  83. package/build/codegen/targets/ts/shared-models.test.js +258 -0
  84. package/build/codegen/targets/ts/shared-models.test.js.map +1 -0
  85. package/build/doc-envelope.d.ts +13 -0
  86. package/build/doc-envelope.js +23 -0
  87. package/build/doc-envelope.js.map +1 -0
  88. package/build/doc-envelope.test.d.ts +1 -0
  89. package/build/doc-envelope.test.js +31 -0
  90. package/build/doc-envelope.test.js.map +1 -0
  91. package/build/exports.d.ts +2 -0
  92. package/build/exports.js +1 -0
  93. package/build/exports.js.map +1 -1
  94. package/build/implementations/http/error-taxonomy.d.ts +40 -0
  95. package/build/implementations/http/error-taxonomy.js +57 -5
  96. package/build/implementations/http/error-taxonomy.js.map +1 -1
  97. package/build/implementations/http/error-taxonomy.test.js +95 -1
  98. package/build/implementations/http/error-taxonomy.test.js.map +1 -1
  99. package/build/implementations/http/hono/handlers/http.js +19 -24
  100. package/build/implementations/http/hono/handlers/http.js.map +1 -1
  101. package/build/implementations/http/hono/handlers/http.test.js +64 -1
  102. package/build/implementations/http/hono/handlers/http.test.js.map +1 -1
  103. package/docs/client-and-codegen.md +109 -0
  104. package/docs/core.md +2 -0
  105. package/docs/handoffs/ajsc-named-type-collision.md +134 -0
  106. package/docs/handoffs/ajsc-named-type-support.md +181 -0
  107. package/docs/http-integrations.md +4 -0
  108. package/docs/superpowers/plans/2026-06-05-dx-feedback-round.md +1292 -0
  109. package/docs/superpowers/specs/2026-06-05-dx-feedback-round-design.md +285 -0
  110. package/package.json +2 -2
  111. package/src/client/call.ts +1 -1
  112. package/src/client/index.test.ts +98 -0
  113. package/src/client/index.ts +32 -1
  114. package/src/client/resolve-options.test.ts +73 -26
  115. package/src/client/resolve-options.ts +23 -9
  116. package/src/client/stream.ts +1 -1
  117. package/src/client/types.ts +34 -3
  118. package/src/codegen/__fixtures__/make-envelope.ts +89 -0
  119. package/src/codegen/bin/cli.test.ts +38 -1
  120. package/src/codegen/bin/cli.ts +33 -22
  121. package/src/codegen/bin/flag-specs.test.ts +27 -0
  122. package/src/codegen/bin/flag-specs.ts +69 -0
  123. package/src/codegen/collect-models.test.ts +46 -0
  124. package/src/codegen/collect-models.ts +108 -0
  125. package/src/codegen/emit-client-runtime.ts +1 -0
  126. package/src/codegen/emit-errors.integration.test.ts +26 -0
  127. package/src/codegen/emit-models.test.ts +48 -0
  128. package/src/codegen/emit-models.ts +63 -0
  129. package/src/codegen/emit-scope.ts +145 -33
  130. package/src/codegen/emit-types.ts +48 -7
  131. package/src/codegen/index.ts +7 -0
  132. package/src/codegen/model-refs.test.ts +37 -0
  133. package/src/codegen/model-refs.ts +57 -0
  134. package/src/codegen/pipeline.ts +6 -1
  135. package/src/codegen/schema-walk.test.ts +37 -0
  136. package/src/codegen/schema-walk.ts +23 -0
  137. package/src/codegen/targets/_shared/target-run.ts +5 -0
  138. package/src/codegen/targets/ts/run.ts +33 -0
  139. package/src/codegen/targets/ts/shared-models.test.ts +283 -0
  140. package/src/doc-envelope.test.ts +35 -0
  141. package/src/doc-envelope.ts +30 -0
  142. package/src/exports.ts +2 -0
  143. package/src/implementations/http/error-taxonomy.test.ts +111 -0
  144. package/src/implementations/http/error-taxonomy.ts +60 -5
  145. package/src/implementations/http/hono/handlers/http.test.ts +69 -1
  146. package/src/implementations/http/hono/handlers/http.ts +19 -21
@@ -38,10 +38,11 @@ export declare function resolveSignalSources(defaults: ProcedureCallDefaults | u
38
38
  */
39
39
  export declare function resolveSignal(defaults: ProcedureCallDefaults | undefined, options: ProcedureCallOptions | undefined): AbortSignal | undefined;
40
40
  /**
41
- * Merges headers with precedence: default < per-call. Returns undefined if
42
- * no headers would be set.
41
+ * Merges headers with precedence: default < per-call. Function-valued headers
42
+ * are evaluated (and awaited) per call. Returns undefined if no headers would
43
+ * be set.
43
44
  */
44
- export declare function resolveHeaders(defaults: ProcedureCallDefaults | undefined, options: ProcedureCallOptions | undefined): Record<string, string> | undefined;
45
+ export declare function resolveHeaders(defaults: ProcedureCallDefaults | undefined, options: ProcedureCallOptions | undefined): Promise<Record<string, string> | undefined>;
45
46
  /**
46
47
  * Merges meta with precedence: default < per-call. Returns undefined if
47
48
  * no meta fields would be set.
@@ -73,4 +74,4 @@ export interface ApplyRequestOptionsResult {
73
74
  * the error classifier in Task 6) can distinguish timeout from user abort without
74
75
  * losing provenance after `AbortSignal.any` collapses the originals.
75
76
  */
76
- export declare function applyRequestOptions(request: AdapterRequest, defaults: ProcedureCallDefaults | undefined, options: ProcedureCallOptions | undefined): ApplyRequestOptionsResult;
77
+ export declare function applyRequestOptions(request: AdapterRequest, defaults: ProcedureCallDefaults | undefined, options: ProcedureCallOptions | undefined): Promise<ApplyRequestOptionsResult>;
@@ -40,12 +40,23 @@ export function resolveSignal(defaults, options) {
40
40
  return resolveSignalSources(defaults, options).combined;
41
41
  }
42
42
  /**
43
- * Merges headers with precedence: default < per-call. Returns undefined if
44
- * no headers would be set.
43
+ * Resolves a `ClientHeadersInit` value: a static record passes through, a
44
+ * function is invoked and (if async) awaited — re-evaluated on every call so
45
+ * values like a rotating bearer token never go stale.
45
46
  */
46
- export function resolveHeaders(defaults, options) {
47
- const defaultHeaders = defaults?.headers;
48
- const callHeaders = options?.headers;
47
+ async function resolveHeadersValue(h) {
48
+ if (h == null)
49
+ return undefined;
50
+ return typeof h === 'function' ? await h() : h;
51
+ }
52
+ /**
53
+ * Merges headers with precedence: default < per-call. Function-valued headers
54
+ * are evaluated (and awaited) per call. Returns undefined if no headers would
55
+ * be set.
56
+ */
57
+ export async function resolveHeaders(defaults, options) {
58
+ const defaultHeaders = await resolveHeadersValue(defaults?.headers);
59
+ const callHeaders = await resolveHeadersValue(options?.headers);
49
60
  if (!defaultHeaders && !callHeaders)
50
61
  return undefined;
51
62
  return { ...defaultHeaders, ...callHeaders };
@@ -83,9 +94,9 @@ export function resolveMeta(defaults, options) {
83
94
  * the error classifier in Task 6) can distinguish timeout from user abort without
84
95
  * losing provenance after `AbortSignal.any` collapses the originals.
85
96
  */
86
- export function applyRequestOptions(request, defaults, options) {
97
+ export async function applyRequestOptions(request, defaults, options) {
87
98
  const signalSources = resolveSignalSources(defaults, options);
88
- const resolvedHeaders = resolveHeaders(defaults, options);
99
+ const resolvedHeaders = await resolveHeaders(defaults, options);
89
100
  const meta = resolveMeta(defaults, options);
90
101
  const headers = resolvedHeaders || request.headers
91
102
  ? { ...resolvedHeaders, ...request.headers }
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-options.js","sourceRoot":"","sources":["../../src/client/resolve-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-options.js","sourceRoot":"","sources":["../../src/client/resolve-options.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  import { describe, it, expect, vi } from 'vitest';
2
2
  import { applyRequestOptions, resolveBasePath, resolveHeaders, resolveMeta, resolveSignal, resolveSignalSources, } from './resolve-options.js';
3
+ // Minimal valid AdapterRequest (headers undefined) shared across describe blocks.
4
+ const baseRequest = {
5
+ url: 'https://api.example.com/foo',
6
+ method: 'POST',
7
+ body: { hello: 'world' },
8
+ };
3
9
  // ── resolveBasePath ───────────────────────────────────────
4
10
  describe('resolveBasePath', () => {
5
11
  it('uses fallback when nothing is set', () => {
@@ -14,21 +20,49 @@ describe('resolveBasePath', () => {
14
20
  });
15
21
  // ── resolveHeaders ────────────────────────────────────────
16
22
  describe('resolveHeaders', () => {
17
- it('returns undefined when neither side sets headers', () => {
18
- expect(resolveHeaders(undefined, undefined)).toBeUndefined();
23
+ it('returns undefined when neither side sets headers', async () => {
24
+ expect(await resolveHeaders(undefined, undefined)).toBeUndefined();
19
25
  });
20
- it('returns default headers when only defaults set', () => {
21
- expect(resolveHeaders({ headers: { 'x-a': '1' } }, undefined)).toEqual({ 'x-a': '1' });
26
+ it('returns default headers when only defaults set', async () => {
27
+ expect(await resolveHeaders({ headers: { 'x-a': '1' } }, undefined)).toEqual({ 'x-a': '1' });
22
28
  });
23
- it('per-call keys override default keys', () => {
29
+ it('per-call keys override default keys', async () => {
24
30
  const defaults = { headers: { 'x-a': 'default', 'x-b': 'keep' } };
25
31
  const options = { headers: { 'x-a': 'override' } };
26
- expect(resolveHeaders(defaults, options)).toEqual({
32
+ expect(await resolveHeaders(defaults, options)).toEqual({
27
33
  'x-a': 'override',
28
34
  'x-b': 'keep',
29
35
  });
30
36
  });
31
37
  });
38
+ // ── resolveHeaders (function-valued) ──────────────────────
39
+ describe('function-valued headers', () => {
40
+ it('resolves a sync function-valued default header', async () => {
41
+ const { request } = await applyRequestOptions(baseRequest, { headers: () => ({ Authorization: 'Bearer t1' }) }, undefined);
42
+ expect(request.headers).toMatchObject({ Authorization: 'Bearer t1' });
43
+ });
44
+ it('resolves an async function-valued header', async () => {
45
+ const { request } = await applyRequestOptions(baseRequest, { headers: async () => ({ Authorization: 'Bearer async' }) }, undefined);
46
+ expect(request.headers).toMatchObject({ Authorization: 'Bearer async' });
47
+ });
48
+ it('per-call headers win over default headers (both functions)', async () => {
49
+ const { request } = await applyRequestOptions(baseRequest, { headers: () => ({ Authorization: 'Bearer default', 'x-a': '1' }) }, { headers: () => ({ Authorization: 'Bearer call' }) });
50
+ expect(request.headers).toMatchObject({ Authorization: 'Bearer call', 'x-a': '1' });
51
+ });
52
+ it('static record path still works', async () => {
53
+ const { request } = await applyRequestOptions(baseRequest, { headers: { 'x-s': 'v' } }, undefined);
54
+ expect(request.headers).toMatchObject({ 'x-s': 'v' });
55
+ });
56
+ it('re-evaluates the function on each call (no staleness)', async () => {
57
+ let token = 't1';
58
+ const headers = () => ({ Authorization: `Bearer ${token}` });
59
+ const first = await applyRequestOptions(baseRequest, { headers }, undefined);
60
+ expect(first.request.headers).toMatchObject({ Authorization: 'Bearer t1' });
61
+ token = 't2';
62
+ const second = await applyRequestOptions(baseRequest, { headers }, undefined);
63
+ expect(second.request.headers).toMatchObject({ Authorization: 'Bearer t2' });
64
+ });
65
+ });
32
66
  // ── resolveMeta ───────────────────────────────────────────
33
67
  describe('resolveMeta', () => {
34
68
  it('returns undefined when neither side sets meta', () => {
@@ -151,27 +185,22 @@ describe('resolveSignalSources', () => {
151
185
  });
152
186
  // ── applyRequestOptions ───────────────────────────────────
153
187
  // Helper so existing tests can destructure .request without boilerplate
154
- const apply = (req, d, o) => applyRequestOptions(req, d, o).request;
188
+ const apply = async (req, d, o) => (await applyRequestOptions(req, d, o)).request;
155
189
  describe('applyRequestOptions', () => {
156
- const baseRequest = {
157
- url: 'https://api.example.com/foo',
158
- method: 'POST',
159
- body: { hello: 'world' },
160
- };
161
- it('returns the request unchanged when nothing is provided', () => {
162
- const result = apply(baseRequest, undefined, undefined);
190
+ it('returns the request unchanged when nothing is provided', async () => {
191
+ const result = await apply(baseRequest, undefined, undefined);
163
192
  expect(result.url).toBe(baseRequest.url);
164
193
  expect(result.body).toEqual({ hello: 'world' });
165
194
  expect(result.headers).toBeUndefined();
166
195
  expect(result.signal).toBeUndefined();
167
196
  expect(result.meta).toBeUndefined();
168
197
  });
169
- it('merges default + per-call headers, preserving route-declared headers', () => {
198
+ it('merges default + per-call headers, preserving route-declared headers', async () => {
170
199
  const reqWithHeaders = {
171
200
  ...baseRequest,
172
201
  headers: { 'content-type': 'application/json', 'x-route': 'declared' },
173
202
  };
174
- const result = apply(reqWithHeaders, { headers: { 'x-default': 'd', 'x-route': 'from-default' } }, { headers: { 'x-call': 'c', 'x-route': 'from-call' } });
203
+ const result = await apply(reqWithHeaders, { headers: { 'x-default': 'd', 'x-route': 'from-default' } }, { headers: { 'x-call': 'c', 'x-route': 'from-call' } });
175
204
  expect(result.headers).toEqual({
176
205
  'x-default': 'd',
177
206
  'x-call': 'c',
@@ -180,21 +209,21 @@ describe('applyRequestOptions', () => {
180
209
  'x-route': 'declared',
181
210
  });
182
211
  });
183
- it('attaches meta to the request when provided', () => {
184
- const result = apply(baseRequest, undefined, {
212
+ it('attaches meta to the request when provided', async () => {
213
+ const result = await apply(baseRequest, undefined, {
185
214
  meta: { traceId: 'abc' },
186
215
  });
187
216
  expect(result.meta).toEqual({ traceId: 'abc' });
188
217
  });
189
- it('passes per-call signal through', () => {
218
+ it('passes per-call signal through', async () => {
190
219
  const controller = new AbortController();
191
- const result = apply(baseRequest, undefined, { signal: controller.signal });
220
+ const result = await apply(baseRequest, undefined, { signal: controller.signal });
192
221
  expect(result.signal).toBe(controller.signal);
193
222
  });
194
- it('attaches a signal when per-call timeout is set', () => {
223
+ it('attaches a signal when per-call timeout is set', async () => {
195
224
  const spy = vi.spyOn(AbortSignal, 'timeout');
196
225
  try {
197
- const result = apply(baseRequest, undefined, { timeout: 100 });
226
+ const result = await apply(baseRequest, undefined, { timeout: 100 });
198
227
  expect(spy).toHaveBeenCalledWith(100);
199
228
  expect(result.signal).toBeDefined();
200
229
  expect(result.signal?.aborted).toBe(false);
@@ -203,9 +232,9 @@ describe('applyRequestOptions', () => {
203
232
  spy.mockRestore();
204
233
  }
205
234
  });
206
- it('exposes signalSources alongside the request', () => {
235
+ it('exposes signalSources alongside the request', async () => {
207
236
  const ctrl = new AbortController();
208
- const { request, signalSources } = applyRequestOptions(baseRequest, undefined, {
237
+ const { request, signalSources } = await applyRequestOptions(baseRequest, undefined, {
209
238
  signal: ctrl.signal,
210
239
  timeout: 500,
211
240
  });
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-options.test.js","sourceRoot":"","sources":["../../src/client/resolve-options.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,WAAW,EACX,aAAa,EACb,oBAAoB,GACrB,MAAM,sBAAsB,CAAA;AAG7B,6DAA6D;AAE7D,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAC3E,yBAAyB,CAC1B,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CACJ,eAAe,CAAC,EAAE,QAAQ,EAAE,6BAA6B,EAAE,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAC5F,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CACJ,eAAe,CACb,EAAE,QAAQ,EAAE,6BAA6B,EAAE,EAC3C,EAAE,QAAQ,EAAE,6BAA6B,EAAE,EAC3C,kBAAkB,CACnB,CACF,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,6DAA6D;AAE7D,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACxF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,QAAQ,GAA0B,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAA;QACxF,MAAM,OAAO,GAAyB,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAA;QACxE,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YAChD,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,MAAM;SACd,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,6DAA6D;AAE7D,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,QAAQ,GAA0B,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAW,EAAE,CAAA;QACzE,MAAM,OAAO,GAAyB,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAW,EAAE,CAAA;QACxE,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,6DAA6D;AAE7D,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACzF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACzF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAA;QACzC,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAA;QACtC,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,CAAA;QAE1F,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAA;QAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAA;QACzC,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAA;QACtC,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,CAAA;QAE1F,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;YACzD,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;YACrC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;QAC9B,CAAC;gBAAS,CAAC;YACT,GAAG,CAAC,WAAW,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QAC5C,IAAI,CAAC;YACH,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;YACpD,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;YACrC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC;gBAAS,CAAC;YACT,GAAG,CAAC,WAAW,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAE,CAAA;QACxF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClC,UAAU,CAAC,KAAK,EAAE,CAAA;QAClB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;QAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAA;IAChC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,6DAA6D;AAE7D,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;QAChE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QACxD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QACnD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAA;QAClC,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QACvE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,aAAa,EAAE,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAA;QAClC,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;QACrF,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QACxD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QACzD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;QACtE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,aAAa,EAAE,CAAA;QAC5C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAA;QACzC,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAA;QACtC,MAAM,MAAM,GAAG,oBAAoB,CACjC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAC9B,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAC5B,CAAA;QACD,uDAAuD;QACvD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC/C,2CAA2C;QAC3C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QACnD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACpD,oDAAoD;QACpD,WAAW,CAAC,KAAK,EAAE,CAAA;QACnB,MAAM,CAAC,MAAM,CAAC,QAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,6DAA6D;AAE7D,wEAAwE;AACxE,MAAM,KAAK,GAAG,CACZ,GAAmB,EACnB,CAAoC,EACpC,CAAmC,EACnC,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;AAE3C,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,MAAM,WAAW,GAAmB;QAClC,GAAG,EAAE,6BAA6B;QAClC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;KACzB,CAAA;IAED,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QACvD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACxC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;QAC/C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAA;QACtC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAA;QACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,cAAc,GAAmB;YACrC,GAAG,WAAW;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE;SACvE,CAAA;QACD,MAAM,MAAM,GAAG,KAAK,CAClB,cAAc,EACd,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAC5D,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,CACvD,CAAA;QACD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YAC7B,WAAW,EAAE,GAAG;YAChB,QAAQ,EAAE,GAAG;YACb,oEAAoE;YACpE,cAAc,EAAE,kBAAkB;YAClC,SAAS,EAAE,UAAU;SACtB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE;YAC3C,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAW;SAClC,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;QAC3E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;YAC9D,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;YACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5C,CAAC;gBAAS,CAAC;YACT,GAAG,CAAC,WAAW,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAA;QAClC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,mBAAmB,CAAC,WAAW,EAAE,SAAS,EAAE;YAC7E,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,GAAG;SACb,CAAC,CAAA;QACF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QAClD,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAClD,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QAC/D,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACzC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"resolve-options.test.js","sourceRoot":"","sources":["../../src/client/resolve-options.test.ts"],"names":[],"mappings":"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"}
@@ -123,7 +123,7 @@ export async function executeStream(config) {
123
123
  const resolvedBasePath = resolveBasePath(defaults, options, basePath);
124
124
  let request = buildAdapterRequest(descriptor, resolvedBasePath);
125
125
  // 2. Apply request-level options (headers, signal, timeout, meta)
126
- const applied = applyRequestOptions(request, defaults, options);
126
+ const applied = await applyRequestOptions(request, defaults, options);
127
127
  request = applied.request;
128
128
  const signalSources = applied.signalSources;
129
129
  // 3. Run before-request hooks
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/client/stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/client/stream.ts"],"names":[],"mappings":"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"}
@@ -161,16 +161,29 @@ export interface TypedStream<TYield, TReturn = void> extends AsyncIterable<TYiel
161
161
  * signal are provided, they're combined — whichever aborts first wins.
162
162
  * - `timeout`: Timeout in milliseconds. Combined with `signal` the same way.
163
163
  * A per-call `timeout: 0` disables an inherited default timeout.
164
- * - `headers`: Extra headers merged into the request. Per-call keys win over
165
- * default keys. Still subject to further mutation by `onBeforeRequest` hooks.
164
+ * - `headers`: Extra headers merged into the request, as a static record OR a
165
+ * (possibly async) function evaluated per request. Per-call keys win over
166
+ * default keys. Use the function form for values that change between calls
167
+ * (e.g. a rotating bearer token) so they don't go stale. Still subject to
168
+ * further mutation by `onBeforeRequest` hooks.
166
169
  * - `basePath`: Override the base path for this call. Per-call > default > config.
167
170
  * - `meta`: Per-request metadata typed via the {@link RequestMeta} interface.
168
171
  * Merged shallowly (per-call keys win over default keys).
169
172
  */
173
+ /**
174
+ * Request headers as a static record OR a (possibly async) function evaluated
175
+ * per request. Use the function form for values that change between calls — e.g.
176
+ * a rotating bearer token: `headers: () => ({ Authorization: `Bearer ${session.token}` })`.
177
+ * A static record captured at construction goes stale; a function is re-evaluated each call.
178
+ *
179
+ * Named `ClientHeadersInit` (not `HeadersInit`) to avoid shadowing the DOM lib's
180
+ * global `HeadersInit`, which has a different shape.
181
+ */
182
+ export type ClientHeadersInit = Record<string, string> | (() => Record<string, string> | Promise<Record<string, string>>);
170
183
  export interface ProcedureCallDefaults {
171
184
  signal?: AbortSignal;
172
185
  timeout?: number;
173
- headers?: Record<string, string>;
186
+ headers?: ClientHeadersInit;
174
187
  basePath?: string;
175
188
  meta?: RequestMeta;
176
189
  }
@@ -252,6 +265,21 @@ export interface CreateClientConfig<TScopes> {
252
265
  * matches, falls back to `ClientHttpError` (transport error shape).
253
266
  */
254
267
  errorRegistry?: ErrorRegistry;
268
+ /**
269
+ * Returns the current bearer token, re-evaluated per request (so a rotating
270
+ * token never goes stale). Wired internally to the `Authorization: Bearer
271
+ * <token>` header — a `null`/`undefined` token omits the header entirely.
272
+ *
273
+ * This is sugar over a function-valued `defaults.headers`; it composes with
274
+ * `defaults.headers` (both are applied, auth last) and is still subject to
275
+ * per-call `headers` and `onBeforeRequest`, which run after and can override.
276
+ *
277
+ * @example
278
+ * ```ts
279
+ * createClient({ adapter, basePath, auth: () => session.token, scopes })
280
+ * ```
281
+ */
282
+ auth?: () => string | null | undefined | Promise<string | null | undefined>;
255
283
  }
256
284
  import type { ClientHttpError, ClientNetworkError, ClientTimeoutError, ClientAbortError, ClientParseError, ClientPathParamError } from './errors.js';
257
285
  /**
@@ -0,0 +1,41 @@
1
+ import type { APIHttpRouteDoc, DocEnvelope, ErrorDoc, HeaderDoc, HttpMethod, RPCHttpRouteDoc } from '../../implementations/types.js';
2
+ /**
3
+ * Typed builders for codegen test envelopes.
4
+ *
5
+ * These return real {@link DocEnvelope}/route-doc shapes with no `as unknown as`
6
+ * casts — the JSON Schema slots are `Record<string, unknown>`, so any plain
7
+ * schema object drops in directly. Callers pass small typed param objects and
8
+ * the builders fill in sensible defaults (method, empty `errors`, etc.).
9
+ */
10
+ export interface MakeApiRouteOptions {
11
+ name: string;
12
+ scope?: string;
13
+ method?: HttpMethod;
14
+ /** Full resolved path. Defaults to `/${name}` when omitted. */
15
+ fullPath?: string;
16
+ /** Route path (without pathPrefix). Defaults to `fullPath`. */
17
+ path?: string;
18
+ successStatus?: number;
19
+ errors?: string[];
20
+ jsonSchema?: APIHttpRouteDoc['jsonSchema'];
21
+ }
22
+ /** Build a typed `kind: 'api'` route doc. */
23
+ export declare function makeApiRoute(opts: MakeApiRouteOptions): APIHttpRouteDoc;
24
+ export interface MakeRpcRouteOptions {
25
+ name: string;
26
+ scope?: string | string[];
27
+ version?: number;
28
+ /** Route path. Defaults to `/${name}` when omitted. */
29
+ path?: string;
30
+ errors?: string[];
31
+ jsonSchema?: RPCHttpRouteDoc['jsonSchema'];
32
+ }
33
+ /** Build a typed `kind: 'rpc'` route doc. */
34
+ export declare function makeRpcRoute(opts: MakeRpcRouteOptions): RPCHttpRouteDoc;
35
+ export interface MakeEnvelopeOptions {
36
+ basePath?: string;
37
+ headers?: HeaderDoc[];
38
+ errors?: ErrorDoc[];
39
+ }
40
+ /** Wrap route docs in a typed {@link DocEnvelope} with sensible defaults. */
41
+ export declare function makeEnvelope(routes: DocEnvelope['routes'], opts?: MakeEnvelopeOptions): DocEnvelope;
@@ -0,0 +1,38 @@
1
+ /** Build a typed `kind: 'api'` route doc. */
2
+ export function makeApiRoute(opts) {
3
+ const fullPath = opts.fullPath ?? `/${opts.name}`;
4
+ return {
5
+ kind: 'api',
6
+ name: opts.name,
7
+ scope: opts.scope,
8
+ method: opts.method ?? 'get',
9
+ path: opts.path ?? fullPath,
10
+ fullPath,
11
+ successStatus: opts.successStatus,
12
+ errors: opts.errors ?? [],
13
+ jsonSchema: opts.jsonSchema ?? {},
14
+ };
15
+ }
16
+ /** Build a typed `kind: 'rpc'` route doc. */
17
+ export function makeRpcRoute(opts) {
18
+ return {
19
+ kind: 'rpc',
20
+ name: opts.name,
21
+ scope: opts.scope ?? 'default',
22
+ version: opts.version ?? 1,
23
+ path: opts.path ?? `/${opts.name}`,
24
+ method: 'post',
25
+ errors: opts.errors ?? [],
26
+ jsonSchema: opts.jsonSchema ?? {},
27
+ };
28
+ }
29
+ /** Wrap route docs in a typed {@link DocEnvelope} with sensible defaults. */
30
+ export function makeEnvelope(routes, opts = {}) {
31
+ return {
32
+ basePath: opts.basePath ?? '/api',
33
+ headers: opts.headers ?? [],
34
+ errors: opts.errors ?? [],
35
+ routes,
36
+ };
37
+ }
38
+ //# sourceMappingURL=make-envelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-envelope.js","sourceRoot":"","sources":["../../../src/codegen/__fixtures__/make-envelope.ts"],"names":[],"mappings":"AA+BA,6CAA6C;AAC7C,MAAM,UAAU,YAAY,CAAC,IAAyB;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;IACjD,OAAO;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;QAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,QAAQ;QAC3B,QAAQ;QACR,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACzB,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;KAClC,CAAA;AACH,CAAC;AAYD,6CAA6C;AAC7C,MAAM,UAAU,YAAY,CAAC,IAAyB;IACpD,OAAO;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;QAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC;QAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;QAClC,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACzB,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;KAClC,CAAA;AACH,CAAC;AAQD,6EAA6E;AAC7E,MAAM,UAAU,YAAY,CAC1B,MAA6B,EAC7B,OAA4B,EAAE;IAE9B,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM;QACjC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACzB,MAAM;KACP,CAAA;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import type { AjscOptions } from '../emit-types.js';
3
+ import type { SharedTypesImportMap } from '../collect-models.js';
3
4
  export interface CodegenConfig {
4
5
  url?: string;
5
6
  file?: string;
@@ -23,6 +24,8 @@ export interface CodegenConfig {
23
24
  accessLevel?: 'public' | 'internal';
24
25
  };
25
26
  unsupportedUnions?: 'throw' | 'fallback';
27
+ shareModels?: boolean;
28
+ sharedTypesImport?: SharedTypesImportMap;
26
29
  }
27
30
  export interface ParsedArgs {
28
31
  url?: string;
@@ -47,6 +50,8 @@ export interface ParsedArgs {
47
50
  accessLevel?: 'public' | 'internal';
48
51
  };
49
52
  unsupportedUnions?: 'throw' | 'fallback';
53
+ shareModels: boolean;
54
+ sharedTypesImport?: SharedTypesImportMap;
50
55
  }
51
56
  /**
52
57
  * Loads a JSON config file. Returns undefined if the file doesn't exist.
@@ -84,3 +89,9 @@ export declare function warnIfKotlinNoOpFlags(parsed: {
84
89
  target?: 'ts' | 'kotlin';
85
90
  unsupportedUnions?: 'throw' | 'fallback';
86
91
  }): void;
92
+ /**
93
+ * True when the CLI should print usage and exit 0: an explicit --help/-h, or a
94
+ * bare invocation with no args. --help is handled here (not in parseArgs) so it
95
+ * never reaches the unknown-flag branch and never appears in did-you-mean.
96
+ */
97
+ export declare function shouldShowHelp(argv: string[]): boolean;
@@ -3,6 +3,7 @@ import { readFile } from 'node:fs/promises';
3
3
  import { resolve } from 'node:path';
4
4
  import { createHash } from 'node:crypto';
5
5
  import { generateClient } from '../index.js';
6
+ import { KNOWN_FLAGS, formatHelp } from './flag-specs.js';
6
7
  // ---------------------------------------------------------------------------
7
8
  // Config file loading
8
9
  // ---------------------------------------------------------------------------
@@ -27,28 +28,8 @@ export async function loadConfigFile(configPath) {
27
28
  }
28
29
  }
29
30
  // ---------------------------------------------------------------------------
30
- // Flag catalog + did-you-mean
31
+ // did-you-mean (the flag catalog now lives in ./flag-specs.ts)
31
32
  // ---------------------------------------------------------------------------
32
- /**
33
- * Every flag `parseArgs` recognises. Kept in one place so the unknown-flag
34
- * error can suggest the closest match for typos like `--targt` → `--target`.
35
- *
36
- * The list is also load-bearing: any new branch added to the parse loop
37
- * MUST also be added here, or the loop will throw on the very flag it just
38
- * accepted. (Kept literal — small enough that DRY-ing it isn't worth it.)
39
- */
40
- const KNOWN_FLAGS = [
41
- '--url', '--file', '--out', '--watch', '--interval',
42
- '--enum-style', '--depluralize', '--array-item-naming', '--uncountable-words',
43
- '--jsdoc', '--no-jsdoc',
44
- '--client-import-path', '--dry-run',
45
- '--namespace-types', '--no-namespace-types',
46
- '--self-contained', '--no-self-contained',
47
- '--service-name', '--clean-out-dir', '--no-clean-out-dir',
48
- '--target', '--kotlin-package', '--kotlin-serializer',
49
- '--swift-serializer', '--swift-access-level',
50
- '--unsupported-unions', '--config',
51
- ];
52
33
  /**
53
34
  * Levenshtein distance between two strings — small ad-hoc implementation
54
35
  * tuned for short flag names. We don't pull a dep just for typo suggestions.
@@ -135,6 +116,8 @@ export function parseArgs(argv, config) {
135
116
  let swiftSerializer = config?.swift?.serializer;
136
117
  let swiftAccessLevel = config?.swift?.accessLevel;
137
118
  let unsupportedUnions = config?.unsupportedUnions;
119
+ let shareModels = config?.shareModels ?? true;
120
+ const sharedTypesImport = config?.sharedTypesImport;
138
121
  let configPath;
139
122
  for (let i = 0; i < argv.length; i++) {
140
123
  const arg = argv[i];
@@ -250,6 +233,12 @@ export function parseArgs(argv, config) {
250
233
  throw new Error(`Invalid --unsupported-unions value: ${val ?? '(missing)'} (expected 'throw' or 'fallback')`);
251
234
  }
252
235
  }
236
+ else if (arg === '--share-models') {
237
+ shareModels = true;
238
+ }
239
+ else if (arg === '--no-share-models') {
240
+ shareModels = false;
241
+ }
253
242
  else if (arg === '--config') {
254
243
  configPath = argv[++i];
255
244
  }
@@ -318,6 +307,8 @@ export function parseArgs(argv, config) {
318
307
  }
319
308
  : {}),
320
309
  ...(unsupportedUnions !== undefined ? { unsupportedUnions } : {}),
310
+ shareModels,
311
+ ...(sharedTypesImport !== undefined ? { sharedTypesImport } : {}),
321
312
  };
322
313
  }
323
314
  /**
@@ -390,6 +381,8 @@ async function runWithWatch(parsed) {
390
381
  ...(parsed.unsupportedUnions !== undefined ? { unsupportedUnions: parsed.unsupportedUnions } : {}),
391
382
  ...(parsed.swift?.serializer !== undefined ? { swiftSerializer: parsed.swift.serializer } : {}),
392
383
  ...(parsed.swift?.accessLevel !== undefined ? { swiftAccessLevel: parsed.swift.accessLevel } : {}),
384
+ shareModels: parsed.shareModels,
385
+ ...(parsed.sharedTypesImport !== undefined ? { sharedTypesImport: parsed.sharedTypesImport } : {}),
393
386
  ...kotlinWiring,
394
387
  ...swiftWiring,
395
388
  });
@@ -435,8 +428,22 @@ export function warnIfKotlinNoOpFlags(parsed) {
435
428
  '(ajsc v7.2 emits an empty data class regardless). See docs/codegen-kotlin.md#untagged-unions.');
436
429
  }
437
430
  }
431
+ /**
432
+ * True when the CLI should print usage and exit 0: an explicit --help/-h, or a
433
+ * bare invocation with no args. --help is handled here (not in parseArgs) so it
434
+ * never reaches the unknown-flag branch and never appears in did-you-mean.
435
+ */
436
+ export function shouldShowHelp(argv) {
437
+ if (argv.length === 0)
438
+ return true;
439
+ return argv.includes('--help') || argv.includes('-h');
440
+ }
438
441
  async function main() {
439
442
  const argv = process.argv.slice(2);
443
+ if (shouldShowHelp(argv)) {
444
+ console.log(formatHelp());
445
+ process.exit(0);
446
+ }
440
447
  const configPath = extractConfigPath(argv);
441
448
  const config = await loadConfigFile(configPath);
442
449
  if (config != null) {
@@ -486,6 +493,8 @@ async function main() {
486
493
  ...(parsed.unsupportedUnions !== undefined ? { unsupportedUnions: parsed.unsupportedUnions } : {}),
487
494
  ...(parsed.swift?.serializer !== undefined ? { swiftSerializer: parsed.swift.serializer } : {}),
488
495
  ...(parsed.swift?.accessLevel !== undefined ? { swiftAccessLevel: parsed.swift.accessLevel } : {}),
496
+ shareModels: parsed.shareModels,
497
+ ...(parsed.sharedTypesImport !== undefined ? { sharedTypesImport: parsed.sharedTypesImport } : {}),
489
498
  ...kotlinWiring,
490
499
  ...swiftWiring,
491
500
  });