apcore-toolkit 0.10.1 → 0.11.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.
@@ -0,0 +1,336 @@
1
+ /**
2
+ * OpenAPIScanner — turn an OpenAPI 3.x document into a `ScannedModule[]`.
3
+ *
4
+ * Document-level traversal layered on top of the shipped operation-level
5
+ * primitives in `./openapi.js` (`extractInputSchema`, `extractOutputSchema`,
6
+ * `resolveRef`) and `BaseScanner.inferAnnotationsFromMethod`.
7
+ *
8
+ * Pure and synchronous — no I/O. See `./openapi-loader.js` for the
9
+ * (Node-only) `loadSpec` convenience helper, which is intentionally kept in
10
+ * a separate file so this module stays importable from
11
+ * `apcore-toolkit/browser` (see `src/browser/index.ts`).
12
+ *
13
+ * See `apcore-toolkit/docs/features/openapi-scanner.md` for the full V1
14
+ * specification, worked examples, and conformance corpus.
15
+ */
16
+ import { BaseScanner } from './scanner.js';
17
+ import { createScannedModule } from './types.js';
18
+ import { extractInputSchema, extractOutputSchema, resolveRef } from './openapi.js';
19
+ /**
20
+ * Thrown by {@link OpenAPIScanner.scan} when the input document is not a
21
+ * recognisable OpenAPI 3.0.x/3.1.x document (missing `openapi` key, or an
22
+ * OpenAPI 2.0 / Swagger document). Matches the doc's Contract: "TypeScript
23
+ * throws `InvalidSpecError`".
24
+ */
25
+ export class InvalidSpecError extends Error {
26
+ constructor(message) {
27
+ super(message);
28
+ this.name = 'InvalidSpecError';
29
+ }
30
+ }
31
+ // Only these path-item keys are treated as HTTP operations (OpenAPI 3.x Path
32
+ // Item Object). Everything else (`summary`, `parameters`, `servers`, `$ref`,
33
+ // vendor `x-*` extensions, ...) is skipped.
34
+ const RECOGNIZED_METHODS = new Set([
35
+ 'get',
36
+ 'put',
37
+ 'post',
38
+ 'delete',
39
+ 'options',
40
+ 'head',
41
+ 'patch',
42
+ 'trace',
43
+ ]);
44
+ // The `u` flag makes this regex operate on Unicode CODE POINTS rather than
45
+ // UTF-16 code UNITS. Without it, a non-BMP character (e.g. an emoji, encoded
46
+ // as a UTF-16 surrogate pair) would be matched — and replaced with `_` —
47
+ // once per surrogate half, producing two underscores where Python's
48
+ // code-point-based `re` and Rust's Unicode-scalar-based `regex` crate each
49
+ // produce exactly one. That would break the documented byte-for-byte
50
+ // cross-SDK `derive_module_id` guarantee. DOT_RUN_RE and the leading/
51
+ // trailing trim regexes below only ever match ASCII `.`/`_`, which are
52
+ // single code units regardless of surrounding astral characters, so they
53
+ // don't need the flag.
54
+ const SANITIZE_RE = /[^A-Za-z0-9_.-]/gu;
55
+ const DOT_RUN_RE = /\.+/g;
56
+ /**
57
+ * Sanitize a module-id candidate per the `deriveModuleId` algorithm.
58
+ *
59
+ * Replace every character not in `[A-Za-z0-9_.-]` with `_`, collapse runs of
60
+ * `.` into a single `.`, then strip leading/trailing `.` and `_`.
61
+ */
62
+ function sanitize(candidate) {
63
+ let s = candidate.replace(SANITIZE_RE, '_');
64
+ s = s.replace(DOT_RUN_RE, '.');
65
+ return s.replace(/^[._]+/, '').replace(/[._]+$/, '');
66
+ }
67
+ /**
68
+ * Derive a stable, byte-identical `moduleId` for an OpenAPI operation.
69
+ *
70
+ * See `apcore-toolkit/docs/features/openapi-scanner.md` § `module_id`
71
+ * Derivation for the algorithm and worked examples. This function is the
72
+ * primary subject of the cross-SDK conformance corpus — implementations
73
+ * MUST match it byte-for-byte.
74
+ *
75
+ * @param path - The OpenAPI path template (e.g. `"/users/{user_id}"`).
76
+ * @param method - The HTTP method key as written in the document (e.g. `"get"`).
77
+ * @param operation - The operation object, consulted only for `operationId`.
78
+ * @returns The derived module ID. Never empty — falls back to `"root.<method>"`.
79
+ */
80
+ export function deriveModuleId(path, method, operation) {
81
+ const operationId = operation['operationId'];
82
+ if (typeof operationId === 'string' && operationId !== '') {
83
+ const candidate = sanitize(operationId);
84
+ if (candidate)
85
+ return candidate;
86
+ }
87
+ const rawSegments = path.split('/').filter((seg) => seg !== '');
88
+ if (rawSegments.length === 0) {
89
+ return `root.${method.toLowerCase()}`;
90
+ }
91
+ const segments = rawSegments.map((seg) => seg.length >= 2 && seg.startsWith('{') && seg.endsWith('}') ? seg.slice(1, -1) : seg);
92
+ let candidate = [...segments, method].join('.').toLowerCase();
93
+ candidate = sanitize(candidate);
94
+ if (!candidate) {
95
+ return `root.${method.toLowerCase()}`;
96
+ }
97
+ return candidate;
98
+ }
99
+ /** Depth-first collect every `$ref` string appearing under `node`. */
100
+ function collectRefs(node) {
101
+ const refs = [];
102
+ if (Array.isArray(node)) {
103
+ for (const item of node)
104
+ refs.push(...collectRefs(item));
105
+ }
106
+ else if (node !== null && typeof node === 'object') {
107
+ const obj = node;
108
+ const ref = obj['$ref'];
109
+ if (typeof ref === 'string')
110
+ refs.push(ref);
111
+ for (const value of Object.values(obj))
112
+ refs.push(...collectRefs(value));
113
+ }
114
+ return refs;
115
+ }
116
+ /**
117
+ * Warn on unresolvable internal refs and refuse external refs.
118
+ *
119
+ * Internal refs (`#/...`) that resolve successfully are silent — this only
120
+ * flags the failure cases enumerated in the Error Model: unresolvable
121
+ * internal `$ref` and external `$ref` (never fetched).
122
+ */
123
+ function refWarnings(operation, spec) {
124
+ const warnings = [];
125
+ const seen = new Set();
126
+ const refs = [
127
+ ...collectRefs(operation['requestBody'] ?? {}),
128
+ ...collectRefs(operation['responses'] ?? {}),
129
+ ];
130
+ for (const ref of refs) {
131
+ if (seen.has(ref))
132
+ continue;
133
+ seen.add(ref);
134
+ if (!ref.startsWith('#/')) {
135
+ warnings.push(`external $ref not fetched: ${ref}`);
136
+ }
137
+ else if (Object.keys(resolveRef(ref, spec)).length === 0) {
138
+ warnings.push(`unresolvable $ref: ${ref}`);
139
+ }
140
+ }
141
+ return warnings;
142
+ }
143
+ function firstLine(text) {
144
+ if (!text)
145
+ return null;
146
+ for (const line of text.split('\n')) {
147
+ const stripped = line.trim();
148
+ if (stripped)
149
+ return stripped;
150
+ }
151
+ return null;
152
+ }
153
+ const ABS_URL_RE = /^[A-Za-z][A-Za-z0-9+.-]*:\/\//;
154
+ const TEMPLATE_VAR_RE = /\{([^}]+)\}/g;
155
+ /**
156
+ * Best-effort resolution of `servers[0].url`.
157
+ *
158
+ * Absolute URLs are used verbatim. Templated URLs are substituted from
159
+ * `servers[0].variables[*].default` when every variable has one; otherwise
160
+ * the URL is unusable and omitted. Relative URLs require the spec's
161
+ * *source* URL to resolve against, which `scan()` — pure and I/O-free —
162
+ * does not have; they are omitted here (advisory only; the caller supplies
163
+ * `baseUrl` to the writer regardless).
164
+ */
165
+ function resolveServerUrl(spec) {
166
+ const servers = spec['servers'];
167
+ if (!Array.isArray(servers) || servers.length === 0)
168
+ return null;
169
+ const first = servers[0];
170
+ if (typeof first !== 'object' || first === null || Array.isArray(first))
171
+ return null;
172
+ const firstObj = first;
173
+ const url = firstObj['url'];
174
+ if (typeof url !== 'string' || url === '')
175
+ return null;
176
+ if (!ABS_URL_RE.test(url))
177
+ return null;
178
+ let resultUrl = url;
179
+ const variables = firstObj['variables'];
180
+ if (variables !== null &&
181
+ typeof variables === 'object' &&
182
+ !Array.isArray(variables) &&
183
+ Object.keys(variables).length > 0) {
184
+ const varsObj = variables;
185
+ const substitutions = {};
186
+ for (const [name, v] of Object.entries(varsObj)) {
187
+ if (typeof v !== 'object' || v === null || Array.isArray(v) || !('default' in v)) {
188
+ return null;
189
+ }
190
+ substitutions[name] = String(v['default']);
191
+ }
192
+ resultUrl = resultUrl.replace(TEMPLATE_VAR_RE, (match, varName) => substitutions[varName] ?? match);
193
+ if (resultUrl.includes('{') || resultUrl.includes('}'))
194
+ return null;
195
+ }
196
+ return resultUrl;
197
+ }
198
+ function validateSpec(spec) {
199
+ if (typeof spec !== 'object' || spec === null || Array.isArray(spec)) {
200
+ throw new InvalidSpecError('OpenAPIScanner.scan: spec must be an object');
201
+ }
202
+ const openapiVersion = spec['openapi'];
203
+ if (typeof openapiVersion !== 'string' ||
204
+ !(openapiVersion.startsWith('3.0') || openapiVersion.startsWith('3.1'))) {
205
+ throw new InvalidSpecError('OpenAPIScanner.scan: unsupported spec — expected OpenAPI 3.0.x or 3.1.x, ' +
206
+ `got 'openapi': ${JSON.stringify(openapiVersion ?? null)} (swagger 2.0 is not supported in V1)`);
207
+ }
208
+ }
209
+ /**
210
+ * Turn an OpenAPI 3.0/3.1 document into a list of `ScannedModule`.
211
+ *
212
+ * Pure and synchronous: `scan()` accepts an already-parsed document and
213
+ * performs no I/O. Use `loadSpec` (from `./openapi-loader.js`) to
214
+ * fetch/parse a document first.
215
+ */
216
+ export class OpenAPIScanner extends BaseScanner {
217
+ scan(spec, options = {}) {
218
+ validateSpec(spec);
219
+ const { include, exclude, basePathPrefix, includeDeprecated = true, transformOperation, deriveModuleId: deriveModuleIdHook, transformModule, } = options;
220
+ const rawPaths = spec['paths'];
221
+ const paths = rawPaths !== null && typeof rawPaths === 'object' && !Array.isArray(rawPaths)
222
+ ? rawPaths
223
+ : {};
224
+ const openapiVersion = spec['openapi'];
225
+ const info = spec['info'];
226
+ const infoVersion = info !== null && typeof info === 'object' && !Array.isArray(info)
227
+ ? info['version']
228
+ : undefined;
229
+ const docVersion = typeof infoVersion === 'string' && infoVersion ? infoVersion : '1.0.0';
230
+ const serverUrl = resolveServerUrl(spec);
231
+ let modules = [];
232
+ for (const [path, rawPathItem] of Object.entries(paths)) {
233
+ if (typeof rawPathItem !== 'object' || rawPathItem === null || Array.isArray(rawPathItem))
234
+ continue;
235
+ const pathItem = rawPathItem;
236
+ for (const [key, rawOperation] of Object.entries(pathItem)) {
237
+ const method = key.toLowerCase();
238
+ if (!RECOGNIZED_METHODS.has(method) ||
239
+ typeof rawOperation !== 'object' ||
240
+ rawOperation === null ||
241
+ Array.isArray(rawOperation)) {
242
+ continue;
243
+ }
244
+ let operation = rawOperation;
245
+ if (transformOperation) {
246
+ const transformed = transformOperation(path, method, operation);
247
+ if (transformed === null)
248
+ continue;
249
+ operation = transformed;
250
+ }
251
+ // Strict boolean check (not truthy coercion): OpenAPI's `deprecated`
252
+ // is typed `boolean` in the spec, so a malformed non-boolean value
253
+ // (e.g. the string `"false"`) should not flip this on. Matches
254
+ // Rust's `and_then(Value::as_bool)` behavior.
255
+ const deprecated = operation['deprecated'] === true;
256
+ if (deprecated && !includeDeprecated)
257
+ continue;
258
+ let mid = deriveModuleIdHook ? deriveModuleIdHook(path, method, operation) : null;
259
+ if (mid === null || mid === undefined) {
260
+ mid = deriveModuleId(path, method, operation);
261
+ }
262
+ if (basePathPrefix) {
263
+ mid = `${basePathPrefix}.${mid}`;
264
+ }
265
+ const warnings = refWarnings(operation, spec);
266
+ const inputSchema = extractInputSchema(operation, spec);
267
+ const outputSchema = extractOutputSchema(operation, spec);
268
+ const responses = operation['responses'];
269
+ const hasSuccess = responses !== null && typeof responses === 'object' && !Array.isArray(responses)
270
+ ? Object.keys(responses).some((status) => /^2\d\d$/.test(status))
271
+ : false;
272
+ if (!hasSuccess) {
273
+ warnings.push('no 2xx response defined; output_schema is empty');
274
+ }
275
+ let annotations = BaseScanner.inferAnnotationsFromMethod(method);
276
+ if (deprecated) {
277
+ // ModuleAnnotations has no first-class `deprecated` field; the
278
+ // toolkit convention is `annotations.extra.deprecated` (see also
279
+ // tui-view-model.ts's Filter.deprecated handling).
280
+ annotations = { ...annotations, extra: { ...annotations.extra, deprecated: true } };
281
+ }
282
+ const summaryVal = operation['summary'];
283
+ const summary = typeof summaryVal === 'string' && summaryVal ? summaryVal : null;
284
+ const descriptionVal = operation['description'];
285
+ const documentation = typeof descriptionVal === 'string' ? descriptionVal : null;
286
+ const description = summary ?? firstLine(documentation) ?? '';
287
+ const openapiMeta = { spec_version: openapiVersion };
288
+ const operationIdVal = operation['operationId'];
289
+ if (typeof operationIdVal === 'string' && operationIdVal) {
290
+ openapiMeta['operation_id'] = operationIdVal;
291
+ }
292
+ if (serverUrl) {
293
+ openapiMeta['server_url'] = serverUrl;
294
+ }
295
+ if (summary) {
296
+ openapiMeta['summary'] = summary;
297
+ }
298
+ const rawTags = operation['tags'];
299
+ const tags = Array.isArray(rawTags)
300
+ ? rawTags.filter((t) => typeof t === 'string')
301
+ : [];
302
+ let module = createScannedModule({
303
+ moduleId: mid,
304
+ description,
305
+ inputSchema,
306
+ outputSchema,
307
+ tags,
308
+ target: `${method.toUpperCase()} ${path}`,
309
+ version: docVersion,
310
+ annotations,
311
+ documentation,
312
+ metadata: {
313
+ http_method: method.toUpperCase(),
314
+ url_path: path,
315
+ openapi: openapiMeta,
316
+ },
317
+ warnings,
318
+ });
319
+ if (transformModule) {
320
+ const transformed = transformModule(module);
321
+ if (transformed === null)
322
+ continue;
323
+ module = transformed;
324
+ }
325
+ modules.push(module);
326
+ }
327
+ }
328
+ modules = this.filterModules(modules, include, exclude);
329
+ modules = this.deduplicateIds(modules);
330
+ return modules;
331
+ }
332
+ getSourceName() {
333
+ return 'openapi';
334
+ }
335
+ }
336
+ //# sourceMappingURL=openapi-scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi-scanner.js","sourceRoot":"","sources":["../src/openapi-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,6EAA6E;AAC7E,6EAA6E;AAC7E,4CAA4C;AAC5C,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,KAAK;IACL,KAAK;IACL,MAAM;IACN,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;IACP,OAAO;CACR,CAAC,CAAC;AAEH,2EAA2E;AAC3E,6EAA6E;AAC7E,yEAAyE;AACzE,oEAAoE;AACpE,2EAA2E;AAC3E,qEAAqE;AACrE,sEAAsE;AACtE,uEAAuE;AACvE,yEAAyE;AACzE,uBAAuB;AACvB,MAAM,WAAW,GAAG,mBAAmB,CAAC;AACxC,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,SAAiB;IACjC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,MAAc,EACd,SAAkC;IAElC,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;IAClC,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;IAChE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACvC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CACrF,CAAC;IAEF,IAAI,SAAS,GAAG,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,sEAAsE;AACtE,SAAS,WAAW,CAAC,IAAa;IAChC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;SAAM,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,IAA+B,CAAC;QAC5C,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,SAAkC,EAAE,IAA6B;IACpF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,IAAI,GAAG;QACX,GAAG,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC9C,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KAC7C,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3D,QAAQ,CAAC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,SAAS,CAAC,IAA+B;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,GAAG,+BAA+B,CAAC;AACnD,MAAM,eAAe,GAAG,cAAc,CAAC;AAEvC;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,IAA6B;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrF,MAAM,QAAQ,GAAG,KAAgC,CAAC;IAClD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,IAAI,SAAS,GAAG,GAAG,CAAC;IACpB,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxC,IACE,SAAS,KAAK,IAAI;QAClB,OAAO,SAAS,KAAK,QAAQ;QAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,SAAoC,CAAC,CAAC,MAAM,GAAG,CAAC,EAC5D,CAAC;QACD,MAAM,OAAO,GAAG,SAAoC,CAAC;QACrD,MAAM,aAAa,GAA2B,EAAE,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC;gBACjF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAE,CAA6B,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC;QAC5G,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IACtE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,IAAa;IACjC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,gBAAgB,CAAC,6CAA6C,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,cAAc,GAAI,IAAgC,CAAC,SAAS,CAAC,CAAC;IACpE,IACE,OAAO,cAAc,KAAK,QAAQ;QAClC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EACvE,CAAC;QACD,MAAM,IAAI,gBAAgB,CACxB,2EAA2E;YACzE,kBAAkB,IAAI,CAAC,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC,uCAAuC,CAClG,CAAC;IACJ,CAAC;AACH,CAAC;AA4BD;;;;;;GAMG;AACH,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC7C,IAAI,CAAC,IAA6B,EAAE,UAA8B,EAAE;QAClE,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnB,MAAM,EACJ,OAAO,EACP,OAAO,EACP,cAAc,EACd,iBAAiB,GAAG,IAAI,EACxB,kBAAkB,EAClB,cAAc,EAAE,kBAAkB,EAClC,eAAe,GAChB,GAAG,OAAO,CAAC;QAEZ,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,KAAK,GACT,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC3E,CAAC,CAAE,QAAoC;YACvC,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,WAAW,GACf,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAC/D,CAAC,CAAE,IAAgC,CAAC,SAAS,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,UAAU,GAAG,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1F,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,OAAO,GAAoB,EAAE,CAAC;QAElC,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;gBAAE,SAAS;YACpG,MAAM,QAAQ,GAAG,WAAsC,CAAC;YAExD,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;gBACjC,IACE,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC;oBAC/B,OAAO,YAAY,KAAK,QAAQ;oBAChC,YAAY,KAAK,IAAI;oBACrB,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAC3B,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,SAAS,GAAG,YAAuC,CAAC;gBAExD,IAAI,kBAAkB,EAAE,CAAC;oBACvB,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;oBAChE,IAAI,WAAW,KAAK,IAAI;wBAAE,SAAS;oBACnC,SAAS,GAAG,WAAW,CAAC;gBAC1B,CAAC;gBAED,qEAAqE;gBACrE,mEAAmE;gBACnE,+DAA+D;gBAC/D,8CAA8C;gBAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;gBACpD,IAAI,UAAU,IAAI,CAAC,iBAAiB;oBAAE,SAAS;gBAE/C,IAAI,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClF,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtC,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBAChD,CAAC;gBACD,IAAI,cAAc,EAAE,CAAC;oBACnB,GAAG,GAAG,GAAG,cAAc,IAAI,GAAG,EAAE,CAAC;gBACnC,CAAC;gBAED,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAE9C,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACxD,MAAM,YAAY,GAAG,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC1D,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;gBACzC,MAAM,UAAU,GACd,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;oBAC9E,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAoC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC5F,CAAC,CAAC,KAAK,CAAC;gBACZ,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,QAAQ,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;gBACnE,CAAC;gBAED,IAAI,WAAW,GAAG,WAAW,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;gBACjE,IAAI,UAAU,EAAE,CAAC;oBACf,+DAA+D;oBAC/D,iEAAiE;oBACjE,mDAAmD;oBACnD,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;gBACtF,CAAC;gBAED,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;gBACxC,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjF,MAAM,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;gBAChD,MAAM,aAAa,GAAG,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjF,MAAM,WAAW,GAAG,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBAE9D,MAAM,WAAW,GAA4B,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;gBAC9E,MAAM,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;gBAChD,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,EAAE,CAAC;oBACzD,WAAW,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC;gBAC/C,CAAC;gBACD,IAAI,SAAS,EAAE,CAAC;oBACd,WAAW,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;gBACxC,CAAC;gBACD,IAAI,OAAO,EAAE,CAAC;oBACZ,WAAW,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;gBACnC,CAAC;gBAED,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;oBACjC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;oBAC3D,CAAC,CAAC,EAAE,CAAC;gBAEP,IAAI,MAAM,GAAkB,mBAAmB,CAAC;oBAC9C,QAAQ,EAAE,GAAG;oBACb,WAAW;oBACX,WAAW;oBACX,YAAY;oBACZ,IAAI;oBACJ,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE;oBACzC,OAAO,EAAE,UAAU;oBACnB,WAAW;oBACX,aAAa;oBACb,QAAQ,EAAE;wBACR,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE;wBACjC,QAAQ,EAAE,IAAI;wBACd,OAAO,EAAE,WAAW;qBACrB;oBACD,QAAQ;iBACT,CAAC,CAAC;gBAEH,IAAI,eAAe,EAAE,CAAC;oBACpB,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;oBAC5C,IAAI,WAAW,KAAK,IAAI;wBAAE,SAAS;oBACnC,MAAM,GAAG,WAAW,CAAC;gBACvB,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-proxy-writer.d.ts","sourceRoot":"","sources":["../../src/output/http-proxy-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAWH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA4B9C;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED;;;GAGG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI9C;AAuDD;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAA+B;IAClE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;gBAE7B,OAAO,EAAE,8BAA8B;IAkCnD;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,aAAa,GAAG,WAAW,EAAE;IAevE,OAAO,CAAC,mBAAmB;CA0I5B"}
1
+ {"version":3,"file":"http-proxy-writer.d.ts","sourceRoot":"","sources":["../../src/output/http-proxy-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAWH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA4B9C;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED;;;GAGG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI9C;AAuDD;;;;;GAKG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAA+B;IAClE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;gBAE7B,OAAO,EAAE,8BAA8B;IA8CnD;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,aAAa,GAAG,WAAW,EAAE;IAevE,OAAO,CAAC,mBAAmB;CA0I5B"}
@@ -130,6 +130,14 @@ export class HTTPProxyRegistryWriter {
130
130
  if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
131
131
  throw new HTTPProxyRegistryWriterError('constructor', `Invalid base_url protocol "${parsed.protocol}" — must be http or https`);
132
132
  }
133
+ // Validate `timeoutMs` up-front so a misconfigured writer fails at
134
+ // construction rather than every request aborting almost immediately
135
+ // with no diagnostic. Mirrors Rust's
136
+ // `timeout_secs.is_finite() && timeout_secs > 0.0` check in
137
+ // `HTTPProxyRegistryWriter::new`.
138
+ if (!Number.isFinite(this.timeoutMs) || this.timeoutMs <= 0) {
139
+ throw new HTTPProxyRegistryWriterError('constructor', `Invalid timeoutMs ${String(this.timeoutMs)} — must be a finite number greater than 0`);
140
+ }
133
141
  }
