@workos/oagen 0.22.6 → 0.23.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.
Files changed (44) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/index.mjs +271 -42
  3. package/dist/cli/index.mjs.map +1 -1
  4. package/dist/compat/index.d.mts +2 -2
  5. package/dist/compat/index.mjs +9 -8
  6. package/dist/compat/index.mjs.map +1 -1
  7. package/dist/{diff-CQzcGuFJ.mjs → diff-B7dMUCoJ.mjs} +235 -27
  8. package/dist/diff-B7dMUCoJ.mjs.map +1 -0
  9. package/dist/{differ-CC65Efzt.d.mts → differ-DMmw0tbA.d.mts} +5 -5
  10. package/dist/{differ-CC65Efzt.d.mts.map → differ-DMmw0tbA.d.mts.map} +1 -1
  11. package/dist/index.d.mts +64 -9
  12. package/dist/index.d.mts.map +1 -1
  13. package/dist/index.mjs +26 -11
  14. package/dist/index.mjs.map +1 -1
  15. package/dist/{overlay-cb32jDBS.mjs → overlay-sQHQoN0I.mjs} +4 -4
  16. package/dist/overlay-sQHQoN0I.mjs.map +1 -0
  17. package/dist/scripts/smoke/baseline.mjs +25 -10
  18. package/dist/scripts/smoke/baseline.mjs.map +1 -1
  19. package/dist/scripts/smoke/sdk-test.mjs +3 -3
  20. package/dist/scripts/smoke/sdk-test.mjs.map +1 -1
  21. package/dist/smoke.d.mts +19 -4
  22. package/dist/smoke.d.mts.map +1 -1
  23. package/dist/smoke.mjs +25 -10
  24. package/dist/smoke.mjs.map +1 -1
  25. package/dist/tree-sitter-DcUvm0KA.mjs.map +1 -1
  26. package/dist/{types-Cjh39AGQ.d.mts → types-nM5Kp7UP.d.mts} +16 -9
  27. package/dist/types-nM5Kp7UP.d.mts.map +1 -0
  28. package/dist/verify/index.d.mts +2 -2
  29. package/dist/verify/index.mjs +2 -2
  30. package/docs/architecture/extractor-contract.md +2 -2
  31. package/docs/architecture/pipeline.md +2 -2
  32. package/docs/cli.md +19 -19
  33. package/docs/core/compatibility-policy.md +1 -1
  34. package/docs/core/manifest-schema.md +2 -2
  35. package/package.json +1 -1
  36. package/skills/generate-emitter/SKILL.md +2 -2
  37. package/skills/generate-emitter/references/common-pitfalls.md +1 -1
  38. package/skills/generate-emitter/references/project-scaffold.md +3 -3
  39. package/skills/generate-extractor/SKILL.md +2 -2
  40. package/skills/generate-smoke-test/SKILL.md +1 -1
  41. package/skills/verify-smoke-test/SKILL.md +1 -1
  42. package/dist/diff-CQzcGuFJ.mjs.map +0 -1
  43. package/dist/overlay-cb32jDBS.mjs.map +0 -1
  44. package/dist/types-Cjh39AGQ.d.mts.map +0 -1
