@workos/oagen 0.22.7 → 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.
- package/README.md +1 -1
- package/dist/cli/index.mjs +142 -33
- package/dist/cli/index.mjs.map +1 -1
- package/dist/compat/index.d.mts +2 -2
- package/dist/compat/index.mjs +7 -7
- package/dist/compat/index.mjs.map +1 -1
- package/dist/{diff-D4XaiPeA.mjs → diff-B7dMUCoJ.mjs} +128 -19
- package/dist/diff-B7dMUCoJ.mjs.map +1 -0
- package/dist/{differ-Q13KY9Rd.d.mts → differ-DMmw0tbA.d.mts} +5 -5
- package/dist/{differ-Q13KY9Rd.d.mts.map → differ-DMmw0tbA.d.mts.map} +1 -1
- package/dist/index.d.mts +50 -9
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +9 -11
- package/dist/index.mjs.map +1 -1
- package/dist/{overlay-cb32jDBS.mjs → overlay-sQHQoN0I.mjs} +4 -4
- package/dist/overlay-sQHQoN0I.mjs.map +1 -0
- package/dist/scripts/smoke/baseline.mjs +8 -10
- package/dist/scripts/smoke/baseline.mjs.map +1 -1
- package/dist/scripts/smoke/sdk-test.mjs +3 -3
- package/dist/scripts/smoke/sdk-test.mjs.map +1 -1
- package/dist/smoke.d.mts +3 -4
- package/dist/smoke.d.mts.map +1 -1
- package/dist/smoke.mjs +8 -10
- package/dist/smoke.mjs.map +1 -1
- package/dist/{types-DZrKFHis.d.mts → types-nM5Kp7UP.d.mts} +7 -9
- package/dist/types-nM5Kp7UP.d.mts.map +1 -0
- package/dist/verify/index.d.mts +2 -2
- package/dist/verify/index.mjs +2 -2
- package/docs/architecture/extractor-contract.md +2 -2
- package/docs/architecture/pipeline.md +2 -2
- package/docs/cli.md +19 -19
- package/docs/core/compatibility-policy.md +1 -1
- package/docs/core/manifest-schema.md +2 -2
- package/package.json +1 -1
- package/skills/generate-emitter/SKILL.md +2 -2
- package/skills/generate-emitter/references/common-pitfalls.md +1 -1
- package/skills/generate-emitter/references/project-scaffold.md +3 -3
- package/skills/generate-extractor/SKILL.md +2 -2
- package/skills/generate-smoke-test/SKILL.md +1 -1
- package/skills/verify-smoke-test/SKILL.md +1 -1
- package/dist/diff-D4XaiPeA.mjs.map +0 -1
- package/dist/overlay-cb32jDBS.mjs.map +0 -1
- package/dist/types-DZrKFHis.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-
|
|
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., "
|
|
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 /
|
|
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.,
|
|
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-
|
|
123
|
+
//# sourceMappingURL=differ-DMmw0tbA.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"differ-
|
|
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-
|
|
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 /
|
|
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 /
|
|
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', '
|
|
260
|
+
/** Service name (e.g. 'authorization', 'accounts'). */
|
|
242
261
|
serviceName: string;
|
|
243
262
|
/** Operation name within the service. */
|
|
244
263
|
operationName: string;
|
|
@@ -397,6 +416,15 @@ declare function generate(spec: ApiSpec, emitter: Emitter, options: {
|
|
|
397
416
|
modelHints?: Record<string, string>;
|
|
398
417
|
emitterOptions?: Record<string, unknown>; /** When true, skip deletion of files recorded in the previous manifest but not in the current emission. */
|
|
399
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[];
|
|
400
428
|
}): Promise<GeneratedFile[]>;
|
|
401
429
|
//#endregion
|
|
402
430
|
//#region src/engine/generate-files.d.ts
|
|
@@ -411,17 +439,29 @@ declare function buildEmitterContext(spec: ApiSpec, options: {
|
|
|
411
439
|
emitterOptions?: Record<string, unknown>;
|
|
412
440
|
target?: string;
|
|
413
441
|
priorTargetManifestPaths?: Set<string>;
|
|
442
|
+
scopedServices?: Set<string>;
|
|
414
443
|
}): EmitterContext;
|
|
415
444
|
/**
|
|
416
445
|
* Collect model and enum names transitively referenced by service operations.
|
|
417
446
|
* Walks operation parameters, request bodies, responses, and pagination item
|
|
418
447
|
* types, then chases model field references until the set stabilizes.
|
|
419
448
|
*/
|
|
420
|
-
declare function collectReferencedNames(services: Service[], models: Model[]
|
|
449
|
+
declare function collectReferencedNames(services: Service[], models: Model[], opts?: {
|
|
450
|
+
preserveAllDiscriminated?: boolean;
|
|
451
|
+
}): {
|
|
421
452
|
models: Set<string>;
|
|
422
453
|
enums: Set<string>;
|
|
423
454
|
};
|
|
424
|
-
/**
|
|
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
|
+
*/
|
|
425
465
|
declare function generateAllFiles(spec: ApiSpec, emitter: Emitter, ctx: EmitterContext): GeneratedFile[];
|
|
426
466
|
/** Apply file header to generated files, respecting headerPlacement and JSON files. */
|
|
427
467
|
declare function applyFileHeaders(files: GeneratedFile[], header: string): GeneratedFile[];
|
|
@@ -435,7 +475,8 @@ declare function generateFiles(spec: ApiSpec, emitter: Emitter, options: {
|
|
|
435
475
|
modelHints?: Record<string, string>;
|
|
436
476
|
emitterOptions?: Record<string, unknown>;
|
|
437
477
|
target?: string;
|
|
438
|
-
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>;
|
|
439
480
|
}): {
|
|
440
481
|
files: GeneratedFile[];
|
|
441
482
|
ctx: EmitterContext;
|
|
@@ -534,7 +575,7 @@ interface OagenConfig {
|
|
|
534
575
|
*/
|
|
535
576
|
schemaNameTransform?: (name: string) => string;
|
|
536
577
|
/** Base URL for documentation links. When set, relative paths in descriptions
|
|
537
|
-
* (e.g. `/reference/
|
|
578
|
+
* (e.g. `/reference/users/user`) are expanded to full URLs. */
|
|
538
579
|
docUrl?: string;
|
|
539
580
|
/**
|
|
540
581
|
* Pre-IR overlay applied to the bundled OpenAPI document before any IR
|
|
@@ -549,7 +590,7 @@ interface OagenConfig {
|
|
|
549
590
|
*/
|
|
550
591
|
transformSpec?: (spec: OpenApiDocument) => OpenApiDocument;
|
|
551
592
|
/**
|
|
552
|
-
* Per-operation overrides keyed by "METHOD /path" (e.g. "POST /
|
|
593
|
+
* Per-operation overrides keyed by "METHOD /path" (e.g. "POST /auth/token").
|
|
553
594
|
* Used by the operation resolver to override derived method names, mount
|
|
554
595
|
* targets, and to split union-body operations into typed wrappers.
|
|
555
596
|
*/
|
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/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":";;;;UAeiB,aAAA;EAAA;EAEf,IAAA;;EAEA,OAAA;EAFA;EAIA,KAAA,GAAQ,SAAA;EAAR;EAEA,QAAA,GAAW,MAAA;EAAX;EAEA,eAAA;EAAA;;;;AAUF;;EAHE,UAAA;AAAA;AAAA,UAGe,SAAA;EAIf;EAFA,IAAA;EAIW;EAFX,aAAA;EAMA;EAJA,QAAA,GAAW,MAAA;EAUG;EARd,eAAA;EAee;EAbf,aAAA;;;;;;EAMA,cAAA;AAAA;AAAA,UAOe,iBAAA;EAEJ;EAAX,SAAA,EAAW,SAAA;EAEF;EAAT,OAAA,EAAS,OAAA;EAIT;EAFA,UAAA;EAIW;EAFX,OAAA;EAIU;EAFV,QAAA,GAAW,eAAA;EAMX;EAJA,QAAA,EAAU,MAAA;EAIA;EAFV,eAAA;EAK8B;EAH9B,UAAA;AAAA;AAAA,UAGe,eAAA;EAIf;EAFA,IAAA;EAIU;EAFV,aAAA;EAMA;EAJA,QAAA,EAAU,MAAA;EAQV;EANA,eAAA;EAMiB;EAJjB,aAAA;EAgF8B;EA9E9B,cAAA;EA8E+D;EA5E/D,iBAAA;AAAA;;;;;AA2JF;;;;;;;iBA/EgB,gBAAA,CAAiB,EAAA,EAAI,SAAA,EAAW,QAAA,EAAU,OAAA;;;;;;;;;iBA+E1C,iBAAA,CACd,IAAA,EAAM,OAAA,EACN,KAAA,GAAQ,MAAA,SAAe,aAAA,GACvB,UAAA,GAAa,MAAA,mBACZ,iBAAA;;;;;;AA3OH;;;;cCPa,UAAA,SAAmB,KAAA;EAAA,SACrB,IAAA;cAEG,OAAA,UAAiB,IAAA;AAAA;;cASlB,YAAA,SAAqB,UAAA;EAAA,SACvB,QAAA;cAEG,OAAA,UAAiB,IAAA,UAAc,QAAA;AAAA;;cAQhC,cAAA,SAAuB,UAAA;cACtB,OAAA,UAAiB,IAAA;AAAA;;cAOlB,WAAA,SAAoB,UAAA;cACnB,OAAA,UAAiB,IAAA;AAAA;;cAOlB,eAAA,SAAwB,WAAA;cACvB,OAAA,UAAiB,IAAA;AAAA;;cAOlB,0BAAA,SAAmC,WAAA;cAClC,OAAA,UAAiB,IAAA;AAAA;;cAOlB,cAAA,SAAuB,UAAA;cACtB,OAAA,UAAiB,IAAA;AAAA;;cAOlB,aAAA,SAAsB,UAAA;cACrB,OAAA,UAAiB,IAAA;AAAA;;cAOlB,aAAA,SAAsB,UAAA;cACrB,OAAA,UAAiB,IAAA;AAAA;;;UC5Ed,aAAA;EACf,IAAA;EACA,OAAA;EACA,YAAA;EACA,eAAA;EFWA;EETA,eAAA;EFWQ;EETR,iBAAA;AAAA;AAAA,UAGe,cAAA;EACf,SAAA;EACA,eAAA;EACA,IAAA,EAAM,OAAA;EACN,SAAA;EACA,UAAA,GAAa,UAAA;EACb,aAAA,GAAgB,aAAA;EFoBC;EElBjB,kBAAA,GAAqB,iBAAA;EFgBrB;;;;;EEVA,UAAA,GAAa,MAAA;EFsBC;EEpBd,cAAA,GAAiB,MAAA;EF2BF;EEzBf,SAAA;;;;;;;;
|
|
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-
|
|
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.
|
|
10
|
-
*
|
|
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-
|
|
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
|
-
* /
|
|
1800
|
-
* /
|
|
1801
|
-
* /
|
|
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
|
-
* /
|
|
1801
|
+
* /auth/authorize → "Authorize" (action endpoint)
|
|
1804
1802
|
*/
|
|
1805
1803
|
function inferResourceFromPath(path) {
|
|
1806
1804
|
const segments = path.split("/").filter(Boolean);
|