@codewithagents/openapi-gen 0.1.0 → 1.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAQA,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BzD"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAUA,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDzD"}
package/dist/generator.js CHANGED
@@ -1,10 +1,12 @@
1
- import { mkdir, writeFile } from 'node:fs/promises';
1
+ import { access, mkdir, writeFile } from 'node:fs/promises';
2
2
  import { join, resolve } from 'node:path';
3
3
  import { loadConfig } from './config.js';
4
4
  import { parseSpec } from './parser.js';
5
5
  import { generateTypes } from './plugins/types.js';
6
6
  import { generateClientConfig } from './plugins/client-config.js';
7
7
  import { generateClient } from './plugins/client.js';
8
+ import { generateZodSchemas } from './plugins/zod.js';
9
+ import { generateIndexBarrel } from './plugins/index-barrel.js';
8
10
  export async function generate(cwd) {
9
11
  console.log('Loading config...');
10
12
  const config = await loadConfig(cwd);
@@ -15,9 +17,10 @@ export async function generate(cwd) {
15
17
  const generatedFiles = [];
16
18
  // Phase 1: always generate types
17
19
  generatedFiles.push(generateTypes(spec));
18
- // Phase 2: always generate client config and fetch client
20
+ // Phase 2: always generate client config, fetch client, and barrel index
19
21
  generatedFiles.push(generateClientConfig());
20
22
  generatedFiles.push(generateClient(spec));
23
+ generatedFiles.push(generateIndexBarrel());
21
24
  console.log(`Writing output to: ${outputDir}`);
22
25
  await mkdir(outputDir, { recursive: true });
23
26
  for (const file of generatedFiles) {
@@ -25,6 +28,26 @@ export async function generate(cwd) {
25
28
  await writeFile(filePath, file.content, 'utf-8');
26
29
  console.log(` ✓ ${file.filename}`);
27
30
  }
31
+ // Phase 3: Zod schema bootstrap — write once, never overwrite
32
+ if (config.input_schema !== undefined) {
33
+ const schemaPath = resolve(cwd, config.input_schema);
34
+ let schemaExists = false;
35
+ try {
36
+ await access(schemaPath);
37
+ schemaExists = true;
38
+ }
39
+ catch {
40
+ // file does not exist — bootstrap it
41
+ }
42
+ if (schemaExists) {
43
+ console.log(`Skipping ${config.input_schema} — already exists (edit freely, it's yours).`);
44
+ }
45
+ else {
46
+ const zodFile = generateZodSchemas(spec);
47
+ await writeFile(schemaPath, zodFile.content, 'utf-8');
48
+ console.log(` ✓ ${config.input_schema} (bootstrapped — edit freely, won't be overwritten)`);
49
+ }
50
+ }
28
51
  console.log(`Done! Generated ${generatedFiles.length} file(s).`);
29
52
  }
30
53
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW;IACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;IAChC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;IAEpC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAE7C,OAAO,CAAC,GAAG,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAA;IAEvC,MAAM,cAAc,GAAG,EAAE,CAAA;IAEzB,iCAAiC;IACjC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;IAExC,0DAA0D;IAC1D,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAA;IAC3C,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;IAEzC,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAA;IAC9C,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAE3C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/C,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,cAAc,CAAC,MAAM,WAAW,CAAC,CAAA;AAClE,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export type { GeneratedFile } from './plugins/types.js';
5
5
  export { generateTypes } from './plugins/types.js';
6
6
  export { generateClientConfig } from './plugins/client-config.js';
7
7
  export { generateClient } from './plugins/client.js';
8
+ export { generateZodSchemas } from './plugins/zod.js';
8
9
  export { generate } from './generator.js';
9
10
  export { toTypeName, toPropertyKey } from './utils/naming.js';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA"}
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ export { parseSpec } from './parser.js';
3
3
  export { generateTypes } from './plugins/types.js';
4
4
  export { generateClientConfig } from './plugins/client-config.js';
5
5
  export { generateClient } from './plugins/client.js';
6
+ export { generateZodSchemas } from './plugins/zod.js';
6
7
  export { generate } from './generator.js';
7
8
  export { toTypeName, toPropertyKey } from './utils/naming.js';
8
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"client-config.d.ts","sourceRoot":"","sources":["../../src/plugins/client-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAqC/C,wBAAgB,oBAAoB,IAAI,aAAa,CAKpD"}
1
+ {"version":3,"file":"client-config.d.ts","sourceRoot":"","sources":["../../src/plugins/client-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AA+C/C,wBAAgB,oBAAoB,IAAI,aAAa,CAKpD"}
@@ -15,6 +15,16 @@ export interface ClientConfig {
15
15
  credentials?: RequestCredentials
16
16
  /** Additional headers sent with every request */
17
17
  headers?: Record<string, string>
18
+ /**
19
+ * Global error hook — called with every non-2xx response error before it is
20
+ * thrown. Use for logging, monitoring, or triggering auth refresh flows.
21
+ *
22
+ * @example
23
+ * configureClient({
24
+ * onError: (err) => Sentry.captureException(err),
25
+ * })
26
+ */
27
+ onError?: (err: Error) => void
18
28
  }
19
29
 
20
30
  let _config: ClientConfig = {
@@ -1 +1 @@
1
- {"version":3,"file":"client-config.js","sourceRoot":"","sources":["../../src/plugins/client-config.ts"],"names":[],"mappings":"AAEA,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC7B,CAAA;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,qBAAqB;KAC/B,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"client-config.js","sourceRoot":"","sources":["../../src/plugins/client-config.ts"],"names":[],"mappings":"AAEA,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C7B,CAAA;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,qBAAqB;KAC/B,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/plugins/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AA6Q/C,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,GAAG,aAAa,CAkFxE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/plugins/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AA8T/C,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,GAAG,aAAa,CAmFxE"}
@@ -6,20 +6,44 @@ function refToTypeName(ref) {
6
6
  function isRef(obj) {
7
7
  return typeof obj === 'object' && obj !== null && '$ref' in obj;
8
8
  }
9
+ /** Convert an inline schema to a TypeScript type string (for use in return/param positions). */
10
+ function inlineSchemaToTs(schema) {
11
+ if (isRef(schema))
12
+ return refToTypeName(schema.$ref);
13
+ const s = schema;
14
+ if (Array.isArray(s.type)) {
15
+ return s.type.map((t) => (t === 'null' ? 'null' : primitiveToTs(t))).join(' | ');
16
+ }
17
+ if (s.type === 'array') {
18
+ const items = s.items;
19
+ if (items !== undefined)
20
+ return `${inlineSchemaToTs(items)}[]`;
21
+ return 'unknown[]';
22
+ }
23
+ if (s.type === 'object')
24
+ return 'Record<string, unknown>';
25
+ if (s.type !== undefined)
26
+ return primitiveToTs(s.type);
27
+ return 'unknown';
28
+ }
9
29
  function resolveSchema(schema) {
10
30
  if (isRef(schema)) {
11
31
  return { typeName: refToTypeName(schema.$ref), isArray: false };
12
32
  }
13
33
  const s = schema;
14
- if (s.type === 'array' && s.items !== undefined) {
34
+ if (s.type === 'array') {
15
35
  const items = s.items;
16
- if (isRef(items)) {
17
- return { typeName: refToTypeName(items.$ref), isArray: true };
36
+ if (items !== undefined) {
37
+ if (isRef(items)) {
38
+ return { typeName: refToTypeName(items.$ref), isArray: true };
39
+ }
40
+ // primitive array
41
+ return { typeName: primitiveToTs(items.type), isArray: true };
18
42
  }
19
- // primitive array — return inline type
20
- return { typeName: primitiveToTs(items.type), isArray: true };
21
43
  }
22
- return { typeName: 'unknown', isArray: false };
44
+ // For inline objects and primitives, emit the full inline type string
45
+ const inlineTs = inlineSchemaToTs(s);
46
+ return { typeName: inlineTs, isArray: false };
23
47
  }
24
48
  function primitiveToTs(type) {
25
49
  switch (type) {
@@ -42,6 +66,10 @@ function queryParamType(schema) {
42
66
  const s = schema;
43
67
  if (s.type === 'array')
44
68
  return 'string[]';
69
+ // String enum → union literal type (e.g. 'active' | 'inactive')
70
+ if (s.type === 'string' && Array.isArray(s.enum) && s.enum.length > 0) {
71
+ return s.enum.map((v) => `'${v}'`).join(' | ');
72
+ }
45
73
  return primitiveToTs(s.type);
46
74
  }
47
75
  /** Convert a path like /api/v1/tasks/{id} to a template literal string with encodeURIComponent calls */
@@ -118,6 +146,7 @@ function getQueryParams(operation) {
118
146
  .map((p) => ({
119
147
  name: p.name,
120
148
  type: queryParamType(p.schema),
149
+ required: p.required === true,
121
150
  }));
122
151
  }
123
152
  function getRequestBodyType(operation) {
@@ -134,9 +163,7 @@ function getRequestBodyType(operation) {
134
163
  if (jsonContent === undefined || jsonContent.schema === undefined)
135
164
  return undefined;
136
165
  const schema = jsonContent.schema;
137
- if (isRef(schema))
138
- return refToTypeName(schema.$ref);
139
- return 'unknown';
166
+ return inlineSchemaToTs(schema);
140
167
  }
141
168
  function generateFunctionCode(funcName, method, path, pathParams, queryParams, bodyTypeName, returnType) {
142
169
  const lines = [];
@@ -150,10 +177,11 @@ function generateFunctionCode(funcName, method, path, pathParams, queryParams, b
150
177
  if (bodyTypeName !== undefined) {
151
178
  sigParts.push(`body: ${bodyTypeName}`);
152
179
  }
153
- // Query params as optional object
180
+ // Query params required if any param is required, fields marked individually
154
181
  if (queryParams.length > 0) {
155
- const qpFields = queryParams.map((qp) => ` ${qp.name}?: ${qp.type}`).join('\n');
156
- sigParts.push(`params?: {\n${qpFields}\n}`);
182
+ const hasRequired = queryParams.some((qp) => qp.required);
183
+ const qpFields = queryParams.map((qp) => ` ${qp.name}${qp.required ? '' : '?'}: ${qp.type}`).join('\n');
184
+ sigParts.push(`params${hasRequired ? '' : '?'}: {\n${qpFields}\n}`);
157
185
  }
158
186
  // Per-request config override — enables SSR without mutating the global singleton
159
187
  sigParts.push(`config?: Partial<ClientConfig>`);
@@ -163,7 +191,7 @@ function generateFunctionCode(funcName, method, path, pathParams, queryParams, b
163
191
  ? `Promise<${returnType.typeName}[]>`
164
192
  : `Promise<${returnType.typeName}>`;
165
193
  lines.push(`export async function ${funcName}(${sigParts.join(', ')}): ${returnTs} {`);
166
- lines.push(` const { baseUrl, token, credentials, headers } = { ...getConfig(), ...config }`);
194
+ lines.push(` const { baseUrl, token, credentials, headers, onError } = { ...getConfig(), ...config }`);
167
195
  // Build URL
168
196
  const urlExpression = pathToUrlExpression(path);
169
197
  const hasPathParams = urlExpression !== path;
@@ -218,15 +246,36 @@ function generateFunctionCode(funcName, method, path, pathParams, queryParams, b
218
246
  fetchLines.push(` })`);
219
247
  lines.push(...fetchLines);
220
248
  if (returnType.isVoid) {
221
- lines.push(` if (!res.ok) throw new ApiError(res.status, null)`);
249
+ lines.push(` if (!res.ok) {`);
250
+ lines.push(` const err = new ApiError(res.status, null)`);
251
+ lines.push(` onError?.(err)`);
252
+ lines.push(` throw err`);
253
+ lines.push(` }`);
222
254
  }
223
255
  else {
224
- lines.push(` if (!res.ok) throw new ApiError(res.status, await res.json().catch(() => null))`);
256
+ lines.push(` if (!res.ok) {`);
257
+ lines.push(` const err = new ApiError(res.status, await res.json().catch(() => null))`);
258
+ lines.push(` onError?.(err)`);
259
+ lines.push(` throw err`);
260
+ lines.push(` }`);
225
261
  lines.push(` return res.json()`);
226
262
  }
227
263
  lines.push(`}`);
228
264
  return lines.join('\n');
229
265
  }
266
+ /** Built-in TypeScript types that must NOT be imported from ./models */
267
+ const BUILTIN_TS_TYPES = new Set([
268
+ 'string', 'number', 'boolean', 'unknown', 'void', 'null', 'undefined', 'any', 'never',
269
+ ]);
270
+ /**
271
+ * Returns true only for simple identifiers (e.g. "Task", "CreateTaskRequest") that are
272
+ * safe to include in an `import type { … }` statement.
273
+ * Filters out inline type expressions ("Record<string, unknown>"), arrays ("Task[]"),
274
+ * union types ("string | null"), and built-in TS primitives.
275
+ */
276
+ function isImportableType(name) {
277
+ return /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(name) && !BUILTIN_TS_TYPES.has(name);
278
+ }
230
279
  export function generateClient(spec) {
231
280
  const paths = spec.paths;
232
281
  const collectedTypeNames = new Set();
@@ -250,11 +299,12 @@ export function generateClient(spec) {
250
299
  const queryParams = getQueryParams(operation);
251
300
  const bodyTypeName = getRequestBodyType(operation);
252
301
  const returnType = getReturnType(operation);
253
- // Collect type names for import
254
- if (bodyTypeName !== undefined && bodyTypeName !== 'unknown') {
302
+ // Collect type names for import — only simple schema identifiers (e.g. "Task"),
303
+ // never inline type expressions (e.g. "Record<string, unknown>") or primitives.
304
+ if (bodyTypeName !== undefined && isImportableType(bodyTypeName)) {
255
305
  collectedTypeNames.add(bodyTypeName);
256
306
  }
257
- if (!returnType.isVoid && returnType.typeName !== 'unknown') {
307
+ if (!returnType.isVoid && isImportableType(returnType.typeName)) {
258
308
  collectedTypeNames.add(returnType.typeName);
259
309
  }
260
310
  const fnCode = generateFunctionCode(funcName, method, path, pathParams, queryParams, bodyTypeName, returnType);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/plugins/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/plugins/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { GeneratedFile } from './types.js';
2
+ /**
3
+ * Generates a barrel index.ts that re-exports everything from the other three
4
+ * generated files so consumers can do:
5
+ *
6
+ * import { getTasks, Task, configureClient } from './api'
7
+ *
8
+ * instead of knowing which sub-file each export lives in.
9
+ */
10
+ export declare function generateIndexBarrel(): GeneratedFile;
11
+ //# sourceMappingURL=index-barrel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-barrel.d.ts","sourceRoot":"","sources":["../../src/plugins/index-barrel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAWnD"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Generates a barrel index.ts that re-exports everything from the other three
3
+ * generated files so consumers can do:
4
+ *
5
+ * import { getTasks, Task, configureClient } from './api'
6
+ *
7
+ * instead of knowing which sub-file each export lives in.
8
+ */
9
+ export function generateIndexBarrel() {
10
+ const content = [
11
+ '// This file is auto-generated by @codewithagents/openapi-gen — do not edit',
12
+ '',
13
+ "export * from './models'",
14
+ "export * from './client-config'",
15
+ "export * from './client'",
16
+ '',
17
+ ].join('\n');
18
+ return { filename: 'index.ts', content };
19
+ }
20
+ //# sourceMappingURL=index-barrel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-barrel.js","sourceRoot":"","sources":["../../src/plugins/index-barrel.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG;QACd,6EAA6E;QAC7E,EAAE;QACF,0BAA0B;QAC1B,iCAAiC;QACjC,0BAA0B;QAC1B,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEZ,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAA;AAC1C,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { OpenAPIV3_1 } from 'openapi-types';
2
+ import type { GeneratedFile } from './types.js';
3
+ export declare function generateZodSchemas(spec: OpenAPIV3_1.Document): GeneratedFile;
4
+ //# sourceMappingURL=zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../src/plugins/zod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AA0L/C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,GAAG,aAAa,CA0B5E"}
@@ -0,0 +1,178 @@
1
+ import { toPropertyKey } from '../utils/naming.js';
2
+ function isRef(schema) {
3
+ return '$ref' in schema;
4
+ }
5
+ function refToSchemaName(ref) {
6
+ const parts = ref.split('/');
7
+ return `${parts[parts.length - 1]}Schema`;
8
+ }
9
+ function refToTypeName(ref) {
10
+ const parts = ref.split('/');
11
+ return parts[parts.length - 1];
12
+ }
13
+ /** Check whether a schema tree contains a $ref to the given schema name (self-reference). */
14
+ function hasSelfRef(schema, name, visited = new Set()) {
15
+ if (visited.has(schema))
16
+ return false;
17
+ visited.add(schema);
18
+ if (isRef(schema)) {
19
+ return refToTypeName(schema.$ref) === name;
20
+ }
21
+ const s = schema;
22
+ for (const key of ['allOf', 'anyOf', 'oneOf']) {
23
+ const list = s[key];
24
+ if (list !== undefined) {
25
+ for (const item of list) {
26
+ if (hasSelfRef(item, name, visited))
27
+ return true;
28
+ }
29
+ }
30
+ }
31
+ if (s.properties !== undefined) {
32
+ for (const propSchema of Object.values(s.properties)) {
33
+ if (hasSelfRef(propSchema, name, visited))
34
+ return true;
35
+ }
36
+ }
37
+ const items = s.items;
38
+ if (items !== undefined) {
39
+ if (hasSelfRef(items, name, visited))
40
+ return true;
41
+ }
42
+ if (s.additionalProperties !== undefined && typeof s.additionalProperties === 'object') {
43
+ if (hasSelfRef(s.additionalProperties, name, visited))
44
+ return true;
45
+ }
46
+ return false;
47
+ }
48
+ function primitiveToZod(type) {
49
+ switch (type) {
50
+ case 'string':
51
+ return 'z.string()';
52
+ case 'number':
53
+ case 'integer':
54
+ return 'z.number()';
55
+ case 'boolean':
56
+ return 'z.boolean()';
57
+ case 'null':
58
+ return 'z.null()';
59
+ default:
60
+ return 'z.unknown()';
61
+ }
62
+ }
63
+ function schemaToZod(schema) {
64
+ if (isRef(schema)) {
65
+ return refToSchemaName(schema.$ref);
66
+ }
67
+ // OpenAPI 3.1 array type: type: ['string', 'null']
68
+ if (Array.isArray(schema.type)) {
69
+ const types = schema.type;
70
+ const isNullable = types.includes('null');
71
+ const nonNull = types.filter((t) => t !== 'null');
72
+ if (nonNull.length === 1) {
73
+ const base = primitiveToZod(nonNull[0]);
74
+ return isNullable ? `${base}.nullable()` : base;
75
+ }
76
+ const parts = types.map((t) => (t === 'null' ? 'z.null()' : primitiveToZod(t)));
77
+ return `z.union([${parts.join(', ')}])`;
78
+ }
79
+ // String enum → z.enum([...])
80
+ if (schema.enum !== undefined && schema.enum.length > 0 && schema.type === 'string') {
81
+ const vals = schema.enum.map((v) => `'${v}'`).join(', ');
82
+ return `z.enum([${vals}])`;
83
+ }
84
+ // Number/integer enum → z.union([z.literal(...), ...])
85
+ if (schema.enum !== undefined && schema.enum.length > 0) {
86
+ const literals = schema.enum.map((v) => `z.literal(${String(v)})`).join(', ');
87
+ return `z.union([${literals}])`;
88
+ }
89
+ // allOf → chain with .and()
90
+ if (schema.allOf !== undefined && schema.allOf.length > 0) {
91
+ const parts = schema.allOf.map(schemaToZod);
92
+ if (parts.length === 1)
93
+ return parts[0];
94
+ return parts.slice(1).reduce((acc, part) => `${acc}.and(${part})`, parts[0]);
95
+ }
96
+ // anyOf → z.union([...])
97
+ if (schema.anyOf !== undefined && schema.anyOf.length > 0) {
98
+ const parts = schema.anyOf.map(schemaToZod);
99
+ return `z.union([${parts.join(', ')}])`;
100
+ }
101
+ // oneOf → z.union([...])
102
+ if (schema.oneOf !== undefined && schema.oneOf.length > 0) {
103
+ const parts = schema.oneOf.map(schemaToZod);
104
+ return `z.union([${parts.join(', ')}])`;
105
+ }
106
+ const type = schema.type;
107
+ // Array
108
+ if (type === 'array') {
109
+ const arraySchema = schema;
110
+ const items = arraySchema.items;
111
+ if (items !== undefined) {
112
+ return `z.array(${schemaToZod(items)})`;
113
+ }
114
+ return 'z.array(z.unknown())';
115
+ }
116
+ // Object
117
+ if (type === 'object') {
118
+ // additionalProperties only → z.record()
119
+ if (schema.additionalProperties !== undefined &&
120
+ schema.additionalProperties !== false &&
121
+ schema.additionalProperties !== true &&
122
+ (schema.properties === undefined || Object.keys(schema.properties).length === 0)) {
123
+ const valZod = schemaToZod(schema.additionalProperties);
124
+ return `z.record(z.string(), ${valZod})`;
125
+ }
126
+ if (schema.properties !== undefined && Object.keys(schema.properties).length > 0) {
127
+ return inlineObjectZod(schema);
128
+ }
129
+ return 'z.record(z.string(), z.unknown())';
130
+ }
131
+ if (type !== undefined) {
132
+ return primitiveToZod(type);
133
+ }
134
+ return 'z.unknown()';
135
+ }
136
+ function inlineObjectZod(schema) {
137
+ const required = new Set(schema.required ?? []);
138
+ const props = schema.properties;
139
+ const lines = Object.entries(props).map(([key, propSchema]) => {
140
+ const propKey = toPropertyKey(key);
141
+ const zodStr = schemaToZod(propSchema);
142
+ const suffix = required.has(key) ? '' : '.optional()';
143
+ return ` ${propKey}: ${zodStr}${suffix}`;
144
+ });
145
+ return `z.object({\n${lines.join(',\n')}\n})`;
146
+ }
147
+ function generateSchemaDeclaration(name, schema) {
148
+ const circular = !isRef(schema) && hasSelfRef(schema, name);
149
+ if (circular) {
150
+ // Wrap in z.lazy() for circular/self-referential schemas
151
+ const inner = schemaToZod(schema);
152
+ return `export const ${name}Schema: z.ZodType = z.lazy(() => ${inner})`;
153
+ }
154
+ return `export const ${name}Schema = ${schemaToZod(schema)}`;
155
+ }
156
+ export function generateZodSchemas(spec) {
157
+ const schemas = spec.components?.schemas;
158
+ const lines = [
159
+ '// Bootstrapped by @codewithagents/openapi-gen — this file is yours.',
160
+ '// Add error messages, refinements, and business rules freely.',
161
+ '// Re-running the generator will NOT overwrite this file.',
162
+ '// Requires zod v4 (z.record takes two args, z.lazy for circular refs).',
163
+ '',
164
+ "import { z } from 'zod'",
165
+ '',
166
+ ];
167
+ if (schemas !== undefined) {
168
+ for (const [name, schema] of Object.entries(schemas)) {
169
+ lines.push(generateSchemaDeclaration(name, schema));
170
+ lines.push('');
171
+ }
172
+ }
173
+ return {
174
+ filename: 'schemas.ts',
175
+ content: lines.join('\n'),
176
+ };
177
+ }
178
+ //# sourceMappingURL=zod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../src/plugins/zod.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codewithagents/openapi-gen",
3
- "version": "0.1.0",
3
+ "version": "1.0.0",
4
4
  "description": "Generate TypeScript models, native fetch client and Zod schemas from OpenAPI 3.1 — zero runtime footprint",
5
5
  "type": "module",
6
6
  "bin": {
@@ -15,6 +15,14 @@
15
15
  "files": [
16
16
  "dist"
17
17
  ],
18
+ "scripts": {
19
+ "build": "tsc -p tsconfig.build.json && chmod +x dist/cli.js",
20
+ "lint": "tsc -p tsconfig.build.json --noEmit",
21
+ "test": "vitest run --exclude 'src/__tests__/integration.test.ts'",
22
+ "test:integration": "vitest run src/__tests__/integration.test.ts",
23
+ "test:coverage": "vitest run --coverage --exclude 'src/__tests__/integration.test.ts'",
24
+ "dev": "tsc -p tsconfig.build.json --watch"
25
+ },
18
26
  "dependencies": {
19
27
  "@apidevtools/swagger-parser": "^10.1.1",
20
28
  "openapi-types": "^12.1.3"
@@ -26,14 +34,11 @@
26
34
  "typescript": "^6.0.0"
27
35
  },
28
36
  "license": "MIT",
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "https://github.com/codewithagents/glue"
40
+ },
29
41
  "publishConfig": {
30
42
  "access": "public"
31
- },
32
- "scripts": {
33
- "build": "tsc -p tsconfig.build.json",
34
- "lint": "tsc -p tsconfig.build.json --noEmit",
35
- "test": "vitest run",
36
- "test:coverage": "vitest run --coverage",
37
- "dev": "tsc -p tsconfig.build.json --watch"
38
43
  }
39
- }
44
+ }