@workos/oagen 0.1.0 → 0.2.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/dist/cli/index.d.mts +2 -0
- package/dist/cli/index.mjs +6018 -0
- package/dist/cli/index.mjs.map +1 -0
- package/dist/compat/{index.d.ts → index.d.mts} +43 -114
- package/dist/compat/index.d.mts.map +1 -0
- package/dist/compat/index.mjs +4562 -0
- package/dist/compat/index.mjs.map +1 -0
- package/dist/diff-DyQF4sel.mjs +2250 -0
- package/dist/diff-DyQF4sel.mjs.map +1 -0
- package/dist/differ-BwelBJN0.mjs +1100 -0
- package/dist/differ-BwelBJN0.mjs.map +1 -0
- package/dist/index.d.mts +295 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +1553 -0
- package/dist/index.mjs.map +1 -0
- package/dist/scripts/smoke/baseline.d.mts +1 -0
- package/dist/scripts/smoke/baseline.mjs +1916 -0
- package/dist/scripts/smoke/baseline.mjs.map +1 -0
- package/dist/scripts/smoke/sdk-test.d.mts +1 -0
- package/dist/scripts/smoke/sdk-test.mjs +111 -0
- package/dist/scripts/smoke/sdk-test.mjs.map +1 -0
- package/dist/smoke.d.mts +331 -0
- package/dist/smoke.d.mts.map +1 -0
- package/dist/smoke.mjs +2084 -0
- package/dist/smoke.mjs.map +1 -0
- package/dist/tree-sitter-BPNfbEzY.mjs +359 -0
- package/dist/tree-sitter-BPNfbEzY.mjs.map +1 -0
- package/dist/types-O25qZxMl.d.mts +397 -0
- package/dist/types-O25qZxMl.d.mts.map +1 -0
- package/dist/verify/index.d.mts +82 -0
- package/dist/verify/index.d.mts.map +1 -0
- package/dist/verify/index.mjs +327 -0
- package/dist/verify/index.mjs.map +1 -0
- package/package.json +19 -16
- package/dist/chunk-CIX5NOBF.js +0 -263
- package/dist/chunk-IJ5E5AE7.js +0 -1040
- package/dist/chunk-VUSRNIG2.js +0 -1661
- package/dist/cli/index.js +0 -5314
- package/dist/compat/index.js +0 -4491
- package/dist/index.d.ts +0 -277
- package/dist/index.js +0 -1565
- package/dist/scripts/smoke/baseline.js +0 -1813
- package/dist/scripts/smoke/sdk-test.js +0 -93
- package/dist/smoke.js +0 -2025
- package/dist/types-B5t9O9Wm.d.ts +0 -367
- package/dist/verify/index.d.ts +0 -76
- package/dist/verify/index.js +0 -336
package/dist/index.d.ts
DELETED
|
@@ -1,277 +0,0 @@
|
|
|
1
|
-
import { M as Model, A as ApiSpec, a as ApiSurface, O as OverlayLookup, E as Enum, S as Service, b as Operation, c as Extractor } from './types-B5t9O9Wm.js';
|
|
2
|
-
export { d as ArrayType, e as AuthScheme, f as EnumRef, g as EnumValue, h as ErrorResponse, F as Field, H as HttpMethod, L as LiteralType, i as MapType, j as ModelRef, N as NullableType, P as PaginationMeta, k as Parameter, l as PrimitiveType, m as ServerEntry, n as SuccessResponse, T as TypeParam, o as TypeRef, U as UnionType, p as assertNever, q as mapTypeRef, w as walkTypeRef } from './types-B5t9O9Wm.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Structured error hierarchy for oagen.
|
|
6
|
-
*
|
|
7
|
-
* Every error carries a human-readable `hint` that suggests a recovery action.
|
|
8
|
-
* The hint is appended to the `message` so it appears in stack traces and logs.
|
|
9
|
-
*/
|
|
10
|
-
/** Base class for all oagen errors. */
|
|
11
|
-
declare class OagenError extends Error {
|
|
12
|
-
readonly hint: string;
|
|
13
|
-
constructor(message: string, hint: string);
|
|
14
|
-
}
|
|
15
|
-
/** Thrown when a command should terminate with a specific exit code. */
|
|
16
|
-
declare class CommandError extends OagenError {
|
|
17
|
-
readonly exitCode: number;
|
|
18
|
-
constructor(message: string, hint: string, exitCode: number);
|
|
19
|
-
}
|
|
20
|
-
/** Thrown when an OpenAPI spec cannot be parsed or has an unsupported version. */
|
|
21
|
-
declare class SpecParseError extends OagenError {
|
|
22
|
-
constructor(message: string, hint: string);
|
|
23
|
-
}
|
|
24
|
-
/** Thrown when configuration files (manifests, API surfaces, overlays) are missing or malformed. */
|
|
25
|
-
declare class ConfigError extends OagenError {
|
|
26
|
-
constructor(message: string, hint: string);
|
|
27
|
-
}
|
|
28
|
-
/** Thrown when a config file exists but cannot be loaded or evaluated. */
|
|
29
|
-
declare class ConfigLoadError extends ConfigError {
|
|
30
|
-
constructor(message: string, hint: string);
|
|
31
|
-
}
|
|
32
|
-
/** Thrown when a config targets a different IR version than the installed package. */
|
|
33
|
-
declare class ConfigVersionMismatchError extends ConfigError {
|
|
34
|
-
constructor(message: string, hint: string);
|
|
35
|
-
}
|
|
36
|
-
/** Thrown when an API surface extractor encounters a problem. */
|
|
37
|
-
declare class ExtractorError extends OagenError {
|
|
38
|
-
constructor(message: string, hint: string);
|
|
39
|
-
}
|
|
40
|
-
/** Thrown when a requested language or extractor is not found in a registry. */
|
|
41
|
-
declare class RegistryError extends OagenError {
|
|
42
|
-
constructor(message: string, hint: string);
|
|
43
|
-
}
|
|
44
|
-
/** Thrown for internal invariant violations that indicate a bug. */
|
|
45
|
-
declare class InternalError extends OagenError {
|
|
46
|
-
constructor(message: string, hint: string);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
interface GeneratedFile {
|
|
50
|
-
path: string;
|
|
51
|
-
content: string;
|
|
52
|
-
skipIfExists?: boolean;
|
|
53
|
-
headerPlacement?: 'prepend' | 'skip';
|
|
54
|
-
/** When false, exclude this file from --target integration. Defaults to true. */
|
|
55
|
-
integrateTarget?: boolean;
|
|
56
|
-
}
|
|
57
|
-
interface EmitterContext {
|
|
58
|
-
namespace: string;
|
|
59
|
-
namespacePascal: string;
|
|
60
|
-
spec: ApiSpec;
|
|
61
|
-
outputDir?: string;
|
|
62
|
-
apiSurface?: ApiSurface;
|
|
63
|
-
overlayLookup?: OverlayLookup;
|
|
64
|
-
}
|
|
65
|
-
interface Emitter {
|
|
66
|
-
language: string;
|
|
67
|
-
generateModels(models: Model[], ctx: EmitterContext): GeneratedFile[];
|
|
68
|
-
generateEnums(enums: Enum[], ctx: EmitterContext): GeneratedFile[];
|
|
69
|
-
generateResources(services: Service[], ctx: EmitterContext): GeneratedFile[];
|
|
70
|
-
generateClient(spec: ApiSpec, ctx: EmitterContext): GeneratedFile[];
|
|
71
|
-
generateErrors(ctx: EmitterContext): GeneratedFile[];
|
|
72
|
-
generateConfig(ctx: EmitterContext): GeneratedFile[];
|
|
73
|
-
generateTypeSignatures?(spec: ApiSpec, ctx: EmitterContext): GeneratedFile[];
|
|
74
|
-
generateTests(spec: ApiSpec, ctx: EmitterContext): GeneratedFile[];
|
|
75
|
-
/** Optional: generate a smoke-manifest.json mapping operationIds to SDK methods */
|
|
76
|
-
generateManifest?(spec: ApiSpec, ctx: EmitterContext): GeneratedFile[];
|
|
77
|
-
fileHeader(): string;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
interface DiffReport {
|
|
81
|
-
oldVersion: string;
|
|
82
|
-
newVersion: string;
|
|
83
|
-
changes: Change[];
|
|
84
|
-
summary: {
|
|
85
|
-
added: number;
|
|
86
|
-
removed: number;
|
|
87
|
-
modified: number;
|
|
88
|
-
breaking: number;
|
|
89
|
-
additive: number;
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
type Change = ModelAdded | ModelRemoved | ModelModified | EnumAdded | EnumRemoved | EnumModified | ServiceAdded | ServiceRemoved | OperationAdded | OperationRemoved | OperationModified;
|
|
93
|
-
interface ModelAdded {
|
|
94
|
-
kind: 'model-added';
|
|
95
|
-
name: string;
|
|
96
|
-
classification: 'additive';
|
|
97
|
-
}
|
|
98
|
-
interface ModelRemoved {
|
|
99
|
-
kind: 'model-removed';
|
|
100
|
-
name: string;
|
|
101
|
-
classification: 'breaking';
|
|
102
|
-
}
|
|
103
|
-
interface ModelModified {
|
|
104
|
-
kind: 'model-modified';
|
|
105
|
-
name: string;
|
|
106
|
-
fieldChanges: FieldChange[];
|
|
107
|
-
classification: 'additive' | 'breaking';
|
|
108
|
-
}
|
|
109
|
-
interface FieldChange {
|
|
110
|
-
kind: 'field-added' | 'field-removed' | 'field-type-changed' | 'field-required-changed' | 'field-access-changed';
|
|
111
|
-
fieldName: string;
|
|
112
|
-
classification: 'additive' | 'breaking';
|
|
113
|
-
details?: string;
|
|
114
|
-
}
|
|
115
|
-
interface EnumAdded {
|
|
116
|
-
kind: 'enum-added';
|
|
117
|
-
name: string;
|
|
118
|
-
classification: 'additive';
|
|
119
|
-
}
|
|
120
|
-
interface EnumRemoved {
|
|
121
|
-
kind: 'enum-removed';
|
|
122
|
-
name: string;
|
|
123
|
-
classification: 'breaking';
|
|
124
|
-
}
|
|
125
|
-
interface EnumModified {
|
|
126
|
-
kind: 'enum-modified';
|
|
127
|
-
name: string;
|
|
128
|
-
valueChanges: EnumValueChange[];
|
|
129
|
-
classification: 'additive' | 'breaking';
|
|
130
|
-
}
|
|
131
|
-
interface EnumValueChange {
|
|
132
|
-
kind: 'value-added' | 'value-removed' | 'value-changed';
|
|
133
|
-
valueName: string;
|
|
134
|
-
classification: 'additive' | 'breaking';
|
|
135
|
-
details?: string;
|
|
136
|
-
}
|
|
137
|
-
interface ServiceAdded {
|
|
138
|
-
kind: 'service-added';
|
|
139
|
-
name: string;
|
|
140
|
-
classification: 'additive';
|
|
141
|
-
}
|
|
142
|
-
interface ServiceRemoved {
|
|
143
|
-
kind: 'service-removed';
|
|
144
|
-
name: string;
|
|
145
|
-
classification: 'breaking';
|
|
146
|
-
}
|
|
147
|
-
interface OperationAdded {
|
|
148
|
-
kind: 'operation-added';
|
|
149
|
-
serviceName: string;
|
|
150
|
-
operationName: string;
|
|
151
|
-
classification: 'additive';
|
|
152
|
-
}
|
|
153
|
-
interface OperationRemoved {
|
|
154
|
-
kind: 'operation-removed';
|
|
155
|
-
serviceName: string;
|
|
156
|
-
operationName: string;
|
|
157
|
-
classification: 'breaking';
|
|
158
|
-
}
|
|
159
|
-
interface OperationModified {
|
|
160
|
-
kind: 'operation-modified';
|
|
161
|
-
serviceName: string;
|
|
162
|
-
operationName: string;
|
|
163
|
-
paramChanges: ParamChange[];
|
|
164
|
-
responseChanged: boolean;
|
|
165
|
-
requestBodyChanged: boolean;
|
|
166
|
-
httpMethodChanged: boolean;
|
|
167
|
-
pathChanged: boolean;
|
|
168
|
-
paginatedChanged: boolean;
|
|
169
|
-
injectIdempotencyKeyChanged: boolean;
|
|
170
|
-
errorsChanged: boolean;
|
|
171
|
-
classification: 'additive' | 'breaking';
|
|
172
|
-
}
|
|
173
|
-
interface ParamChange {
|
|
174
|
-
kind: 'param-added' | 'param-removed' | 'param-type-changed' | 'param-required-changed';
|
|
175
|
-
paramName: string;
|
|
176
|
-
classification: 'additive' | 'breaking';
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
interface ParseOptions {
|
|
180
|
-
operationIdTransform?: (id: string) => string;
|
|
181
|
-
}
|
|
182
|
-
declare function parseSpec(specPath: string, options?: ParseOptions): Promise<ApiSpec>;
|
|
183
|
-
|
|
184
|
-
declare function generate(spec: ApiSpec, emitter: Emitter, options: {
|
|
185
|
-
namespace: string;
|
|
186
|
-
dryRun?: boolean;
|
|
187
|
-
outputDir: string;
|
|
188
|
-
target?: string;
|
|
189
|
-
apiSurface?: ApiSurface;
|
|
190
|
-
overlayLookup?: OverlayLookup;
|
|
191
|
-
}): Promise<GeneratedFile[]>;
|
|
192
|
-
|
|
193
|
-
declare function buildEmitterContext(spec: ApiSpec, options: {
|
|
194
|
-
namespace: string;
|
|
195
|
-
outputDir: string;
|
|
196
|
-
apiSurface?: ApiSurface;
|
|
197
|
-
overlayLookup?: OverlayLookup;
|
|
198
|
-
}): EmitterContext;
|
|
199
|
-
/** Collect all generated files from an emitter (no headers, no path prefixes). */
|
|
200
|
-
declare function generateAllFiles(spec: ApiSpec, emitter: Emitter, ctx: EmitterContext): GeneratedFile[];
|
|
201
|
-
/** Apply file header to generated files, respecting headerPlacement and JSON files. */
|
|
202
|
-
declare function applyFileHeaders(files: GeneratedFile[], header: string): GeneratedFile[];
|
|
203
|
-
declare function generateFiles(spec: ApiSpec, emitter: Emitter, options: {
|
|
204
|
-
namespace: string;
|
|
205
|
-
outputDir: string;
|
|
206
|
-
apiSurface?: ApiSurface;
|
|
207
|
-
overlayLookup?: OverlayLookup;
|
|
208
|
-
}): {
|
|
209
|
-
files: GeneratedFile[];
|
|
210
|
-
ctx: EmitterContext;
|
|
211
|
-
header: string;
|
|
212
|
-
};
|
|
213
|
-
|
|
214
|
-
interface WriteResult {
|
|
215
|
-
written: string[];
|
|
216
|
-
merged: string[];
|
|
217
|
-
skipped: string[];
|
|
218
|
-
identical: string[];
|
|
219
|
-
ignored: string[];
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
declare function mapFilesForTargetIntegration(files: GeneratedFile[], language: string): GeneratedFile[];
|
|
223
|
-
declare function integrateGeneratedFiles(opts: {
|
|
224
|
-
files: GeneratedFile[];
|
|
225
|
-
language: string;
|
|
226
|
-
targetDir: string;
|
|
227
|
-
header: string;
|
|
228
|
-
}): Promise<WriteResult>;
|
|
229
|
-
|
|
230
|
-
declare function registerEmitter(emitter: Emitter): void;
|
|
231
|
-
declare function getEmitter(language: string): Emitter;
|
|
232
|
-
|
|
233
|
-
declare function diffSpecs(oldSpec: ApiSpec, newSpec: ApiSpec): DiffReport;
|
|
234
|
-
|
|
235
|
-
declare const ACRONYM_SET: Set<string>;
|
|
236
|
-
declare function toPascalCase(s: string, acronyms?: Set<string>): string;
|
|
237
|
-
declare function toCamelCase(s: string, acronyms?: Set<string>): string;
|
|
238
|
-
declare function toSnakeCase(s: string): string;
|
|
239
|
-
declare function toKebabCase(s: string): string;
|
|
240
|
-
declare function toUpperSnakeCase(s: string): string;
|
|
241
|
-
declare function stripBackendPrefixes(name: string): string;
|
|
242
|
-
declare function cleanSchemaName(name: string): string;
|
|
243
|
-
|
|
244
|
-
interface OperationPlan {
|
|
245
|
-
operation: Operation;
|
|
246
|
-
isDelete: boolean;
|
|
247
|
-
hasBody: boolean;
|
|
248
|
-
isIdempotentPost: boolean;
|
|
249
|
-
pathParamsInOptions: boolean;
|
|
250
|
-
isPaginated: boolean;
|
|
251
|
-
responseModelName: string | null;
|
|
252
|
-
isModelResponse: boolean;
|
|
253
|
-
hasQueryParams: boolean;
|
|
254
|
-
isAsync: boolean;
|
|
255
|
-
}
|
|
256
|
-
declare function planOperation(op: Operation): OperationPlan;
|
|
257
|
-
|
|
258
|
-
interface OagenConfig {
|
|
259
|
-
emitters?: Emitter[];
|
|
260
|
-
extractors?: Extractor[];
|
|
261
|
-
/** Path to the emitter project (where skills scaffold new emitters, tests, smoke runners). */
|
|
262
|
-
emitterProject?: string;
|
|
263
|
-
/** Map from language key to custom smoke runner script path. */
|
|
264
|
-
smokeRunners?: Record<string, string>;
|
|
265
|
-
/**
|
|
266
|
-
* Custom transform for operation IDs. When provided, replaces the default
|
|
267
|
-
* camelCase pass-through. Receives the raw operationId string; return the
|
|
268
|
-
* desired operation name (no additional conversion is applied).
|
|
269
|
-
*
|
|
270
|
-
*/
|
|
271
|
-
operationIdTransform?: (id: string) => string;
|
|
272
|
-
/** Base URL for documentation links. When set, relative paths in descriptions
|
|
273
|
-
* (e.g. `/reference/authkit/user`) are expanded to full URLs. */
|
|
274
|
-
docUrl?: string;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
export { ACRONYM_SET, ApiSpec, type Change, CommandError, ConfigError, ConfigLoadError, ConfigVersionMismatchError, type DiffReport, type Emitter, type EmitterContext, Enum, type EnumAdded, type EnumModified, type EnumRemoved, type EnumValueChange, ExtractorError, type FieldChange, type GeneratedFile, InternalError, Model, type ModelAdded, type ModelModified, type ModelRemoved, type OagenConfig, OagenError, Operation, type OperationAdded, type OperationModified, type OperationPlan, type OperationRemoved, type ParamChange, RegistryError, Service, type ServiceAdded, type ServiceRemoved, SpecParseError, applyFileHeaders, buildEmitterContext, cleanSchemaName, diffSpecs, generate, generateAllFiles, generateFiles, getEmitter, integrateGeneratedFiles, mapFilesForTargetIntegration, parseSpec, planOperation, registerEmitter, stripBackendPrefixes, toCamelCase, toKebabCase, toPascalCase, toSnakeCase, toUpperSnakeCase };
|