@@ -1,5 +1,5 @@
1
- import { $ as BreakingChangeCategory, At as CompatSourceKind, Bt as CompatPolicyHints, Ct as OverlayLookup, Dt as CompatParameter, Et as ViolationSeverity, Ft as CompatVisibility, Ht as mergePolicy, It as LanguageId, Lt as ParameterSensitivity, Mt as CompatSymbol, Nt as CompatSymbolKind, Ot as CompatPassingStyle, Pt as CompatTypeRef, Q as AdditiveChangeCategory, Rt as apiSurfaceToSnapshot, St as MethodOverlay, Tt as ViolationCategory, Vt as getDefaultPolicy, _t as ApiSurface, at as CompatProvenance, bt as Extractor, ct as severityMeetsThreshold, dt as ApiEnum, et as CompatApproval, ft as ApiField, gt as ApiProperty, ht as ApiParam, it as CompatFailLevel, jt as CompatStability, kt as CompatSnapshot, lt as Addition, mt as ApiMethod, nt as CompatChangeSeverity, ot as SoftRiskChangeCategory, pt as ApiInterface, rt as CompatConfig, st as defaultSeverityForCategory, t as ApiSpec, tt as CompatChangeCategory, ut as ApiClass, vt as ApiTypeAlias, wt as Violation, xt as LanguageHints, yt as DiffResult, zt as ALL_LANGUAGE_IDS } from "../types-Cjh39AGQ.mjs";
2
- import { a as specDerivedEnumValues, c as specDerivedMethodPaths, d as ClassifiedChange, f as classifyAddedSymbol, i as filterSurface, l as specDerivedNames, m as summarizeChanges, n as diffSnapshots, o as specDerivedFieldPaths, p as classifySymbolChanges, r as diffSurfaces, s as specDerivedHttpKeys, t as CompatDiffResult, u as ClassificationResult } from "../differ-CC65Efzt.mjs";
1
+ import { $ as BreakingChangeCategory, At as CompatSourceKind, Bt as CompatPolicyHints, Ct as OverlayLookup, Dt as CompatParameter, Et as ViolationSeverity, Ft as CompatVisibility, Ht as mergePolicy, It as LanguageId, Lt as ParameterSensitivity, Mt as CompatSymbol, Nt as CompatSymbolKind, Ot as CompatPassingStyle, Pt as CompatTypeRef, Q as AdditiveChangeCategory, Rt as apiSurfaceToSnapshot, St as MethodOverlay, Tt as ViolationCategory, Vt as getDefaultPolicy, _t as ApiSurface, at as CompatProvenance, bt as Extractor, ct as severityMeetsThreshold, dt as ApiEnum, et as CompatApproval, ft as ApiField, gt as ApiProperty, ht as ApiParam, it as CompatFailLevel, jt as CompatStability, kt as CompatSnapshot, lt as Addition, mt as ApiMethod, nt as CompatChangeSeverity, ot as SoftRiskChangeCategory, pt as ApiInterface, rt as CompatConfig, st as defaultSeverityForCategory, t as ApiSpec, tt as CompatChangeCategory, ut as ApiClass, vt as ApiTypeAlias, wt as Violation, xt as LanguageHints, yt as DiffResult, zt as ALL_LANGUAGE_IDS } from "../types-nM5Kp7UP.mjs";
2
+ import { a as specDerivedEnumValues, c as specDerivedMethodPaths, d as ClassifiedChange, f as classifyAddedSymbol, i as filterSurface, l as specDerivedNames, m as summarizeChanges, n as diffSnapshots, o as specDerivedFieldPaths, p as classifySymbolChanges, r as diffSurfaces, s as specDerivedHttpKeys, t as CompatDiffResult, u as ClassificationResult } from "../differ-DMmw0tbA.mjs";
3
3
 
4
4
  //#region src/compat/schema.d.ts
5
5
  /** Current schema version for compatibility snapshots. */
@@ -1,5 +1,5 @@
1
1
  import { t as safeParse$1, v as ExtractorError } from "../tree-sitter-DcUvm0KA.mjs";
