@codewithagents/openapi-server 0.3.0 → 1.1.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 CHANGED
@@ -1,8 +1,12 @@
1
1
  # @codewithagents/openapi-server
2
2
 
3
+ [![npm](https://img.shields.io/npm/v/@codewithagents/openapi-server.svg)](https://npmjs.com/package/@codewithagents/openapi-server)
4
+ [![codecov](https://codecov.io/gh/codewithagents/glue/graph/badge.svg?flag=openapi-server)](https://codecov.io/gh/codewithagents/glue)
5
+
3
6
  Generate a typed server-side service interface and a [Hono](https://hono.dev) router from an OpenAPI 3.1 spec.
4
7
 
5
8
  - **Type-safe contract** — a TypeScript interface derived directly from your spec. The compiler tells you if your implementation drifts.
9
+ - **Prettier-clean output** — every generated file passes `prettier --check` out of the box. Commit it, lint it, ship it.
6
10
  - **Zero boilerplate routing** — a ready-to-mount Hono router that extracts path params, query params, and request bodies, then delegates to your service.
7
11
  - **OpenAPI 3.1 only** — `$ref`, `allOf`, `anyOf`, `oneOf`, `type: ['string', 'null']`. No legacy compat.
8
12
  - **TypeScript strict mode** — all output passes `strict: true`.
package/dist/cli.cjs CHANGED
@@ -18503,6 +18503,12 @@ async function parseSpec(inputPath) {
18503
18503
  return api;
18504
18504
  }
18505
18505
 
18506
+ // ../openapi-gen/dist/utils/naming.js
18507
+ function toTypeName(name) {
18508
+ const result = name.replace(/[^a-zA-Z0-9]+(.)/g, (_, char) => char.toUpperCase()).replace(/[^a-zA-Z0-9]+$/, "").replace(/^[^a-zA-Z_$]/, "_").replace(/^(.)/, (_, char) => char.toUpperCase());
18509
+ return result.length > 0 ? result : "_";
18510
+ }
18511
+
18506
18512
  // src/plugins/service.ts
18507
18513
  var SUPPORTED_METHODS = ["get", "post", "put", "patch", "delete"];
18508
18514
  function isRef(obj) {
@@ -18510,12 +18516,12 @@ function isRef(obj) {
18510
18516
  }
18511
18517
  function refToName(ref) {
18512
18518
  const parts = ref.split("/");
18513
- return parts[parts.length - 1];
18519
+ return toTypeName(parts[parts.length - 1]);
18514
18520
  }
18515
18521
  function extractPathParamsFromPath(path) {
18516
18522
  const matches = path.match(/\{([^}]+)\}/g);
18517
18523
  if (matches === null) return [];
18518
- return matches.map((m) => m.slice(1, -1));
18524
+ return matches.map((m) => sanitizeOperationId(m.slice(1, -1)));
18519
18525
  }
18520
18526
  function resolveParam(p, spec) {
18521
18527
  if (!isRef(p)) return p;
@@ -18531,12 +18537,20 @@ function deriveServiceName(spec) {
18531
18537
  const title = spec.info?.title ?? "";
18532
18538
  const pascal = title.replace(/[^a-zA-Z0-9 ]/g, "").split(/\s+/).filter((s) => s.length > 0).map((s) => s.charAt(0).toUpperCase() + s.slice(1)).join("");
18533
18539
  if (pascal.length === 0) return "ApiService";
18534
- if (pascal.endsWith("Service")) return pascal;
18535
- return `${pascal}Service`;
18540
+ const safePascal = /^[0-9]/.test(pascal) ? `_${pascal}` : pascal;
18541
+ if (safePascal.endsWith("Service")) return safePascal;
18542
+ return `${safePascal}Service`;
18543
+ }
18544
+ function sanitizeOperationId(id) {
18545
+ const parts = id.replace(/'/g, "").split(/[^a-zA-Z0-9]+/).filter(Boolean);
18546
+ if (parts.length === 0) return "unknown";
18547
+ const [first = "", ...rest] = parts;
18548
+ const camel = first.charAt(0).toLowerCase() + first.slice(1) + rest.map((p) => p.charAt(0).toUpperCase() + p.slice(1)).join("");
18549
+ return /^[0-9]/.test(camel) ? `_${camel}` : camel;
18536
18550
  }
18537
18551
  function deriveMethodName(operationId, method, path) {
18538
18552
  if (operationId !== void 0 && operationId.length > 0) {
18539
- return operationId.charAt(0).toLowerCase() + operationId.slice(1);
18553
+ return sanitizeOperationId(operationId);
18540
18554
  }
18541
18555
  return deriveOperationName(method, path);
18542
18556
  }
@@ -18549,16 +18563,27 @@ function deriveOperationName(method, path) {
18549
18563
  delete: "delete"
18550
18564
  };
18551
18565
  const prefix = prefixMap[method] ?? method;
18552
- let segments = path.replace(/^\/api\/v\d+\//, "").replace(/^\//, "");
18566
+ const segments = path.replace(/^\/api\/v\d+\//, "").replace(/^\//, "");
18553
18567
  const parts = segments.split("/").map((seg) => {
18568
+ const paramMatches = seg.match(/\{([^}]+)\}/g);
18569
+ if (paramMatches !== null && !(seg.startsWith("{") && seg.endsWith("}"))) {
18570
+ return paramMatches.map((m) => {
18571
+ const name = sanitizeOperationId(m.slice(1, -1));
18572
+ return "By" + name.charAt(0).toUpperCase() + name.slice(1);
18573
+ }).join("");
18574
+ }
18554
18575
  if (seg.startsWith("{") && seg.endsWith("}")) {
18555
18576
  const name = seg.slice(1, -1);
18556
- return "By" + name.charAt(0).toUpperCase() + name.slice(1);
18577
+ const sanitized = sanitizeOperationId(name);
18578
+ return "By" + sanitized.charAt(0).toUpperCase() + sanitized.slice(1);
18557
18579
  }
18558
- return seg.charAt(0).toUpperCase() + seg.slice(1);
18580
+ return toTypeName(seg);
18559
18581
  });
18560
18582
  return prefix + parts.join("");
18561
18583
  }
18584
+ function normalizeParamName(name) {
18585
+ return name.replace(/\[\]$/, "").replace(/'/g, "").replace(/[^a-zA-Z0-9]+([a-zA-Z])/g, (_, char) => char.toUpperCase()).replace(/[^a-zA-Z0-9]+$/, "").replace(/^[^a-zA-Z_$]/, "_");
18586
+ }
18562
18587
  function getQueryParams(operation, spec) {
18563
18588
  const parameters = operation.parameters;
18564
18589
  if (parameters === void 0) return [];
@@ -18574,7 +18599,7 @@ function getQueryParams(operation, spec) {
18574
18599
  else if (s.type === "boolean") tsType = "boolean";
18575
18600
  }
18576
18601
  result.push({
18577
- name: resolved.name,
18602
+ name: normalizeParamName(resolved.name),
18578
18603
  tsType,
18579
18604
  required: resolved.required === true
18580
18605
  });
@@ -18719,7 +18744,7 @@ function isRef2(obj) {
18719
18744
  }
18720
18745
  function refToName2(ref) {
18721
18746
  const parts = ref.split("/");
18722
- return parts[parts.length - 1];
18747
+ return toTypeName(parts[parts.length - 1]);
18723
18748
  }
18724
18749
  function extractPathParamsFromPath2(path) {
18725
18750
  const matches = path.match(/\{([^}]+)\}/g);
@@ -18743,12 +18768,20 @@ function deriveServiceName2(spec) {
18743
18768
  const title = spec.info?.title ?? "";
18744
18769
  const pascal = title.replace(/[^a-zA-Z0-9 ]/g, "").split(/\s+/).filter((s) => s.length > 0).map((s) => s.charAt(0).toUpperCase() + s.slice(1)).join("");
18745
18770
  if (pascal.length === 0) return "ApiService";
18746
- if (pascal.endsWith("Service")) return pascal;
18747
- return `${pascal}Service`;
18771
+ const safePascal = /^[0-9]/.test(pascal) ? `_${pascal}` : pascal;
18772
+ if (safePascal.endsWith("Service")) return safePascal;
18773
+ return `${safePascal}Service`;
18774
+ }
18775
+ function sanitizeOperationId2(id) {
18776
+ const parts = id.replace(/'/g, "").split(/[^a-zA-Z0-9]+/).filter(Boolean);
18777
+ if (parts.length === 0) return "unknown";
18778
+ const [first = "", ...rest] = parts;
18779
+ const camel = first.charAt(0).toLowerCase() + first.slice(1) + rest.map((p) => p.charAt(0).toUpperCase() + p.slice(1)).join("");
18780
+ return /^[0-9]/.test(camel) ? `_${camel}` : camel;
18748
18781
  }
18749
18782
  function deriveMethodName2(operationId, method, path) {
18750
18783
  if (operationId !== void 0 && operationId.length > 0) {
18751
- return operationId.charAt(0).toLowerCase() + operationId.slice(1);
18784
+ return sanitizeOperationId2(operationId);
18752
18785
  }
18753
18786
  return deriveOperationName2(method, path);
18754
18787
  }
@@ -18763,14 +18796,25 @@ function deriveOperationName2(method, path) {
18763
18796
  const prefix = prefixMap[method] ?? method;
18764
18797
  const segments = path.replace(/^\/api\/v\d+\//, "").replace(/^\//, "");
18765
18798
  const parts = segments.split("/").map((seg) => {
18799
+ const paramMatches = seg.match(/\{([^}]+)\}/g);
18800
+ if (paramMatches !== null && !(seg.startsWith("{") && seg.endsWith("}"))) {
18801
+ return paramMatches.map((m) => {
18802
+ const name = sanitizeOperationId2(m.slice(1, -1));
18803
+ return "By" + name.charAt(0).toUpperCase() + name.slice(1);
18804
+ }).join("");
18805
+ }
18766
18806
  if (seg.startsWith("{") && seg.endsWith("}")) {
18767
18807
  const name = seg.slice(1, -1);
18768
- return "By" + name.charAt(0).toUpperCase() + name.slice(1);
18808
+ const sanitized = sanitizeOperationId2(name);
18809
+ return "By" + sanitized.charAt(0).toUpperCase() + sanitized.slice(1);
18769
18810
  }
18770
- return seg.charAt(0).toUpperCase() + seg.slice(1);
18811
+ return toTypeName(seg);
18771
18812
  });
18772
18813
  return prefix + parts.join("");
18773
18814
  }
18815
+ function normalizeParamName2(name) {
18816
+ return name.replace(/\[\]$/, "").replace(/'/g, "").replace(/[^a-zA-Z0-9]+([a-zA-Z])/g, (_, char) => char.toUpperCase()).replace(/[^a-zA-Z0-9]+$/, "").replace(/^[^a-zA-Z_$]/, "_");
18817
+ }
18774
18818
  function getQueryParams2(operation, spec) {
18775
18819
  const parameters = operation.parameters;
18776
18820
  if (parameters === void 0) return [];
@@ -18786,7 +18830,7 @@ function getQueryParams2(operation, spec) {
18786
18830
  else if (s.type === "boolean") tsType = "boolean";
18787
18831
  }
18788
18832
  result.push({
18789
- name: resolved.name,
18833
+ name: normalizeParamName2(resolved.name),
18790
18834
  tsType,
18791
18835
  required: resolved.required === true
18792
18836
  });
@@ -18965,6 +19009,11 @@ function generateRouter(spec, options) {
18965
19009
  }
18966
19010
 
18967
19011
  // src/generator.ts
19012
+ async function formatTs(content, filePath) {
19013
+ const { format, resolveConfig } = await import("prettier");
19014
+ const config = await resolveConfig(filePath);
19015
+ return format(content, { ...config, parser: "typescript" });
19016
+ }
18968
19017
  async function generate2(cwd2, configPath) {
18969
19018
  console.log("Loading config...");
18970
19019
  const config = await loadConfig(cwd2, configPath);
@@ -18982,7 +19031,7 @@ async function generate2(cwd2, configPath) {
18982
19031
  await (0, import_promises2.mkdir)(outputDir, { recursive: true });
18983
19032
  for (const file of generatedFiles) {
18984
19033
  const filePath = (0, import_node_path2.join)(outputDir, file.filename);
18985
- await (0, import_promises2.writeFile)(filePath, file.content, "utf-8");
19034
+ await (0, import_promises2.writeFile)(filePath, await formatTs(file.content, filePath), "utf-8");
18986
19035
  console.log(` \u2713 ${file.filename}`);
18987
19036
  }
18988
19037
  if (framework === "hono" && config.input_schema !== void 0) {
@@ -19008,7 +19057,7 @@ async function generate2(cwd2, configPath) {
19008
19057
  schemaImportPath: schemaImportPathJs
19009
19058
  });
19010
19059
  const routerPath = (0, import_node_path2.join)(outputDir, routerFile.filename);
19011
- await (0, import_promises2.writeFile)(routerPath, routerFile.content, "utf-8");
19060
+ await (0, import_promises2.writeFile)(routerPath, await formatTs(routerFile.content, routerPath), "utf-8");
19012
19061
  console.log(` \u2713 router.ts (with Zod validation for ${exportedSchemas.size} schema(s))`);
19013
19062
  }
19014
19063
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAOA,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkE9E"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAaA,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkE9E"}
package/dist/generator.js CHANGED
@@ -1,6 +1,11 @@
1
1
  import { mkdir, readFile, writeFile } from 'node:fs/promises';
2
2
  import { join, relative, resolve } from 'node:path';
3
3
  import { loadConfig } from './config.js';
4
+ async function formatTs(content, filePath) {
5
+ const { format, resolveConfig } = await import('prettier');
6
+ const config = await resolveConfig(filePath);
7
+ return format(content, { ...config, parser: 'typescript' });
8
+ }
4
9
  import { parseSpec } from '@codewithagents/openapi-gen';
5
10
  import { generateService } from './plugins/service.js';
6
11
  import { generateRouter } from './plugins/router.js';
@@ -22,7 +27,7 @@ export async function generate(cwd, configPath) {
22
27
  await mkdir(outputDir, { recursive: true });
23
28
  for (const file of generatedFiles) {
24
29
  const filePath = join(outputDir, file.filename);
25
- await writeFile(filePath, file.content, 'utf-8');
30
+ await writeFile(filePath, await formatTs(file.content, filePath), 'utf-8');
26
31
  console.log(` ✓ ${file.filename}`);
27
32
  }
28
33
  // Second pass: if input_schema is configured and file exists, re-generate router with Zod validation
@@ -54,7 +59,7 @@ export async function generate(cwd, configPath) {
54
59
  schemaImportPath: schemaImportPathJs,
55
60
  });
56
61
  const routerPath = join(outputDir, routerFile.filename);
57
- await writeFile(routerPath, routerFile.content, 'utf-8');
62
+ await writeFile(routerPath, await formatTs(routerFile.content, routerPath), 'utf-8');
58
63
  console.log(` ✓ router.ts (with Zod validation for ${exportedSchemas.size} schema(s))`);
59
64
  }
60
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/plugins/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAwShE,UAAU,aAAa;IACrB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,CAAC,QAAQ,EAC1B,OAAO,CAAC,EAAE,aAAa,GACtB,aAAa,CA4Df"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/plugins/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AA4VhE,UAAU,aAAa;IACrB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,CAAC,QAAQ,EAC1B,OAAO,CAAC,EAAE,aAAa,GACtB,aAAa,CA4Df"}
@@ -1,3 +1,4 @@
1
+ import { toTypeName } from '@codewithagents/openapi-gen';
1
2
  const SUPPORTED_METHODS = ['get', 'post', 'put', 'patch', 'delete'];
2
3
  // ── Helpers ───────────────────────────────────────────────────────────────────
3
4
  function isRef(obj) {
@@ -5,12 +6,14 @@ function isRef(obj) {
5
6
  }
6
7
  function refToName(ref) {
7
8
  const parts = ref.split('/');
8
- return parts[parts.length - 1];
9
+ return toTypeName(parts[parts.length - 1]);
9
10
  }
10
11
  function extractPathParamsFromPath(path) {
11
12
  const matches = path.match(/\{([^}]+)\}/g);
12
13
  if (matches === null)
13
14
  return [];
15
+ // Keep raw param names — they are used in c.req.param() which must match
16
+ // the actual Hono route pattern (e.g. :job-id requires c.req.param('job-id'))
14
17
  return matches.map((m) => m.slice(1, -1));
15
18
  }
16
19
  /** Convert OpenAPI path to Hono path: {id} -> :id */
@@ -40,13 +43,38 @@ function deriveServiceName(spec) {
40
43
  .join('');
41
44
  if (pascal.length === 0)
42
45
  return 'ApiService';
43
- if (pascal.endsWith('Service'))
44
- return pascal;
45
- return `${pascal}Service`;
46
+ // Guard against numeric-start identifiers (e.g. '1Password Connect' → '_1PasswordConnect')
47
+ const safePascal = /^[0-9]/.test(pascal) ? `_${pascal}` : pascal;
48
+ if (safePascal.endsWith('Service'))
49
+ return safePascal;
50
+ return `${safePascal}Service`;
51
+ }
52
+ /**
53
+ * Converts a raw operationId into a valid camelCase JS identifier.
54
+ * Handles kebab-case, snake_case, dots, spaces, parens, braces and other
55
+ * non-alphanumeric separators found in real-world OpenAPI specs.
56
+ * e.g. "post-applePay-sessions" → "postApplePaySessions"
57
+ * e.g. "calendar.calendars.insert" → "calendarCalendarsInsert"
58
+ * e.g. "Get User Profile" → "getUserProfile"
59
+ * e.g. "forgotPassword(oneTimeCode)" → "forgotPasswordOneTimeCode"
60
+ */
61
+ function sanitizeOperationId(id) {
62
+ const parts = id
63
+ .replace(/'/g, '') // strip apostrophes without splitting ("user's" → "users")
64
+ .split(/[^a-zA-Z0-9]+/) // split on any non-alphanumeric sequence
65
+ .filter(Boolean);
66
+ if (parts.length === 0)
67
+ return 'unknown';
68
+ const [first = '', ...rest] = parts;
69
+ const camel = first.charAt(0).toLowerCase() +
70
+ first.slice(1) +
71
+ rest.map((p) => p.charAt(0).toUpperCase() + p.slice(1)).join('');
72
+ // If result starts with a digit, prefix with underscore
73
+ return /^[0-9]/.test(camel) ? `_${camel}` : camel;
46
74
  }
47
75
  function deriveMethodName(operationId, method, path) {
48
76
  if (operationId !== undefined && operationId.length > 0) {
49
- return operationId.charAt(0).toLowerCase() + operationId.slice(1);
77
+ return sanitizeOperationId(operationId);
50
78
  }
51
79
  return deriveOperationName(method, path);
52
80
  }
@@ -61,14 +89,36 @@ function deriveOperationName(method, path) {
61
89
  const prefix = prefixMap[method] ?? method;
62
90
  const segments = path.replace(/^\/api\/v\d+\//, '').replace(/^\//, '');
63
91
  const parts = segments.split('/').map((seg) => {
92
+ // Handle mixed segments like "{maxLat}.{format}" — extract each {param} inside
93
+ const paramMatches = seg.match(/\{([^}]+)\}/g);
94
+ if (paramMatches !== null && !(seg.startsWith('{') && seg.endsWith('}'))) {
95
+ return paramMatches
96
+ .map((m) => {
97
+ const name = sanitizeOperationId(m.slice(1, -1));
98
+ return 'By' + name.charAt(0).toUpperCase() + name.slice(1);
99
+ })
100
+ .join('');
101
+ }
64
102
  if (seg.startsWith('{') && seg.endsWith('}')) {
65
103
  const name = seg.slice(1, -1);
66
- return 'By' + name.charAt(0).toUpperCase() + name.slice(1);
104
+ const sanitized = sanitizeOperationId(name);
105
+ return 'By' + sanitized.charAt(0).toUpperCase() + sanitized.slice(1);
67
106
  }
68
- return seg.charAt(0).toUpperCase() + seg.slice(1);
107
+ return toTypeName(seg);
69
108
  });
70
109
  return prefix + parts.join('');
71
110
  }
111
+ /** Normalize a raw query param name to a valid TypeScript identifier.
112
+ * Strips trailing [] (array marker), converts separators to camelCase.
113
+ */
114
+ function normalizeParamName(name) {
115
+ return name
116
+ .replace(/\[\]$/, '') // strip trailing []
117
+ .replace(/'/g, '')
118
+ .replace(/[^a-zA-Z0-9]+([a-zA-Z])/g, (_, char) => char.toUpperCase())
119
+ .replace(/[^a-zA-Z0-9]+$/, '')
120
+ .replace(/^[^a-zA-Z_$]/, '_');
121
+ }
72
122
  function getQueryParams(operation, spec) {
73
123
  const parameters = operation.parameters;
74
124
  if (parameters === undefined)
@@ -88,7 +138,7 @@ function getQueryParams(operation, spec) {
88
138
  tsType = 'boolean';
89
139
  }
90
140
  result.push({
91
- name: resolved.name,
141
+ name: normalizeParamName(resolved.name),
92
142
  tsType,
93
143
  required: resolved.required === true,
94
144
  });
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/plugins/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/plugins/router.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/plugins/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAkRhE,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,GAAG,aAAa,CAwCzE"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/plugins/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAoUhE,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,GAAG,aAAa,CAwCzE"}
@@ -1,3 +1,4 @@
1
+ import { toTypeName } from '@codewithagents/openapi-gen';
1
2
  const SUPPORTED_METHODS = ['get', 'post', 'put', 'patch', 'delete'];
2
3
  // ── Helpers ───────────────────────────────────────────────────────────────────
3
4
  function isRef(obj) {
@@ -5,14 +6,14 @@ function isRef(obj) {
5
6
  }
6
7
  function refToName(ref) {
7
8
  const parts = ref.split('/');
8
- return parts[parts.length - 1];
9
+ return toTypeName(parts[parts.length - 1]);
9
10
  }
10
11
  /** Extract path param names in template order (matches {param} in path string) */
11
12
  function extractPathParamsFromPath(path) {
12
13
  const matches = path.match(/\{([^}]+)\}/g);
13
14
  if (matches === null)
14
15
  return [];
15
- return matches.map((m) => m.slice(1, -1));
16
+ return matches.map((m) => sanitizeOperationId(m.slice(1, -1)));
16
17
  }
17
18
  /** Resolve a parameter that may be a $ref */
18
19
  function resolveParam(p, spec) {
@@ -41,15 +42,40 @@ function deriveServiceName(spec) {
41
42
  .join('');
42
43
  if (pascal.length === 0)
43
44
  return 'ApiService';
45
+ // Guard against numeric-start identifiers (e.g. '1Password Connect' → '_1PasswordConnect')
46
+ const safePascal = /^[0-9]/.test(pascal) ? `_${pascal}` : pascal;
44
47
  // Append 'Service' if not already ending in 'Service'
45
- if (pascal.endsWith('Service'))
46
- return pascal;
47
- return `${pascal}Service`;
48
+ if (safePascal.endsWith('Service'))
49
+ return safePascal;
50
+ return `${safePascal}Service`;
51
+ }
52
+ /**
53
+ * Converts a raw operationId into a valid camelCase JS identifier.
54
+ * Handles kebab-case, snake_case, dots, spaces, parens, braces and other
55
+ * non-alphanumeric separators found in real-world OpenAPI specs.
56
+ * e.g. "post-applePay-sessions" → "postApplePaySessions"
57
+ * e.g. "calendar.calendars.insert" → "calendarCalendarsInsert"
58
+ * e.g. "Get User Profile" → "getUserProfile"
59
+ * e.g. "forgotPassword(oneTimeCode)" → "forgotPasswordOneTimeCode"
60
+ */
61
+ function sanitizeOperationId(id) {
62
+ const parts = id
63
+ .replace(/'/g, '') // strip apostrophes without splitting ("user's" → "users")
64
+ .split(/[^a-zA-Z0-9]+/) // split on any non-alphanumeric sequence
65
+ .filter(Boolean);
66
+ if (parts.length === 0)
67
+ return 'unknown';
68
+ const [first = '', ...rest] = parts;
69
+ const camel = first.charAt(0).toLowerCase() +
70
+ first.slice(1) +
71
+ rest.map((p) => p.charAt(0).toUpperCase() + p.slice(1)).join('');
72
+ // If result starts with a digit, prefix with underscore
73
+ return /^[0-9]/.test(camel) ? `_${camel}` : camel;
48
74
  }
49
75
  /** Derive method name from operation */
50
76
  function deriveMethodName(operationId, method, path) {
51
77
  if (operationId !== undefined && operationId.length > 0) {
52
- return operationId.charAt(0).toLowerCase() + operationId.slice(1);
78
+ return sanitizeOperationId(operationId);
53
79
  }
54
80
  return deriveOperationName(method, path);
55
81
  }
@@ -62,16 +88,38 @@ function deriveOperationName(method, path) {
62
88
  delete: 'delete',
63
89
  };
64
90
  const prefix = prefixMap[method] ?? method;
65
- let segments = path.replace(/^\/api\/v\d+\//, '').replace(/^\//, '');
91
+ const segments = path.replace(/^\/api\/v\d+\//, '').replace(/^\//, '');
66
92
  const parts = segments.split('/').map((seg) => {
93
+ // Handle mixed segments like "{maxLat}.{format}" — extract each {param} inside
94
+ const paramMatches = seg.match(/\{([^}]+)\}/g);
95
+ if (paramMatches !== null && !(seg.startsWith('{') && seg.endsWith('}'))) {
96
+ return paramMatches
97
+ .map((m) => {
98
+ const name = sanitizeOperationId(m.slice(1, -1));
99
+ return 'By' + name.charAt(0).toUpperCase() + name.slice(1);
100
+ })
101
+ .join('');
102
+ }
67
103
  if (seg.startsWith('{') && seg.endsWith('}')) {
68
104
  const name = seg.slice(1, -1);
69
- return 'By' + name.charAt(0).toUpperCase() + name.slice(1);
105
+ const sanitized = sanitizeOperationId(name);
106
+ return 'By' + sanitized.charAt(0).toUpperCase() + sanitized.slice(1);
70
107
  }
71
- return seg.charAt(0).toUpperCase() + seg.slice(1);
108
+ return toTypeName(seg);
72
109
  });
73
110
  return prefix + parts.join('');
74
111
  }
112
+ /** Normalize a raw query param name to a valid TypeScript identifier.
113
+ * Strips trailing [] (array marker), converts separators to camelCase.
114
+ */
115
+ function normalizeParamName(name) {
116
+ return name
117
+ .replace(/\[\]$/, '') // strip trailing []
118
+ .replace(/'/g, '')
119
+ .replace(/[^a-zA-Z0-9]+([a-zA-Z])/g, (_, char) => char.toUpperCase())
120
+ .replace(/[^a-zA-Z0-9]+$/, '')
121
+ .replace(/^[^a-zA-Z_$]/, '_');
122
+ }
75
123
  function getQueryParams(operation, spec) {
76
124
  const parameters = operation.parameters;
77
125
  if (parameters === undefined)
@@ -91,7 +139,7 @@ function getQueryParams(operation, spec) {
91
139
  tsType = 'boolean';
92
140
  }
93
141
  result.push({
94
- name: resolved.name,
142
+ name: normalizeParamName(resolved.name),
95
143
  tsType,
96
144
  required: resolved.required === true,
97
145
  });
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/plugins/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/plugins/service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codewithagents/openapi-server",
3
- "version": "0.3.0",
3
+ "version": "1.1.0",
4
4
  "description": "Generate typed server-side service interfaces and framework routers from OpenAPI 3.1",
5
5
  "type": "module",
6
6
  "bin": {
@@ -17,16 +17,29 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "openapi-types": "^12.1.3",
20
- "@codewithagents/openapi-gen": "3.2.0"
20
+ "prettier": "^3.5.3",
21
+ "@codewithagents/openapi-gen": "4.1.0"
21
22
  },
22
23
  "devDependencies": {
23
24
  "@types/node": "^22.0.0",
24
- "@vitest/coverage-v8": "^4.0.0",
25
+ "@vitest/coverage-v8": "^4.1.7",
25
26
  "esbuild": "^0.25.0",
26
- "fast-check": "^4.0.0",
27
+ "fast-check": "^4.8.0",
27
28
  "typescript": "^6.0.0",
28
- "vitest": "^4.0.0"
29
+ "vitest": "^4.1.7"
29
30
  },
31
+ "keywords": [
32
+ "openapi",
33
+ "openapi-3.1",
34
+ "hono",
35
+ "server",
36
+ "codegen",
37
+ "typescript",
38
+ "zod",
39
+ "code-generator",
40
+ "service-interface",
41
+ "router"
42
+ ],
30
43
  "license": "MIT",
31
44
  "repository": {
32
45
  "type": "git",
@@ -36,7 +49,7 @@
36
49
  "access": "public"
37
50
  },
38
51
  "scripts": {
39
- "build": "rm -f dist/cli.js dist/cli.js.map dist/cli.d.ts dist/cli.d.ts.map && tsc -p tsconfig.build.json && esbuild src/cli.ts --bundle --platform=node --format=cjs --target=node22 --outfile=dist/cli.cjs && chmod +x dist/cli.cjs",
52
+ "build": "rm -f dist/cli.js dist/cli.js.map dist/cli.d.ts dist/cli.d.ts.map && tsc -p tsconfig.build.json && esbuild src/cli.ts --bundle --platform=node --format=cjs --target=node22 --external:prettier --outfile=dist/cli.cjs && chmod +x dist/cli.cjs",
40
53
  "lint": "tsc -p tsconfig.build.json --noEmit",
41
54
  "test": "vitest run",
42
55
  "test:coverage": "vitest run --coverage",