@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,4 +1,4 @@
1
- import { Bt as CompatPolicyHints, Mt as CompatSymbol, _t as ApiSurface, at as CompatProvenance, kt as CompatSnapshot, nt as CompatChangeSeverity, t as ApiSpec, tt as CompatChangeCategory, xt as LanguageHints, yt as DiffResult } from "./types-Cjh39AGQ.mjs";
1
+ import { Bt as CompatPolicyHints, Mt as CompatSymbol, _t as ApiSurface, at as CompatProvenance, kt as CompatSnapshot, nt as CompatChangeSeverity, t as ApiSpec, tt as CompatChangeCategory, xt as LanguageHints, yt as DiffResult } from "./types-nM5Kp7UP.mjs";
2
2
 
3
3
  //#region src/compat/classify.d.ts
4
4
  /** A single classified compatibility change. */
@@ -67,13 +67,13 @@ declare function specDerivedEnumValues(spec: ApiSpec): Map<string, Set<string |
67
67
  */
68
68
  declare function specDerivedFieldPaths(spec: ApiSpec, hints: LanguageHints): Set<string>;
69
69
  /**
70
- * Compute the set of method paths (e.g., "SSO.authorize") that are defined
70
+ * Compute the set of method paths (e.g., "Auth.authorize") that are defined
71
71
  * as operations in the OpenAPI spec's services. Used by filterSurface to
72
72
  * exclude hand-written SDK methods that don't correspond to spec operations.
73
73
  */
74
74
  declare function specDerivedMethodPaths(spec: ApiSpec): Set<string>;
75
75
  /**
76
- * Compute the set of HTTP operation keys (e.g., "GET /sso/authorize") that
76
+ * Compute the set of HTTP operation keys (e.g., "GET /auth/authorize") that
77
77
  * exist in the spec. Used for overlay-based method matching.
78
78
  */
79
79
  declare function specDerivedHttpKeys(spec: ApiSpec): Set<string>;
@@ -88,7 +88,7 @@ declare function specDerivedHttpKeys(spec: ApiSpec): Set<string>;
88
88
  *
89
89
  * For classes: when methodPaths is provided, only keeps methods whose names
90
90
  * appear in the spec-derived method paths. This prevents false positives from
91
- * hand-written SDK methods (e.g., SSO.authorization_url, Webhooks.construct_event)
91
+ * hand-written SDK methods (e.g., Auth.authorization_url, Webhooks.construct_event)
92
92
  * that don't correspond to spec operations. Properties on service classes are
93
93
  * also filtered: only UPPER_CASE constants that are spec-derivable are kept.
94
94
  */
