@workos/oagen 0.30.1 → 0.30.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.
- package/dist/cli/index.mjs +135 -30
- package/dist/cli/index.mjs.map +1 -1
- package/dist/compat/index.d.mts +2 -2
- package/dist/compat/index.mjs +2 -2
- package/dist/{diff-DMFiDAI6.mjs → diff-BO5FieX5.mjs} +4 -2
- package/dist/{diff-DMFiDAI6.mjs.map → diff-BO5FieX5.mjs.map} +1 -1
- package/dist/{differ-DHldxZMr.d.mts → differ-nZSxhCfC.d.mts} +2 -2
- package/dist/{differ-DHldxZMr.d.mts.map → differ-nZSxhCfC.d.mts.map} +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +130 -32
- package/dist/index.mjs.map +1 -1
- package/dist/{overlay-BhXruu32.mjs → overlay-DWAHPofk.mjs} +3 -2
- package/dist/overlay-DWAHPofk.mjs.map +1 -0
- package/dist/scripts/smoke/baseline.mjs +128 -30
- package/dist/scripts/smoke/baseline.mjs.map +1 -1
- package/dist/smoke.d.mts +8 -0
- package/dist/smoke.d.mts.map +1 -1
- package/dist/smoke.mjs +128 -30
- package/dist/smoke.mjs.map +1 -1
- package/dist/{tree-sitter-C6HB4OrC.mjs → tree-sitter-CDKm3n64.mjs} +2 -1
- package/dist/tree-sitter-CDKm3n64.mjs.map +1 -0
- package/dist/{types-yrBidOg3.d.mts → types-BcbGLNkh.d.mts} +9 -1
- package/dist/{types-yrBidOg3.d.mts.map → types-BcbGLNkh.d.mts.map} +1 -1
- package/dist/verify/index.d.mts +2 -2
- package/dist/verify/index.mjs +3 -3
- package/docs/architecture/ir-types.md +5 -0
- package/package.json +1 -1
- package/dist/overlay-BhXruu32.mjs.map +0 -1
- package/dist/tree-sitter-C6HB4OrC.mjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { At as CompatSnapshot, Lt as LanguageId, Nt as CompatSymbol, St as LanguageHints, Vt as CompatPolicyHints, bt as DiffResult, nt as CompatChangeCategory, ot as CompatProvenance, rt as CompatChangeSeverity, t as ApiSpec, vt as ApiSurface } from "./types-
|
|
1
|
+
import { At as CompatSnapshot, Lt as LanguageId, Nt as CompatSymbol, St as LanguageHints, Vt as CompatPolicyHints, bt as DiffResult, nt as CompatChangeCategory, ot as CompatProvenance, rt as CompatChangeSeverity, t as ApiSpec, vt as ApiSurface } from "./types-BcbGLNkh.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/compat/classify.d.ts
|
|
4
4
|
/** A single classified compatibility change. */
|
|
@@ -120,4 +120,4 @@ declare function diffSnapshots(baseline: CompatSnapshot, candidate: CompatSnapsh
|
|
|
120
120
|
declare function diffSurfaces(baseline: ApiSurface, candidate: ApiSurface, hints: LanguageHints): DiffResult;
|
|
121
121
|
//#endregion
|
|
122
122
|
export { specDerivedEnumValues as a, specDerivedMethodPaths as c, ClassifiedChange as d, classifyAddedSymbol as f, filterSurface as i, specDerivedNames as l, summarizeChanges as m, diffSnapshots as n, specDerivedFieldPaths as o, classifySymbolChanges as p, diffSurfaces as r, specDerivedHttpKeys as s, CompatDiffResult as t, ClassificationResult as u };
|
|
123
|
-
//# sourceMappingURL=differ-
|
|
123
|
+
//# sourceMappingURL=differ-nZSxhCfC.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"differ-
|
|
1
|
+
{"version":3,"file":"differ-nZSxhCfC.d.mts","names":[],"sources":["../src/compat/classify.ts","../src/compat/spec-filter.ts","../src/compat/differ.ts"],"mappings":";;;;UAaiB,gBAAA;EAcJ;EAZX,QAAA,EAAU,oBAAA;EAAV;EAEA,QAAA,EAAU,oBAAA;EAAV;EAEA,MAAA;EAAA;EAEA,kBAAA;EAEA;EAAA,UAAA,EAAY,gBAAA;EAEZ;EAAA,GAAA,EAAK,MAAA;EAEL;EAAA,GAAA,EAAK,MAAA;EAEL;EAAA,OAAA;EAOW;;AAIb;;;;EAJE,WAAA;AAAA;;UAIe,oBAAA;EACf,OAAA,EAAS,gBAAA;EACT,OAAA;IACE,QAAA;IACA,QAAA;IACA,QAAA;EAAA;AAAA;;;;;iBAmMY,qBAAA,CACd,QAAA,EAAU,YAAA,EACV,SAAA,EAAW,YAAA,cACX,MAAA,EAAQ,iBAAA,EACR,QAAA,GAAW,UAAA,GACV,gBAAA;;;;iBAgYa,mBAAA,CAAoB,MAAA,EAAQ,YAAA,GAAe,gBAAA;;iBAc3C,gBAAA,CAAiB,OAAA,EAAS,gBAAA,KAAqB,oBAAA;;;;AAtnB/D;;;;iBCJgB,gBAAA,CAAiB,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,aAAA,GAAgB,GAAA;;;;;iBAgDvD,qBAAA,CAAsB,IAAA,EAAM,OAAA,GAAU,GAAA,SAAY,GAAA;;;;;;iBAalD,qBAAA,CAAsB,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,aAAA,GAAgB,GAAA;;;;;;iBAqB5D,sBAAA,CAAuB,IAAA,EAAM,OAAA,GAAU,GAAA;;;;;iBAcvC,mBAAA,CAAoB,IAAA,EAAM,OAAA,GAAU,GAAA;;;;;;;;;;;;ADuIpD;;;;iBCnFgB,aAAA,CACd,OAAA,EAAS,UAAA,EACT,YAAA,EAAc,GAAA,UACd,IAAA;EACE,UAAA,GAAa,GAAA;EACb,WAAA,GAAc,GAAA;EACd,UAAA,GAAa,GAAA,SAAY,GAAA;AAAA,IAE1B,UAAA;;;;UCtIc,gBAAA;EACf,OAAA,EAAS,gBAAA;EACT,OAAA,EAAS,oBAAA;AAAA;;;;;iBAOK,aAAA,CACd,QAAA,EAAU,cAAA,EACV,SAAA,EAAW,cAAA,EACX,MAAA,GAAS,iBAAA,GACR,gBAAA;;;;;;AFJH;;;iBEsqBgB,YAAA,CAAa,QAAA,EAAU,UAAA,EAAY,SAAA,EAAW,UAAA,EAAY,KAAA,EAAO,aAAA,GAAgB,UAAA"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as collectEnumRefs, B as ErrorPolicy, C as Service, D as UnionType, E as TypeRef, F as validateModelHints, G as RequestGuardPolicy, H as LogEvent, I as walkTypeRef, J as TelemetryPolicy, K as RetryPolicy, L as AiAgentEnvVar, M as collectModelRefs, N as collectRequestBodyModels, O as assertNever, P as mapTypeRef, Q as mergeSdkBehavior, R as BackoffStrategy, S as ServerEntry, T as TypeParam, U as LoggingPolicy, V as IdempotencyPolicy, W as PaginationPolicy, X as UserAgentPolicy, Y as TimeoutPolicy, Z as defaultSdkBehavior, _ as Parameter, a as EnumRef, b as PrimitiveType, c as Field, d as MapType, f as Model, g as PaginationMeta, h as Operation, i as Enum, it as CompatConfig, j as collectFieldDependencies, k as assignModelsToServices, l as HttpMethod, m as NullableType, n as ArrayType, o as EnumValue, p as ModelRef, q as SdkBehavior, r as AuthScheme, s as ErrorResponse, t as ApiSpec, u as LiteralType, v as ParameterGroup, vt as ApiSurface, w as SuccessResponse, wt as OverlayLookup, x as SecurityRequirement, xt as Extractor, y as ParameterGroupVariant, z as DeepPartial } from "./types-
|
|
1
|
+
import { A as collectEnumRefs, B as ErrorPolicy, C as Service, D as UnionType, E as TypeRef, F as validateModelHints, G as RequestGuardPolicy, H as LogEvent, I as walkTypeRef, J as TelemetryPolicy, K as RetryPolicy, L as AiAgentEnvVar, M as collectModelRefs, N as collectRequestBodyModels, O as assertNever, P as mapTypeRef, Q as mergeSdkBehavior, R as BackoffStrategy, S as ServerEntry, T as TypeParam, U as LoggingPolicy, V as IdempotencyPolicy, W as PaginationPolicy, X as UserAgentPolicy, Y as TimeoutPolicy, Z as defaultSdkBehavior, _ as Parameter, a as EnumRef, b as PrimitiveType, c as Field, d as MapType, f as Model, g as PaginationMeta, h as Operation, i as Enum, it as CompatConfig, j as collectFieldDependencies, k as assignModelsToServices, l as HttpMethod, m as NullableType, n as ArrayType, o as EnumValue, p as ModelRef, q as SdkBehavior, r as AuthScheme, s as ErrorResponse, t as ApiSpec, u as LiteralType, v as ParameterGroup, vt as ApiSurface, w as SuccessResponse, wt as OverlayLookup, x as SecurityRequirement, xt as Extractor, y as ParameterGroupVariant, z as DeepPartial } from "./types-BcbGLNkh.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/ir/operation-hints.d.ts
|
|
4
4
|
/** Per-operation override keyed by "METHOD /path" (e.g. "POST /auth/token"). */
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/ir/operation-hints.ts","../src/errors.ts","../src/engine/types.ts","../src/differ/types.ts","../src/parser/parse.ts","../src/engine/orchestrator.ts","../src/engine/generate-files.ts","../src/engine/writer.ts","../src/engine/integrate.ts","../src/engine/registry.ts","../src/differ/diff.ts","../src/differ/direction.ts","../src/utils/naming.ts","../src/engine/operation-plan.ts","../src/utils/escape.ts","../src/cli/config-loader.ts","../src/snippets/example-builder.ts","../src/snippets/types.ts","../src/snippets/runner.ts","../src/snippets/shared.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/ir/operation-hints.ts","../src/errors.ts","../src/engine/types.ts","../src/differ/types.ts","../src/parser/parse.ts","../src/engine/orchestrator.ts","../src/engine/generate-files.ts","../src/engine/writer.ts","../src/engine/integrate.ts","../src/engine/registry.ts","../src/differ/diff.ts","../src/differ/direction.ts","../src/utils/naming.ts","../src/engine/operation-plan.ts","../src/utils/escape.ts","../src/cli/config-loader.ts","../src/snippets/example-builder.ts","../src/snippets/types.ts","../src/snippets/runner.ts","../src/snippets/shared.ts"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as validateModelHints, C as assertNever, D as collectModelRefs, E as collectFieldDependencies, O as collectRequestBodyModels, S as SpecParseError, T as collectEnumRefs, _ as ConfigVersionMismatchError, a as singularize, b as OagenError, c as stripListItemMarkers, d as toPascalCase, f as toSnakeCase, g as ConfigLoadError, h as ConfigError, j as walkTypeRef, k as mapTypeRef, l as toCamelCase, m as CommandError, n as ACRONYM_SET, o as splitWords, p as toUpperSnakeCase, r as cleanSchemaName, s as stripBackendPrefixes, u as toKebabCase, v as ExtractorError, w as assignModelsToServices, x as RegistryError, y as InternalError } from "./tree-sitter-
|
|
2
|
-
import { _ as findResolvedMethodCollisions, a as registerEmitter, c as integrateGeneratedFiles, d as applyFileHeaders, f as buildEmitterContext, g as deriveMethodName, h as generateFiles, i as getEmitter, l as mapFilesForTargetIntegration, m as generateAllFiles, n as buildDirectionIndex, o as generate, p as collectReferencedNames, r as directionOf, t as diffSpecs, u as treeShakeFiles, v as resolveMountTarget, y as resolveOperations } from "./diff-
|
|
1
|
+
import { A as validateModelHints, C as assertNever, D as collectModelRefs, E as collectFieldDependencies, O as collectRequestBodyModels, S as SpecParseError, T as collectEnumRefs, _ as ConfigVersionMismatchError, a as singularize, b as OagenError, c as stripListItemMarkers, d as toPascalCase, f as toSnakeCase, g as ConfigLoadError, h as ConfigError, j as walkTypeRef, k as mapTypeRef, l as toCamelCase, m as CommandError, n as ACRONYM_SET, o as splitWords, p as toUpperSnakeCase, r as cleanSchemaName, s as stripBackendPrefixes, u as toKebabCase, v as ExtractorError, w as assignModelsToServices, x as RegistryError, y as InternalError } from "./tree-sitter-CDKm3n64.mjs";
|
|
2
|
+
import { _ as findResolvedMethodCollisions, a as registerEmitter, c as integrateGeneratedFiles, d as applyFileHeaders, f as buildEmitterContext, g as deriveMethodName, h as generateFiles, i as getEmitter, l as mapFilesForTargetIntegration, m as generateAllFiles, n as buildDirectionIndex, o as generate, p as collectReferencedNames, r as directionOf, t as diffSpecs, u as treeShakeFiles, v as resolveMountTarget, y as resolveOperations } from "./diff-BO5FieX5.mjs";
|
|
3
3
|
import { readFile } from "node:fs/promises";
|
|
4
4
|
import { resolve } from "node:path";
|
|
5
5
|
import { pathToFileURL } from "node:url";
|
|
@@ -1767,6 +1767,27 @@ function resolveParameterRef(raw, componentParameters, operationContext) {
|
|
|
1767
1767
|
}
|
|
1768
1768
|
return current;
|
|
1769
1769
|
}
|
|
1770
|
+
/**
|
|
1771
|
+
* Resolve a raw request body to a concrete Request Body Object, following
|
|
1772
|
+
* `$ref` chains into `components/requestBodies` with a cycle guard. Throws on
|
|
1773
|
+
* an unresolvable ref so a malformed spec fails at parse time instead of
|
|
1774
|
+
* silently losing the body — and with it the body-ownership rule that keeps
|
|
1775
|
+
* duplicated secrets out of the query string.
|
|
1776
|
+
*/
|
|
1777
|
+
function resolveRequestBodyRef(raw, componentRequestBodies, operationContext) {
|
|
1778
|
+
if (!raw) return void 0;
|
|
1779
|
+
const seenRefs = /* @__PURE__ */ new Set();
|
|
1780
|
+
let current = raw;
|
|
1781
|
+
while ("$ref" in current) {
|
|
1782
|
+
if (seenRefs.has(current.$ref)) throw new Error(`Circular request body $ref chain starting at "${current.$ref}" in ${operationContext}.`);
|
|
1783
|
+
seenRefs.add(current.$ref);
|
|
1784
|
+
const refName = /^#\/components\/requestBodies\/(.+)$/.exec(current.$ref)?.[1].replace(/~1/g, "/").replace(/~0/g, "~");
|
|
1785
|
+
const resolved = refName ? componentRequestBodies?.[refName] : void 0;
|
|
1786
|
+
if (!resolved) throw new Error(`Unresolved request body $ref "${current.$ref}" in ${operationContext}: no matching entry under components/requestBodies.`);
|
|
1787
|
+
current = resolved;
|
|
1788
|
+
}
|
|
1789
|
+
return current;
|
|
1790
|
+
}
|
|
1770
1791
|
const HTTP_METHODS = [
|
|
1771
1792
|
"get",
|
|
1772
1793
|
"post",
|
|
@@ -1777,7 +1798,7 @@ const HTTP_METHODS = [
|
|
|
1777
1798
|
"options",
|
|
1778
1799
|
"trace"
|
|
1779
1800
|
];
|
|
1780
|
-
function extractOperations(paths, operationIdTransform, componentSchemas, componentParameters) {
|
|
1801
|
+
function extractOperations(paths, operationIdTransform, componentSchemas, componentParameters, componentRequestBodies) {
|
|
1781
1802
|
if (!paths) return {
|
|
1782
1803
|
services: [],
|
|
1783
1804
|
inlineModels: []
|
|
@@ -1790,7 +1811,7 @@ function extractOperations(paths, operationIdTransform, componentSchemas, compon
|
|
|
1790
1811
|
const op = pathItem[method];
|
|
1791
1812
|
if (!op) continue;
|
|
1792
1813
|
const serviceName = inferServiceName(path, op.tags?.[0]);
|
|
1793
|
-
const { operation, inlineModels: opModels } = buildOperation(method, path, op, pathLevelParams, operationIdTransform, serviceName, componentSchemas, componentParameters);
|
|
1814
|
+
const { operation, inlineModels: opModels } = buildOperation(method, path, op, pathLevelParams, operationIdTransform, serviceName, componentSchemas, componentParameters, componentRequestBodies);
|
|
1794
1815
|
inlineModels.push(...opModels);
|
|
1795
1816
|
const ops = serviceMap.get(serviceName) ?? [];
|
|
1796
1817
|
ops.push(operation);
|
|
@@ -1988,10 +2009,10 @@ function extractParameterGroups(op, allIRParams, operationContext) {
|
|
|
1988
2009
|
* the request body. Emitters use the group's presence to generate sum-type
|
|
1989
2010
|
* interfaces and custom JSON marshalling instead of flat optional fields.
|
|
1990
2011
|
*/
|
|
1991
|
-
function extractBodyParameterGroups(op, operationContext, componentSchemas) {
|
|
2012
|
+
function extractBodyParameterGroups(op, requestBody, operationContext, componentSchemas) {
|
|
1992
2013
|
const raw = op["x-mutually-exclusive-body-groups"];
|
|
1993
2014
|
if (!raw || typeof raw !== "object") return void 0;
|
|
1994
|
-
const bodySchema =
|
|
2015
|
+
const bodySchema = requestBody?.content?.["application/json"]?.schema;
|
|
1995
2016
|
const variantFieldSchemas = collectVariantFieldSchemas(bodySchema, componentSchemas);
|
|
1996
2017
|
const groups = [];
|
|
1997
2018
|
for (const [groupName, groupDef] of Object.entries(raw)) {
|
|
@@ -2031,8 +2052,9 @@ function extractBodyParameterGroups(op, operationContext, componentSchemas) {
|
|
|
2031
2052
|
}
|
|
2032
2053
|
return groups.length > 0 ? groups : void 0;
|
|
2033
2054
|
}
|
|
2034
|
-
function buildOperation(method, path, op, pathLevelParams, operationIdTransform, serviceName, componentSchemas, componentParameters) {
|
|
2055
|
+
function buildOperation(method, path, op, pathLevelParams, operationIdTransform, serviceName, componentSchemas, componentParameters, componentRequestBodies) {
|
|
2035
2056
|
const opLabel = op.operationId ?? `${method.toUpperCase()} ${path}`;
|
|
2057
|
+
const requestBodyObject = resolveRequestBodyRef(op.requestBody, componentRequestBodies, opLabel);
|
|
2036
2058
|
const paramsByIdentity = /* @__PURE__ */ new Map();
|
|
2037
2059
|
for (const raw of [...pathLevelParams, ...op.parameters ?? []]) {
|
|
2038
2060
|
const param = resolveParameterRef(raw, componentParameters, opLabel);
|
|
@@ -2040,13 +2062,21 @@ function buildOperation(method, path, op, pathLevelParams, operationIdTransform,
|
|
|
2040
2062
|
}
|
|
2041
2063
|
const allParams = [...paramsByIdentity.values()];
|
|
2042
2064
|
const hasIdempotencyHeader = allParams.some((p) => p.in === "header" && p.name.toLowerCase() === "idempotency-key");
|
|
2065
|
+
const groupedQueryNames = collectParameterGroupMemberNames(op);
|
|
2066
|
+
const bodyOwnedNames = /* @__PURE__ */ new Set();
|
|
2067
|
+
if (BODY_CARRYING_METHODS.has(method)) {
|
|
2068
|
+
const bodySchema = selectRequestBodyContent(requestBodyObject).schema;
|
|
2069
|
+
for (const name of collectBodyPropertyNames(bodySchema, componentSchemas)) if (!groupedQueryNames.has(name)) bodyOwnedNames.add(name);
|
|
2070
|
+
}
|
|
2071
|
+
const wireParams = bodyOwnedNames.size > 0 ? allParams.filter((p) => !(p.in === "query" && bodyOwnedNames.has(p.name))) : allParams;
|
|
2043
2072
|
const opContext = serviceName;
|
|
2044
|
-
const pathParams = extractParams(
|
|
2045
|
-
const queryParams = extractParams(
|
|
2046
|
-
const headerParams = extractParams(
|
|
2047
|
-
const cookieParams = extractParams(
|
|
2073
|
+
const pathParams = extractParams(wireParams, "path", opContext, componentSchemas);
|
|
2074
|
+
const queryParams = extractParams(wireParams, "query", opContext, componentSchemas);
|
|
2075
|
+
const headerParams = extractParams(wireParams, "header", opContext, componentSchemas).filter((p) => p.name.toLowerCase() !== "idempotency-key");
|
|
2076
|
+
const cookieParams = extractParams(wireParams, "cookie", opContext, componentSchemas);
|
|
2077
|
+
const bodyOwnedQueryParams = bodyOwnedNames.size > 0 ? extractParams(allParams.filter((p) => p.in === "query" && bodyOwnedNames.has(p.name)), "query", opContext, componentSchemas) : [];
|
|
2048
2078
|
const reqBodyModels = [];
|
|
2049
|
-
const { body: requestBody, encoding: requestBodyEncoding } = extractRequestBody(
|
|
2079
|
+
const { body: requestBody, encoding: requestBodyEncoding } = extractRequestBody(requestBodyObject, op, reqBodyModels);
|
|
2050
2080
|
const { response, successResponses, errors, inlineModels, isPaginated, dataPath: responseDataPath, itemType: responseItemType } = extractResponses(op.responses, op, path, method, componentSchemas);
|
|
2051
2081
|
inlineModels.push(...reqBodyModels);
|
|
2052
2082
|
const paginationFromParams = detectPagination(response, queryParams, responseDataPath);
|
|
@@ -2068,7 +2098,7 @@ function buildOperation(method, path, op, pathLevelParams, operationIdTransform,
|
|
|
2068
2098
|
...headerParams,
|
|
2069
2099
|
...cookieParams
|
|
2070
2100
|
], opLabel);
|
|
2071
|
-
const bodyParamGroups = extractBodyParameterGroups(op, opLabel, componentSchemas);
|
|
2101
|
+
const bodyParamGroups = extractBodyParameterGroups(op, requestBodyObject, opLabel, componentSchemas);
|
|
2072
2102
|
const parameterGroups = queryParamGroups || bodyParamGroups ? [...queryParamGroups ?? [], ...bodyParamGroups ?? []] : void 0;
|
|
2073
2103
|
return {
|
|
2074
2104
|
operation: {
|
|
@@ -2078,6 +2108,7 @@ function buildOperation(method, path, op, pathLevelParams, operationIdTransform,
|
|
|
2078
2108
|
path,
|
|
2079
2109
|
pathParams,
|
|
2080
2110
|
queryParams,
|
|
2111
|
+
bodyOwnedQueryParams: bodyOwnedQueryParams.length > 0 ? bodyOwnedQueryParams : void 0,
|
|
2081
2112
|
headerParams,
|
|
2082
2113
|
cookieParams: cookieParams.length > 0 ? cookieParams : void 0,
|
|
2083
2114
|
requestBody,
|
|
@@ -2200,26 +2231,91 @@ function resolveSchemaRefObject(schema, componentSchemas) {
|
|
|
2200
2231
|
if (!match) return void 0;
|
|
2201
2232
|
return componentSchemas[match[1]];
|
|
2202
2233
|
}
|
|
2234
|
+
/** HTTP methods whose request body is the primary parameter carrier. */
|
|
2235
|
+
const BODY_CARRYING_METHODS = new Set([
|
|
2236
|
+
"post",
|
|
2237
|
+
"put",
|
|
2238
|
+
"patch"
|
|
2239
|
+
]);
|
|
2240
|
+
/**
|
|
2241
|
+
* Pick the request body's schema and wire encoding from its content map, in
|
|
2242
|
+
* priority order. JSON wins over form encodings; binary and text bodies may
|
|
2243
|
+
* legitimately carry no schema at all.
|
|
2244
|
+
*/
|
|
2245
|
+
function selectRequestBodyContent(body) {
|
|
2246
|
+
const content = body?.content;
|
|
2247
|
+
if (!content) return { encoding: "json" };
|
|
2248
|
+
if (content["application/json"]?.schema) return {
|
|
2249
|
+
encoding: "json",
|
|
2250
|
+
schema: content["application/json"].schema
|
|
2251
|
+
};
|
|
2252
|
+
if (content["multipart/form-data"]?.schema) return {
|
|
2253
|
+
encoding: "form-data",
|
|
2254
|
+
schema: content["multipart/form-data"].schema
|
|
2255
|
+
};
|
|
2256
|
+
if (content["application/x-www-form-urlencoded"]?.schema) return {
|
|
2257
|
+
encoding: "form-urlencoded",
|
|
2258
|
+
schema: content["application/x-www-form-urlencoded"].schema
|
|
2259
|
+
};
|
|
2260
|
+
if (content["application/octet-stream"]) return {
|
|
2261
|
+
encoding: "binary",
|
|
2262
|
+
schema: content["application/octet-stream"].schema
|
|
2263
|
+
};
|
|
2264
|
+
if (content["text/plain"]) return {
|
|
2265
|
+
encoding: "text",
|
|
2266
|
+
schema: content["text/plain"].schema
|
|
2267
|
+
};
|
|
2268
|
+
return { encoding: "json" };
|
|
2269
|
+
}
|
|
2270
|
+
/** Parameter names referenced by any `x-mutually-exclusive-parameter-groups` variant. */
|
|
2271
|
+
function collectParameterGroupMemberNames(op) {
|
|
2272
|
+
const names = /* @__PURE__ */ new Set();
|
|
2273
|
+
const raw = op["x-mutually-exclusive-parameter-groups"];
|
|
2274
|
+
if (!raw || typeof raw !== "object") return names;
|
|
2275
|
+
for (const groupDef of Object.values(raw)) {
|
|
2276
|
+
const variants = groupDef && typeof groupDef === "object" ? groupDef.variants : void 0;
|
|
2277
|
+
if (!variants || typeof variants !== "object") continue;
|
|
2278
|
+
for (const members of Object.values(variants)) {
|
|
2279
|
+
if (!Array.isArray(members)) continue;
|
|
2280
|
+
for (const member of members) if (typeof member === "string") names.add(member);
|
|
2281
|
+
}
|
|
2282
|
+
}
|
|
2283
|
+
return names;
|
|
2284
|
+
}
|
|
2285
|
+
/**
|
|
2286
|
+
* Every property name a request body is guaranteed to accept, following
|
|
2287
|
+
* `$ref`s and descending through composition. `allOf` members all apply, so
|
|
2288
|
+
* their properties union. `oneOf` / `anyOf` alternatives are choices, so only
|
|
2289
|
+
* a property every non-null alternative declares counts — otherwise a caller
|
|
2290
|
+
* on another branch would have no slot for the value in either the body or
|
|
2291
|
+
* the query. Used to decide which `in: query` declarations are body-owned.
|
|
2292
|
+
*/
|
|
2293
|
+
function collectBodyPropertyNames(schema, componentSchemas, seen = /* @__PURE__ */ new Set()) {
|
|
2294
|
+
if (!schema) return /* @__PURE__ */ new Set();
|
|
2295
|
+
const ref = schema.$ref;
|
|
2296
|
+
if (ref) {
|
|
2297
|
+
if (seen.has(ref)) return /* @__PURE__ */ new Set();
|
|
2298
|
+
return collectBodyPropertyNames(resolveSchemaRefObject(schema, componentSchemas), componentSchemas, new Set([...seen, ref]));
|
|
2299
|
+
}
|
|
2300
|
+
const names = new Set(Object.keys(schema.properties ?? {}));
|
|
2301
|
+
for (const sub of schema.allOf ?? []) for (const name of collectBodyPropertyNames(sub, componentSchemas, seen)) names.add(name);
|
|
2302
|
+
for (const alternatives of [schema.oneOf, schema.anyOf]) {
|
|
2303
|
+
const branches = (alternatives ?? []).filter((alt) => alt.type !== "null");
|
|
2304
|
+
if (branches.length === 0) continue;
|
|
2305
|
+
let common;
|
|
2306
|
+
for (const branch of branches) {
|
|
2307
|
+
const branchNames = collectBodyPropertyNames(branch, componentSchemas, seen);
|
|
2308
|
+
common = common ? new Set([...common].filter((name) => branchNames.has(name))) : branchNames;
|
|
2309
|
+
}
|
|
2310
|
+
for (const name of common ?? []) names.add(name);
|
|
2311
|
+
}
|
|
2312
|
+
return names;
|
|
2313
|
+
}
|
|
2203
2314
|
function extractRequestBody(body, op, inlineModels) {
|
|
2204
2315
|
if (!body?.content) return {};
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
encoding = "json";
|
|
2209
|
-
schema = body.content["application/json"].schema;
|
|
2210
|
-
} else if (body.content["multipart/form-data"]?.schema) {
|
|
2211
|
-
encoding = "form-data";
|
|
2212
|
-
schema = body.content["multipart/form-data"].schema;
|
|
2213
|
-
} else if (body.content["application/x-www-form-urlencoded"]?.schema) {
|
|
2214
|
-
encoding = "form-urlencoded";
|
|
2215
|
-
schema = body.content["application/x-www-form-urlencoded"].schema;
|
|
2216
|
-
} else if (body.content["application/octet-stream"]) {
|
|
2217
|
-
encoding = "binary";
|
|
2218
|
-
schema = body.content["application/octet-stream"].schema;
|
|
2219
|
-
} else if (body.content["text/plain"]) {
|
|
2220
|
-
encoding = "text";
|
|
2221
|
-
schema = body.content["text/plain"].schema;
|
|
2222
|
-
}
|
|
2316
|
+
const selected = selectRequestBodyContent(body);
|
|
2317
|
+
const encoding = selected.encoding;
|
|
2318
|
+
let schema = selected.schema;
|
|
2223
2319
|
if (!schema) {
|
|
2224
2320
|
if (encoding === "binary") return {
|
|
2225
2321
|
body: {
|
|
@@ -2607,6 +2703,7 @@ function collectInlineEnumsFromOperations(services, enums) {
|
|
|
2607
2703
|
for (const service of services) for (const op of service.operations) for (const param of [
|
|
2608
2704
|
...op.pathParams,
|
|
2609
2705
|
...op.queryParams,
|
|
2706
|
+
...op.bodyOwnedQueryParams ?? [],
|
|
2610
2707
|
...op.headerParams,
|
|
2611
2708
|
...op.cookieParams ?? []
|
|
2612
2709
|
]) collectInlineEnumFromRef(param.type, enums, enumNames);
|
|
@@ -2883,6 +2980,7 @@ function validateModelRefs(spec) {
|
|
|
2883
2980
|
for (const p of [
|
|
2884
2981
|
...op.pathParams,
|
|
2885
2982
|
...op.queryParams,
|
|
2983
|
+
...op.bodyOwnedQueryParams ?? [],
|
|
2886
2984
|
...op.headerParams
|
|
2887
2985
|
]) walkRef(p.type, `${service.name}.${op.name}.${p.name}`);
|
|
2888
2986
|
if (op.requestBody) walkRef(op.requestBody, `${service.name}.${op.name}.requestBody`);
|
|
@@ -2897,7 +2995,7 @@ async function parseSpec(specPath, options) {
|
|
|
2897
2995
|
const version = spec.openapi ?? "";
|
|
2898
2996
|
if (!version.startsWith("3.")) throw new SpecParseError(`Unsupported OpenAPI version: ${version}. oagen requires OpenAPI 3.x`, `Update the spec to OpenAPI 3.0 or 3.1. If you are using Swagger 2.x, convert it first with \`npx swagger2openapi ${specPath}\`.`);
|
|
2899
2997
|
const { models, enums } = extractSchemas(spec.components?.schemas, { schemaNameTransform: options?.schemaNameTransform });
|
|
2900
|
-
const { services, inlineModels } = extractOperations(spec.paths, options?.operationIdTransform, spec.components?.schemas, spec.components?.parameters);
|
|
2998
|
+
const { services, inlineModels } = extractOperations(spec.paths, options?.operationIdTransform, spec.components?.schemas, spec.components?.parameters, spec.components?.requestBodies);
|
|
2901
2999
|
const responseNormalizedModels = mergeInlineResponseModels(models, inlineModels);
|
|
2902
3000
|
const fieldInlineModels = extractInlineModelsFromSchemas(spec.components?.schemas);
|
|
2903
3001
|
clearSchemaNameTransform();
|