ts-procedures 7.0.0 → 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/agent_config/claude-code/skills/ts-procedures/api-reference.md +4 -0
  2. package/agent_config/copilot/copilot-instructions.md +2 -0
  3. package/agent_config/cursor/cursorrules +2 -0
  4. package/build/client/index.js +5 -0
  5. package/build/client/index.js.map +1 -1
  6. package/build/client/stream.d.ts +25 -1
  7. package/build/client/stream.js +48 -5
  8. package/build/client/stream.js.map +1 -1
  9. package/build/client/stream.test.js +68 -1
  10. package/build/client/stream.test.js.map +1 -1
  11. package/build/codegen/bin/cli.js +91 -0
  12. package/build/codegen/bin/cli.js.map +1 -1
  13. package/build/codegen/bin/cli.test.js +15 -0
  14. package/build/codegen/bin/cli.test.js.map +1 -1
  15. package/build/codegen/e2e.test.js +97 -74
  16. package/build/codegen/e2e.test.js.map +1 -1
  17. package/build/codegen/emit-index.js +11 -1
  18. package/build/codegen/emit-index.js.map +1 -1
  19. package/build/codegen/emit-scope.js +58 -16
  20. package/build/codegen/emit-scope.js.map +1 -1
  21. package/build/codegen/emit-scope.test.js +164 -2
  22. package/build/codegen/emit-scope.test.js.map +1 -1
  23. package/build/codegen/emit-types.d.ts +28 -0
  24. package/build/codegen/emit-types.js +69 -5
  25. package/build/codegen/emit-types.js.map +1 -1
  26. package/build/codegen/emit-types.test.js +30 -0
  27. package/build/codegen/emit-types.test.js.map +1 -1
  28. package/build/codegen/resolve-envelope.js +4 -1
  29. package/build/codegen/resolve-envelope.js.map +1 -1
  30. package/build/codegen/resolve-envelope.test.js +10 -0
  31. package/build/codegen/resolve-envelope.test.js.map +1 -1
  32. package/build/codegen/test-helpers/run-tsc.d.ts +33 -0
  33. package/build/codegen/test-helpers/run-tsc.js +49 -0
  34. package/build/codegen/test-helpers/run-tsc.js.map +1 -0
  35. package/build/implementations/http/doc-registry.js +14 -0
  36. package/build/implementations/http/doc-registry.js.map +1 -1
  37. package/build/implementations/http/doc-registry.test.js +37 -1
  38. package/build/implementations/http/doc-registry.test.js.map +1 -1
  39. package/build/implementations/http/hono-rpc/index.d.ts +11 -0
  40. package/build/implementations/http/hono-rpc/index.js +22 -1
  41. package/build/implementations/http/hono-rpc/index.js.map +1 -1
  42. package/build/implementations/http/hono-rpc/index.test.js +25 -0
  43. package/build/implementations/http/hono-rpc/index.test.js.map +1 -1
  44. package/build/implementations/http/hono-stream/error-taxonomy.test.js +72 -0
  45. package/build/implementations/http/hono-stream/error-taxonomy.test.js.map +1 -1
  46. package/build/implementations/http/hono-stream/index.d.ts +18 -4
  47. package/build/implementations/http/hono-stream/index.js +97 -18
  48. package/build/implementations/http/hono-stream/index.js.map +1 -1
  49. package/build/implementations/http/hono-stream/index.test.js +3 -3
  50. package/build/implementations/http/hono-stream/index.test.js.map +1 -1
  51. package/build/implementations/types.d.ts +10 -0
  52. package/build/index.js +22 -17
  53. package/build/index.js.map +1 -1
  54. package/build/index.test.js +36 -6
  55. package/build/index.test.js.map +1 -1
  56. package/package.json +1 -1
  57. package/src/client/index.ts +6 -0
  58. package/src/client/stream.test.ts +82 -1
  59. package/src/client/stream.ts +67 -4
  60. package/src/codegen/bin/cli.test.ts +26 -0
  61. package/src/codegen/bin/cli.ts +91 -0
  62. package/src/codegen/e2e.test.ts +100 -78
  63. package/src/codegen/emit-index.ts +11 -1
  64. package/src/codegen/emit-scope.test.ts +172 -2
  65. package/src/codegen/emit-scope.ts +66 -13
  66. package/src/codegen/emit-types.test.ts +34 -0
  67. package/src/codegen/emit-types.ts +83 -5
  68. package/src/codegen/resolve-envelope.test.ts +11 -0
  69. package/src/codegen/resolve-envelope.ts +4 -1
  70. package/src/codegen/test-helpers/run-tsc.ts +56 -0
  71. package/src/implementations/http/doc-registry.test.ts +43 -1
  72. package/src/implementations/http/doc-registry.ts +19 -0
  73. package/src/implementations/http/hono-rpc/index.test.ts +32 -0
  74. package/src/implementations/http/hono-rpc/index.ts +27 -1
  75. package/src/implementations/http/hono-stream/error-taxonomy.test.ts +80 -0
  76. package/src/implementations/http/hono-stream/index.test.ts +3 -3
  77. package/src/implementations/http/hono-stream/index.ts +118 -22
  78. package/src/implementations/types.ts +7 -0
  79. package/src/index.test.ts +43 -6
  80. package/src/index.ts +23 -20
