@glubean/sdk 0.9.1 → 0.9.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/contract-http/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMpE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AA6MD;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,2BAA2B,CAAC,eAAe,EAAE,gBAAgB,CAAC,GACzE,eAAe,GAAG,IAAI,CAwTxB;
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/contract-http/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMpE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AA6MD;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,2BAA2B,CAAC,eAAe,EAAE,gBAAgB,CAAC,GACzE,eAAe,GAAG,IAAI,CAwTxB;AAuVD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EAAE,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,eAAe,CAoIjB"}
|
|
@@ -382,6 +382,280 @@ const OPENAPI_OPERATION_KEYS = new Set([
|
|
|
382
382
|
"patch",
|
|
383
383
|
"trace",
|
|
384
384
|
]);
|
|
385
|
+
// =============================================================================
|
|
386
|
+
// Component schema hoisting (GLU-127)
|
|
387
|
+
// =============================================================================
|
|
388
|
+
//
|
|
389
|
+
// `buildOpenApiPartForHttp` (above) always writes request/response body
|
|
390
|
+
// schemas INLINE — it only ever sees one contract, so it has no basis for
|
|
391
|
+
// deciding what's reusable. Hoisting is a document-level concern: it needs
|
|
392
|
+
// the full merged `paths` map to know which schemas repeat. So it runs here,
|
|
393
|
+
// as the last step of `mergeOpenApiParts`, after `paths` /
|
|
394
|
+
// `x-glubean-surface-collisions` are assembled but before the document is
|
|
395
|
+
// returned.
|
|
396
|
+
//
|
|
397
|
+
// Scope is deliberately narrow — only request/response BODY schemas
|
|
398
|
+
// (`requestBody.content[ctype].schema`, `responses[status].content[ctype].schema`)
|
|
399
|
+
// are candidates. Parameter schemas (path/query/header) and response header
|
|
400
|
+
// schemas stay inline: they're small, rarely reused across operations, and
|
|
401
|
+
// leaving them alone keeps this pass from touching code paths GLU-116/119/120
|
|
402
|
+
// just finished stabilizing.
|
|
403
|
+
/** Convert a contract id (`"auth.sign-in.email"`) into a PascalCase stem
|
|
404
|
+
* (`"AuthSignInEmail"`) for derived component names. Splits on any
|
|
405
|
+
* non-alphanumeric separator (`.`, `-`, `_`, space, `:`, ...). */
|
|
406
|
+
function toPascalCase(id) {
|
|
407
|
+
return id
|
|
408
|
+
.split(/[^a-zA-Z0-9]+/)
|
|
409
|
+
.filter(Boolean)
|
|
410
|
+
.map((token) => token.charAt(0).toUpperCase() + token.slice(1))
|
|
411
|
+
.join("");
|
|
412
|
+
}
|
|
413
|
+
/** Sanitize a user-supplied JSON Schema `title` into a component name that
|
|
414
|
+
* matches OpenAPI's `^[a-zA-Z0-9._-]+$` component-key grammar. Returns null
|
|
415
|
+
* if nothing usable survives (e.g. title was all punctuation). */
|
|
416
|
+
function sanitizeComponentName(title) {
|
|
417
|
+
const cleaned = title.replace(/[^a-zA-Z0-9._-]/g, "");
|
|
418
|
+
if (!cleaned)
|
|
419
|
+
return null;
|
|
420
|
+
// A leading digit/`.`/`-` is spec-legal but reads badly as a generated
|
|
421
|
+
// type name in downstream codegen — prefix with `_` instead of rejecting.
|
|
422
|
+
return /^[a-zA-Z_]/.test(cleaned) ? cleaned : `_${cleaned}`;
|
|
423
|
+
}
|
|
424
|
+
/** Root-level JSON Schema composition keywords (`anyOf`/`oneOf`/`allOf`) —
|
|
425
|
+
* Zod emits these for `z.union([...])`/discriminated unions and for
|
|
426
|
+
* `.nullable()` at the schema root (`anyOf: [T, {type:"null"}]`). */
|
|
427
|
+
const COMPOSITION_KEYS = ["anyOf", "oneOf", "allOf"];
|
|
428
|
+
/**
|
|
429
|
+
* True when a JSON Schema is "structured" enough to be worth a named
|
|
430
|
+
* component:
|
|
431
|
+
* - an object with at least one declared property (`properties`),
|
|
432
|
+
* - an object map / record with a concrete value schema
|
|
433
|
+
* (`additionalProperties` is a non-empty schema — Zod's
|
|
434
|
+
* `z.record(valueSchema)` shape),
|
|
435
|
+
* - an array,
|
|
436
|
+
* - or a root-level `anyOf`/`oneOf`/`allOf` composition (union /
|
|
437
|
+
* nullable-at-root).
|
|
438
|
+
* Bare primitives (`{"type":"string"}`) and property-less/wildcard object
|
|
439
|
+
* schemas (`{"type":"object"}`, `{"type":"object","additionalProperties":true}`)
|
|
440
|
+
* stay inline: hoisting them would mint a component name for something
|
|
441
|
+
* that carries no shape information, which is noise rather than reuse
|
|
442
|
+
* value. Already-hoisted / hand-authored `$ref`s are left untouched
|
|
443
|
+
* (idempotent — a second `mergeOpenApiParts` pass over an already-
|
|
444
|
+
* componentized doc is a no-op here).
|
|
445
|
+
*
|
|
446
|
+
* Codex R3 P2: the original version only recognized `type: "object"` with
|
|
447
|
+
* non-empty `properties` (plus bare arrays) — missing two common Zod root
|
|
448
|
+
* shapes: unions/nullables (root `anyOf`, no `type` key at all) and
|
|
449
|
+
* records (`type: "object"` with `additionalProperties` but no fixed
|
|
450
|
+
* `properties`). Both are structured, reusable shapes; only the truly
|
|
451
|
+
* shapeless `{"type":"object"}` wildcard is excluded.
|
|
452
|
+
*/
|
|
453
|
+
function isHoistableSchema(schema) {
|
|
454
|
+
if (!schema || typeof schema !== "object" || Array.isArray(schema))
|
|
455
|
+
return false;
|
|
456
|
+
const s = schema;
|
|
457
|
+
if (typeof s.$ref === "string")
|
|
458
|
+
return false;
|
|
459
|
+
if (s.type === "array")
|
|
460
|
+
return true;
|
|
461
|
+
if (s.type === "object") {
|
|
462
|
+
if (s.properties &&
|
|
463
|
+
typeof s.properties === "object" &&
|
|
464
|
+
!Array.isArray(s.properties) &&
|
|
465
|
+
Object.keys(s.properties).length > 0) {
|
|
466
|
+
return true;
|
|
467
|
+
}
|
|
468
|
+
return (!!s.additionalProperties &&
|
|
469
|
+
typeof s.additionalProperties === "object" &&
|
|
470
|
+
!Array.isArray(s.additionalProperties) &&
|
|
471
|
+
Object.keys(s.additionalProperties).length > 0);
|
|
472
|
+
}
|
|
473
|
+
for (const key of COMPOSITION_KEYS) {
|
|
474
|
+
const branch = s[key];
|
|
475
|
+
if (Array.isArray(branch) && branch.length > 0)
|
|
476
|
+
return true;
|
|
477
|
+
}
|
|
478
|
+
return false;
|
|
479
|
+
}
|
|
480
|
+
/**
|
|
481
|
+
* Deep-sort an object's keys (recursively) and drop the ROOT schema's own
|
|
482
|
+
* `title` annotation so two structurally-identical schemas hash the same
|
|
483
|
+
* regardless of property insertion order or an incidental title mismatch —
|
|
484
|
+
* the basis for content-based dedup ("de-dupe identical JSON Schemas to
|
|
485
|
+
* avoid duplicate components", GLU-127 design notes).
|
|
486
|
+
*
|
|
487
|
+
* `isRoot` gates the `title` drop to depth 0 ONLY. A schema's own metadata
|
|
488
|
+
* `title` (`{ type: "object", title: "ErrorResponse", properties: {...} }`)
|
|
489
|
+
* is display metadata we intentionally ignore for dedup — that's the whole
|
|
490
|
+
* point of the explicit-name feature. But a `title` that's a genuine SCHEMA
|
|
491
|
+
* PROPERTY (`{ type: "object", properties: { title: { type: "string" } } }`
|
|
492
|
+
* — e.g. a blog post's `title` field) lives one level deeper, inside
|
|
493
|
+
* `properties`, where `isRoot` is already false — so it's preserved. Codex
|
|
494
|
+
* R1 P2 caught the recursive version of this: it stripped `title` at every
|
|
495
|
+
* depth, so `{ properties: { name, title } }` and `{ properties: { name } }`
|
|
496
|
+
* canonicalized identically and dedupe-merged into the wrong shape.
|
|
497
|
+
*/
|
|
498
|
+
function canonicalizeForDedup(value, isRoot = true) {
|
|
499
|
+
if (Array.isArray(value))
|
|
500
|
+
return value.map((v) => canonicalizeForDedup(v, false));
|
|
501
|
+
if (value && typeof value === "object") {
|
|
502
|
+
const out = {};
|
|
503
|
+
for (const key of Object.keys(value).sort()) {
|
|
504
|
+
if (isRoot && key === "title")
|
|
505
|
+
continue;
|
|
506
|
+
out[key] = canonicalizeForDedup(value[key], false);
|
|
507
|
+
}
|
|
508
|
+
return out;
|
|
509
|
+
}
|
|
510
|
+
return value;
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* Registry that hoists schemas into `components.schemas`, returning the
|
|
514
|
+
* `$ref` that replaces each inline occurrence. Content-addressed: a second
|
|
515
|
+
* schema that's structurally identical to one already registered (same
|
|
516
|
+
* canonicalized JSON) reuses the existing component instead of minting a
|
|
517
|
+
* duplicate — this is what turns the shared `ErrorResponse` envelope in two
|
|
518
|
+
* different contracts' error cases into ONE component with two `$ref`s.
|
|
519
|
+
*
|
|
520
|
+
* Two-phase by design (codex R2 P2): naming can't be decided the moment a
|
|
521
|
+
* schema is first seen, because an EARLIER occurrence of a shared shape
|
|
522
|
+
* might carry no explicit title while a LATER occurrence does (or vice
|
|
523
|
+
* versa) — deciding eagerly would make the winning name depend on
|
|
524
|
+
* traversal order. So `collect()` only records occurrences (grouped by
|
|
525
|
+
* content key) during the walk; `finalize()` — called once, after every
|
|
526
|
+
* operation has been walked — picks ONE name per group and back-fills
|
|
527
|
+
* every `$ref` in that group with it.
|
|
528
|
+
*
|
|
529
|
+
* Naming precedence (GLU-127 design notes):
|
|
530
|
+
* 1. Explicit — the schema's own JSON Schema `title` (from a user's
|
|
531
|
+
* `zod.meta({ title: "ErrorResponse" })` or equivalent), sanitized.
|
|
532
|
+
* Honored no matter which occurrence in the group carries it.
|
|
533
|
+
* 2. Derived — PascalCase(contractId) + "Request"/"Response", with an
|
|
534
|
+
* optional status-code suffix (`altName`) to disambiguate a contract
|
|
535
|
+
* with more than one distinct response body shape.
|
|
536
|
+
* 3. Numeric fallback (`_2`, `_3`, ...) — only reached if two DIFFERENT
|
|
537
|
+
* groups want the exact same name (rare: e.g. two contracts whose ids
|
|
538
|
+
* collide after PascalCasing, or two explicit titles collide).
|
|
539
|
+
* Naming is a pure function of contract id + kind + status — not of
|
|
540
|
+
* iteration order — so names are stable across runs (the whole point is a
|
|
541
|
+
* diffable projection); the numeric fallback is the only path where
|
|
542
|
+
* processing order can matter, and callers walk paths/statuses in sorted
|
|
543
|
+
* order (and `finalize()` walks groups in first-seen order) specifically to
|
|
544
|
+
* keep even that deterministic.
|
|
545
|
+
*/
|
|
546
|
+
class ComponentSchemaRegistry {
|
|
547
|
+
// Object.create(null) (codex R2 P3): a plain `{}` lets a sanitized title
|
|
548
|
+
// of `__proto__` (or `constructor`, ...) silently mutate the object's
|
|
549
|
+
// prototype instead of creating an enumerable entry — the operation would
|
|
550
|
+
// still get a `$ref` to a component that `components.schemas` never
|
|
551
|
+
// actually contains. A null-prototype map has no inherited accessors to
|
|
552
|
+
// hijack, so every sanitized name — however hostile — lands as a normal
|
|
553
|
+
// own property.
|
|
554
|
+
schemas = Object.create(null);
|
|
555
|
+
nameToContentKey = new Map();
|
|
556
|
+
groups = new Map();
|
|
557
|
+
/** Phase 1 — record one occurrence of `schema` at `entry.schema`. Does
|
|
558
|
+
* NOT assign a component name or mutate `entry` yet. */
|
|
559
|
+
collect(entry, schema, preferredName, altName) {
|
|
560
|
+
const contentKey = JSON.stringify(canonicalizeForDedup(schema));
|
|
561
|
+
const explicitTitle = typeof schema.title === "string" && schema.title.trim().length > 0
|
|
562
|
+
? sanitizeComponentName(schema.title.trim())
|
|
563
|
+
: null;
|
|
564
|
+
const existing = this.groups.get(contentKey);
|
|
565
|
+
if (!existing) {
|
|
566
|
+
this.groups.set(contentKey, {
|
|
567
|
+
representative: schema,
|
|
568
|
+
explicitName: explicitTitle,
|
|
569
|
+
preferredName,
|
|
570
|
+
altName,
|
|
571
|
+
entries: [entry],
|
|
572
|
+
});
|
|
573
|
+
return;
|
|
574
|
+
}
|
|
575
|
+
// Promote an explicit title supplied by a LATER occurrence — the first
|
|
576
|
+
// occurrence in traversal order doesn't get to permanently decide the
|
|
577
|
+
// name just because it happened to lack a `.meta({ title })`.
|
|
578
|
+
if (explicitTitle && !existing.explicitName) {
|
|
579
|
+
existing.explicitName = explicitTitle;
|
|
580
|
+
existing.representative = schema; // keep the titled schema as the stored component
|
|
581
|
+
}
|
|
582
|
+
existing.entries.push(entry);
|
|
583
|
+
}
|
|
584
|
+
/** Phase 2 — assign one final name per content-key group (first-seen
|
|
585
|
+
* group order, so the numeric-suffix fallback stays deterministic) and
|
|
586
|
+
* write the resulting `$ref` into every entry collected for that group. */
|
|
587
|
+
finalize() {
|
|
588
|
+
for (const [contentKey, group] of this.groups) {
|
|
589
|
+
let candidate = group.explicitName ?? group.preferredName;
|
|
590
|
+
// Preferred name already taken by a DIFFERENT group — try the
|
|
591
|
+
// caller-supplied disambiguator (e.g. status-suffixed name) before
|
|
592
|
+
// falling back to numeric suffixes. Codex R3 P3: `altName` is a
|
|
593
|
+
// status-code disambiguator for DERIVED names only — reserved for
|
|
594
|
+
// `!group.explicitName`. If the user explicitly titled two
|
|
595
|
+
// DIFFERENT schemas the same name, silently substituting the alt
|
|
596
|
+
// name (e.g. "SomeContractResponse400") would bury the collision
|
|
597
|
+
// behind a name the user never chose; falling through to the
|
|
598
|
+
// numeric suffix (`ErrorResponse_2`) keeps it visible and
|
|
599
|
+
// deterministic instead.
|
|
600
|
+
if (this.nameToContentKey.has(candidate) &&
|
|
601
|
+
this.nameToContentKey.get(candidate) !== contentKey &&
|
|
602
|
+
group.altName &&
|
|
603
|
+
!group.explicitName) {
|
|
604
|
+
candidate = group.altName;
|
|
605
|
+
}
|
|
606
|
+
const stem = candidate;
|
|
607
|
+
let n = 2;
|
|
608
|
+
while (this.nameToContentKey.has(candidate) &&
|
|
609
|
+
this.nameToContentKey.get(candidate) !== contentKey) {
|
|
610
|
+
candidate = `${stem}_${n}`;
|
|
611
|
+
n += 1;
|
|
612
|
+
}
|
|
613
|
+
this.nameToContentKey.set(candidate, contentKey);
|
|
614
|
+
this.schemas[candidate] = group.representative;
|
|
615
|
+
const ref = { $ref: `#/components/schemas/${candidate}` };
|
|
616
|
+
for (const entry of group.entries)
|
|
617
|
+
entry.schema = ref;
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
/** `components.schemas` value, or undefined if nothing was hoisted.
|
|
621
|
+
* Only meaningful after `finalize()`. */
|
|
622
|
+
get componentSchemas() {
|
|
623
|
+
return Object.keys(this.schemas).length > 0 ? this.schemas : undefined;
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
/**
|
|
627
|
+
* Walk one operation's request/response bodies and register any hoistable
|
|
628
|
+
* schema with `registry` (phase 1 — see `ComponentSchemaRegistry`).
|
|
629
|
+
* Content-type and status keys are visited in sorted order so group
|
|
630
|
+
* creation order — and therefore any numeric-suffix disambiguation in
|
|
631
|
+
* `finalize()` — doesn't depend on upstream extraction order.
|
|
632
|
+
*/
|
|
633
|
+
function hoistOperationSchemas(registry, contractId, operation) {
|
|
634
|
+
const pascalId = toPascalCase(contractId) || "Contract";
|
|
635
|
+
const requestBody = operation.requestBody;
|
|
636
|
+
if (requestBody?.content) {
|
|
637
|
+
for (const ctype of Object.keys(requestBody.content).sort()) {
|
|
638
|
+
const entry = requestBody.content[ctype];
|
|
639
|
+
if (isHoistableSchema(entry.schema)) {
|
|
640
|
+
registry.collect(entry, entry.schema, `${pascalId}Request`);
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
const responses = operation.responses;
|
|
645
|
+
if (responses) {
|
|
646
|
+
for (const status of Object.keys(responses).sort()) {
|
|
647
|
+
const content = responses[status].content;
|
|
648
|
+
if (!content)
|
|
649
|
+
continue;
|
|
650
|
+
for (const ctype of Object.keys(content).sort()) {
|
|
651
|
+
const entry = content[ctype];
|
|
652
|
+
if (isHoistableSchema(entry.schema)) {
|
|
653
|
+
registry.collect(entry, entry.schema, `${pascalId}Response`, `${pascalId}Response${status}`);
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
}
|
|
385
659
|
/**
|
|
386
660
|
* Combine per-contract partials into a full OpenAPI 3.1 document.
|
|
387
661
|
*
|
|
@@ -477,6 +751,51 @@ export function mergeOpenApiParts(parts, options) {
|
|
|
477
751
|
}
|
|
478
752
|
}
|
|
479
753
|
}
|
|
754
|
+
// GLU-127: hoist reusable request/response body schemas into
|
|
755
|
+
// `components.schemas`, replacing each inline occurrence with a `$ref`.
|
|
756
|
+
// Runs last (needs the fully-merged `paths` + collision list to see
|
|
757
|
+
// cross-operation duplicates). `paths`/`surfaceCollisions` at this point
|
|
758
|
+
// still hold the ORIGINAL operation objects straight out of `parts` (the
|
|
759
|
+
// merge loop above assigns them by reference, never clones) — hoisting
|
|
760
|
+
// mutates the operations it walks (schema fields become `$ref`s), so it
|
|
761
|
+
// runs against a deep clone instead of the merge's own `paths`/
|
|
762
|
+
// `surfaceCollisions`. Without this, a caller that merges the same
|
|
763
|
+
// `parts` array twice (e.g. re-rendering, or a test asserting the input
|
|
764
|
+
// is untouched) would find its ORIGINAL parts silently rewritten by the
|
|
765
|
+
// first call, and the second call would see already-`$ref`'d schemas
|
|
766
|
+
// with no `components.schemas` to back them — dangling refs (codex R1
|
|
767
|
+
// P2). Both the canonical `paths` slots and the collision list's full
|
|
768
|
+
// operation copies are walked, so a de-prioritized surface operation
|
|
769
|
+
// still gets its schemas componentized/deduped against the rest of the
|
|
770
|
+
// document. Sorted traversal (path, then method) keeps naming
|
|
771
|
+
// deterministic across runs independent of upstream extraction/iteration
|
|
772
|
+
// order.
|
|
773
|
+
const hoistedPaths = structuredClone(paths);
|
|
774
|
+
const hoistedCollisions = structuredClone(surfaceCollisions);
|
|
775
|
+
const schemaRegistry = new ComponentSchemaRegistry();
|
|
776
|
+
for (const apiPath of Object.keys(hoistedPaths).sort()) {
|
|
777
|
+
const methods = hoistedPaths[apiPath];
|
|
778
|
+
for (const method of Object.keys(methods).sort()) {
|
|
779
|
+
if (!OPENAPI_OPERATION_KEYS.has(method))
|
|
780
|
+
continue;
|
|
781
|
+
const operation = methods[method];
|
|
782
|
+
const contractId = typeof operation.operationId === "string" ? operation.operationId : `${method}_${apiPath}`;
|
|
783
|
+
hoistOperationSchemas(schemaRegistry, contractId, operation);
|
|
784
|
+
}
|
|
785
|
+
}
|
|
786
|
+
for (const collision of hoistedCollisions) {
|
|
787
|
+
const operation = collision.operation;
|
|
788
|
+
if (!operation)
|
|
789
|
+
continue;
|
|
790
|
+
const contractId = typeof operation.operationId === "string"
|
|
791
|
+
? operation.operationId
|
|
792
|
+
: `${collision.method}_${collision.path}`;
|
|
793
|
+
hoistOperationSchemas(schemaRegistry, contractId, operation);
|
|
794
|
+
}
|
|
795
|
+
// Phase 2 — every occurrence is collected now; pick one name per shared
|
|
796
|
+
// shape (explicit title wins regardless of which occurrence carried it)
|
|
797
|
+
// and write the `$ref`s.
|
|
798
|
+
schemaRegistry.finalize();
|
|
480
799
|
const title = options?.title ?? "API Specification";
|
|
481
800
|
const version = options?.version ?? "1.0.0";
|
|
482
801
|
const doc = {
|
|
@@ -489,12 +808,16 @@ export function mergeOpenApiParts(parts, options) {
|
|
|
489
808
|
if (tagsByName.size > 0) {
|
|
490
809
|
doc.tags = [...tagsByName.values()];
|
|
491
810
|
}
|
|
492
|
-
|
|
493
|
-
|
|
811
|
+
const componentSchemas = schemaRegistry.componentSchemas;
|
|
812
|
+
if (componentSchemas || Object.keys(securitySchemes).length > 0) {
|
|
813
|
+
doc.components = {
|
|
814
|
+
...(componentSchemas ? { schemas: componentSchemas } : {}),
|
|
815
|
+
...(Object.keys(securitySchemes).length > 0 ? { securitySchemes } : {}),
|
|
816
|
+
};
|
|
494
817
|
}
|
|
495
|
-
doc.paths =
|
|
496
|
-
if (
|
|
497
|
-
doc["x-glubean-surface-collisions"] =
|
|
818
|
+
doc.paths = hoistedPaths;
|
|
819
|
+
if (hoistedCollisions.length > 0) {
|
|
820
|
+
doc["x-glubean-surface-collisions"] = hoistedCollisions;
|
|
498
821
|
}
|
|
499
822
|
return doc;
|
|
500
823
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/contract-http/openapi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/contract-http/openapi.ts"],"names":[],"mappings":"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"}
|