134
142
  /**
135
143
  * Register each module's HTTP proxy into the registry.
@@ -1 +1 @@
1
- {"version":3,"file":"http-proxy-writer.js","sourceRoot":"","sources":["../../src/output/http-proxy-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-proxy-writer.js","sourceRoot":"","sources":["../../src/output/http-proxy-writer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry-writer.d.ts","sourceRoot":"","sources":["../../src/output/registry-writer.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAuCzD;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB;;;;;;;;;;;OAWG;IACG,KAAK,CACT,OAAO,EAAE,aAAa,EAAE,EACxB,QAAQ,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAC1G,OAAO,CAAC,EAAE,gBAAgB,GAAG;QAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAC1D,OAAO,CAAC,WAAW,EAAE,CAAC;YA8DX,iBAAiB;CA8HhC"}
1
+ {"version":3,"file":"registry-writer.d.ts","sourceRoot":"","sources":["../../src/output/registry-writer.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAuCzD;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB;;;;;;;;;;;OAWG;IACG,KAAK,CACT,OAAO,EAAE,aAAa,EAAE,EACxB,QAAQ,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAC1G,OAAO,CAAC,EAAE,gBAAgB,GAAG;QAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAC1D,OAAO,CAAC,WAAW,EAAE,CAAC;YA8DX,iBAAiB;CA0IhC"}
@@ -102,7 +102,18 @@ export class RegistryWriter {
102
102
  if (streamingRequested) {
103
103
  const resolvedObj = resolved;
104
104
  const streamMethod = resolvedObj['stream'];
105
- if (typeof streamMethod === 'function') {
105
+ // A function is only a valid streaming implementation if it is an
106
+ // async generator function (`async function* () {}`), i.e. calling it
107
+ // actually produces an AsyncGenerator. A plain synchronous (or plain
108
+ // async, non-generator) function named `stream` would pass a bare
109
+ // `typeof streamMethod === 'function'` check but fail later at CALL
110
+ // time when the caller tries to async-iterate its return value.
111
+ // Mirrors the Python SDK's `inspect.iscoroutinefunction` /
112
+ // `inspect.isasyncgenfunction` guard in registry_writer.py.
113
+ const isAsyncGeneratorFunction = typeof streamMethod === 'function' &&
114
+ streamMethod.constructor?.name ===
115
+ 'AsyncGeneratorFunction';
116
+ if (isAsyncGeneratorFunction) {
106
117
  // Target exposes a stream() method — build StreamingFunctionModule.
107
118
  // For the execute path prefer the target's execute() when present;
108
119
  // fall back to treating the resolved value as a plain function.
@@ -1 +1 @@
1
- {"version":3,"file":"registry-writer.js","sourceRoot":"","sources":["../../src/output/registry-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-writer.js","sourceRoot":"","sources":["../../src/output/registry-writer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * TuiViewModel — Tier-1 byte-equivalent module-list view shape.
3
+ *
4
+ * Lifts the *shape* of a module-list view (columns, rows, filter intent,
5
+ * sort intent, color-by-tag rules) into the toolkit, so every downstream
6
+ * consumer (`apcore-cli-*`, future browser dashboards, MCP/A2A surfaces)
7
+ * produces identical column sets, identical filter semantics, and identical
8
+ * row order for the same `ScannedModule` input. Rendering itself stays
9
+ * Tier 2 and is free to differ in pixels.
10
+ *
11
+ * Pure, synchronous, no Node.js dependency — also re-exported from
12
+ * `apcore-toolkit/browser`.
13
+ *
14
+ * See `apcore-toolkit/docs/features/tui-view-model.md` for the full V1
15
+ * specification, wire format, and conformance corpus.
16
+ */
17
+ import type { ScannedModule } from './types.js';
18
+ export type View = 'list' | 'grouped';
19
+ export type Justify = 'left' | 'right' | 'center';
20
+ export type Exposure = 'exposed' | 'hidden' | 'all';
21
+ export type Direction = 'asc' | 'desc';
22
+ export type Tone = 'neutral' | 'positive' | 'negative' | 'warning' | 'info';
23
+ export type CellKind = 'text' | 'tags' | 'badge' | 'symbol';
24
+ export type GroupBy = 'tag' | 'prefix';
25
+ /** A single table cell (discriminated union by `kind`). */
26
+ export interface Cell {
27
+ kind: CellKind;
28
+ /** Present for `"text"` / `"badge"` / `"symbol"` kinds. */
29
+ value?: string;
30
+ /** Present for the `"tags"` kind. */
31
+ values?: string[];
32
+ /** Optional for `"badge"` / `"symbol"` kinds. Never set by `modulesToViewModel` in V1. */
33
+ tone?: Tone;
34
+ }
35
+ /** A view-model column: render order and `Row.cells` index lookup. */
36
+ export interface Column {
37
+ key: string;
38
+ label: string;
39
+ /** Default `"left"`; omitted from the wire format when left at the default. */
40
+ justify?: Justify;
41
+ /** References a `TonePalette.name`. `null`/absent when no tone applies. */
42
+ toneBy?: string | null;
43
+ }
44
+ /** A view-model row. `cells[i]` corresponds to `columns[i]`. */
45
+ export interface Row {
46
+ cells: Cell[];
47
+ /** Used by `tone_by` palette `tag_equals` rules. Omitted from the wire format when empty. */
48
+ tags?: string[];
49
+ }
50
+ /** Annotates which sort the toolkit (or the caller) applied. */
51
+ export interface Sort {
52
+ key: string;
53
+ /** Default `"asc"`. */
54
+ direction?: Direction;
55
+ }
56
+ /** Annotates which filter the toolkit applied. All fields required in the wire format. */
57
+ export interface Filter {
58
+ tags: string[];
59
+ search: string;
60
+ annotations: string[];
61
+ exposure: Exposure;
62
+ deprecated: boolean;
63
+ }
64
+ /** First-match-wins rule mapping a tag to a semantic tone. */
65
+ export interface ToneRule {
66
+ value: string;
67
+ tone: Tone;
68
+ /** Only `"tag_equals"` is supported in V1; defaults to it. */
69
+ kind?: 'tag_equals';
70
+ }
71
+ /** A named, ordered set of {@link ToneRule}. */
72
+ export interface TonePalette {
73
+ name: string;
74
+ rules: ToneRule[];
75
+ }
76
+ /** A named group of row indices, present only when `kind === "grouped"`. */
77
+ export interface Group {
78
+ label: string;
79
+ rowIndices: number[];
80
+ }
81
+ /** The V1 `TuiViewModel` wire-format envelope. */
82
+ export interface TuiViewModel {
83
+ kind: View;
84
+ columns: Column[];
85
+ rows: Row[];
86
+ schemaVersion?: number;
87
+ title?: string | null;
88
+ groups?: Group[] | null;
89
+ sort?: Sort | null;
90
+ filter?: Filter | null;
91
+ tonePalettes?: TonePalette[] | null;
92
+ }
93
+ /**
94
+ * Canonical, byte-identical compact JSON encoding of `vm`.
95
+ *
96
+ * See `apcore-toolkit/docs/features/tui-view-model.md` § Canonical JSON
97
+ * Encoding: declaration-order keys, optional fields omitted (never
98
+ * `null`), lowercase booleans, no floating point, no whitespace.
99
+ */
100
+ export declare function formatViewModel(vm: TuiViewModel): string;
101
+ /** Options for {@link modulesToViewModel}. */
102
+ export interface ModulesToViewModelOptions {
103
+ /** Default `"list"`. */
104
+ view?: View;
105
+ /** Column keys to include, in render order. Default `[]` — no built-in default set. */
106
+ columns?: string[];
107
+ title?: string;
108
+ filter?: Filter | null;
109
+ /** Only `sort.key` of `module_id`/`alias`/`description` is executed here; see the spec's Sort/Filter Execution Model. */
110
+ sort?: Sort | null;
111
+ /** Meaningful only when `view === "grouped"`. `null`/absent groups everything under `"(all)"`. */
112
+ groupBy?: GroupBy | null;
113
+ /** V1 wires the first supplied palette's `name` to the `"tags"` column's `toneBy`. */
114
+ tonePalettes?: TonePalette[];
115
+ /** Honour `ScannedModule.display` overlay for `alias`/`description`. Default `true`. */
116
+ display?: boolean;
117
+ }
118
+ /**
119
+ * Build a byte-equivalent {@link TuiViewModel} from scanned modules.
120
+ *
121
+ * See `Contract: modules_to_view_model` and the wire-format schema in
122
+ * `apcore-toolkit/docs/features/tui-view-model.md`.
123
+ *
124
+ * Sort/filter execution model: filtering by `tags` / `search` /
125
+ * `annotations` / `exposure` / `deprecated` always executes here. Sorting
126
+ * by `module_id` / `alias` / `description` executes here; any other
127
+ * `sort.key` (e.g. usage-based `calls` / `errors` / `latency`) is honoured
128
+ * verbatim in the incoming `modules` order — the caller is responsible for
129
+ * pre-sorting those.
130
+ */
131
+ export declare function modulesToViewModel(modules: ScannedModule[], options?: ModulesToViewModelOptions): TuiViewModel;
132
+ //# sourceMappingURL=tui-view-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui-view-model.d.ts","sourceRoot":"","sources":["../src/tui-view-model.ts"],"names":[],"mappings":"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"}