@distilled.cloud/core 1.0.0-rc.4 → 1.0.0-rc.6

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 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) => Effect.provideContext(fn(input), context));
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
- fn.asEffect = () => Effect.map(Effect.context(), (context) => withStreams((input) => Effect.provideContext(fn(input), context)));
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":"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"}
@@ -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), 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)
12
13
  * • 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);
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, `application/json` only; object
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -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), 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)
12
13
  * • 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);
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, `application/json` only; object
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" || p.in === "query" || p.in === "body");
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
- /** 200 → 201 → 204 precedence; response-level `$ref` resolved; JSON only. */
840
- const successSchema = (ctx, responses) => {
841
- for (const code of ["200", "201", "204"]) {
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 HTTP_METHODS) {
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
- const { schema: respSchema } = successSchema(ctx, op.responses);
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.4",
3
+ "version": "1.0.0-rc.6",
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-beta.104 || >=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-beta.104 || >=4.0.0"
34
+ "effect": ">=4.0.0-rc.110 || >=4.0.0"
38
35
  },
39
36
  "peerDependencies": {
40
- "effect": ">=4.0.0-beta.104 || >=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
- Effect.provideContext(fn(input), context),
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
- Effect.provideContext(fn(input), context),
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
 
@@ -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), 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)
12
13
  * • 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);
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, `application/json` only; object
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) => p.in === "path" || p.in === "query" || p.in === "body",
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
- /** 200 → 201 → 204 precedence; response-level `$ref` resolved; JSON only. */
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 ["200", "201", "204"]) {
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 HTTP_METHODS) {
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
- const { schema: respSchema } = successSchema(ctx, op.responses);
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);