@@ -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-CC65Efzt.d.mts.map
123
+ //# sourceMappingURL=differ-DMmw0tbA.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"differ-CC65Efzt.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;;;;;iBAYY,qBAAA,CACd,QAAA,EAAU,YAAA,EACV,SAAA,EAAW,YAAA,cACX,MAAA,EAAQ,iBAAA,GACP,gBAAA;;;;iBAiWa,mBAAA,CAAoB,MAAA,EAAQ,YAAA,GAAe,gBAAA;;iBAc3C,gBAAA,CAAiB,OAAA,EAAS,gBAAA,KAAqB,oBAAA;;;;AA/Z/D;;;;iBCJgB,gBAAA,CAAiB,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,aAAA,GAAgB,GAAA;;;;;iBA0CvD,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;;;;;;;;;;;;AD1CpD;;;;iBC8FgB,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;;;;UChIc,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"}
1
+ {"version":3,"file":"differ-DMmw0tbA.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;;;;;iBAYY,qBAAA,CACd,QAAA,EAAU,YAAA,EACV,SAAA,EAAW,YAAA,cACX,MAAA,EAAQ,iBAAA,GACP,gBAAA;;;;iBAiWa,mBAAA,CAAoB,MAAA,EAAQ,YAAA,GAAe,gBAAA;;iBAc3C,gBAAA,CAAiB,OAAA,EAAS,gBAAA,KAAqB,oBAAA;;;;AA/Z/D;;;;iBCJgB,gBAAA,CAAiB,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,aAAA,GAAgB,GAAA;;;;;iBA0CvD,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;;;;;;;;;;;;AD1CpD;;;;iBC8FgB,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;;;;UChIc,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,7 +1,7 @@
1
- import { A as collectEnumRefs, B as IdempotencyPolicy, C as Service, Ct as OverlayLookup, D as UnionType, E as TypeRef, F as walkTypeRef, G as RetryPolicy, H as LoggingPolicy, I as AiAgentEnvVar, J as TimeoutPolicy, K as SdkBehavior, L as BackoffStrategy, M as collectModelRefs, N as collectRequestBodyModels, O as assertNever, P as mapTypeRef, R as DeepPartial, S as ServerEntry, T as TypeParam, U as PaginationPolicy, V as LogEvent, W as RequestGuardPolicy, X as defaultSdkBehavior, Y as UserAgentPolicy, Z as mergeSdkBehavior, _ as Parameter, _t as ApiSurface, a as EnumRef, b as PrimitiveType, bt as Extractor, c as Field, d as MapType, f as Model, g as PaginationMeta, h as Operation, i as Enum, j as collectFieldDependencies, k as assignModelsToServices, l as HttpMethod, m as NullableType, n as ArrayType, o as EnumValue, p as ModelRef, q as TelemetryPolicy, r as AuthScheme, rt as CompatConfig, s as ErrorResponse, t as ApiSpec, u as LiteralType, v as ParameterGroup, w as SuccessResponse, x as SecurityRequirement, y as ParameterGroupVariant, z as ErrorPolicy } from "./types-Cjh39AGQ.mjs";
1
+ import { A as collectEnumRefs, B as IdempotencyPolicy, C as Service, Ct as OverlayLookup, D as UnionType, E as TypeRef, F as walkTypeRef, G as RetryPolicy, H as LoggingPolicy, I as AiAgentEnvVar, J as TimeoutPolicy, K as SdkBehavior, L as BackoffStrategy, M as collectModelRefs, N as collectRequestBodyModels, O as assertNever, P as mapTypeRef, R as DeepPartial, S as ServerEntry, T as TypeParam, U as PaginationPolicy, V as LogEvent, W as RequestGuardPolicy, X as defaultSdkBehavior, Y as UserAgentPolicy, Z as mergeSdkBehavior, _ as Parameter, _t as ApiSurface, a as EnumRef, b as PrimitiveType, bt as Extractor, c as Field, d as MapType, f as Model, g as PaginationMeta, h as Operation, i as Enum, j as collectFieldDependencies, k as assignModelsToServices, l as HttpMethod, m as NullableType, n as ArrayType, o as EnumValue, p as ModelRef, q as TelemetryPolicy, r as AuthScheme, rt as CompatConfig, s as ErrorResponse, t as ApiSpec, u as LiteralType, v as ParameterGroup, w as SuccessResponse, x as SecurityRequirement, y as ParameterGroupVariant, z as ErrorPolicy } from "./types-nM5Kp7UP.mjs";
2
2
 
3
3
  //#region src/ir/operation-hints.d.ts
4
- /** Per-operation override keyed by "METHOD /path" (e.g. "POST /sso/token"). */
4
+ /** Per-operation override keyed by "METHOD /path" (e.g. "POST /auth/token"). */
5
5
  interface OperationHint {
6
6
  /** Override the algorithm-derived method name. */
7
7
  name?: string;
@@ -17,7 +17,7 @@ interface OperationHint {
17
17
  * Marks this operation as a URL builder rather than a real HTTP call. Emitters
18
18
  * should generate a method that returns the constructed URL (typically as a
19
19
  * string) without performing any I/O. Used for OAuth-style redirect endpoints
20
- * such as /sso/authorize and /user_management/sessions/logout.
20
+ * such as /auth/authorize and /accounts/sessions/logout.
21
21
  */
22
22
  urlBuilder?: boolean;
23
23
  }
@@ -171,6 +171,25 @@ interface EmitterContext {
171
171
  emitterOptions?: Record<string, unknown>;
172
172
  /** Absolute path to the integration target directory (when --target is used). */
173
173
  targetDir?: string;
174
+ /**
175
+ * Scoped-generation signal: the set of POST-MOUNT service names a `--services`
176
+ * run selected. When present and non-empty, emitters must emit ONLY these
177
+ * services' per-service resource/test files, while still emitting models,
178
+ * enums, the root client, and all aggregate/barrel files from the FULL spec
179
+ * (so shared files stay byte-identical and a brand-new selected service is
180
+ * wired into the client automatically). Absent/empty ⇒ full generation.
181
+ */
182
+ scopedServices?: Set<string>;
183
+ /**
184
+ * Scoped-generation model/enum allow-lists: names of models/enums reachable
185
+ * from the selected services. When `scopedServices` is active,
186
+ * emitters must write a per-model/per-enum FILE only when its name is in these
187
+ * sets — but must still include EVERY model/enum (the full set passed to
188
+ * generateModels/generateEnums) in barrels/indexes, so on-disk files for
189
+ * out-of-scope models (left untouched) stay importable. Absent ⇒ write all.
190
+ */
191
+ scopedModelNames?: Set<string>;
192
+ scopedEnumNames?: Set<string>;
174
193
  /**
175
194
  * Paths (relative to the output/target dir) that the previous run wrote,
176
195
  * loaded from that directory's `.oagen-manifest.json`. Emitters can use this
@@ -238,7 +257,7 @@ interface DiffReport {
238
257
  }
239
258
  interface BehaviorChange {
240
259
  kind: 'param-default-changed';
241
- /** Service name (e.g. 'authorization', 'user_management'). */
260
+ /** Service name (e.g. 'authorization', 'accounts'). */
242
261
  serviceName: string;
243
262
  /** Operation name within the service. */
244
263
  operationName: string;
@@ -359,6 +378,13 @@ type OpenApiDocument = Record<string, unknown>;
359
378
  interface ParseOptions {
360
379
  operationIdTransform?: (id: string) => string;
361
380
  schemaNameTransform?: (name: string) => string;
381
+ /**
382
+ * Domain-facing field-name overrides, keyed by IR model name then wire field
383
+ * name: `{ Connection: { connection_type: 'type' } }`. Sets `Field.domainName`
384
+ * so emitters expose the field under the friendlier name while keeping the
385
+ * wire key. Language-agnostic — honored by any emitter that reads `domainName`.
386
+ */
387
+ fieldHints?: Record<string, Record<string, string>>;
362
388
  /**
363
389
  * Pre-IR overlay applied to the bundled OpenAPI document before any IR
364
390
  * extraction runs. Use this when the upstream spec can't be changed but you
@@ -390,6 +416,15 @@ declare function generate(spec: ApiSpec, emitter: Emitter, options: {
390
416
  modelHints?: Record<string, string>;
391
417
  emitterOptions?: Record<string, unknown>; /** When true, skip deletion of files recorded in the previous manifest but not in the current emission. */
392
418
  noPrune?: boolean;
419
+ /**
420
+ * Post-mount service names to generate (a `--services` run). When non-empty,
421
+ * the FULL spec is still emitted for models/enums/client/barrels (so shared
422
+ * files stay byte-identical and a brand-new selected service is wired into the
423
+ * client automatically); only per-service resource/test emission is gated to
424
+ * the selection (via `ctx.scopedServices`). Pruning is disabled and the
425
+ * manifest is merged so unselected services' records survive.
426
+ */
427
+ services?: string[];
393
428
  }): Promise<GeneratedFile[]>;
394
429
  //#endregion
395
430
  //#region src/engine/generate-files.d.ts
@@ -404,17 +439,29 @@ declare function buildEmitterContext(spec: ApiSpec, options: {
404
439
  emitterOptions?: Record<string, unknown>;
405
440
  target?: string;
406
441
  priorTargetManifestPaths?: Set<string>;
442
+ scopedServices?: Set<string>;
407
443
  }): EmitterContext;
408
444
  /**
409
445
  * Collect model and enum names transitively referenced by service operations.
410
446
  * Walks operation parameters, request bodies, responses, and pagination item
411
447
  * types, then chases model field references until the set stabilizes.
412
448
  */
413
- declare function collectReferencedNames(services: Service[], models: Model[]): {
449
+ declare function collectReferencedNames(services: Service[], models: Model[], opts?: {
450
+ preserveAllDiscriminated?: boolean;
451
+ }): {
414
452
  models: Set<string>;
415
453
  enums: Set<string>;
416
454
  };
417
- /** Collect all generated files from an emitter (no headers, no path prefixes). */
455
+ /**
456
+ * Collect all generated files from an emitter (no headers, no path prefixes).
457
+ *
458
+ * In a scoped (`--services`) run the spec is NOT filtered: every generator runs
459
+ * over the full spec so model placement, dedup, the root client, and all
460
+ * aggregate/barrel files are byte-identical to a full run (and a brand-new
461
+ * selected service is wired into the client automatically). The emitters
462
+ * themselves consult `ctx.scopedServices` to emit only the selected services'
463
+ * per-service resource/test files.
464
+ */
418
465
  declare function generateAllFiles(spec: ApiSpec, emitter: Emitter, ctx: EmitterContext): GeneratedFile[];
419
466
  /** Apply file header to generated files, respecting headerPlacement and JSON files. */
420
467
  declare function applyFileHeaders(files: GeneratedFile[], header: string): GeneratedFile[];
@@ -428,7 +475,8 @@ declare function generateFiles(spec: ApiSpec, emitter: Emitter, options: {
428
475
  modelHints?: Record<string, string>;
429
476
  emitterOptions?: Record<string, unknown>;
430
477
  target?: string;
431
- priorTargetManifestPaths?: Set<string>;
478
+ priorTargetManifestPaths?: Set<string>; /** Scoped-generation signal (POST-MOUNT names); set on ctx for emitters to gate per-service emission. */
479
+ scopedServices?: Set<string>;
432
480
  }): {
433
481
  files: GeneratedFile[];
434
482
  ctx: EmitterContext;
@@ -527,7 +575,7 @@ interface OagenConfig {
527
575
  */
528
576
  schemaNameTransform?: (name: string) => string;
529
577
  /** Base URL for documentation links. When set, relative paths in descriptions
530
- * (e.g. `/reference/authkit/user`) are expanded to full URLs. */
578
+ * (e.g. `/reference/users/user`) are expanded to full URLs. */
531
579
  docUrl?: string;
532
580
  /**
533
581
  * Pre-IR overlay applied to the bundled OpenAPI document before any IR
@@ -542,7 +590,7 @@ interface OagenConfig {
542
590
  */
543
591
  transformSpec?: (spec: OpenApiDocument) => OpenApiDocument;
544
592
  /**
545
- * Per-operation overrides keyed by "METHOD /path" (e.g. "POST /sso/token").
593
+ * Per-operation overrides keyed by "METHOD /path" (e.g. "POST /auth/token").
546
594
  * Used by the operation resolver to override derived method names, mount
547
595
  * targets, and to split union-body operations into typed wrappers.
548
596
  */
@@ -567,6 +615,13 @@ interface OagenConfig {
567
615
  * post-schemaNameTransform model names (e.g. `User`, not `UserlandUser`).
568
616
  */
569
617
  modelHints?: Record<string, string>;
618
+ /**
619
+ * Domain-facing field-name overrides, keyed by IR model name then wire field
620
+ * name: `{ Connection: { connection_type: 'type' } }`. Sets `Field.domainName`
621
+ * so every emitter can expose the field under a friendlier domain name while
622
+ * keeping the wire key unchanged.
623
+ */
624
+ fieldHints?: Record<string, Record<string, string>>;
570
625
  /**
571
626
  * Language-specific emitter options. The CLI passes only the active
572
627
  * language's option bag to that emitter.
@@ -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/utils/naming.ts","../src/engine/operation-plan.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/utils/naming.ts","../src/engine/operation-plan.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,14 +1,13 @@
1
1
  import { A as walkTypeRef, 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, 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-DcUvm0KA.mjs";
2
- import { c as treeShakeFiles, d as collectReferencedNames, f as generateAllFiles, h as resolveOperations, i as generate, l as applyFileHeaders, m as deriveMethodName, n as getEmitter, o as integrateGeneratedFiles, p as generateFiles, r as registerEmitter, s as mapFilesForTargetIntegration, t as diffSpecs, u as buildEmitterContext } from "./diff-CQzcGuFJ.mjs";
2
+ import { c as treeShakeFiles, d as collectReferencedNames, f as generateAllFiles, h as resolveOperations, i as generate, l as applyFileHeaders, m as deriveMethodName, n as getEmitter, o as integrateGeneratedFiles, p as generateFiles, r as registerEmitter, s as mapFilesForTargetIntegration, t as diffSpecs, u as buildEmitterContext } from "./diff-B7dMUCoJ.mjs";
3
3
  import { readFile } from "node:fs/promises";
4
4
  import { resolve } from "node:path";
5
5
  import { pathToFileURL } from "node:url";
6
6
  import { BaseResolver, Oas3_1Types, bundleDocument, createConfig, makeDocumentFromString } from "@redocly/openapi-core";
7
7
  //#region src/ir/sdk-behavior.ts
8
8
  /**
9
- * Canonical SDK behavior defaults. These match the PHP emitter's current
10
- * implementation (the most complete). Per-language overrides can be applied
11
- * via `mergeSdkBehavior()` in each SDK's `oagen.config.ts`.
9
+ * Canonical SDK behavior defaults. Per-language or per-project overrides can
10
+ * be applied via `mergeSdkBehavior()` in each SDK's `oagen.config.ts`.
12
11
  *
13
12
  * - Retry: exponential backoff with jitter, retries on 429/5xx
14
13
  * - Errors: standard HTTP status → exception kind mapping
@@ -51,12 +50,11 @@ function defaultSdkBehavior() {
51
50
  429: "RateLimitExceeded"
52
51
  },
53
52
  serverErrorKind: "Server",
54
- clientErrorKind: "Api",
55
- errorDocUrlTemplate: "https://workos.com/docs/errors/{code}"
53
+ clientErrorKind: "Api"
56
54
  },
57
55
  telemetry: {
58
56
  enabledByDefault: true,
59
- headerName: "X-WorkOS-Client-Telemetry",
57
+ headerName: "X-Client-Telemetry",
60
58
  requestIdHeader: "X-Request-ID"
61
59
  },
62
60
  pagination: { autoPageDelayMs: 0 },
@@ -1796,11 +1794,11 @@ function inferVerb(method, path) {
1796
1794
  * Uses the last non-param segment (the resource being operated on).
1797
1795
  *
1798
1796
  * Examples:
1799
- * /user_management/users → "Users"
1800
- * /user_management/users/{id} → "User" (singular for item operations)
1801
- * /user_management/users/{id}/auth_factors → "AuthFactors"
1797
+ * /accounts/users → "Users"
1798
+ * /accounts/users/{id} → "User" (singular for item operations)
1799
+ * /accounts/users/{id}/auth_factors → "AuthFactors"
1802
1800
  * /organizations/{id}/api_keys → "ApiKeys"
1803
- * /sso/authorize → "Authorize" (action endpoint)
1801
+ * /auth/authorize → "Authorize" (action endpoint)
1804
1802
  */
1805
1803
  function inferResourceFromPath(path) {
1806
1804
  const segments = path.split("/").filter(Boolean);
@@ -2446,6 +2444,7 @@ async function parseSpec(specPath, options) {
2446
2444
  const fieldInlineModels = extractInlineModelsFromSchemas(spec.components?.schemas);
2447
2445
  clearSchemaNameTransform();
2448
2446
  const finalModels = collapseJsonSuffixModels(mergeFieldInlineModels(responseNormalizedModels, fieldInlineModels), services);
2447
+ applyFieldHints(finalModels, options?.fieldHints);
2449
2448
  collectInlineEnumsFromModels(finalModels, enums);
2450
2449
  collectInlineEnumsFromOperations(services, enums);
2451
2450
  const auth = extractAuthSchemes(spec.components?.securitySchemes);
@@ -2468,6 +2467,22 @@ async function parseSpec(specPath, options) {
2468
2467
  validateModelRefs(result);
2469
2468
  return result;
2470
2469
  }
2470
+ /**
2471
+ * Apply `fieldHints` onto the built models, setting `Field.domainName` for each
2472
+ * matching (model name, wire field name) pair. Serialization still uses
2473
+ * `Field.name`; only the domain-facing identifier changes.
2474
+ */
2475
+ function applyFieldHints(models, fieldHints) {
2476
+ if (!fieldHints) return;
2477
+ for (const model of models) {
2478
+ const hints = fieldHints[model.name];
2479
+ if (!hints) continue;
2480
+ for (const field of model.fields) {
2481
+ const domainName = hints[field.name];
2482
+ if (domainName) field.domainName = domainName;
2483
+ }
2484
+ }
2485
+ }
2471
2486
  /** Extract authentication schemes from OpenAPI securitySchemes. */
2472
2487
  function extractAuthSchemes(securitySchemes) {
2473
2488
  if (!securitySchemes) return void 0;