2
- import { A as getDefaultPolicy, C as defaultSeverityForCategory, D as isCompatibleSchemaVersion, E as COMPAT_SCHEMA_VERSION, O as validateSnapshot, S as summarizeChanges, T as apiSurfaceToSnapshot, _ as nodeHints, a as registerExtractor, b as classifyAddedSymbol, c as filterSurface, d as specDerivedHttpKeys, f as specDerivedMethodPaths, g as namedTypeWordsOverlap, h as defaultIsNullableOnlyDifference, i as getExtractor, j as mergePolicy, k as ALL_LANGUAGE_IDS, l as specDerivedEnumValues, m as NAMED_TYPE_RE, n as isPatchableChange, o as diffSnapshots, p as specDerivedNames, r as patchOverlay, s as diffSurfaces, t as buildOverlayLookup, u as specDerivedFieldPaths, v as resolveHints, w as severityMeetsThreshold, x as classifySymbolChanges, y as typeExistsInSurface } from "../overlay-cb32jDBS.mjs";
2
+ import { A as getDefaultPolicy, C as defaultSeverityForCategory, D as isCompatibleSchemaVersion, E as COMPAT_SCHEMA_VERSION, O as validateSnapshot, S as summarizeChanges, T as apiSurfaceToSnapshot, _ as nodeHints, a as registerExtractor, b as classifyAddedSymbol, c as filterSurface, d as specDerivedHttpKeys, f as specDerivedMethodPaths, g as namedTypeWordsOverlap, h as defaultIsNullableOnlyDifference, i as getExtractor, j as mergePolicy, k as ALL_LANGUAGE_IDS, l as specDerivedEnumValues, m as NAMED_TYPE_RE, n as isPatchableChange, o as diffSnapshots, p as specDerivedNames, r as patchOverlay, s as diffSurfaces, t as buildOverlayLookup, u as specDerivedFieldPaths, v as resolveHints, w as severityMeetsThreshold, x as classifySymbolChanges, y as typeExistsInSurface } from "../overlay-sQHQoN0I.mjs";
3
3
  import path, { basename, dirname, join, relative, resolve } from "node:path";
4
4
  import Parser from "tree-sitter";
5
5
  import ts from "typescript";
@@ -458,7 +458,8 @@ function extractParam(sym, checker) {
458
458
  if (isDestructured) passingStyle = "options_object";
459
459
  else {
460
460
  const resolvedType = checker.getTypeOfSymbolAtLocation(sym, decl);
461
- const isObjectLike = resolvedType.isClassOrInterface() || (resolvedType.getFlags() & ts.TypeFlags.Object) !== 0;
461
+ const objectType = checker.getNonNullableType(resolvedType);
462
+ const isObjectLike = objectType.isClassOrInterface() || (objectType.getFlags() & ts.TypeFlags.Object) !== 0;
462
463
  const isPrimitive = [
463
464
  "string",
464
465
  "number",
@@ -940,10 +941,10 @@ function isResourceClass(cls, resourceBases) {
940
941
  /**
941
942
  * Check if a class is a "value object" — PHP 8 model class whose fields
942
943
  * live on the constructor as promoted properties (`public Type $field`).
943
- * Every model class generated by the WorkOS PHP emitter follows this
944
- * shape: `readonly class Foo implements \JsonSerializable { use
945
- * JsonSerializableTrait; public function __construct(public Type $field,
946
- * …) {} }`. The parser collects promoted properties under
944
+ * This covers the common generated shape:
945
+ * `readonly class Foo implements \JsonSerializable { use JsonSerializableTrait;
946
+ * public function __construct(public Type $field, …) {} }`.
947
+ * The parser collects promoted properties under
947
948
  * `cls.properties` so any class with at least one public promoted
948
949
  * property is a value object — the field set is its identity.
949
950
  *
@@ -1173,7 +1174,7 @@ const phpHints = {
1173
1174
  }
1174
1175
  return false;
1175
1176
  },
1176
- modelBaseClasses: ["BaseWorkOSResource"],
1177
+ modelBaseClasses: [],
1177
1178
  exceptionBaseClasses: ["Exception", "\\Exception"]
1178
1179
  };
1179
1180
  /** Create a PHP extractor with optional hint overrides. */
@@ -2015,7 +2016,7 @@ const pythonHints = {
2015
2016
  if (baseMapping && candMapping) return true;
2016
2017
  const dictLikePattern = /^(?:dict|Dict|Mapping)\[str,\s*.+\]$/;
2017
2018
  if (dictLikePattern.test(baseClean) && dictLikePattern.test(candClean)) return true;
2018
- const isMapType = (t) => dictLikePattern.test(t) || /^(?:Metadata|AuditLog\w*Metadata)$/.test(t);
2019
+ const isMapType = (t) => dictLikePattern.test(t) || /^(?:Metadata|\w+Metadata)$/.test(t);
2019
2020
  if (isMapType(baseClean) && isMapType(candClean)) return true;
2020
2021
  if (NAMED_TYPE_RE.test(baseClean) && dictLikePattern.test(candClean)) {
2021
2022
  if (/(?:Metadata|Attributes)$/.test(baseClean)) return true;