@distilled.cloud/core 1.0.0-rc.1 → 1.0.0-rc.10

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 (148) hide show
  1. package/LICENSE +201 -0
  2. package/lib/api.d.ts.map +1 -1
  3. package/lib/api.js +16 -4
  4. package/lib/api.js.map +1 -1
  5. package/lib/category.d.ts +4 -4
  6. package/lib/category.js +4 -4
  7. package/lib/codegen/boolean-string-enums.d.ts +36 -0
  8. package/lib/codegen/boolean-string-enums.d.ts.map +1 -0
  9. package/lib/codegen/boolean-string-enums.js +94 -0
  10. package/lib/codegen/boolean-string-enums.js.map +1 -0
  11. package/lib/codegen/boolean-string-enums.test.d.ts +2 -0
  12. package/lib/codegen/boolean-string-enums.test.d.ts.map +1 -0
  13. package/lib/codegen/boolean-string-enums.test.js +147 -0
  14. package/lib/codegen/boolean-string-enums.test.js.map +1 -0
  15. package/lib/codegen/cli.d.ts +56 -6
  16. package/lib/codegen/cli.d.ts.map +1 -1
  17. package/lib/codegen/cli.js +59 -75
  18. package/lib/codegen/cli.js.map +1 -1
  19. package/lib/codegen/emit.d.ts +3 -7
  20. package/lib/codegen/emit.d.ts.map +1 -1
  21. package/lib/codegen/emit.js +6 -10
  22. package/lib/codegen/emit.js.map +1 -1
  23. package/lib/codegen/generator.d.ts.map +1 -1
  24. package/lib/codegen/generator.js +142 -20
  25. package/lib/codegen/generator.js.map +1 -1
  26. package/lib/codegen/graphql-client.d.ts +62 -0
  27. package/lib/codegen/graphql-client.d.ts.map +1 -0
  28. package/lib/codegen/graphql-client.js +294 -0
  29. package/lib/codegen/graphql-client.js.map +1 -0
  30. package/lib/codegen/graphql-client.test.d.ts +2 -0
  31. package/lib/codegen/graphql-client.test.d.ts.map +1 -0
  32. package/lib/codegen/graphql-client.test.js +311 -0
  33. package/lib/codegen/graphql-client.test.js.map +1 -0
  34. package/lib/codegen/graphql.d.ts +207 -0
  35. package/lib/codegen/graphql.d.ts.map +1 -0
  36. package/lib/codegen/graphql.js +799 -0
  37. package/lib/codegen/graphql.js.map +1 -0
  38. package/lib/codegen/openapi-cli.d.ts +17 -3
  39. package/lib/codegen/openapi-cli.d.ts.map +1 -1
  40. package/lib/codegen/openapi-cli.js +50 -48
  41. package/lib/codegen/openapi-cli.js.map +1 -1
  42. package/lib/codegen/openapi.d.ts +69 -6
  43. package/lib/codegen/openapi.d.ts.map +1 -1
  44. package/lib/codegen/openapi.js +173 -16
  45. package/lib/codegen/openapi.js.map +1 -1
  46. package/lib/codegen/patches.d.ts +65 -0
  47. package/lib/codegen/patches.d.ts.map +1 -0
  48. package/lib/codegen/patches.js +236 -0
  49. package/lib/codegen/patches.js.map +1 -0
  50. package/lib/codegen/patches.test.d.ts +2 -0
  51. package/lib/codegen/patches.test.d.ts.map +1 -0
  52. package/lib/codegen/patches.test.js +105 -0
  53. package/lib/codegen/patches.test.js.map +1 -0
  54. package/lib/codegen/proto.d.ts +121 -0
  55. package/lib/codegen/proto.d.ts.map +1 -0
  56. package/lib/codegen/proto.js +962 -0
  57. package/lib/codegen/proto.js.map +1 -0
  58. package/lib/codegen/rewrite-operation-ids.d.ts +131 -0
  59. package/lib/codegen/rewrite-operation-ids.d.ts.map +1 -0
  60. package/lib/codegen/rewrite-operation-ids.js +1079 -0
  61. package/lib/codegen/rewrite-operation-ids.js.map +1 -0
  62. package/lib/codegen/rewrite-operation-ids.test.d.ts +2 -0
  63. package/lib/codegen/rewrite-operation-ids.test.d.ts.map +1 -0
  64. package/lib/codegen/rewrite-operation-ids.test.js +533 -0
  65. package/lib/codegen/rewrite-operation-ids.test.js.map +1 -0
  66. package/lib/codegen/spec-path.d.ts +16 -0
  67. package/lib/codegen/spec-path.d.ts.map +1 -0
  68. package/lib/codegen/spec-path.js +101 -0
  69. package/lib/codegen/spec-path.js.map +1 -0
  70. package/lib/errors.d.ts.map +1 -1
  71. package/lib/errors.js +17 -13
  72. package/lib/errors.js.map +1 -1
  73. package/lib/graphql.d.ts +284 -0
  74. package/lib/graphql.d.ts.map +1 -0
  75. package/lib/graphql.fixture.d.ts +249 -0
  76. package/lib/graphql.fixture.d.ts.map +1 -0
  77. package/lib/graphql.fixture.js +240 -0
  78. package/lib/graphql.fixture.js.map +1 -0
  79. package/lib/graphql.js +718 -0
  80. package/lib/graphql.js.map +1 -0
  81. package/lib/graphql.test.d.ts +2 -0
  82. package/lib/graphql.test.d.ts.map +1 -0
  83. package/lib/graphql.test.js +780 -0
  84. package/lib/graphql.test.js.map +1 -0
  85. package/lib/graphql.types.d.ts +2 -0
  86. package/lib/graphql.types.d.ts.map +1 -0
  87. package/lib/graphql.types.js +45 -0
  88. package/lib/graphql.types.js.map +1 -0
  89. package/lib/json-patch.d.ts +18 -11
  90. package/lib/json-patch.d.ts.map +1 -1
  91. package/lib/json-patch.js +63 -25
  92. package/lib/json-patch.js.map +1 -1
  93. package/lib/pagination.d.ts +43 -3
  94. package/lib/pagination.d.ts.map +1 -1
  95. package/lib/pagination.js +91 -5
  96. package/lib/pagination.js.map +1 -1
  97. package/lib/protocol-http.d.ts.map +1 -1
  98. package/lib/protocol-http.js +62 -26
  99. package/lib/protocol-http.js.map +1 -1
  100. package/lib/protocol-http.test.d.ts +2 -0
  101. package/lib/protocol-http.test.d.ts.map +1 -0
  102. package/lib/protocol-http.test.js +88 -0
  103. package/lib/protocol-http.test.js.map +1 -0
  104. package/lib/protocol-rest.d.ts +12 -2
  105. package/lib/protocol-rest.d.ts.map +1 -1
  106. package/lib/protocol-rest.js +17 -3
  107. package/lib/protocol-rest.js.map +1 -1
  108. package/lib/retry.js +1 -1
  109. package/lib/schema.d.ts +1 -1
  110. package/lib/schema.d.ts.map +1 -1
  111. package/lib/schema.js +1 -1
  112. package/lib/schema.js.map +1 -1
  113. package/lib/trait.d.ts +27 -3
  114. package/lib/trait.d.ts.map +1 -1
  115. package/lib/trait.js +17 -1
  116. package/lib/trait.js.map +1 -1
  117. package/package.json +13 -10
  118. package/src/api.ts +18 -4
  119. package/src/category.ts +4 -4
  120. package/src/codegen/boolean-string-enums.test.ts +168 -0
  121. package/src/codegen/boolean-string-enums.ts +106 -0
  122. package/src/codegen/cli.ts +127 -110
  123. package/src/codegen/emit.ts +6 -10
  124. package/src/codegen/generator.ts +151 -21
  125. package/src/codegen/graphql-client.test.ts +386 -0
  126. package/src/codegen/graphql-client.ts +419 -0
  127. package/src/codegen/graphql.ts +1217 -0
  128. package/src/codegen/openapi-cli.ts +75 -59
  129. package/src/codegen/openapi.ts +255 -16
  130. package/src/codegen/patches.test.ts +130 -0
  131. package/src/codegen/patches.ts +291 -0
  132. package/src/codegen/proto.ts +1128 -0
  133. package/src/codegen/rewrite-operation-ids.test.ts +563 -0
  134. package/src/codegen/rewrite-operation-ids.ts +1206 -0
  135. package/src/codegen/spec-path.ts +115 -0
  136. package/src/errors.ts +20 -25
  137. package/src/graphql.fixture.ts +371 -0
  138. package/src/graphql.test.ts +974 -0
  139. package/src/graphql.ts +1321 -0
  140. package/src/graphql.types.ts +185 -0
  141. package/src/json-patch.ts +82 -25
  142. package/src/pagination.ts +134 -7
  143. package/src/protocol-http.test.ts +107 -0
  144. package/src/protocol-http.ts +67 -31
  145. package/src/protocol-rest.ts +28 -4
  146. package/src/retry.ts +1 -1
  147. package/src/schema.ts +2 -2
  148. package/src/trait.ts +39 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/codegen/graphql.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export interface OpenApiSpecEntry {
8
8
  * Hook between patching and conversion (e.g. path prefixing, server
9
9
  * rewrites). May mutate the spec in place or return a replacement.
10
10
  */
11
- readonly preprocess?: (spec: any) => unknown | void;
11
+ readonly preprocess?: (spec: any) => unknown | void | Promise<unknown | void>;
12
12
  /** Per-spec converter option overrides (merged over the shared options). */
13
13
  readonly options?: Partial<OpenApiConvertOptions>;
14
14
  }
