@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.
Files changed (47) hide show
  1. package/dist/cli/index.d.mts +2 -0
  2. package/dist/cli/index.mjs +6018 -0
  3. package/dist/cli/index.mjs.map +1 -0
  4. package/dist/compat/{index.d.ts → index.d.mts} +43 -114
  5. package/dist/compat/index.d.mts.map +1 -0
  6. package/dist/compat/index.mjs +4562 -0
  7. package/dist/compat/index.mjs.map +1 -0
  8. package/dist/diff-DyQF4sel.mjs +2250 -0
  9. package/dist/diff-DyQF4sel.mjs.map +1 -0
  10. package/dist/differ-BwelBJN0.mjs +1100 -0
  11. package/dist/differ-BwelBJN0.mjs.map +1 -0
  12. package/dist/index.d.mts +295 -0
  13. package/dist/index.d.mts.map +1 -0
  14. package/dist/index.mjs +1553 -0
  15. package/dist/index.mjs.map +1 -0
  16. package/dist/scripts/smoke/baseline.d.mts +1 -0
  17. package/dist/scripts/smoke/baseline.mjs +1916 -0
  18. package/dist/scripts/smoke/baseline.mjs.map +1 -0
  19. package/dist/scripts/smoke/sdk-test.d.mts +1 -0
  20. package/dist/scripts/smoke/sdk-test.mjs +111 -0
  21. package/dist/scripts/smoke/sdk-test.mjs.map +1 -0
  22. package/dist/smoke.d.mts +331 -0
  23. package/dist/smoke.d.mts.map +1 -0
  24. package/dist/smoke.mjs +2084 -0
  25. package/dist/smoke.mjs.map +1 -0
  26. package/dist/tree-sitter-BPNfbEzY.mjs +359 -0
  27. package/dist/tree-sitter-BPNfbEzY.mjs.map +1 -0
  28. package/dist/types-O25qZxMl.d.mts +397 -0
  29. package/dist/types-O25qZxMl.d.mts.map +1 -0
  30. package/dist/verify/index.d.mts +82 -0
  31. package/dist/verify/index.d.mts.map +1 -0
  32. package/dist/verify/index.mjs +327 -0
  33. package/dist/verify/index.mjs.map +1 -0
  34. package/package.json +19 -16
  35. package/dist/chunk-CIX5NOBF.js +0 -263
  36. package/dist/chunk-IJ5E5AE7.js +0 -1040
  37. package/dist/chunk-VUSRNIG2.js +0 -1661
  38. package/dist/cli/index.js +0 -5314
  39. package/dist/compat/index.js +0 -4491
  40. package/dist/index.d.ts +0 -277
  41. package/dist/index.js +0 -1565
  42. package/dist/scripts/smoke/baseline.js +0 -1813
  43. package/dist/scripts/smoke/sdk-test.js +0 -93
  44. package/dist/smoke.js +0 -2025
  45. package/dist/types-B5t9O9Wm.d.ts +0 -367
  46. package/dist/verify/index.d.ts +0 -76
  47. package/dist/verify/index.js +0 -336
