@distilled.cloud/core 1.0.0-rc.4 → 1.0.0-rc.5
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/lib/api.d.ts.map +1 -1
- package/lib/api.js +16 -4
- package/lib/api.js.map +1 -1
- package/lib/codegen/openapi.d.ts +43 -6
- package/lib/codegen/openapi.d.ts.map +1 -1
- package/lib/codegen/openapi.js +81 -12
- package/lib/codegen/openapi.js.map +1 -1
- package/package.json +8 -8
- package/src/api.ts +18 -4
- package/src/codegen/openapi.ts +126 -11
package/lib/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/lib/api.js
CHANGED
|
@@ -106,7 +106,11 @@ export function make(configFn) {
|
|
|
106
106
|
});
|
|
107
107
|
// Make the operation itself yieldable: `yield* operation` captures the
|
|
108
108
|
// current context and returns a requirement-free call function (mirrors
|
|
109
|
-
// the distilled repo's OperationMethod).
|
|
109
|
+
// the distilled repo's OperationMethod). The captured context is a
|
|
110
|
+
// FALLBACK, not a snapshot: entries present on the calling fiber at call
|
|
111
|
+
// time win, so per-call overrides — e.g. providing `Endpoint` with a
|
|
112
|
+
// discovered data-plane address around one invocation — take effect
|
|
113
|
+
// instead of being shadowed by the context captured at yield time.
|
|
110
114
|
const Proto = {
|
|
111
115
|
[Symbol.iterator]() {
|
|
112
116
|
return new SingleShotGen(this.asEffect());
|
|
@@ -115,7 +119,11 @@ export function make(configFn) {
|
|
|
115
119
|
return pipeArguments(this.asEffect(), arguments);
|
|
116
120
|
},
|
|
117
121
|
asEffect() {
|
|
118
|
-
return Effect.map(Effect.context(), (context) => (input) =>
|
|
122
|
+
return Effect.map(Effect.context(), (context) => (input) =>
|
|
123
|
+
// `Context` is contravariant, so `Context<never>` is not assignable
|
|
124
|
+
// to the `Context<any>` updateContext expects — the widening cast is
|
|
125
|
+
// sound (the merge only ever adds entries).
|
|
126
|
+
Effect.updateContext(fn(input), (current) => Context.merge(context, current)));
|
|
119
127
|
},
|
|
120
128
|
};
|
|
121
129
|
Object.assign(fn, Proto);
|
|
@@ -170,8 +178,12 @@ export function makePaginated(configFn, strategy) {
|
|
|
170
178
|
// `yield* operation` runs through `make`'s Proto.asEffect, which builds a
|
|
171
179
|
// fresh arrow and would drop `.pages` / `.items` (distilled #145). Override
|
|
172
180
|
// it here — Proto's `[Symbol.iterator]`/`pipe` dispatch on `this`, so both
|
|
173
|
-
// pick this up. Only paginated operations pay for it.
|
|
174
|
-
|
|
181
|
+
// pick this up. Only paginated operations pay for it. Same fallback (not
|
|
182
|
+
// snapshot) semantics as Proto.asEffect: call-time fiber entries win over
|
|
183
|
+
// the captured context.
|
|
184
|
+
fn.asEffect = () => Effect.map(Effect.context(), (context) => withStreams((input) =>
|
|
185
|
+
// Same contravariance widening as Proto.asEffect above.
|
|
186
|
+
Effect.updateContext(fn(input), (current) => Context.merge(context, current))));
|
|
175
187
|
return withStreams(fn);
|
|
176
188
|
}
|
|
177
189
|
//#endregion
|
package/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAA8B,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAC;AAiC9D;;;;;;GAMG;AACH,MAAM,OAAO,QAAS,SAAQ,OAAO,CAAC,OAAO,EAsB1C,CAAC,UAAU,CAAC;CAAG;AAgClB,4EAA4E;AAC5E,4EAA4E;AAC5E,0EAA0E;AAC1E,0EAA0E;AAC1E,0EAA0E;AAC1E,0EAA0E;AAC1E,sEAAsE;AACtE,iBAAiB;AAEjB;;;;;;;;;;;GAWG;AACH,MAAM,eAAe,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;AAClD,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;AACzC,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAGjC,CAAC;AAEJ,MAAM,eAAe,GAAG,CACtB,KAAoC,EACc,EAAE;IACpD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,GAAG,CACf,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,aAAa,CAAC,EAC7D,CAAC,GAAG,EAAE,EAAE;QACN,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC;IACb,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAqCF;;;GAGG;AACH,MAAM,UAAU,GAAG,CACjB,IAAkC,EAClC,QAAmD,EACrB,EAAE,CAChC,QAAQ,KAAK,SAAS;IACpB,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CACrD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAU,SAAS,CAAC,CAAC;QACtD,kEAAkE;QAClE,6DAA6D;QAC7D,mDAAmD;QACnD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;QAC5D,MAAM,IAAI,GACR,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACpC,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CACrB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAC7C,MAAM,CAAC,KAAK,CAAC;YACX,KAAK,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AAER,MAAM,UAAU,IAAI,CAOlB,QAAgD;IAkBhD,IAAI,QAA8B,CAAC;IACnC,MAAM,OAAO,GAAG,GAAa,EAAE;QAC7B,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;QACvB,QAAQ,GAAG;YACT,GAAG;YACH,QAAQ,EAAE,GAAG,CAAC,KAAM,CAAC,GAAG;YACxB,SAAS,EAAE,GAAG,CAAC,MAAO,CAAC,GAAG;SAC3B,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,EAAE,GAAG,CAAC,KAAc,EAAE,EAAE,CAC5B,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CACzB,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAC7B,CAAC,WAAW,EAAE,EAAE,CACd,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;YAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrC,KAAK;gBACL,QAAQ;gBACR,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC5B,QAAQ;gBACR,SAAS;gBACT,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;gBACxB,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAC9C,CAAC;QACF,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,uEAAuE;IACvE,wEAAwE;IACxE,mEAAmE;IACnE,yEAAyE;IACzE,qEAAqE;IACrE,oEAAoE;IACpE,mEAAmE;IACnE,MAAM,KAAK,GAAG;QACZ,CAAC,MAAM,CAAC,QAAQ,CAAC;YACf,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI;YACF,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC;QACD,QAAQ;YACN,OAAO,MAAM,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,EAAE,EAChB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAc,EAAE,EAAE;YAC9B,oEAAoE;YACpE,qEAAqE;YACrE,4CAA4C;YAC5C,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAwB,EAAE,CAChE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAChC,CACJ,CAAC;QACJ,CAAC;KACF,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAEzB,sEAAsE;IACtE,iEAAiE;IACjE,yEAAyE;IACzE,wEAAwE;IACxE,+BAA+B;IAC/B,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE;QAC1B,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE;QAC7D,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE;QAC/D,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;QACrE,aAAa,EAAE;YACb,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,aAAa;YACtC,YAAY,EAAE,IAAI;SACnB;QACD,UAAU,EAAE;YACV,GAAG,EAAE,GAAG,EAAE,CACP,OAAO,EAAE,CAAC,GAAiD,CAAC,UAAU;YACzE,YAAY,EAAE,IAAI;SACnB;KACF,CAAC,CAAC;IAEH,OAAO,EAAS,CAAC;AACnB,CAAC;AAmED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAO3B,QAAyD,EACzD,QAAwC;IAOxC,MAAM,EAAE,GAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,uEAAuE;IACvE,kEAAkE;IAClE,IAAI,UAAiD,CAAC;IACtD,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,QAAQ,IAAI,UAAU,CAAC,oBAAoB,CAAC;IAE7D,2EAA2E;IAC3E,mEAAmE;IACnE,uEAAuE;IACvE,qEAAqE;IACrE,MAAM,WAAW,GAAG,CAClB,IAAkD,EAC7C,EAAE;QACP,MAAM,KAAK,GAAG,CAAC,KAA8B,EAAE,EAAE,CAC/C,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,CAAC,KAA8B,EAAE,EAAE;YAC/C,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC;YAChB,OAAO,CAAC,CAAC,KAAK;gBACZ,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;gBAChD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,yEAAyE;IACzE,0EAA0E;IAC1E,wBAAwB;IACxB,EAAE,CAAC,QAAQ,GAAG,GAAG,EAAE,CACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CACvC,WAAW,CAAC,CAAC,KAAc,EAAE,EAAE;IAC7B,wDAAwD;IACxD,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAwB,EAAE,CAChE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAChC,CACF,CACF,CAAC;IAEJ,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC;AAED,YAAY"}
|
package/lib/codegen/openapi.d.ts
CHANGED
|
@@ -7,20 +7,26 @@
|
|
|
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
|
|
11
|
-
*
|
|
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)
|
|
12
13
|
* • input `<Op>Request`: path params → `smithy.api#httpLabel` (+required),
|
|
13
|
-
* query params → `smithy.api#httpQuery`, header
|
|
14
|
-
*
|
|
14
|
+
* query params → `smithy.api#httpQuery`, header params →
|
|
15
|
+
* `smithy.api#httpHeader` when `headerParams` is on (dropped otherwise,
|
|
16
|
+
* as cookie params always are),
|
|
17
|
+
* body properties flattened alongside
|
|
18
|
+
* (labels win, then query, then headers, then body);
|
|
15
19
|
* non-object bodies become a sole `body` member with `smithy.api#httpPayload`
|
|
16
20
|
* • `$ref`s become NAMED shapes (`components/schemas/X` → `<ns>#X`), reused
|
|
17
21
|
* across operations; anonymous nested objects synthesize names from the
|
|
18
22
|
* parent + member path
|
|
19
|
-
* • responses: 200 → 201 → 204 precedence
|
|
23
|
+
* • responses: 200 → 201 → 204 precedence (`successStatuses` overrides),
|
|
24
|
+
* `application/json` only; object
|
|
20
25
|
* results become `<Op>Response` structures (a sole `$ref` reuses the named
|
|
21
26
|
* shape); bare array/scalar results wrap in a structure whose single
|
|
22
27
|
* member carries `com.distilled.openapi#rawResponse` (the SdkSpec maps it
|
|
23
|
-
* to a root pipe); no schema → `smithy.api#Unit`
|
|
28
|
+
* to a root pipe); no schema → `smithy.api#Unit`; `head` is always
|
|
29
|
+
* `smithy.api#Unit`, whatever content the spec declares
|
|
24
30
|
* • nullability (3.0 `nullable`, 3.1 `type: [..., "null"]`, 2.0
|
|
25
31
|
* `x-nullable`, `oneOf`/`anyOf` null branches) → member-level
|
|
26
32
|
* `com.distilled.openapi#nullable` trait
|
|
@@ -87,6 +93,37 @@ export interface OpenApiConvertOptions {
|
|
|
87
93
|
readonly defaultErrorStatuses?: Iterable<string>;
|
|
88
94
|
/** Skip operations marked `deprecated: true`. Default true. */
|
|
89
95
|
readonly skipDeprecated?: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* HTTP methods to convert IN ADDITION to get/post/put/patch/delete —
|
|
98
|
+
* currently `"head"` and `"options"`. Opt-in, so a provider that models
|
|
99
|
+
* them (Vercel probes cache artifacts and sandbox files with HEAD) gets
|
|
100
|
+
* them without every other provider silently gaining operations.
|
|
101
|
+
*
|
|
102
|
+
* `head` operations always output `smithy.api#Unit` — see the output-shape
|
|
103
|
+
* comment in {@link convertOpenApiToSmithy} for why a declared response
|
|
104
|
+
* body on a HEAD can never arrive.
|
|
105
|
+
*/
|
|
106
|
+
readonly extraHttpMethods?: readonly ("head" | "options")[];
|
|
107
|
+
/**
|
|
108
|
+
* Emit `in: header` parameters as `smithy.api#httpHeader` members instead
|
|
109
|
+
* of dropping them. Opt-in for the same reason as
|
|
110
|
+
* {@link extraHttpMethods}: turning it on adds input members to every
|
|
111
|
+
* operation whose spec declares a header parameter, and most providers
|
|
112
|
+
* declare ones the protocol already sends itself (Accept, Authorization,
|
|
113
|
+
* an API-version pin). Providers whose headers are real per-call inputs
|
|
114
|
+
* — Vercel's `x-Artifact-*` remote-cache metadata, `x-Vercel-Digest` —
|
|
115
|
+
* ask for them.
|
|
116
|
+
*/
|
|
117
|
+
readonly headerParams?: boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Response statuses to read the operation's output shape from, most
|
|
120
|
+
* preferred first. Default `["200", "201", "204"]`. Extend it for an API
|
|
121
|
+
* that answers asynchronous work with a body under another status — Vercel
|
|
122
|
+
* returns `202 Accepted` with a payload from nine endpoints (artifact
|
|
123
|
+
* upload, account deletion, VCR blob/manifest writes), which would
|
|
124
|
+
* otherwise generate as a `void` output.
|
|
125
|
+
*/
|
|
126
|
+
readonly successStatuses?: readonly string[];
|
|
90
127
|
/**
|
|
91
128
|
* Azure-style fixed `api-version`: drops `api-version` query params and
|
|
92
129
|
* stamps {@link API_VERSION_TRAIT} on every operation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/codegen/openapi.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/codegen/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;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;;;;;;;;;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;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;AAo+BD,eAAO,MAAM,sBAAsB,SAC3B,OAAO,WACJ,qBAAqB,KAC7B,WA4XF,CAAC"}
|
package/lib/codegen/openapi.js
CHANGED
|
@@ -7,20 +7,26 @@
|
|
|
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
|
|
11
|
-
*
|
|
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)
|
|
12
13
|
* • input `<Op>Request`: path params → `smithy.api#httpLabel` (+required),
|
|
13
|
-
* query params → `smithy.api#httpQuery`, header
|
|
14
|
-
*
|
|
14
|
+
* query params → `smithy.api#httpQuery`, header params →
|
|
15
|
+
* `smithy.api#httpHeader` when `headerParams` is on (dropped otherwise,
|
|
16
|
+
* as cookie params always are),
|
|
17
|
+
* body properties flattened alongside
|
|
18
|
+
* (labels win, then query, then headers, then body);
|
|
15
19
|
* non-object bodies become a sole `body` member with `smithy.api#httpPayload`
|
|
16
20
|
* • `$ref`s become NAMED shapes (`components/schemas/X` → `<ns>#X`), reused
|
|
17
21
|
* across operations; anonymous nested objects synthesize names from the
|
|
18
22
|
* parent + member path
|
|
19
|
-
* • responses: 200 → 201 → 204 precedence
|
|
23
|
+
* • responses: 200 → 201 → 204 precedence (`successStatuses` overrides),
|
|
24
|
+
* `application/json` only; object
|
|
20
25
|
* results become `<Op>Response` structures (a sole `$ref` reuses the named
|
|
21
26
|
* shape); bare array/scalar results wrap in a structure whose single
|
|
22
27
|
* member carries `com.distilled.openapi#rawResponse` (the SdkSpec maps it
|
|
23
|
-
* to a root pipe); no schema → `smithy.api#Unit`
|
|
28
|
+
* to a root pipe); no schema → `smithy.api#Unit`; `head` is always
|
|
29
|
+
* `smithy.api#Unit`, whatever content the spec declares
|
|
24
30
|
* • nullability (3.0 `nullable`, 3.1 `type: [..., "null"]`, 2.0
|
|
25
31
|
* `x-nullable`, `oneOf`/`anyOf` null branches) → member-level
|
|
26
32
|
* `com.distilled.openapi#nullable` trait
|
|
@@ -120,6 +126,22 @@ const memberIdent = (name) => {
|
|
|
120
126
|
out = `_${out}`;
|
|
121
127
|
return out || "_";
|
|
122
128
|
};
|
|
129
|
+
/**
|
|
130
|
+
* Header name → member identifier (`x-Artifact-Tag` → `xArtifactTag`). The
|
|
131
|
+
* wire name is carried by the `smithy.api#httpHeader` trait, so the member
|
|
132
|
+
* can read like the rest of the input rather than like a header.
|
|
133
|
+
*/
|
|
134
|
+
const headerMemberName = (name) => {
|
|
135
|
+
const parts = name.split(/[^A-Za-z0-9]+/).filter(Boolean);
|
|
136
|
+
if (parts.length === 0)
|
|
137
|
+
return "_";
|
|
138
|
+
const out = parts
|
|
139
|
+
.map((p, i) => i === 0
|
|
140
|
+
? p.charAt(0).toLowerCase() + p.slice(1)
|
|
141
|
+
: p.charAt(0).toUpperCase() + p.slice(1))
|
|
142
|
+
.join("");
|
|
143
|
+
return /^[0-9]/.test(out) ? `_${out}` : out;
|
|
144
|
+
};
|
|
123
145
|
const enumMemberName = (value) => {
|
|
124
146
|
let out = value
|
|
125
147
|
.toUpperCase()
|
|
@@ -781,7 +803,10 @@ const collectParams = (ctx, pathItem, op) => {
|
|
|
781
803
|
continue;
|
|
782
804
|
byKey.set(`${p.in}${p.name}`, p);
|
|
783
805
|
}
|
|
784
|
-
return [...byKey.values()].filter((p) => p.in === "path" ||
|
|
806
|
+
return [...byKey.values()].filter((p) => p.in === "path" ||
|
|
807
|
+
p.in === "query" ||
|
|
808
|
+
p.in === "body" ||
|
|
809
|
+
p.in === "header");
|
|
785
810
|
};
|
|
786
811
|
/**
|
|
787
812
|
* Simple-type coercion for path labels (Smithy restricts label targets):
|
|
@@ -836,9 +861,9 @@ const opDoc = (op) => {
|
|
|
836
861
|
// ============================================================================
|
|
837
862
|
// Responses
|
|
838
863
|
// ============================================================================
|
|
839
|
-
/**
|
|
840
|
-
const successSchema = (ctx, responses) => {
|
|
841
|
-
for (const code of
|
|
864
|
+
/** First declared status in `order` wins; response-level `$ref` resolved; JSON only. */
|
|
865
|
+
const successSchema = (ctx, responses, order) => {
|
|
866
|
+
for (const code of order) {
|
|
842
867
|
const raw = responses?.[code];
|
|
843
868
|
if (!raw)
|
|
844
869
|
continue;
|
|
@@ -919,6 +944,13 @@ const detectPagination = (ctx, params, responseSchema) => {
|
|
|
919
944
|
// Main conversion
|
|
920
945
|
// ============================================================================
|
|
921
946
|
const HTTP_METHODS = ["get", "post", "put", "patch", "delete"];
|
|
947
|
+
/**
|
|
948
|
+
* Methods a spec may declare beyond {@link HTTP_METHODS}, opt-in via
|
|
949
|
+
* {@link OpenApiConvertOptions.extraHttpMethods} — a provider that models
|
|
950
|
+
* `head` (Vercel's cache-artifact and file existence probes) asks for it
|
|
951
|
+
* rather than every provider silently gaining operations on regeneration.
|
|
952
|
+
*/
|
|
953
|
+
const OPTIONAL_HTTP_METHODS = ["head", "options"];
|
|
922
954
|
const DEFAULT_STATUS_TO_ERROR_CLASS = {
|
|
923
955
|
"400": "BadRequest",
|
|
924
956
|
"403": "Forbidden",
|
|
@@ -927,6 +959,7 @@ const DEFAULT_STATUS_TO_ERROR_CLASS = {
|
|
|
927
959
|
"422": "UnprocessableEntity",
|
|
928
960
|
};
|
|
929
961
|
const DEFAULT_ERROR_STATUSES = ["401", "429", "500", "503"];
|
|
962
|
+
const DEFAULT_SUCCESS_STATUSES = ["200", "201", "204"];
|
|
930
963
|
export const convertOpenApiToSmithy = (spec, options) => {
|
|
931
964
|
const doc = spec;
|
|
932
965
|
const version = detectVersion(doc);
|
|
@@ -943,6 +976,11 @@ export const convertOpenApiToSmithy = (spec, options) => {
|
|
|
943
976
|
const statusToErrorClass = options.statusToErrorClass ?? DEFAULT_STATUS_TO_ERROR_CLASS;
|
|
944
977
|
const defaultErrorStatuses = new Set(options.defaultErrorStatuses ?? DEFAULT_ERROR_STATUSES);
|
|
945
978
|
const skipDeprecated = options.skipDeprecated ?? true;
|
|
979
|
+
const successStatuses = options.successStatuses ?? DEFAULT_SUCCESS_STATUSES;
|
|
980
|
+
const httpMethods = [
|
|
981
|
+
...HTTP_METHODS,
|
|
982
|
+
...OPTIONAL_HTTP_METHODS.filter((m) => options.extraHttpMethods?.includes(m)),
|
|
983
|
+
];
|
|
946
984
|
// Error class names and the service name are reserved up front so schema
|
|
947
985
|
// components can never steal them.
|
|
948
986
|
const errorIds = new Map(); // class name → shape id
|
|
@@ -955,7 +993,7 @@ export const convertOpenApiToSmithy = (spec, options) => {
|
|
|
955
993
|
for (const [rawPath, pathItem] of Object.entries(doc.paths ?? {})) {
|
|
956
994
|
if (!pathItem || typeof pathItem !== "object")
|
|
957
995
|
continue;
|
|
958
|
-
for (const method of
|
|
996
|
+
for (const method of httpMethods) {
|
|
959
997
|
const op = pathItem[method];
|
|
960
998
|
if (!op || typeof op !== "object")
|
|
961
999
|
continue;
|
|
@@ -1011,6 +1049,26 @@ export const convertOpenApiToSmithy = (spec, options) => {
|
|
|
1011
1049
|
},
|
|
1012
1050
|
});
|
|
1013
1051
|
}
|
|
1052
|
+
// ---- Header params (opt-in) ----
|
|
1053
|
+
if (options.headerParams) {
|
|
1054
|
+
for (const p of params) {
|
|
1055
|
+
if (p.in !== "header")
|
|
1056
|
+
continue;
|
|
1057
|
+
const conv = convertSchema(ctx, p.schema, `${opName}Request${pascal(p.name)}`, 0, "in");
|
|
1058
|
+
addMember(headerMemberName(p.name), {
|
|
1059
|
+
target: conv.target,
|
|
1060
|
+
traits: {
|
|
1061
|
+
// The wire name rides on the trait, so the member is free to be
|
|
1062
|
+
// a normal identifier.
|
|
1063
|
+
"smithy.api#httpHeader": p.name,
|
|
1064
|
+
...(p.required ? { "smithy.api#required": {} } : {}),
|
|
1065
|
+
...(p.description
|
|
1066
|
+
? { "smithy.api#documentation": p.description }
|
|
1067
|
+
: {}),
|
|
1068
|
+
},
|
|
1069
|
+
});
|
|
1070
|
+
}
|
|
1071
|
+
}
|
|
1014
1072
|
// ---- Request body (json > form-urlencoded > multipart) ----
|
|
1015
1073
|
let contentType;
|
|
1016
1074
|
let bodySchema;
|
|
@@ -1076,7 +1134,18 @@ export const convertOpenApiToSmithy = (spec, options) => {
|
|
|
1076
1134
|
})
|
|
1077
1135
|
: PRELUDE.Unit;
|
|
1078
1136
|
// ---- Output shape ----
|
|
1079
|
-
|
|
1137
|
+
// A HEAD response carries no content, and not merely by convention:
|
|
1138
|
+
// HTTP/1.1 framing terminates it at the end of the header section
|
|
1139
|
+
// "regardless of the header fields present in the message" (RFC 9112
|
|
1140
|
+
// §6.3), so a declared `Content-Length` describes what a GET *would*
|
|
1141
|
+
// return and no body can reach the client. Specs declare one anyway —
|
|
1142
|
+
// Vercel mirrors the GET's schema onto two of its HEAD probes and
|
|
1143
|
+
// gives the other two a bare `{"nullable": true}` — and honouring it
|
|
1144
|
+
// generates an output struct with required members that then fails to
|
|
1145
|
+
// decode against the empty body on every successful call.
|
|
1146
|
+
const { schema: respSchema } = method === "head"
|
|
1147
|
+
? { schema: undefined }
|
|
1148
|
+
: successSchema(ctx, op.responses, successStatuses);
|
|
1080
1149
|
let outputTarget = PRELUDE.Unit;
|
|
1081
1150
|
if (respSchema !== undefined) {
|
|
1082
1151
|
const flat = flattenObject(ctx, respSchema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/codegen/openapi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/codegen/openapi.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@distilled.cloud/core",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.5",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/alchemy-run/distilled",
|
|
@@ -27,16 +27,16 @@
|
|
|
27
27
|
"import": "./lib/*.js"
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
|
-
"scripts": {
|
|
31
|
-
"build": "tsc -b"
|
|
32
|
-
},
|
|
33
30
|
"devDependencies": {
|
|
34
|
-
"@effect/platform-bun": ">=4.0.0-
|
|
31
|
+
"@effect/platform-bun": ">=4.0.0-rc.110 || >=4.0.0",
|
|
35
32
|
"@types/bun": "latest",
|
|
36
33
|
"@types/node": "latest",
|
|
37
|
-
"effect": ">=4.0.0-
|
|
34
|
+
"effect": ">=4.0.0-rc.110 || >=4.0.0"
|
|
38
35
|
},
|
|
39
36
|
"peerDependencies": {
|
|
40
|
-
"effect": ">=4.0.0-
|
|
37
|
+
"effect": ">=4.0.0-rc.110 || >=4.0.0"
|
|
38
|
+
},
|
|
39
|
+
"scripts": {
|
|
40
|
+
"build": "tsc -b"
|
|
41
41
|
}
|
|
42
|
-
}
|
|
42
|
+
}
|
package/src/api.ts
CHANGED
|
@@ -276,7 +276,11 @@ export function make<
|
|
|
276
276
|
|
|
277
277
|
// Make the operation itself yieldable: `yield* operation` captures the
|
|
278
278
|
// current context and returns a requirement-free call function (mirrors
|
|
279
|
-
// the distilled repo's OperationMethod).
|
|
279
|
+
// the distilled repo's OperationMethod). The captured context is a
|
|
280
|
+
// FALLBACK, not a snapshot: entries present on the calling fiber at call
|
|
281
|
+
// time win, so per-call overrides — e.g. providing `Endpoint` with a
|
|
282
|
+
// discovered data-plane address around one invocation — take effect
|
|
283
|
+
// instead of being shadowed by the context captured at yield time.
|
|
280
284
|
const Proto = {
|
|
281
285
|
[Symbol.iterator](this: any) {
|
|
282
286
|
return new SingleShotGen(this.asEffect());
|
|
@@ -288,7 +292,12 @@ export function make<
|
|
|
288
292
|
return Effect.map(
|
|
289
293
|
Effect.context(),
|
|
290
294
|
(context) => (input: unknown) =>
|
|
291
|
-
|
|
295
|
+
// `Context` is contravariant, so `Context<never>` is not assignable
|
|
296
|
+
// to the `Context<any>` updateContext expects — the widening cast is
|
|
297
|
+
// sound (the merge only ever adds entries).
|
|
298
|
+
Effect.updateContext(fn(input), (current): Context.Context<any> =>
|
|
299
|
+
Context.merge(context, current),
|
|
300
|
+
),
|
|
292
301
|
);
|
|
293
302
|
},
|
|
294
303
|
};
|
|
@@ -432,11 +441,16 @@ export function makePaginated<
|
|
|
432
441
|
// `yield* operation` runs through `make`'s Proto.asEffect, which builds a
|
|
433
442
|
// fresh arrow and would drop `.pages` / `.items` (distilled #145). Override
|
|
434
443
|
// it here — Proto's `[Symbol.iterator]`/`pipe` dispatch on `this`, so both
|
|
435
|
-
// pick this up. Only paginated operations pay for it.
|
|
444
|
+
// pick this up. Only paginated operations pay for it. Same fallback (not
|
|
445
|
+
// snapshot) semantics as Proto.asEffect: call-time fiber entries win over
|
|
446
|
+
// the captured context.
|
|
436
447
|
fn.asEffect = () =>
|
|
437
448
|
Effect.map(Effect.context(), (context) =>
|
|
438
449
|
withStreams((input: unknown) =>
|
|
439
|
-
|
|
450
|
+
// Same contravariance widening as Proto.asEffect above.
|
|
451
|
+
Effect.updateContext(fn(input), (current): Context.Context<any> =>
|
|
452
|
+
Context.merge(context, current),
|
|
453
|
+
),
|
|
440
454
|
),
|
|
441
455
|
);
|
|
442
456
|
|
package/src/codegen/openapi.ts
CHANGED
|
@@ -7,20 +7,26 @@
|
|
|
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
|
|
11
|
-
*
|
|
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)
|
|
12
13
|
* • input `<Op>Request`: path params → `smithy.api#httpLabel` (+required),
|
|
13
|
-
* query params → `smithy.api#httpQuery`, header
|
|
14
|
-
*
|
|
14
|
+
* query params → `smithy.api#httpQuery`, header params →
|
|
15
|
+
* `smithy.api#httpHeader` when `headerParams` is on (dropped otherwise,
|
|
16
|
+
* as cookie params always are),
|
|
17
|
+
* body properties flattened alongside
|
|
18
|
+
* (labels win, then query, then headers, then body);
|
|
15
19
|
* non-object bodies become a sole `body` member with `smithy.api#httpPayload`
|
|
16
20
|
* • `$ref`s become NAMED shapes (`components/schemas/X` → `<ns>#X`), reused
|
|
17
21
|
* across operations; anonymous nested objects synthesize names from the
|
|
18
22
|
* parent + member path
|
|
19
|
-
* • responses: 200 → 201 → 204 precedence
|
|
23
|
+
* • responses: 200 → 201 → 204 precedence (`successStatuses` overrides),
|
|
24
|
+
* `application/json` only; object
|
|
20
25
|
* results become `<Op>Response` structures (a sole `$ref` reuses the named
|
|
21
26
|
* shape); bare array/scalar results wrap in a structure whose single
|
|
22
27
|
* member carries `com.distilled.openapi#rawResponse` (the SdkSpec maps it
|
|
23
|
-
* to a root pipe); no schema → `smithy.api#Unit`
|
|
28
|
+
* to a root pipe); no schema → `smithy.api#Unit`; `head` is always
|
|
29
|
+
* `smithy.api#Unit`, whatever content the spec declares
|
|
24
30
|
* • nullability (3.0 `nullable`, 3.1 `type: [..., "null"]`, 2.0
|
|
25
31
|
* `x-nullable`, `oneOf`/`anyOf` null branches) → member-level
|
|
26
32
|
* `com.distilled.openapi#nullable` trait
|
|
@@ -122,6 +128,37 @@ export interface OpenApiConvertOptions {
|
|
|
122
128
|
readonly defaultErrorStatuses?: Iterable<string>;
|
|
123
129
|
/** Skip operations marked `deprecated: true`. Default true. */
|
|
124
130
|
readonly skipDeprecated?: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* HTTP methods to convert IN ADDITION to get/post/put/patch/delete —
|
|
133
|
+
* currently `"head"` and `"options"`. Opt-in, so a provider that models
|
|
134
|
+
* them (Vercel probes cache artifacts and sandbox files with HEAD) gets
|
|
135
|
+
* them without every other provider silently gaining operations.
|
|
136
|
+
*
|
|
137
|
+
* `head` operations always output `smithy.api#Unit` — see the output-shape
|
|
138
|
+
* comment in {@link convertOpenApiToSmithy} for why a declared response
|
|
139
|
+
* body on a HEAD can never arrive.
|
|
140
|
+
*/
|
|
141
|
+
readonly extraHttpMethods?: readonly ("head" | "options")[];
|
|
142
|
+
/**
|
|
143
|
+
* Emit `in: header` parameters as `smithy.api#httpHeader` members instead
|
|
144
|
+
* of dropping them. Opt-in for the same reason as
|
|
145
|
+
* {@link extraHttpMethods}: turning it on adds input members to every
|
|
146
|
+
* operation whose spec declares a header parameter, and most providers
|
|
147
|
+
* declare ones the protocol already sends itself (Accept, Authorization,
|
|
148
|
+
* an API-version pin). Providers whose headers are real per-call inputs
|
|
149
|
+
* — Vercel's `x-Artifact-*` remote-cache metadata, `x-Vercel-Digest` —
|
|
150
|
+
* ask for them.
|
|
151
|
+
*/
|
|
152
|
+
readonly headerParams?: boolean;
|
|
153
|
+
/**
|
|
154
|
+
* Response statuses to read the operation's output shape from, most
|
|
155
|
+
* preferred first. Default `["200", "201", "204"]`. Extend it for an API
|
|
156
|
+
* that answers asynchronous work with a body under another status — Vercel
|
|
157
|
+
* returns `202 Accepted` with a payload from nine endpoints (artifact
|
|
158
|
+
* upload, account deletion, VCR blob/manifest writes), which would
|
|
159
|
+
* otherwise generate as a `void` output.
|
|
160
|
+
*/
|
|
161
|
+
readonly successStatuses?: readonly string[];
|
|
125
162
|
/**
|
|
126
163
|
* Azure-style fixed `api-version`: drops `api-version` query params and
|
|
127
164
|
* stamps {@link API_VERSION_TRAIT} on every operation.
|
|
@@ -177,6 +214,24 @@ const memberIdent = (name: string): string => {
|
|
|
177
214
|
return out || "_";
|
|
178
215
|
};
|
|
179
216
|
|
|
217
|
+
/**
|
|
218
|
+
* Header name → member identifier (`x-Artifact-Tag` → `xArtifactTag`). The
|
|
219
|
+
* wire name is carried by the `smithy.api#httpHeader` trait, so the member
|
|
220
|
+
* can read like the rest of the input rather than like a header.
|
|
221
|
+
*/
|
|
222
|
+
const headerMemberName = (name: string): string => {
|
|
223
|
+
const parts = name.split(/[^A-Za-z0-9]+/).filter(Boolean);
|
|
224
|
+
if (parts.length === 0) return "_";
|
|
225
|
+
const out = parts
|
|
226
|
+
.map((p, i) =>
|
|
227
|
+
i === 0
|
|
228
|
+
? p.charAt(0).toLowerCase() + p.slice(1)
|
|
229
|
+
: p.charAt(0).toUpperCase() + p.slice(1),
|
|
230
|
+
)
|
|
231
|
+
.join("");
|
|
232
|
+
return /^[0-9]/.test(out) ? `_${out}` : out;
|
|
233
|
+
};
|
|
234
|
+
|
|
180
235
|
const enumMemberName = (value: string): string => {
|
|
181
236
|
let out = value
|
|
182
237
|
.toUpperCase()
|
|
@@ -937,7 +992,11 @@ const collectParams = (ctx: Ctx, pathItem: any, op: any): Param[] => {
|
|
|
937
992
|
byKey.set(`${p.in}${p.name}`, p);
|
|
938
993
|
}
|
|
939
994
|
return [...byKey.values()].filter(
|
|
940
|
-
(p) =>
|
|
995
|
+
(p) =>
|
|
996
|
+
p.in === "path" ||
|
|
997
|
+
p.in === "query" ||
|
|
998
|
+
p.in === "body" ||
|
|
999
|
+
p.in === "header",
|
|
941
1000
|
);
|
|
942
1001
|
};
|
|
943
1002
|
|
|
@@ -1001,12 +1060,13 @@ const opDoc = (op: any): string | undefined => {
|
|
|
1001
1060
|
// Responses
|
|
1002
1061
|
// ============================================================================
|
|
1003
1062
|
|
|
1004
|
-
/**
|
|
1063
|
+
/** First declared status in `order` wins; response-level `$ref` resolved; JSON only. */
|
|
1005
1064
|
const successSchema = (
|
|
1006
1065
|
ctx: Ctx,
|
|
1007
1066
|
responses: any,
|
|
1067
|
+
order: readonly string[],
|
|
1008
1068
|
): { schema: any | undefined } => {
|
|
1009
|
-
for (const code of
|
|
1069
|
+
for (const code of order) {
|
|
1010
1070
|
const raw = responses?.[code];
|
|
1011
1071
|
if (!raw) continue;
|
|
1012
1072
|
const resp = raw.$ref ? resolvePointer(ctx.spec, raw.$ref) : raw;
|
|
@@ -1099,6 +1159,14 @@ const detectPagination = (
|
|
|
1099
1159
|
|
|
1100
1160
|
const HTTP_METHODS = ["get", "post", "put", "patch", "delete"] as const;
|
|
1101
1161
|
|
|
1162
|
+
/**
|
|
1163
|
+
* Methods a spec may declare beyond {@link HTTP_METHODS}, opt-in via
|
|
1164
|
+
* {@link OpenApiConvertOptions.extraHttpMethods} — a provider that models
|
|
1165
|
+
* `head` (Vercel's cache-artifact and file existence probes) asks for it
|
|
1166
|
+
* rather than every provider silently gaining operations on regeneration.
|
|
1167
|
+
*/
|
|
1168
|
+
const OPTIONAL_HTTP_METHODS = ["head", "options"] as const;
|
|
1169
|
+
|
|
1102
1170
|
const DEFAULT_STATUS_TO_ERROR_CLASS: Readonly<Record<string, string>> = {
|
|
1103
1171
|
"400": "BadRequest",
|
|
1104
1172
|
"403": "Forbidden",
|
|
@@ -1109,6 +1177,8 @@ const DEFAULT_STATUS_TO_ERROR_CLASS: Readonly<Record<string, string>> = {
|
|
|
1109
1177
|
|
|
1110
1178
|
const DEFAULT_ERROR_STATUSES = ["401", "429", "500", "503"];
|
|
1111
1179
|
|
|
1180
|
+
const DEFAULT_SUCCESS_STATUSES = ["200", "201", "204"];
|
|
1181
|
+
|
|
1112
1182
|
export const convertOpenApiToSmithy = (
|
|
1113
1183
|
spec: unknown,
|
|
1114
1184
|
options: OpenApiConvertOptions,
|
|
@@ -1131,6 +1201,13 @@ export const convertOpenApiToSmithy = (
|
|
|
1131
1201
|
options.defaultErrorStatuses ?? DEFAULT_ERROR_STATUSES,
|
|
1132
1202
|
);
|
|
1133
1203
|
const skipDeprecated = options.skipDeprecated ?? true;
|
|
1204
|
+
const successStatuses = options.successStatuses ?? DEFAULT_SUCCESS_STATUSES;
|
|
1205
|
+
const httpMethods = [
|
|
1206
|
+
...HTTP_METHODS,
|
|
1207
|
+
...OPTIONAL_HTTP_METHODS.filter((m) =>
|
|
1208
|
+
options.extraHttpMethods?.includes(m),
|
|
1209
|
+
),
|
|
1210
|
+
];
|
|
1134
1211
|
|
|
1135
1212
|
// Error class names and the service name are reserved up front so schema
|
|
1136
1213
|
// components can never steal them.
|
|
@@ -1145,7 +1222,7 @@ export const convertOpenApiToSmithy = (
|
|
|
1145
1222
|
|
|
1146
1223
|
for (const [rawPath, pathItem] of Object.entries(doc.paths ?? {})) {
|
|
1147
1224
|
if (!pathItem || typeof pathItem !== "object") continue;
|
|
1148
|
-
for (const method of
|
|
1225
|
+
for (const method of httpMethods) {
|
|
1149
1226
|
const op = (pathItem as any)[method];
|
|
1150
1227
|
if (!op || typeof op !== "object") continue;
|
|
1151
1228
|
if (skipDeprecated && op.deprecated === true) continue;
|
|
@@ -1212,6 +1289,32 @@ export const convertOpenApiToSmithy = (
|
|
|
1212
1289
|
});
|
|
1213
1290
|
}
|
|
1214
1291
|
|
|
1292
|
+
// ---- Header params (opt-in) ----
|
|
1293
|
+
if (options.headerParams) {
|
|
1294
|
+
for (const p of params) {
|
|
1295
|
+
if (p.in !== "header") continue;
|
|
1296
|
+
const conv = convertSchema(
|
|
1297
|
+
ctx,
|
|
1298
|
+
p.schema,
|
|
1299
|
+
`${opName}Request${pascal(p.name)}`,
|
|
1300
|
+
0,
|
|
1301
|
+
"in",
|
|
1302
|
+
);
|
|
1303
|
+
addMember(headerMemberName(p.name), {
|
|
1304
|
+
target: conv.target,
|
|
1305
|
+
traits: {
|
|
1306
|
+
// The wire name rides on the trait, so the member is free to be
|
|
1307
|
+
// a normal identifier.
|
|
1308
|
+
"smithy.api#httpHeader": p.name,
|
|
1309
|
+
...(p.required ? { "smithy.api#required": {} } : {}),
|
|
1310
|
+
...(p.description
|
|
1311
|
+
? { "smithy.api#documentation": p.description }
|
|
1312
|
+
: {}),
|
|
1313
|
+
},
|
|
1314
|
+
});
|
|
1315
|
+
}
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1215
1318
|
// ---- Request body (json > form-urlencoded > multipart) ----
|
|
1216
1319
|
let contentType: "form-urlencoded" | "multipart" | undefined;
|
|
1217
1320
|
let bodySchema: any;
|
|
@@ -1289,7 +1392,19 @@ export const convertOpenApiToSmithy = (
|
|
|
1289
1392
|
: PRELUDE.Unit;
|
|
1290
1393
|
|
|
1291
1394
|
// ---- Output shape ----
|
|
1292
|
-
|
|
1395
|
+
// A HEAD response carries no content, and not merely by convention:
|
|
1396
|
+
// HTTP/1.1 framing terminates it at the end of the header section
|
|
1397
|
+
// "regardless of the header fields present in the message" (RFC 9112
|
|
1398
|
+
// §6.3), so a declared `Content-Length` describes what a GET *would*
|
|
1399
|
+
// return and no body can reach the client. Specs declare one anyway —
|
|
1400
|
+
// Vercel mirrors the GET's schema onto two of its HEAD probes and
|
|
1401
|
+
// gives the other two a bare `{"nullable": true}` — and honouring it
|
|
1402
|
+
// generates an output struct with required members that then fails to
|
|
1403
|
+
// decode against the empty body on every successful call.
|
|
1404
|
+
const { schema: respSchema } =
|
|
1405
|
+
method === "head"
|
|
1406
|
+
? { schema: undefined }
|
|
1407
|
+
: successSchema(ctx, op.responses, successStatuses);
|
|
1293
1408
|
let outputTarget: string = PRELUDE.Unit;
|
|
1294
1409
|
if (respSchema !== undefined) {
|
|
1295
1410
|
const flat = flattenObject(ctx, respSchema);
|