@workos/oagen 0.30.1 → 0.31.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.
- package/README.md +4 -12
- package/dist/cli/index.d.mts +1 -1
- package/dist/cli/index.mjs +3003 -664
- package/dist/cli/index.mjs.map +1 -1
- package/dist/compat/index.d.mts +85 -36
- package/dist/compat/index.d.mts.map +1 -1
- package/dist/compat/index.mjs +33 -23
- package/dist/compat/index.mjs.map +1 -1
- package/dist/{diff-DMFiDAI6.mjs → diff-CAsypxXV.mjs} +109 -89
- package/dist/{diff-DMFiDAI6.mjs.map → diff-CAsypxXV.mjs.map} +1 -1
- package/dist/differ-B0DSuKUZ.d.mts +72 -0
- package/dist/differ-B0DSuKUZ.d.mts.map +1 -0
- package/dist/index.d.mts +129 -61
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2992 -563
- package/dist/index.mjs.map +1 -1
- package/dist/{overlay-BhXruu32.mjs → overlay-Dj3WWlNP.mjs} +45 -38
- package/dist/overlay-Dj3WWlNP.mjs.map +1 -0
- package/dist/scripts/smoke/baseline.d.mts +1 -1
- package/dist/scripts/smoke/baseline.mjs +2848 -537
- package/dist/scripts/smoke/baseline.mjs.map +1 -1
- package/dist/scripts/smoke/sdk-test.d.mts +1 -1
- package/dist/scripts/smoke/sdk-test.mjs +4 -2
- package/dist/scripts/smoke/sdk-test.mjs.map +1 -1
- package/dist/smoke.d.mts +259 -36
- package/dist/smoke.d.mts.map +1 -1
- package/dist/smoke.mjs +2848 -537
- package/dist/smoke.mjs.map +1 -1
- package/dist/{tree-sitter-C6HB4OrC.mjs → tree-sitter-C7Hk-NDu.mjs} +36 -7
- package/dist/tree-sitter-C7Hk-NDu.mjs.map +1 -0
- package/dist/{types-yrBidOg3.d.mts → types-I7W7CNl1.d.mts} +227 -9
- package/dist/types-I7W7CNl1.d.mts.map +1 -0
- package/dist/verify/index.d.mts +7 -8
- package/dist/verify/index.d.mts.map +1 -1
- package/dist/verify/index.mjs +24 -14
- package/dist/verify/index.mjs.map +1 -1
- package/docs/architecture/emitter-contract.md +1 -0
- package/docs/architecture/ir-types.md +175 -17
- package/docs/cli.md +13 -13
- package/package.json +3 -3
- package/skills/check-emitter-parity/SKILL.md +15 -1
- package/dist/differ-DHldxZMr.d.mts +0 -123
- package/dist/differ-DHldxZMr.d.mts.map +0 -1
- package/dist/overlay-BhXruu32.mjs.map +0 -1
- package/dist/tree-sitter-C6HB4OrC.mjs.map +0 -1
- package/dist/types-yrBidOg3.d.mts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { f as toSnakeCase,
|
|
1
|
+
import { M as walkTypeRef, f as toSnakeCase, k as collectResponseHeaders, o as splitWords, x as RegistryError } from "./tree-sitter-C7Hk-NDu.mjs";
|
|
2
2
|
//#region src/compat/policy.ts
|
|
3
3
|
/** Built-in language defaults. */
|
|
4
4
|
const LANGUAGE_DEFAULTS = {
|
|
@@ -289,7 +289,7 @@ function inferPassingStyle(language) {
|
|
|
289
289
|
}
|
|
290
290
|
//#endregion
|
|
291
291
|
//#region src/compat/config.ts
|
|
292
|
-
const BREAKING_CATEGORIES = new Set([
|
|
292
|
+
const BREAKING_CATEGORIES = /* @__PURE__ */ new Set([
|
|
293
293
|
"symbol_removed",
|
|
294
294
|
"symbol_renamed",
|
|
295
295
|
"parameter_removed",
|
|
@@ -307,7 +307,7 @@ const BREAKING_CATEGORIES = new Set([
|
|
|
307
307
|
"enum_member_value_changed",
|
|
308
308
|
"staticness_changed"
|
|
309
309
|
]);
|
|
310
|
-
const SOFT_RISK_CATEGORIES = new Set([
|
|
310
|
+
const SOFT_RISK_CATEGORIES = /* @__PURE__ */ new Set([
|
|
311
311
|
"parameter_added_non_terminal_optional",
|
|
312
312
|
"constructor_reordered_named_friendly",
|
|
313
313
|
"default_value_changed",
|
|
@@ -590,37 +590,38 @@ function classifyParameterChanges(baseline, candidate, policy, specRef, language
|
|
|
590
590
|
specRef
|
|
591
591
|
}));
|
|
592
592
|
if (baseParam.position !== candParam.position) {
|
|
593
|
-
if (isConstructor)
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
593
|
+
if (isConstructor) {
|
|
594
|
+
if (policy.constructorOrderMatters) changes.push(makeChange({
|
|
595
|
+
category: "constructor_position_changed_order_sensitive",
|
|
596
|
+
symbol: baseline.fqName,
|
|
597
|
+
old: {
|
|
598
|
+
parameter: baseParam.publicName,
|
|
599
|
+
position: String(baseParam.position)
|
|
600
|
+
},
|
|
601
|
+
new: {
|
|
602
|
+
parameter: candParam.publicName,
|
|
603
|
+
position: String(candParam.position)
|
|
604
|
+
},
|
|
605
|
+
message: `Parameter "${baseParam.publicName}" moved from position ${baseParam.position} to ${candParam.position} on "${baseline.displayName}"`,
|
|
606
|
+
policy,
|
|
607
|
+
specRef
|
|
608
|
+
}));
|
|
609
|
+
else changes.push(makeChange({
|
|
610
|
+
category: "constructor_reordered_named_friendly",
|
|
611
|
+
symbol: baseline.fqName,
|
|
612
|
+
old: {
|
|
613
|
+
parameter: baseParam.publicName,
|
|
614
|
+
position: String(baseParam.position)
|
|
615
|
+
},
|
|
616
|
+
new: {
|
|
617
|
+
parameter: candParam.publicName,
|
|
618
|
+
position: String(candParam.position)
|
|
619
|
+
},
|
|
620
|
+
message: `Parameter "${baseParam.publicName}" reordered on "${baseline.displayName}" (named-friendly language)`,
|
|
621
|
+
policy,
|
|
622
|
+
specRef
|
|
623
|
+
}));
|
|
624
|
+
} else if (baseParam.passing === "positional") changes.push(makeChange({
|
|
624
625
|
category: "parameter_position_changed_order_sensitive",
|
|
625
626
|
symbol: baseline.fqName,
|
|
626
627
|
old: {
|
|
@@ -751,7 +752,7 @@ function summarizeChanges(changes) {
|
|
|
751
752
|
//#endregion
|
|
752
753
|
//#region src/compat/language-hints.ts
|
|
753
754
|
/** Untyped map patterns — hoisted to avoid allocation on every isTypeEquivalent call. */
|
|
754
|
-
const UNTYPED_MAP_PATTERNS = new Set([
|
|
755
|
+
const UNTYPED_MAP_PATTERNS = /* @__PURE__ */ new Set([
|
|
755
756
|
"Record<string, unknown>",
|
|
756
757
|
"Record<string, any>",
|
|
757
758
|
"{ [key: string]: any; }",
|
|
@@ -910,9 +911,12 @@ function specDerivedNames(spec, hints) {
|
|
|
910
911
|
for (const op of service.operations) {
|
|
911
912
|
collectTypeRefNames(op.response, names, hints, topLevelEnumNames);
|
|
912
913
|
if (op.requestBody) collectTypeRefNames(op.requestBody, names, hints, topLevelEnumNames);
|
|
914
|
+
for (const field of op.pagination?.envelopeFields ?? []) collectTypeRefNames(field.type, names, hints, topLevelEnumNames);
|
|
915
|
+
for (const header of collectResponseHeaders(op)) collectTypeRefNames(header.type, names, hints, topLevelEnumNames);
|
|
913
916
|
for (const p of [
|
|
914
917
|
...op.pathParams,
|
|
915
918
|
...op.queryParams,
|
|
919
|
+
...op.bodyOwnedQueryParams ?? [],
|
|
916
920
|
...op.headerParams,
|
|
917
921
|
...op.cookieParams ?? []
|
|
918
922
|
]) collectTypeRefNames(p.type, names, hints, topLevelEnumNames);
|
|
@@ -1861,7 +1865,10 @@ function registerExtractor(extractor) {
|
|
|
1861
1865
|
}
|
|
1862
1866
|
function getExtractor(language) {
|
|
1863
1867
|
const extractor = extractors.get(language);
|
|
1864
|
-
if (!extractor)
|
|
1868
|
+
if (!extractor) {
|
|
1869
|
+
const available = [...extractors.keys()].join(", ") || "(none)";
|
|
1870
|
+
throw new RegistryError(`No extractor registered for language: ${language}. Available: ${available}`, `Register an extractor for "${language}" via registerExtractor() or add one in your oagen.config.ts plugin.`);
|
|
1871
|
+
}
|
|
1865
1872
|
return extractor;
|
|
1866
1873
|
}
|
|
1867
1874
|
//#endregion
|
|
@@ -2203,7 +2210,7 @@ function buildModelNameMap(surface, spec, lookup, hints, options) {
|
|
|
2203
2210
|
}
|
|
2204
2211
|
}
|
|
2205
2212
|
/** Categories that can be patched by the overlay retry loop. */
|
|
2206
|
-
const PATCHABLE_CATEGORIES = new Set(["symbol_removed", "symbol_renamed"]);
|
|
2213
|
+
const PATCHABLE_CATEGORIES = /* @__PURE__ */ new Set(["symbol_removed", "symbol_renamed"]);
|
|
2207
2214
|
/** Check if a classified change is patchable by the overlay loop. */
|
|
2208
2215
|
function isPatchableChange(change) {
|
|
2209
2216
|
return PATCHABLE_CATEGORIES.has(change.category);
|
|
@@ -2258,4 +2265,4 @@ function patchOverlay(overlay, changes, baseline) {
|
|
|
2258
2265
|
//#endregion
|
|
2259
2266
|
export { getDefaultPolicy as A, defaultSeverityForCategory as C, isCompatibleSchemaVersion as D, COMPAT_SCHEMA_VERSION as E, validateSnapshot as O, summarizeChanges as S, apiSurfaceToSnapshot as T, nodeHints as _, registerExtractor as a, classifyAddedSymbol as b, filterSurface as c, specDerivedHttpKeys as d, specDerivedMethodPaths as f, namedTypeWordsOverlap as g, defaultIsNullableOnlyDifference as h, getExtractor as i, mergePolicy as j, ALL_LANGUAGE_IDS as k, specDerivedEnumValues as l, NAMED_TYPE_RE as m, isPatchableChange as n, diffSnapshots as o, specDerivedNames as p, patchOverlay as r, diffSurfaces as s, buildOverlayLookup as t, specDerivedFieldPaths as u, resolveHints as v, severityMeetsThreshold as w, classifySymbolChanges as x, typeExistsInSurface as y };
|
|
2260
2267
|
|
|
2261
|
-
//# sourceMappingURL=overlay-
|
|
2268
|
+
//# sourceMappingURL=overlay-Dj3WWlNP.mjs.map
|