@@ -18,9 +18,10 @@ export interface RunOpenApiConvertOptions {
18
18
  readonly specs: readonly OpenApiSpecEntry[];
19
19
  /**
20
20
  * RFC-6902 patch chain root, relative to `root`. Default `"patches"`;
21
- * `false` disables. Layout: `<patchesDir>/<name>/*.patch.json` when the
21
+ * `false` disables. Layout: `<patchesDir>/<name>/*.json` when the
22
22
  * per-spec directory exists; for single-spec providers a flat
23
- * `<patchesDir>/*.patch.json` also works.
23
+ * `<patchesDir>/*.json` also works. Ops under `/shapes` or `/metadata`
24
+ * apply to the Smithy model after conversion; the rest apply to OpenAPI.
24
25
  */
25
26
  readonly patchesDir?: string | false;
26
27
  /** Output directory, relative to `root`. Default `".generated-specs"`. */
@@ -32,6 +33,19 @@ export interface RunOpenApiConvertOptions {
32
33
  readonly parse?: (text: string, specPath: string) => unknown;
33
34
  /** Shared converter options (per-spec `options` merge over these). */
34
35
  readonly options: OpenApiConvertOptions;
36
+ /**
37
+ * What to do when a patch JSON pointer does not resolve. Default `"fail"`:
38
+ * silent skip is how a whole patch chain can vanish after an upstream path
39
+ * prefix change. `"warn"` restores the old skip-and-continue behaviour.
40
+ */
41
+ readonly onStalePatch?: "fail" | "warn";
42
+ /**
43
+ * Run {@link finalizeConvert} on the written models (reference check +
44
+ * finalized marker; naming already happened in the converter). Default
45
+ * true. Pass false when the caller finalizes once after several convert
46
+ * steps (Fly machines + sprites + addons).
47
+ */
48
+ readonly finalize?: boolean;
35
49
  }
36
50
  /** Run the OpenAPI→Smithy conversion pipeline (plain async — call from a script). */
37
51
  export declare const runOpenApiConvert: (o: RunOpenApiConvertOptions) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-cli.d.ts","sourceRoot":"","sources":["../../src/codegen/openapi-cli.ts"],"names":[],"mappings":"AAuBA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,GAAG,IAAI,CAAC;IACpD,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,wBAAwB;IACvC,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC5C;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACrC,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7D,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;CACzC;AAWD,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,MACzB,wBAAwB,KAC1B,OAAO,CAAC,IAAI,CAyFd,CAAC"}
1
+ {"version":3,"file":"openapi-cli.d.ts","sourceRoot":"","sources":["../../src/codegen/openapi-cli.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAC;AAStB,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC9E,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,wBAAwB;IACvC,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC5C;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACrC,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7D,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAWD,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,MACzB,wBAAwB,KAC1B,OAAO,CAAC,IAAI,CA2Fd,CAAC"}
@@ -2,22 +2,21 @@
2
2
  * OpenAPI → Smithy pipeline helper (dev-time only, provider-agnostic).
3
3
  *
4
4
  * Owns the spec-side pipeline every OpenAPI-sourced provider shares: read the
5
- * spec file, apply the RFC-6902 patch chain to the OpenAPI document (v0
6
- * semantics: `*.patch.json` files in sorted name order, `{ description,
7
- * patches }` shape; stale targets warn+skip, malformed patches fail the run),
8
- * run the optional preprocess hook, convert with
9
- * {@link convertOpenApiToSmithy}, and write `.generated-specs/<name>.json`.
5
+ * spec file, apply OpenAPI RFC-6902 ops to the document, convert with
6
+ * {@link convertOpenApiToSmithy} (which owns verbNoun naming), apply Smithy
7
+ * RFC-6902 ops (`/shapes`, `/metadata`) to the model, and write
8
+ * `.generated-specs/<name>.json`. Stale targets fail unless
9
+ * `onStalePatch: "warn"`.
10
10
  *
11
- * A provider's `scripts/convert.ts` is: a `runOpenApiConvert` call. The
12
- * separate `scripts/generate.ts` (an SdkSpec + `runGeneratorCli`) then
13
- * compiles the written models. Note: providers whose OpenAPI patches live in
14
- * `patches/` should pass `patchesDir: false` to `runGeneratorCli` — the
15
- * patch chain applies HERE, to the OpenAPI document, not to the Smithy model.
11
+ * A provider's `scripts/convert.ts` is: a `runOpenApiConvert` call.
12
+ * `scripts/generate.ts` compiles the already-patched models and does not
13
+ * apply patches.
16
14
  */
17
15
  import * as fs from "node:fs/promises";
18
16
  import * as path from "node:path";
19
- import { applyOperation, isStaleTargetError, } from "../json-patch.js";
20
17
  import { convertOpenApiToSmithy, } from "./openapi.js";
18
+ import { applyRfc6902Files, finalizeConvert, isSmithyPatchPath, listRfc6902PatchFiles, } from "./patches.js";
19
+ import { resolveSpecPath } from "./spec-path.js";
21
20
  const exists = async (p) => {
22
21
  try {
23
22
  await fs.access(p);
@@ -34,13 +33,15 @@ export const runOpenApiConvert = async (o) => {
34
33
  ? undefined
35
34
  : path.resolve(o.root, o.patchesDir ?? "patches");
36
35
  const parse = o.parse ?? ((text) => JSON.parse(text));
36
+ const onStalePatch = o.onStalePatch ?? "fail";
37
37
  await fs.mkdir(outDir, { recursive: true });
38
38
  console.log("🛠️ openapi → smithy");
39
39
  console.log(` Output: ${outDir}`);
40
40
  for (const entry of o.specs) {
41
- const specPath = path.resolve(o.root, entry.specPath);
41
+ // Production path by default; `specs/.local` under DISTILLED_SPECS_LOCAL.
42
+ const specPath = resolveSpecPath(o.root, entry.specPath);
42
43
  let spec = parse(await fs.readFile(specPath, "utf8"), specPath);
43
- // ---- RFC-6902 patch chain (applies to the OpenAPI document) ----
44
+ // ---- RFC-6902: OpenAPI ops before convert, Smithy ops after ----
44
45
  let patchDir;
45
46
  if (patchRoot && (await exists(patchRoot))) {
46
47
  const perSpec = path.join(patchRoot, entry.name);
@@ -51,57 +52,58 @@ export const runOpenApiConvert = async (o) => {
51
52
  patchDir = patchRoot;
52
53
  }
53
54
  }
54
- let patchFileCount = 0;
55
- let staleOps = 0;
56
- const badPatches = [];
57
- if (patchDir) {
58
- const files = (await fs.readdir(patchDir))
59
- .filter((f) => f.endsWith(".patch.json"))
60
- .sort((a, b) => a.localeCompare(b));
61
- for (const pf of files) {
62
- const parsed = JSON.parse(await fs.readFile(path.join(patchDir, pf), "utf8"));
63
- for (const patchOp of parsed.patches ?? []) {
64
- try {
65
- applyOperation(spec, patchOp);
66
- }
67
- catch (e) {
68
- const msg = e instanceof Error ? e.message : String(e);
69
- if (isStaleTargetError(msg)) {
70
- // Spec drift — the patch target no longer exists upstream.
71
- staleOps++;
72
- console.warn(` ⚠️ stale: ${entry.name}/${pf} [${patchOp.op} ${patchOp.path}]`);
73
- }
74
- else {
75
- badPatches.push(`${entry.name}/${pf} [${patchOp.op} ${patchOp.path}]: ${msg}`);
76
- }
77
- }
78
- }
79
- patchFileCount++;
80
- }
81
- }
82
- if (badPatches.length) {
83
- for (const b of badPatches)
55
+ const patchFiles = patchDir ? await listRfc6902PatchFiles(patchDir) : [];
56
+ const patchLabel = (file) => `${entry.name}/${path.basename(file)}`;
57
+ const openapiPatches = await applyRfc6902Files(spec, patchFiles, {
58
+ onStalePatch,
59
+ include: (op) => !isSmithyPatchPath(op.path),
60
+ label: patchLabel,
61
+ });
62
+ if (openapiPatches.errors.length) {
63
+ for (const b of openapiPatches.errors)
84
64
  console.error(`❌ bad patch: ${b}`);
85
- throw new Error(`${badPatches.length} malformed patch operation(s) — fix or remove them`);
65
+ throw new Error(`${openapiPatches.errors.length} patch operation(s) failed — fix the pointers or delete the patch`);
86
66
  }
87
67
  // ---- Preprocess hook ----
88
68
  if (entry.preprocess) {
89
- const replaced = entry.preprocess(spec);
69
+ const replaced = await entry.preprocess(spec);
90
70
  if (replaced !== undefined)
91
71
  spec = replaced;
92
72
  }
93
- // ---- Convert + write ----
73
+ // ---- Convert, Smithy patches, write ----
94
74
  const model = convertOpenApiToSmithy(spec, {
95
75
  ...o.options,
96
76
  ...entry.options,
97
77
  });
78
+ const smithyPatches = await applyRfc6902Files(model, patchFiles, {
79
+ onStalePatch,
80
+ include: (op) => isSmithyPatchPath(op.path),
81
+ label: patchLabel,
82
+ });
83
+ if (smithyPatches.errors.length) {
84
+ for (const b of smithyPatches.errors)
85
+ console.error(`❌ bad patch: ${b}`);
86
+ throw new Error(`${smithyPatches.errors.length} Smithy patch operation(s) failed — fix the pointers or delete the patch`);
87
+ }
98
88
  const opCount = Object.values(model.shapes).filter((s) => s.type === "operation").length;
99
89
  const outPath = path.join(outDir, `${entry.name}.json`);
100
90
  await fs.writeFile(outPath, JSON.stringify(model, null, 2) + "\n");
91
+ const staleOps = openapiPatches.stale + smithyPatches.stale;
101
92
  console.log(` ✅ ${entry.name}: ${opCount} operations, ${Object.keys(model.shapes).length} shapes` +
102
- (patchFileCount
103
- ? ` (${patchFileCount} patch file(s) applied${staleOps ? `, ${staleOps} stale op(s) skipped` : ""})`
93
+ (patchFiles.length
94
+ ? ` (${patchFiles.length} patch file(s) applied${staleOps ? `, ${staleOps} stale op(s) skipped` : ""})`
104
95
  : ""));
105
96
  }
97
+ if (o.finalize !== false) {
98
+ const written = new Set(o.specs.map((s) => s.name));
99
+ await finalizeConvert({
100
+ root: o.root,
101
+ outDir,
102
+ // Patches and naming already ran above.
103
+ patchesDir: false,
104
+ operationNaming: "as-is",
105
+ include: (resource) => written.has(resource),
106
+ });
107
+ }
106
108
  };
107
109
  //# sourceMappingURL=openapi-cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-cli.js","sourceRoot":"","sources":["../../src/codegen/openapi-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi-cli.js","sourceRoot":"","sources":["../../src/codegen/openapi-cli.ts"],"names":[],"mappings":"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"}
@@ -7,20 +7,28 @@
7
7
  * `generateService` compiler. Conversion fidelity follows distilled v0's
8
8
  * `generate-openapi.ts` feature matrix:
9
9
  *
10
- * • one operation per (path × get/post/put/patch/delete), deprecated
11
- * skipped by default; op shape name = PascalCase(operationId)
10
+ * • one operation per (path × get/post/put/patch/delete — plus head/options
11
+ * when a provider opts in via `extraHttpMethods`), deprecated skipped by
12
+ * default; op shape name = PascalCase(operationId), or verbNoun
13
+ * (`Apps_list` → `ListApps`) when {@link OpenApiConvertOptions.operationNaming}
14
+ * is `"verbNoun"`
12
15
  * • input `<Op>Request`: path params → `smithy.api#httpLabel` (+required),
13
- * query params → `smithy.api#httpQuery`, header/cookie params dropped,
14
- * body properties flattened alongside (labels win, then query, then body);
16
+ * query params → `smithy.api#httpQuery`, header params →
17
+ * `smithy.api#httpHeader` when `headerParams` is on (dropped otherwise,
18
+ * as cookie params always are),
19
+ * body properties flattened alongside
20
+ * (labels win, then query, then headers, then body);
15
21
  * non-object bodies become a sole `body` member with `smithy.api#httpPayload`
16
22
  * • `$ref`s become NAMED shapes (`components/schemas/X` → `<ns>#X`), reused
17
23
  * across operations; anonymous nested objects synthesize names from the
18
24
  * parent + member path
19
- * • responses: 200 → 201 → 204 precedence, `application/json` only; object
25
+ * • responses: 200 → 201 → 204 precedence (`successStatuses` overrides),
26
+ * `application/json` only; object
20
27
  * results become `<Op>Response` structures (a sole `$ref` reuses the named
21
28
  * shape); bare array/scalar results wrap in a structure whose single
22
29
  * member carries `com.distilled.openapi#rawResponse` (the SdkSpec maps it
23
- * to a root pipe); no schema → `smithy.api#Unit`
30
+ * to a root pipe); no schema → `smithy.api#Unit`; `head` is always
31
+ * `smithy.api#Unit`, whatever content the spec declares
24
32
  * • nullability (3.0 `nullable`, 3.1 `type: [..., "null"]`, 2.0
25
33
  * `x-nullable`, `oneOf`/`anyOf` null branches) → member-level
26
34
  * `com.distilled.openapi#nullable` trait
@@ -35,6 +43,7 @@
35
43
  * first top-level array property) → `smithy.api#paginated` on the op
36
44
  * (with the non-standard `mode` member the core runtime dispatches on)
37
45
  */
46
+ import { type OperationIdRewrite } from "./rewrite-operation-ids.ts";
38
47
  /** Member-level nullability (`S.NullOr` + `| null` via `SdkSpec.nullableTrait`). */
39
48
  export declare const NULLABLE_TRAIT = "com.distilled.openapi#nullable";
40
49
  /**
@@ -87,6 +96,37 @@ export interface OpenApiConvertOptions {
87
96
  readonly defaultErrorStatuses?: Iterable<string>;
88
97
  /** Skip operations marked `deprecated: true`. Default true. */
89
98
  readonly skipDeprecated?: boolean;
99
+ /**
100
+ * HTTP methods to convert IN ADDITION to get/post/put/patch/delete —
101
+ * currently `"head"` and `"options"`. Opt-in, so a provider that models
102
+ * them (Vercel probes cache artifacts and sandbox files with HEAD) gets
103
+ * them without every other provider silently gaining operations.
104
+ *
105
+ * `head` operations always output `smithy.api#Unit` — see the output-shape
106
+ * comment in {@link convertOpenApiToSmithy} for why a declared response
107
+ * body on a HEAD can never arrive.
108
+ */
109
+ readonly extraHttpMethods?: readonly ("head" | "options")[];
110
+ /**
111
+ * Emit `in: header` parameters as `smithy.api#httpHeader` members instead
112
+ * of dropping them. Opt-in for the same reason as
113
+ * {@link extraHttpMethods}: turning it on adds input members to every
114
+ * operation whose spec declares a header parameter, and most providers
115
+ * declare ones the protocol already sends itself (Accept, Authorization,
116
+ * an API-version pin). Providers whose headers are real per-call inputs
117
+ * — Vercel's `x-Artifact-*` remote-cache metadata, `x-Vercel-Digest` —
118
+ * ask for them.
119
+ */
120
+ readonly headerParams?: boolean;
121
+ /**
122
+ * Response statuses to read the operation's output shape from, most
123
+ * preferred first. Default `["200", "201", "204"]`. Extend it for an API
124
+ * that answers asynchronous work with a body under another status — Vercel
125
+ * returns `202 Accepted` with a payload from nine endpoints (artifact
126
+ * upload, account deletion, VCR blob/manifest writes), which would
127
+ * otherwise generate as a `void` output.
128
+ */
129
+ readonly successStatuses?: readonly string[];
90
130
  /**
91
131
  * Azure-style fixed `api-version`: drops `api-version` query params and
92
132
  * stamps {@link API_VERSION_TRAIT} on every operation.
@@ -105,6 +145,29 @@ export interface OpenApiConvertOptions {
105
145
  * {@link ERROR_MATCHERS_TRAIT} traits; overrides are merged over it.
106
146
  */
107
147
  readonly errorShapes?: Readonly<Record<string, any>>;
148
+ /**
149
+ * How to turn an OpenAPI `operationId` into the Smithy/SDK operation name.
150
+ * This is a convert policy, not a spec patch — the OpenAPI document is
151
+ * left alone.
152
+ *
153
+ * - `"verbNoun"` (default): `Apps_list` / `ConfigsList` / `showContact` →
154
+ * `listApps` / `listConfigs` / `getApp`. Already verb-first ids stay.
155
+ * An operation with no `operationId`, or a mechanical one that only
156
+ * restates the method and path (`get-api-card`, `post_v1_users`), is
157
+ * named from the route instead: `GET /users` → `listUsers`,
158
+ * `GET /users/{id}` → `getUser`, `POST /users/{id}/reset` →
159
+ * `resetUser`.
160
+ * - `"as-is"`: `PascalCase(operationId)` (`Apps_list` → `AppsList`).
161
+ *
162
+ * {@link operationNames} overrides win (lookup by `"METHOD path"`, then
163
+ * operationId).
164
+ */
165
+ readonly operationNaming?: "as-is" | "verbNoun";
166
+ /**
167
+ * Per-operation name overrides for {@link operationNaming}. Use
168
+ * `"METHOD path"` keys when two methods share an `operationId`.
169
+ */
170
+ readonly operationNames?: OperationIdRewrite;
108
171
  }
109
172
  export interface SmithyModel {
110
173
  smithy: "2.0";
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/codegen/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAMH,oFAAoF;AACpF,eAAO,MAAM,cAAc,mCAAmC,CAAC;AAC/D;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,sCAAsC,CAAC;AACtE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,wCAAwC,CAAC;AAC1E;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,sCAAsC,CAAC;AACtE;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,qCAAqC,CAAC;AAMpE,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAoBrD,CAAC;AAMF,MAAM,WAAW,qBAAqB;IACpC,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,+DAA+D;IAC/D,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAm8BD,eAAO,MAAM,sBAAsB,SAC3B,OAAO,WACJ,qBAAqB,KAC7B,WA+UF,CAAC"}
1
+ {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/codegen/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,EAML,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AAMpC,oFAAoF;AACpF,eAAO,MAAM,cAAc,mCAAmC,CAAC;AAC/D;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,sCAAsC,CAAC;AACtE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,wCAAwC,CAAC;AAC1E;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,sCAAsC,CAAC;AACtE;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,qCAAqC,CAAC;AAMpE,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAoBrD,CAAC;AAMF,MAAM,WAAW,qBAAqB;IACpC,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,+DAA+D;IAC/D,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;;;;;OASG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC5D;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;OAOG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACrD;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAChD;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAC;CAC9C;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AA6gCD,eAAO,MAAM,sBAAsB,SAC3B,OAAO,WACJ,qBAAqB,KAC7B,WA6aF,CAAC"}