@@ -1285,6 +1285,8 @@ async function generateClient(options: {
1285
1285
  | `--service-name <name>` | Names the service namespace and binding factory (e.g., `Auth` → `export namespace Auth { ... }` + `createAuthBindings`). Also prefixes `${Name}Errors` and `${Name}ProcedureErrorUnion` in `_errors.ts`. **Default: `Api`.** |
1286
1286
  | `--clean-out-dir` / `--no-clean-out-dir` | Recursively remove `--out <dir>` before writing so stale scope files (e.g. from removed scopes) are pruned. Skipped under `--dry-run`. **Default: off.** |
1287
1287
 
1288
+ > **Strict flag parsing:** any unknown `--…` token errors out immediately with a `Did you mean …?` suggestion when it's a near-miss (`--targt` → `--target`, `--service` → `--service-name`). Typos no longer fall through silently to produce empty or wrong output.
1289
+
1288
1290
  ### Generated Output
1289
1291
 
1290
1292
  - One `.ts` file per scope (e.g., `users.ts`, `events.ts`)
@@ -1292,6 +1294,8 @@ async function generateClient(options: {
1292
1294
  - No `export *` re-exports — consumers reach types via `${ServiceName}.<Scope>.<Route>.Params` etc.
1293
1295
  - Each scope file exports fully-typed callable functions and TypeScript types
1294
1296
  - By default, types are wrapped in `export namespace Scope { export namespace Route { ... } }` (disable with `--no-namespace-types`; this also disables the outer service namespace in `index.ts`)
1297
+ - **Compatible with `verbatimModuleSyntax: true`** — namespace mode emits the scope's `bindScope(client)` function as a member of `export namespace ${Pascal}` so the namespace is value+type, which lets the index's `export import` re-exports compile under strict module-syntax rules. Most consumers keep using the higher-level `create${Name}Bindings(client)` / `create${Name}Client(config)` factory.
1298
+ - Flat mode (`--no-namespace-types`) keeps the standalone `bind${Pascal}Scope(client)` at module level, same as before.
1295
1299
 
1296
1300
  ### Example
1297
1301
 
@@ -394,6 +394,8 @@ For Swift codegen (iOS/macOS/Apple-platform consumers), see `docs/codegen-swift.
394
394
 
395
395
  Generates one `.ts` file per scope plus a root `index.ts` that imports each scope as a namespace and exports a `create${ServiceName}Bindings(client)` factory AND a `create${ServiceName}Client(config)` convenience factory that pre-wires the error registry (defaults to `createApiBindings` / `createApiClient`; pass `--service-name <Name>` to rename). When namespace mode is on (the default), `index.ts` also wraps every scope namespace in an outer `export namespace ${ServiceName} { ... }` block so types are reachable as `Api.Users.GetUser.Params`, `Api.Errors.UseCaseError`, etc. The errors file (`_errors.ts`) emits runtime error classes extending a shared `${ServiceName}ProcedureError` base, each with `static fromResponse(body, meta)`, plus `${ServiceName}ErrorRegistry` (runtime dispatch map) and `${ServiceName}ProcedureErrorUnion` (type union). Defaults: `ApiErrors`, `ApiProcedureError`, `ApiErrorRegistry`, `ApiProcedureErrorUnion`.
396
396
  By default, types are wrapped in nested TS namespaces (`Scope.Route.Params`), JSDoc comments are emitted, and output is self-contained (no runtime dependency on `ts-procedures`). Use `--no-namespace-types` to revert to flat type names (`RouteParams`); this also disables the outer service namespace in `index.ts` and skips importing `_errors` from there.
397
+ The generated client is **compatible with `tsconfig` `verbatimModuleSyntax: true`** (the strictest mode astro/tsconfigs and many monorepos enable). In namespace mode the scope's `bindScope(client)` function is emitted as a member of `export namespace ${Pascal}` so the namespace is value+type — required for the index's `export import` re-exports to compile under verbatim. Most consumers stay on `create${Name}Bindings(client)` / `create${Name}Client(config)` and never touch `bindScope` directly.
398
+ **Strict CLI**: any unknown `--…` flag throws immediately with a `Did you mean …?` suggestion when the typo is close to a known flag (e.g. `--targt` → `--target`, `--service` → `--service-name`). Typos no longer fall through silently.
397
399
  Note: ajsc formatting options (`--enum-style enum`, `--depluralize`, etc.) only take effect in namespace mode (the default). They are ignored with `--no-namespace-types`.
398
400
  Supports config file: `ts-procedures-codegen.config.json` (auto-loaded from CWD) or `--config <path>`.
399
401
 
@@ -394,6 +394,8 @@ For Swift codegen (iOS/macOS/Apple-platform consumers), see `docs/codegen-swift.
394
394
 
395
395
  Generates one `.ts` file per scope plus a root `index.ts` that imports each scope as a namespace and exports a `create${ServiceName}Bindings(client)` factory AND a `create${ServiceName}Client(config)` convenience factory that pre-wires the error registry (defaults to `createApiBindings` / `createApiClient`; pass `--service-name <Name>` to rename). When namespace mode is on (the default), `index.ts` also wraps every scope namespace in an outer `export namespace ${ServiceName} { ... }` block so types are reachable as `Api.Users.GetUser.Params`, `Api.Errors.UseCaseError`, etc. The errors file (`_errors.ts`) emits runtime error classes extending a shared `${ServiceName}ProcedureError` base, each with `static fromResponse(body, meta)`, plus `${ServiceName}ErrorRegistry` (runtime dispatch map) and `${ServiceName}ProcedureErrorUnion` (type union). Defaults: `ApiErrors`, `ApiProcedureError`, `ApiErrorRegistry`, `ApiProcedureErrorUnion`.
396
396
  By default, types are wrapped in nested TS namespaces (`Scope.Route.Params`), JSDoc comments are emitted, and output is self-contained (no runtime dependency on `ts-procedures`). Use `--no-namespace-types` to revert to flat type names (`RouteParams`); this also disables the outer service namespace in `index.ts` and skips importing `_errors` from there.
397
+ The generated client is **compatible with `tsconfig` `verbatimModuleSyntax: true`** (the strictest mode astro/tsconfigs and many monorepos enable). In namespace mode the scope's `bindScope(client)` function is emitted as a member of `export namespace ${Pascal}` so the namespace is value+type — required for the index's `export import` re-exports to compile under verbatim. Most consumers stay on `create${Name}Bindings(client)` / `create${Name}Client(config)` and never touch `bindScope` directly.
398
+ **Strict CLI**: any unknown `--…` flag throws immediately with a `Did you mean …?` suggestion when the typo is close to a known flag (e.g. `--targt` → `--target`, `--service` → `--service-name`). Typos no longer fall through silently.
397
399
  Note: ajsc formatting options (`--enum-style enum`, `--depluralize`, etc.) only take effect in namespace mode (the default). They are ignored with `--no-namespace-types`.
398
400
  Supports config file: `ts-procedures-codegen.config.json` (auto-loaded from CWD) or `--config <path>`.
399
401
 
@@ -67,6 +67,11 @@ export function createClient(config) {
67
67
  resolveResult = resolve;
68
68
  rejectResult = reject;
69
69
  });
70
+ // Attach a no-op rejection sink so unhandled-rejection trackers (e.g.
71
+ // node:test) don't fire when the iterator throws but the consumer never
72
+ // awaits `.result`. Returns a new promise — consumers awaiting
73
+ // `resultPromise` still observe the rejection.
74
+ resultPromise.catch(() => undefined);
70
75
  // The deferred async generator: awaits executeStream, then forwards
71
76
  async function* deferredGenerator() {
72
77
  let innerStream;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,41 @@
1
1
  import type { ClientAdapter, ClientHooks, ErrorRegistry, StreamDescriptor, TypedStream, ProcedureCallDefaults, ProcedureCallOptions } from './types.js';
2
+ /**
3
+ * Optional context for SSE-mode typed-error dispatch. When supplied,
4
+ * `event: 'error'` items are decoded through the registry instead of being
5
+ * yielded as data — giving streams the same typed-error contract as RPC/API
6
+ * calls. See `dispatchTypedError`.
7
+ */
8
+ export interface CreateTypedStreamOptions {
9
+ errorRegistry?: ErrorRegistry;
10
+ /** Status to attach to typed-error meta when an `event: 'error'` is decoded. Defaults to 200 (the response was OK; the error was inline). */
11
+ errorStatus?: number;
12
+ procedureName?: string;
13
+ scope?: string;
14
+ }
2
15
  /**
3
16
  * Wraps an AsyncIterable into a TypedStream.
4
17
  *
5
18
  * SSE mode: each item is `{ data, event?, id? }`.
6
19
  * - If `event === 'return'`, the data resolves `.result` and is NOT yielded.
20
+ * - If `event === 'error'`, the data is dispatched through the optional
21
+ * `errorRegistry` (when supplied) — the resulting typed error rejects
22
+ * `.result` and is thrown from the iterator. Falls back to
23
+ * `ClientStreamError` when no registry entry matches.
7
24
  * - Otherwise, `data` is yielded.
8
25
  *
9
26
  * Text mode: each item is yielded as-is.
10
27
  * - `.result` resolves to `void` on completion.
11
28
  *
12
29
  * On error: `.result` rejects and the error is re-thrown from the async iterator.
30
+ *
31
+ * The internal `.result` promise gets a no-op rejection handler attached so
32
+ * that consumers who only iterate (and never `await stream.result`) don't
33
+ * trigger an unhandled-rejection warning under Node's strict runners
34
+ * (e.g. node:test). Consumers that DO await `.result` still observe the
35
+ * rejection — `.catch(() => undefined)` returns a new promise without
36
+ * suppressing the original.
13
37
  */
14
- export declare function createTypedStream<TYield, TReturn = void>(source: AsyncIterable<unknown>, streamMode: 'sse' | 'text'): TypedStream<TYield, TReturn>;
38
+ export declare function createTypedStream<TYield, TReturn = void>(source: AsyncIterable<unknown>, streamMode: 'sse' | 'text', options?: CreateTypedStreamOptions): TypedStream<TYield, TReturn>;
15
39
  export interface ExecuteStreamConfig {
16
40
  descriptor: StreamDescriptor;
17
41
  basePath: string;
@@ -1,29 +1,44 @@
1
1
  import { buildAdapterRequest } from './request-builder.js';
2
2
  import { runBeforeRequest, runAfterResponse, runOnError } from './hooks.js';
3
3
  import { applyRequestOptions, resolveBasePath } from './resolve-options.js';
4
- import { ClientHttpError } from './errors.js';
4
+ import { ClientHttpError, ClientStreamError } from './errors.js';
5
5
  import { dispatchTypedError } from './error-dispatch.js';
6
6
  import { defaultClassifyError } from './classify-error.js';
7
- // ── createTypedStream ─────────────────────────────────────
8
7
  /**
9
8
  * Wraps an AsyncIterable into a TypedStream.
10
9
  *
11
10
  * SSE mode: each item is `{ data, event?, id? }`.
12
11
  * - If `event === 'return'`, the data resolves `.result` and is NOT yielded.
12
+ * - If `event === 'error'`, the data is dispatched through the optional
13
+ * `errorRegistry` (when supplied) — the resulting typed error rejects
14
+ * `.result` and is thrown from the iterator. Falls back to
15
+ * `ClientStreamError` when no registry entry matches.
13
16
  * - Otherwise, `data` is yielded.
14
17
  *
15
18
  * Text mode: each item is yielded as-is.
16
19
  * - `.result` resolves to `void` on completion.
17
20
  *
18
21
  * On error: `.result` rejects and the error is re-thrown from the async iterator.
22
+ *
23
+ * The internal `.result` promise gets a no-op rejection handler attached so
24
+ * that consumers who only iterate (and never `await stream.result`) don't
25
+ * trigger an unhandled-rejection warning under Node's strict runners
26
+ * (e.g. node:test). Consumers that DO await `.result` still observe the
27
+ * rejection — `.catch(() => undefined)` returns a new promise without
28
+ * suppressing the original.
19
29
  */
20
- export function createTypedStream(source, streamMode) {
30
+ export function createTypedStream(source, streamMode, options) {
21
31
  let resolveResult;
22
32
  let rejectResult;
23
33
  const resultPromise = new Promise((resolve, reject) => {
24
34
  resolveResult = resolve;
25
35
  rejectResult = reject;
26
36
  });
37
+ // Attach a no-op rejection sink so unhandled-rejection trackers don't fire
38
+ // when the iterator throws but the consumer never `await`s `.result`. This
39
+ // is independent of the public promise — consumers awaiting `.result` still
40
+ // see the rejection.
41
+ resultPromise.catch(() => undefined);
27
42
  async function* generate() {
28
43
  try {
29
44
  if (streamMode === 'sse') {
@@ -35,6 +50,27 @@ export function createTypedStream(source, streamMode) {
35
50
  returnValue = sseItem.data;
36
51
  hasReturn = true;
37
52
  }
53
+ else if (sseItem.event === 'error') {
54
+ // Mid-stream typed error. Mirror the call.ts dispatch contract:
55
+ // body shape is `{ name, ... }` and the registry maps `name` →
56
+ // typed class. When no registry / no match, surface a
57
+ // ClientStreamError carrying the raw body.
58
+ const typed = dispatchTypedError(options?.errorRegistry, sseItem.data, {
59
+ status: options?.errorStatus ?? 200,
60
+ procedureName: options?.procedureName ?? '',
61
+ scope: options?.scope ?? '',
62
+ });
63
+ if (typed)
64
+ throw typed;
65
+ const message = (() => {
66
+ const data = sseItem.data;
67
+ if (data && typeof data === 'object' && 'message' in data && typeof data.message === 'string') {
68
+ return data.message;
69
+ }
70
+ return `Stream error event for ${options?.procedureName ?? 'procedure'}`;
71
+ })();
72
+ throw new ClientStreamError(message, options?.procedureName ?? '', options?.scope ?? '', sseItem.data);
73
+ }
38
74
  else {
39
75
  yield sseItem.data;
40
76
  }
@@ -141,7 +177,14 @@ export async function executeStream(config) {
141
177
  scope: descriptor.scope,
142
178
  });
143
179
  }
144
- // 8. Return the typed stream
145
- return createTypedStream(streamResponse.body, descriptor.streamMode);
180
+ // 8. Return the typed stream — pass the registry/descriptor through so
181
+ // mid-stream `event: 'error'` items dispatch through the same registry as
182
+ // RPC/API calls.
183
+ return createTypedStream(streamResponse.body, descriptor.streamMode, {
184
+ errorRegistry,
185
+ errorStatus: responseForHooks.status,
186
+ procedureName: descriptor.name,
187
+ scope: descriptor.scope,
188
+ });
146
189
  }
147
190
  //# sourceMappingURL=stream.js.map
@@ -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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"}
@@ -1,6 +1,6 @@
1
1
  import { describe, it, expect, vi } from 'vitest';
2
2
  import { createTypedStream, executeStream } from './stream.js';
3
- import { ClientRequestError, ClientNetworkError } from './errors.js';
3
+ import { ClientRequestError, ClientNetworkError, ClientStreamError } from './errors.js';
4
4
  // ── helpers ───────────────────────────────────────────────
5
5
  function makeDescriptor(overrides) {
6
6
  return {
@@ -83,6 +83,73 @@ describe('createTypedStream — SSE mode', () => {
83
83
  yielded.push(item);
84
84
  expect(yielded).toEqual(['a', 'b']);
85
85
  });
86
+ it('dispatches typed errors via the registry on event: error', async () => {
87
+ class UseCaseError extends Error {
88
+ name = 'UseCaseError';
89
+ code;
90
+ status;
91
+ constructor(body, meta) {
92
+ super(`UseCaseError: ${body.code}`);
93
+ this.code = body.code;
94
+ this.status = meta.status;
95
+ }
96
+ }
97
+ const registry = {
98
+ UseCaseError: {
99
+ fromResponse: (body, meta) => new UseCaseError(body, meta),
100
+ },
101
+ };
102
+ const sseItems = [
103
+ { data: { count: 1 }, event: 'update' },
104
+ { data: { name: 'UseCaseError', code: 'NOT_AUTHORIZED' }, event: 'error' },
105
+ ];
106
+ const stream = createTypedStream(makeAsyncIterable(sseItems), 'sse', { errorRegistry: registry, procedureName: 'WatchUpdates', scope: 'updates' });
107
+ let caught;
108
+ try {
109
+ for await (const _ of stream) { /* drain */ }
110
+ }
111
+ catch (err) {
112
+ caught = err;
113
+ }
114
+ expect(caught).toBeInstanceOf(UseCaseError);
115
+ expect(caught.code).toBe('NOT_AUTHORIZED');
116
+ await expect(stream.result).rejects.toBeInstanceOf(UseCaseError);
117
+ });
118
+ it('falls back to ClientStreamError when no registry entry matches event: error', async () => {
119
+ const sseItems = [
120
+ { data: { count: 1 }, event: 'update' },
121
+ { data: { name: 'UnknownError', message: 'something broke' }, event: 'error' },
122
+ ];
123
+ const stream = createTypedStream(makeAsyncIterable(sseItems), 'sse', { procedureName: 'WatchUpdates', scope: 'updates' });
124
+ await expect(async () => {
125
+ for await (const _ of stream) { /* drain */ }
126
+ }).rejects.toBeInstanceOf(ClientStreamError);
127
+ });
128
+ it('does not emit unhandled rejections when iterator throws and .result is never awaited', async () => {
129
+ const captured = [];
130
+ const handler = (reason) => captured.push(reason);
131
+ process.on('unhandledRejection', handler);
132
+ try {
133
+ async function* errorIterable() {
134
+ yield { data: 'first', event: 'message' };
135
+ throw new Error('iterator threw');
136
+ }
137
+ const stream = createTypedStream(errorIterable(), 'sse');
138
+ try {
139
+ for await (const _ of stream) { /* drain */ }
140
+ }
141
+ catch {
142
+ // Consumer iterates but does NOT await stream.result — common with
143
+ // gateways that fan out events and only care about iteration.
144
+ }
145
+ // Yield so any pending microtask rejection lands in the handler
146
+ await new Promise((r) => setImmediate(r));
147
+ expect(captured).toEqual([]);
148
+ }
149
+ finally {
150
+ process.off('unhandledRejection', handler);
151
+ }
152
+ });
86
153
  });
87
154
  // ── createTypedStream — text mode ────────────────────────
88
155
  describe('createTypedStream — text mode', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"stream.test.js","sourceRoot":"","sources":["../../src/client/stream.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAWpE,6DAA6D;AAE7D,SAAS,cAAc,CAAC,SAAqC;IAC3D,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,EAAE;QACV,GAAG,SAAS;KACb,CAAA;AACH,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,iBAAiB,CAAI,KAAU;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,CAAA;IACZ,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAyC,EACzC,KAAiB;IAEjB,OAAO;QACL,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC,CAAC;QACF,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,IAAoB,EAAkC,EAAE,CAAC,CAAC;YAC7E,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,iBAAiB,CAAC,KAAK,IAAI,EAAE,CAAC;YACpC,GAAG,QAAQ;SACZ,CAAC,CAAC;KACJ,CAAA;AACH,CAAC;AAWD,SAAS,GAAG,CAAyB,EACnC,OAAO,EACP,KAAK,GAAG,EAAE,EACV,QAAQ,EACR,OAAO,EACP,UAAU,GAAG,cAAc,EAAE,EAC7B,QAAQ,GAAG,yBAAyB,GAC1B;IACV,OAAO,aAAa,CAAkB,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;AACpG,CAAC;AAED,6DAA6D;AAE7D,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,QAAQ,GAAG;YACf,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;YACvC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SACxC,CAAA;QACD,MAAM,MAAM,GAAG,iBAAiB,CAA0B,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAA;QAE7F,MAAM,QAAQ,GAAwB,EAAE,CAAA;QACxC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,QAAQ,GAAG;YACf,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;YACvC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SACzC,CAAA;QACD,MAAM,MAAM,GAAG,iBAAiB,CAC9B,iBAAiB,CAAC,QAAQ,CAAC,EAC3B,KAAK,CACN,CAAA;QAED,MAAM,OAAO,GAAwB,EAAE,CAAA;QACvC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEnD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACvC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,MAAM,GAAG,iBAAiB,CAC9B,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,EACxD,KAAK,CACN,CAAA;QACD,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,KAAK,SAAS,CAAC,CAAC,aAAa;YAC3B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;YACzC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;QACjC,CAAC;QAED,MAAM,MAAM,GAAG,iBAAiB,CAAe,aAAa,EAAE,EAAE,KAAK,CAAC,CAAA;QACtE,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;YACtB,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAClC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,MAAM,GAAG,iBAAiB,CAC9B,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EACjD,KAAK,CACN,CAAA;QACD,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,4DAA4D;AAE5D,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,iBAAiB,CAAe,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;QACjF,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,MAAM,GAAG,iBAAiB,CAAe,iBAAiB,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QACrF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,KAAK,SAAS,CAAC,CAAC,aAAa;YAC3B,MAAM,cAAc,CAAA;YACpB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QACtC,CAAC;QACD,MAAM,MAAM,GAAG,iBAAiB,CAAe,aAAa,EAAE,EAAE,MAAM,CAAC,CAAA;QACvE,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;YACtB,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;QACvC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,6DAA6D;AAE7D,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAe,EAAE,OAAO,EAAE,CAAC,CAAA;QAEnD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,oBAAoB,EAAE,CAAA;QAC7C,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,eAAe,GAA6B,EAAE,CAAA;QACpD,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;YAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAmB,EAAkC,EAAE;gBAC1E,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;gBACvC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAA;YAClE,CAAC,CAAC;SACH,CAAA;QAED,MAAM,KAAK,GAAgB;YACzB,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACzB,GAAG,GAAG;gBACN,OAAO,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE;aAC1E,CAAC;SACH,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAC5C,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;YAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoC,EAAE;gBACvD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACrB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAA;YAClE,CAAC,CAAC;SACH,CAAA;QACD,MAAM,KAAK,GAAgB;YACzB,eAAe,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA,CAAC,CAAC;SACvD,CAAA;QAED,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;YAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoC,EAAE,CAAC,CAAC;gBACzD,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC;aAC5B,CAAC,CAAC;SACJ,CAAA;QACD,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;YAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,YAAY,CAAA,CAAC,CAAC,CAAC;SAClD,CAAA;QACD,MAAM,cAAc,GAAc,EAAE,CAAA;QACpC,MAAM,KAAK,GAAgB;YACzB,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC;SACrD,CAAA;QAED,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAA;QACjF,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,QAAQ,GAAG;YACf,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YACjC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC3C,CAAA;QACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QAE/C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAoC;YAC1D,OAAO;YACP,UAAU,EAAE,cAAc,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;SAClD,CAAC,CAAA;QAEF,MAAM,OAAO,GAAoB,EAAE,CAAA;QACnC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACnC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAe;YACrC,OAAO;YACP,UAAU,EAAE,cAAc,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;SACnD,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,yBAAyB;IAEzB,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QAC5C,IAAI,CAAC;YACH,IAAI,cAAuC,CAAA;YAC3C,MAAM,OAAO,GAAkB;gBAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;gBAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAmB,EAAkC,EAAE;oBAC1E,cAAc,GAAG,GAAG,CAAC,MAAM,CAAA;oBAC3B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAA;gBAClE,CAAC,CAAC;aACH,CAAA;YAED,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;YAClD,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;YACtC,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAA;QACtC,CAAC;gBAAS,CAAC;YACT,GAAG,CAAC,WAAW,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;YAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAmB,EAAkC,EAAE;gBAC1E,OAAO,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;oBACtC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;oBAChD,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO;wBAAE,KAAK,EAAE,CAAA;;wBAC3B,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBACnE,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC;SACH,CAAA;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACxE,sDAAsD;QACtD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QACvB,UAAU,CAAC,KAAK,EAAE,CAAA;QAClB,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,YAAY,GAAa,EAAE,CAAA;QACjC,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;YAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAmB,EAAkC,EAAE;gBAC1E,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC1B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAA;YAClE,CAAC,CAAC;SACH,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC;YACvB,OAAO;YACP,UAAU,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC7C,QAAQ,EAAE,6BAA6B;YACvC,OAAO,EAAE,EAAE,QAAQ,EAAE,8BAA8B,EAAE;SACtD,CAAC,CAAA;QACF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QAE7C,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,IAAI,YAAqB,CAAA;QACzB,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;YAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAmB,EAAkC,EAAE;gBAC1E,YAAY,GAAG,GAAG,CAAC,IAAI,CAAA;gBACvB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAA;YAClE,CAAC,CAAC;SACH,CAAA;QAED,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,cAAc,EAAW,EAAE,EAAE,CAAC,CAAA;QAC/E,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,6DAA6D;AAE7D,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC;YACtD,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAA,CAAC,CAAC,CAAC;SACtE,CAAA;QACD,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAA;IAC3E,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"stream.test.js","sourceRoot":"","sources":["../../src/client/stream.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAavF,6DAA6D;AAE7D,SAAS,cAAc,CAAC,SAAqC;IAC3D,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,EAAE;QACV,GAAG,SAAS;KACb,CAAA;AACH,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,iBAAiB,CAAI,KAAU;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,CAAA;IACZ,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAyC,EACzC,KAAiB;IAEjB,OAAO;QACL,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC,CAAC;QACF,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,IAAoB,EAAkC,EAAE,CAAC,CAAC;YAC7E,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,iBAAiB,CAAC,KAAK,IAAI,EAAE,CAAC;YACpC,GAAG,QAAQ;SACZ,CAAC,CAAC;KACJ,CAAA;AACH,CAAC;AAWD,SAAS,GAAG,CAAyB,EACnC,OAAO,EACP,KAAK,GAAG,EAAE,EACV,QAAQ,EACR,OAAO,EACP,UAAU,GAAG,cAAc,EAAE,EAC7B,QAAQ,GAAG,yBAAyB,GAC1B;IACV,OAAO,aAAa,CAAkB,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;AACpG,CAAC;AAED,6DAA6D;AAE7D,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,QAAQ,GAAG;YACf,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;YACvC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SACxC,CAAA;QACD,MAAM,MAAM,GAAG,iBAAiB,CAA0B,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAA;QAE7F,MAAM,QAAQ,GAAwB,EAAE,CAAA;QACxC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,QAAQ,GAAG;YACf,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;YACvC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SACzC,CAAA;QACD,MAAM,MAAM,GAAG,iBAAiB,CAC9B,iBAAiB,CAAC,QAAQ,CAAC,EAC3B,KAAK,CACN,CAAA;QAED,MAAM,OAAO,GAAwB,EAAE,CAAA;QACvC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEnD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACvC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,MAAM,GAAG,iBAAiB,CAC9B,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,EACxD,KAAK,CACN,CAAA;QACD,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,KAAK,SAAS,CAAC,CAAC,aAAa;YAC3B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;YACzC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;QACjC,CAAC;QAED,MAAM,MAAM,GAAG,iBAAiB,CAAe,aAAa,EAAE,EAAE,KAAK,CAAC,CAAA;QACtE,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;YACtB,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAClC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,MAAM,GAAG,iBAAiB,CAC9B,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EACjD,KAAK,CACN,CAAA;QACD,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,YAAa,SAAQ,KAAK;YACrB,IAAI,GAAG,cAAc,CAAA;YACrB,IAAI,CAAQ;YACZ,MAAM,CAAQ;YACvB,YAAY,IAAsB,EAAE,IAAuB;gBACzD,KAAK,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;gBACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;gBACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YAC3B,CAAC;SACF;QACD,MAAM,QAAQ,GAAkB;YAC9B,YAAY,EAAE;gBACZ,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,IAAwB,EAAE,IAAI,CAAC;aAC/E;SACF,CAAA;QAED,MAAM,QAAQ,GAAG;YACf,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;YACvC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC3E,CAAA;QACD,MAAM,MAAM,GAAG,iBAAiB,CAC9B,iBAAiB,CAAC,QAAQ,CAAC,EAC3B,KAAK,EACL,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,CAC7E,CAAA;QAED,IAAI,MAAe,CAAA;QACnB,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,CAAA;QACd,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QAC3C,MAAM,CAAE,MAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC5D,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,QAAQ,GAAG;YACf,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;YACvC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC/E,CAAA;QACD,MAAM,MAAM,GAAG,iBAAiB,CAC9B,iBAAiB,CAAC,QAAQ,CAAC,EAC3B,KAAK,EACL,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,CACpD,CAAA;QAED,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;YACtB,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;QACpG,MAAM,QAAQ,GAAc,EAAE,CAAA;QAC9B,MAAM,OAAO,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1D,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;QACzC,IAAI,CAAC;YACH,KAAK,SAAS,CAAC,CAAC,aAAa;gBAC3B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;gBACzC,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;YACnC,CAAC;YAED,MAAM,MAAM,GAAG,iBAAiB,CAAe,aAAa,EAAE,EAAE,KAAK,CAAC,CAAA;YACtE,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,mEAAmE;gBACnE,8DAA8D;YAChE,CAAC;YACD,gEAAgE;YAChE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC9B,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,4DAA4D;AAE5D,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,iBAAiB,CAAe,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;QACjF,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,MAAM,GAAG,iBAAiB,CAAe,iBAAiB,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QACrF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,KAAK,SAAS,CAAC,CAAC,aAAa;YAC3B,MAAM,cAAc,CAAA;YACpB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QACtC,CAAC;QACD,MAAM,MAAM,GAAG,iBAAiB,CAAe,aAAa,EAAE,EAAE,MAAM,CAAC,CAAA;QACvE,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;YACtB,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;QACvC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,6DAA6D;AAE7D,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAe,EAAE,OAAO,EAAE,CAAC,CAAA;QAEnD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,oBAAoB,EAAE,CAAA;QAC7C,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,eAAe,GAA6B,EAAE,CAAA;QACpD,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;YAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAmB,EAAkC,EAAE;gBAC1E,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;gBACvC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAA;YAClE,CAAC,CAAC;SACH,CAAA;QAED,MAAM,KAAK,GAAgB;YACzB,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACzB,GAAG,GAAG;gBACN,OAAO,EAAE,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE;aAC1E,CAAC;SACH,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAC5C,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;YAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoC,EAAE;gBACvD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACrB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAA;YAClE,CAAC,CAAC;SACH,CAAA;QACD,MAAM,KAAK,GAAgB;YACzB,eAAe,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA,CAAC,CAAC;SACvD,CAAA;QAED,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;YAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoC,EAAE,CAAC,CAAC;gBACzD,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC;aAC5B,CAAC,CAAC;SACJ,CAAA;QACD,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;YAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,YAAY,CAAA,CAAC,CAAC,CAAC;SAClD,CAAA;QACD,MAAM,cAAc,GAAc,EAAE,CAAA;QACpC,MAAM,KAAK,GAAgB;YACzB,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC;SACrD,CAAA;QAED,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAA;QACjF,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,QAAQ,GAAG;YACf,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YACjC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC3C,CAAA;QACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QAE/C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAoC;YAC1D,OAAO;YACP,UAAU,EAAE,cAAc,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;SAClD,CAAC,CAAA;QAEF,MAAM,OAAO,GAAoB,EAAE,CAAA;QACnC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACnC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAe;YACrC,OAAO;YACP,UAAU,EAAE,cAAc,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;SACnD,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,yBAAyB;IAEzB,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QAC5C,IAAI,CAAC;YACH,IAAI,cAAuC,CAAA;YAC3C,MAAM,OAAO,GAAkB;gBAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;gBAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAmB,EAAkC,EAAE;oBAC1E,cAAc,GAAG,GAAG,CAAC,MAAM,CAAA;oBAC3B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAA;gBAClE,CAAC,CAAC;aACH,CAAA;YAED,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;YAClD,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;YACtC,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAA;QACtC,CAAC;gBAAS,CAAC;YACT,GAAG,CAAC,WAAW,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;YAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAmB,EAAkC,EAAE;gBAC1E,OAAO,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;oBACtC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;oBAChD,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO;wBAAE,KAAK,EAAE,CAAA;;wBAC3B,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBACnE,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC;SACH,CAAA;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACxE,sDAAsD;QACtD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QACvB,UAAU,CAAC,KAAK,EAAE,CAAA;QAClB,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,YAAY,GAAa,EAAE,CAAA;QACjC,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;YAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAmB,EAAkC,EAAE;gBAC1E,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC1B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAA;YAClE,CAAC,CAAC;SACH,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC;YACvB,OAAO;YACP,UAAU,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC7C,QAAQ,EAAE,6BAA6B;YACvC,OAAO,EAAE,EAAE,QAAQ,EAAE,8BAA8B,EAAE;SACtD,CAAC,CAAA;QACF,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QAE7C,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,IAAI,YAAqB,CAAA;QACzB,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAoB,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA,CAAC,CAAC,CAAC;YAC/E,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAmB,EAAkC,EAAE;gBAC1E,YAAY,GAAG,GAAG,CAAC,IAAI,CAAA;gBACvB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAA;YAClE,CAAC,CAAC;SACH,CAAA;QAED,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,cAAc,EAAW,EAAE,EAAE,CAAC,CAAA;QAC/E,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,6DAA6D;AAE7D,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,OAAO,GAAkB;YAC7B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC;YACtD,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAA,CAAC,CAAC,CAAC;SACtE,CAAA;QACD,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAA;IAC3E,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -27,6 +27,86 @@ export async function loadConfigFile(configPath) {
27
27
  }
28
28
  }
29
29
  // ---------------------------------------------------------------------------
30
+ // Flag catalog + did-you-mean
31
+ // ---------------------------------------------------------------------------
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
+ /**
53
+ * Levenshtein distance between two strings — small ad-hoc implementation
54
+ * tuned for short flag names. We don't pull a dep just for typo suggestions.
55
+ */
56
+ function editDistance(a, b) {
57
+ if (a === b)
58
+ return 0;
59
+ if (a.length === 0)
60
+ return b.length;
61
+ if (b.length === 0)
62
+ return a.length;
63
+ // One row at a time — O(min(a, b)) memory.
64
+ let prev = Array.from({ length: b.length + 1 }, (_, i) => i);
65
+ for (let i = 1; i <= a.length; i++) {
66
+ const curr = [i];
67
+ for (let j = 1; j <= b.length; j++) {
68
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
69
+ curr.push(Math.min(curr[j - 1] + 1, prev[j] + 1, prev[j - 1] + cost));
70
+ }
71
+ prev = curr;
72
+ }
73
+ return prev[b.length];
74
+ }
75
+ /**
76
+ * Returns the known flag closest to `unknown`, or `undefined` when nothing
77
+ * is a confident enough match. Two heuristics:
78
+ *
79
+ * 1. Prefix match — if the unknown flag is a strict prefix of a known one
80
+ * (e.g. `--service` → `--service-name`), suggest it. This catches the
81
+ * common "wrong segment count" typo regardless of how long the missing
82
+ * tail is.
83
+ * 2. Edit distance ≤ 3 — catches transpositions and small misspellings
84
+ * (`--targt` → `--target`). Above 3 the suggestion stops being helpful
85
+ * and starts being misleading.
86
+ */
87
+ function closestKnownFlag(unknown) {
88
+ // 1) Prefix match — pick the shortest known flag whose prefix is `unknown`.
89
+ let prefixMatch;
90
+ for (const flag of KNOWN_FLAGS) {
91
+ if (flag.startsWith(unknown) && flag !== unknown) {
92
+ if (prefixMatch == null || flag.length < prefixMatch.length) {
93
+ prefixMatch = flag;
94
+ }
95
+ }
96
+ }
97
+ if (prefixMatch != null)
98
+ return prefixMatch;
99
+ // 2) Edit-distance fallback.
100
+ let best;
101
+ for (const flag of KNOWN_FLAGS) {
102
+ const distance = editDistance(unknown, flag);
103
+ if (best == null || distance < best.distance) {
104
+ best = { flag, distance };
105
+ }
106
+ }
107
+ return best != null && best.distance <= 3 ? best.flag : undefined;
108
+ }
109
+ // ---------------------------------------------------------------------------
30
110
  // parseArgs
31
111
  // ---------------------------------------------------------------------------
32
112
  /**
@@ -173,6 +253,17 @@ export function parseArgs(argv, config) {
173
253
  else if (arg === '--config') {
174
254
  configPath = argv[++i];
175
255
  }
256
+ else if (arg !== undefined && arg.startsWith('--')) {
257
+ // Reject unknown flags loudly. Silently ignoring them led to a downstream
258
+ // bug where a misspelled `--targt` produced an empty envelope with no
259
+ // user-visible cause. Suggest the closest known flag when the typo is
260
+ // small enough that the suggestion will be more help than hindrance.
261
+ const suggestion = closestKnownFlag(arg);
262
+ const tail = suggestion != null
263
+ ? ` Did you mean \`${suggestion}\`?`
264
+ : ' See the README for the supported flag set.';
265
+ throw new Error(`[ts-procedures-codegen] Unknown CLI flag: ${arg}.${tail}`);
266
+ }
176
267
  }
177
268
  // configPath is consumed by the caller (main) before parseArgs is called with the loaded config.
178
269
  // When called from main, config is already loaded. When called directly (tests), configPath is ignored.
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/codegen/bin/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/codegen/bin/cli.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,21 @@ describe('parseArgs', () => {
48
48
  it('throws when no input source (neither --url nor --file)', () => {
49
49
  expect(() => parseArgs(['--out', './generated'])).toThrow(/--url.*--file|--file.*--url|input/i);
50
50
  });
51
+ // Defensive (downstream bug repro): the consumer's cp-codegen.ts had wrong
52
+ // flag names and the CLI silently ignored them, then produced an empty
53
+ // envelope. parseArgs should reject unknown flags loudly so typos surface
54
+ // immediately instead of cascading into "empty routes array".
55
+ it('throws on an unknown flag and suggests the closest match', () => {
56
+ expect(() => parseArgs(['--url', 'http://x.com/docs', '--out', './out', '--targt', 'ts'])).toThrow(/--targt[\s\S]*--target/);
57
+ });
58
+ it('throws on a typo of --service-name and suggests the right flag', () => {
59
+ expect(() => parseArgs(['--url', 'http://x.com/docs', '--out', './out', '--service', 'Cp'])).toThrow(/--service\b[\s\S]*--service-name/);
60
+ });
61
+ it('throws on a totally unrelated flag without a suggestion', () => {
62
+ expect(() => parseArgs(['--url', 'http://x.com/docs', '--out', './out', '--quantum-flux', 'on'])).toThrow(/--quantum-flux/);
63
+ // No close match exists — the README hint should appear instead of a misleading suggestion.
64
+ expect(() => parseArgs(['--url', 'http://x.com/docs', '--out', './out', '--quantum-flux', 'on'])).toThrow(/README/);
65
+ });
51
66
  it('parses all flags together', () => {
52
67
  const result = parseArgs([
53
68
  '--file', './envelope.json',