@@ -1,263 +0,0 @@
1
- // src/ir/types.ts
2
- function assertNever(x) {
3
- const kind = x.kind;
4
- const err = new Error(
5
- `Unexpected TypeRef kind: ${kind}
6
- Hint: If you added a new TypeRef variant, handle it in every switch/case that calls assertNever.`
7
- );
8
- err.name = "InternalError";
9
- throw err;
10
- }
11
- function walkTypeRef(ref, visitor) {
12
- switch (ref.kind) {
13
- case "model":
14
- visitor.model?.(ref);
15
- break;
16
- case "enum":
17
- visitor.enum?.(ref);
18
- break;
19
- case "array":
20
- walkTypeRef(ref.items, visitor);
21
- break;
22
- case "nullable":
23
- walkTypeRef(ref.inner, visitor);
24
- break;
25
- case "union":
26
- for (const v of ref.variants) walkTypeRef(v, visitor);
27
- break;
28
- case "map":
29
- if (ref.keyType) walkTypeRef(ref.keyType, visitor);
30
- walkTypeRef(ref.valueType, visitor);
31
- break;
32
- case "literal":
33
- visitor.literal?.(ref);
34
- break;
35
- case "primitive":
36
- visitor.primitive?.(ref);
37
- break;
38
- default:
39
- assertNever(ref);
40
- }
41
- }
42
- function mapTypeRef(ref, mapper) {
43
- switch (ref.kind) {
44
- case "primitive":
45
- return mapper.primitive(ref);
46
- case "array":
47
- return mapper.array(ref, mapTypeRef(ref.items, mapper));
48
- case "model":
49
- return mapper.model(ref);
50
- case "enum":
51
- return mapper.enum(ref);
52
- case "union":
53
- return mapper.union(
54
- ref,
55
- ref.variants.map((v) => mapTypeRef(v, mapper))
56
- );
57
- case "nullable":
58
- return mapper.nullable(ref, mapTypeRef(ref.inner, mapper));
59
- case "literal":
60
- return mapper.literal(ref);
61
- case "map":
62
- return mapper.map(
63
- ref,
64
- mapTypeRef(ref.valueType, mapper),
65
- ref.keyType ? mapTypeRef(ref.keyType, mapper) : void 0
66
- );
67
- default:
68
- return assertNever(ref);
69
- }
70
- }
71
-
72
- // src/errors.ts
73
- var OagenError = class extends Error {
74
- hint;
75
- constructor(message, hint) {
76
- const fullMessage = hint ? `${message}
77
- Hint: ${hint}` : message;
78
- super(fullMessage);
79
- this.name = "OagenError";
80
- this.hint = hint;
81
- }
82
- };
83
- var CommandError = class extends OagenError {
84
- exitCode;
85
- constructor(message, hint, exitCode) {
86
- super(message, hint);
87
- this.name = "CommandError";
88
- this.exitCode = exitCode;
89
- }
90
- };
91
- var SpecParseError = class extends OagenError {
92
- constructor(message, hint) {
93
- super(message, hint);
94
- this.name = "SpecParseError";
95
- }
96
- };
97
- var ConfigError = class extends OagenError {
98
- constructor(message, hint) {
99
- super(message, hint);
100
- this.name = "ConfigError";
101
- }
102
- };
103
- var ConfigLoadError = class extends ConfigError {
104
- constructor(message, hint) {
105
- super(message, hint);
106
- this.name = "ConfigLoadError";
107
- }
108
- };
109
- var ConfigVersionMismatchError = class extends ConfigError {
110
- constructor(message, hint) {
111
- super(message, hint);
112
- this.name = "ConfigVersionMismatchError";
113
- }
114
- };
115
- var ExtractorError = class extends OagenError {
116
- constructor(message, hint) {
117
- super(message, hint);
118
- this.name = "ExtractorError";
119
- }
120
- };
121
- var RegistryError = class extends OagenError {
122
- constructor(message, hint) {
123
- super(message, hint);
124
- this.name = "RegistryError";
125
- }
126
- };
127
- var InternalError = class extends OagenError {
128
- constructor(message, hint) {
129
- super(message, hint);
130
- this.name = "InternalError";
131
- }
132
- };
133
-
134
- // src/utils/naming.ts
135
- function splitWords(s) {
136
- if (!s) return [];
137
- return s.replace(/[^a-zA-Z0-9_\-\s.]/g, "_").replace(/([a-z])([A-Z])/g, "$1\0$2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1\0$2").replace(/([a-zA-Z])(\d)/g, "$1\0$2").replace(/(\d)([a-zA-Z])/g, "$1\0$2").split(/[\0_\-\s.]+/).filter((w) => w.length > 0);
138
- }
139
- var ACRONYM_SET = /* @__PURE__ */ new Set(["SSO", "FGA", "SAML", "SCIM", "JWT", "HMAC"]);
140
- function toPascalCase(s, acronyms) {
141
- const merged = acronyms ? /* @__PURE__ */ new Set([...ACRONYM_SET, ...acronyms]) : ACRONYM_SET;
142
- return splitWords(s).map((w) => {
143
- const upper = w.toUpperCase();
144
- if (merged.has(upper)) return upper;
145
- if (upper === "OAUTH") return "OAuth";
146
- return w.charAt(0).toUpperCase() + w.slice(1).toLowerCase();
147
- }).join("");
148
- }
149
- function toCamelCase(s, acronyms) {
150
- const merged = acronyms ? /* @__PURE__ */ new Set([...ACRONYM_SET, ...acronyms]) : ACRONYM_SET;
151
- const words = splitWords(s);
152
- if (words.length === 0) return "";
153
- return words.map((w, i) => {
154
- if (i === 0) return w.toLowerCase();
155
- const upper = w.toUpperCase();
156
- if (merged.has(upper)) return upper;
157
- if (upper === "OAUTH") return "OAuth";
158
- return w.charAt(0).toUpperCase() + w.slice(1).toLowerCase();
159
- }).join("");
160
- }
161
- function toSnakeCase(s) {
162
- return splitWords(s).map((w) => w.toLowerCase()).join("_");
163
- }
164
- function toKebabCase(s) {
165
- return splitWords(s).map((w) => w.toLowerCase()).join("-");
166
- }
167
- function toUpperSnakeCase(s) {
168
- return splitWords(s).map((w) => w.toUpperCase()).join("_");
169
- }
170
- var BACKEND_SUFFIXES = ["Dto", "DTO", "Controller"];
171
- function stripBackendSuffixes(name) {
172
- for (const suffix of BACKEND_SUFFIXES) {
173
- if (name.endsWith(suffix) && name.length > suffix.length) {
174
- return name.slice(0, -suffix.length);
175
- }
176
- }
177
- return name;
178
- }
179
- function stripBackendPrefixes(name) {
180
- return name.replace(/Userland/g, "").replace(/Controller/g, "");
181
- }
182
- function stripListItemMarkers(name) {
183
- return name.replace(/ListItem/g, "").replace(/ByExternalId/g, "").replace(/ByResourceId/g, "").replace(/ForResource/g, "");
184
- }
185
- var SINGULAR_SAFE_LIST = /* @__PURE__ */ new Set([
186
- "Status",
187
- "Address",
188
- "Access",
189
- "Process",
190
- "Progress",
191
- "Success",
192
- "Radius",
193
- "Canvas",
194
- "Alias",
195
- "Basis",
196
- "Bus"
197
- ]);
198
- function singularize(word) {
199
- if (SINGULAR_SAFE_LIST.has(word)) return word;
200
- if (word.endsWith("ies") && word.length > 4) {
201
- return word.slice(0, -3) + "y";
202
- }
203
- if (word.endsWith("ses") && word.length > 4) {
204
- return word.slice(0, -2);
205
- }
206
- if (word.endsWith("s") && !word.endsWith("ss") && word.length > 4) {
207
- return word.slice(0, -1);
208
- }
209
- return word;
210
- }
211
- function normalizeJsExtension(text) {
212
- return text.replace(/\.js(['"])/g, "$1");
213
- }
214
- function cleanSchemaName(name) {
215
- let result = stripBackendPrefixes(stripBackendSuffixes(name));
216
- result = stripListItemMarkers(result);
217
- const match = result.match(/^([A-Z][a-z]*)/);
218
- if (match) {
219
- const leadWord = match[1];
220
- const singular = singularize(leadWord);
221
- if (singular !== leadWord) {
222
- result = singular + result.slice(leadWord.length);
223
- }
224
- }
225
- return result;
226
- }
227
-
228
- // src/utils/tree-sitter.ts
229
- var TS_SAFE_CHUNK = 32767;
230
- function safeParse(parser, source) {
231
- if (source.length < TS_SAFE_CHUNK) {
232
- return parser.parse(source);
233
- }
234
- return parser.parse((offset) => source.slice(offset, offset + TS_SAFE_CHUNK));
235
- }
236
-
237
- export {
238
- assertNever,
239
- walkTypeRef,
240
- mapTypeRef,
241
- OagenError,
242
- CommandError,
243
- SpecParseError,
244
- ConfigError,
245
- ConfigLoadError,
246
- ConfigVersionMismatchError,
247
- ExtractorError,
248
- RegistryError,
249
- InternalError,
250
- splitWords,
251
- ACRONYM_SET,
252
- toPascalCase,
253
- toCamelCase,
254
- toSnakeCase,
255
- toKebabCase,
256
- toUpperSnakeCase,
257
- stripBackendPrefixes,
258
- stripListItemMarkers,
259
- singularize,
260
- normalizeJsExtension,
261
- cleanSchemaName,
262
- safeParse
263
- };