@distilled.cloud/core 0.2.0-alpha → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,30 @@
1
+ # @distilled.cloud/sdk-core
2
+
3
+ Shared infrastructure for all Distilled SDKs. Provides the client factory, HTTP trait annotations, error classes, error categories, pagination utilities, and retry policies.
4
+
5
+ ## What's in here
6
+
7
+ - **`client.ts`** — `API.make()` and `API.makePaginated()` factories that create Effect operations from annotated schemas
8
+ - **`traits.ts`** — Schema annotations for HTTP bindings (`T.Http`, `T.PathParam`, `T.HttpHeader`, `T.JsonName`, etc.)
9
+ - **`errors.ts`** — Base error classes (`NotFound`, `Unauthorized`, `Forbidden`, `TooManyRequests`, etc.) with status code matching
10
+ - **`category.ts`** — Error categories (`AuthError`, `ThrottlingError`, `ServerError`, etc.) for retry logic and semantic grouping
11
+ - **`pagination.ts`** — `paginatePages`/`paginateItems` stream utilities
12
+ - **`retry.ts`** — Retry policy configuration
13
+ - **`sensitive.ts`** — Sensitive data schemas (wraps values in `Redacted`)
14
+ - **`json-patch.ts`** — JSON Patch (RFC 6902) implementation for spec patching
15
+
16
+ ## Usage
17
+
18
+ This package is not intended to be used directly. It's a dependency of the provider SDKs (`@distilled.cloud/aws`, `@distilled.cloud/cloudflare`, etc.).
19
+
20
+ ```typescript
21
+ // Provider packages import from core like this:
22
+ import { makeAPI } from "@distilled.cloud/sdk-core/client";
23
+ import * as T from "@distilled.cloud/sdk-core/traits";
24
+ import { NotFound, Forbidden } from "@distilled.cloud/sdk-core/errors";
25
+ import * as Category from "@distilled.cloud/sdk-core/category";
26
+ ```
27
+
28
+ ## License
29
+
30
+ MIT
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/lib/client.js CHANGED
@@ -54,6 +54,62 @@ function isArrayAST(ast) {
54
54
  return false;
55
55
  }
56
56
  // ============================================================================
57
+ // Form URL-Encoded Builder (Stripe deepObject style)
58
+ // ============================================================================
59
+ /**
60
+ * Recursively flatten a nested object into Stripe-style bracket notation
61
+ * for application/x-www-form-urlencoded encoding.
62
+ *
63
+ * Examples:
64
+ * { amount: 2000 } -> "amount=2000"
65
+ * { shipping: { address: { city: "SF" } } } -> "shipping[address][city]=SF"
66
+ * { expand: ["data"] } -> "expand[0]=data"
67
+ * { metadata: { key: "val" } } -> "metadata[key]=val"
68
+ */
69
+ function flattenToFormPairs(obj, prefix = "") {
70
+ const pairs = [];
71
+ for (const [key, value] of Object.entries(obj)) {
72
+ if (value === undefined || value === null)
73
+ continue;
74
+ const fullKey = prefix ? `${prefix}[${key}]` : key;
75
+ if (Array.isArray(value)) {
76
+ for (let i = 0; i < value.length; i++) {
77
+ const item = value[i];
78
+ if (item !== null &&
79
+ item !== undefined &&
80
+ typeof item === "object" &&
81
+ !Array.isArray(item)) {
82
+ pairs.push(...flattenToFormPairs(item, `${fullKey}[${i}]`));
83
+ }
84
+ else if (item !== undefined && item !== null) {
85
+ pairs.push([`${fullKey}[${i}]`, String(item)]);
86
+ }
87
+ }
88
+ }
89
+ else if (typeof value === "object") {
90
+ pairs.push(...flattenToFormPairs(value, fullKey));
91
+ }
92
+ else if (typeof value === "boolean") {
93
+ pairs.push([fullKey, value ? "true" : "false"]);
94
+ }
95
+ else {
96
+ pairs.push([fullKey, String(value)]);
97
+ }
98
+ }
99
+ return pairs;
100
+ }
101
+ /**
102
+ * Build a URLSearchParams from a nested object using Stripe deepObject encoding.
103
+ */
104
+ function buildFormUrlEncoded(body) {
105
+ const pairs = flattenToFormPairs(body);
106
+ const params = new URLSearchParams();
107
+ for (const [key, value] of pairs) {
108
+ params.append(key, value);
109
+ }
110
+ return params.toString();
111
+ }
112
+ // ============================================================================
57
113
  // Multipart FormData Builder
58
114
  // ============================================================================
59
115
  /**
@@ -139,8 +195,18 @@ export const makeAPI = (config) => {
139
195
  // Use schema-aware request builder for proper camelCase → wire_name mapping
140
196
  const parts = Traits.buildRequestParts(inputSchema.ast, httpTrait, input, inputSchema);
141
197
  let request = HttpClientRequest.make(method)(baseUrl + parts.path).pipe(HttpClientRequest.setHeaders(authHeaders), HttpClientRequest.setHeaders(parts.headers), HttpClientRequest.setHeader("Accept", "application/json"));
142
- // Set Content-Type based on body type (skip for FormData — browser sets boundary)
143
- if (!parts.isMultipart) {
198
+ // Set Content-Type based on body type
199
+ // - Skip for FormData (multipart) — browser sets boundary
200
+ // - Use form-urlencoded for Stripe-style APIs
201
+ // - Default to JSON
202
+ const isFormUrlEncoded = httpTrait.contentType === "form-urlencoded";
203
+ if (parts.isMultipart) {
204
+ // browser/runtime sets Content-Type with boundary
205
+ }
206
+ else if (isFormUrlEncoded) {
207
+ request = HttpClientRequest.setHeader("Content-Type", "application/x-www-form-urlencoded")(request);
208
+ }
209
+ else {
144
210
  request = HttpClientRequest.setHeader("Content-Type", "application/json")(request);
145
211
  }
146
212
  if (Object.keys(parts.query).length > 0) {
@@ -152,6 +218,11 @@ export const makeAPI = (config) => {
152
218
  const formData = buildFormData(parts.body);
153
219
  request = HttpClientRequest.setBody(HttpBody.formData(formData))(request);
154
220
  }
221
+ else if (isFormUrlEncoded) {
222
+ // Encode body as form-urlencoded with deepObject bracket notation
223
+ const encoded = buildFormUrlEncoded(parts.body);
224
+ request = HttpClientRequest.setBody(HttpBody.text(encoded, "application/x-www-form-urlencoded"))(request);
225
+ }
155
226
  else {
156
227
  request = yield* HttpClientRequest.bodyJson(parts.body)(request);
157
228
  }
package/lib/client.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/lib/errors.d.ts CHANGED
@@ -121,6 +121,20 @@ declare const InternalServerError_base: Schema.ErrorClass<InternalServerError, S
121
121
  */
122
122
  export declare class InternalServerError extends InternalServerError_base {
123
123
  }
124
+ declare const BadGateway_base: Schema.ErrorClass<BadGateway, Schema.TaggedStruct<"BadGateway", {
125
+ readonly message: Schema.String;
126
+ }>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
127
+ "@distilled.cloud/error/categories": {
128
+ ServerError: true;
129
+ };
130
+ }) & (new (...args: any[]) => {
131
+ "@distilled.cloud/error/retryable": Category.RetryableInfo;
132
+ });
133
+ /**
134
+ * BadGateway - Bad gateway (502).
135
+ */
136
+ export declare class BadGateway extends BadGateway_base {
137
+ }
124
138
  declare const ServiceUnavailable_base: Schema.ErrorClass<ServiceUnavailable, Schema.TaggedStruct<"ServiceUnavailable", {
125
139
  readonly message: Schema.String;
126
140
  }>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
@@ -135,6 +149,20 @@ declare const ServiceUnavailable_base: Schema.ErrorClass<ServiceUnavailable, Sch
135
149
  */
136
150
  export declare class ServiceUnavailable extends ServiceUnavailable_base {
137
151
  }
152
+ declare const GatewayTimeout_base: Schema.ErrorClass<GatewayTimeout, Schema.TaggedStruct<"GatewayTimeout", {
153
+ readonly message: Schema.String;
154
+ }>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
155
+ "@distilled.cloud/error/categories": {
156
+ ServerError: true;
157
+ };
158
+ }) & (new (...args: any[]) => {
159
+ "@distilled.cloud/error/retryable": Category.RetryableInfo;
160
+ });
161
+ /**
162
+ * GatewayTimeout - Gateway timeout (504).
163
+ */
164
+ export declare class GatewayTimeout extends GatewayTimeout_base {
165
+ }
138
166
  declare const ConfigError_base: Schema.ErrorClass<ConfigError, Schema.TaggedStruct<"ConfigError", {
139
167
  readonly message: Schema.String;
140
168
  }>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
@@ -160,7 +188,9 @@ export declare const HTTP_STATUS_MAP: {
160
188
  readonly 423: typeof Locked;
161
189
  readonly 429: typeof TooManyRequests;
162
190
  readonly 500: typeof InternalServerError;
191
+ readonly 502: typeof BadGateway;
163
192
  readonly 503: typeof ServiceUnavailable;
193
+ readonly 504: typeof GatewayTimeout;
164
194
  };
165
195
  /**
166
196
  * HTTP status codes that are considered "default" errors (always present).
@@ -170,12 +200,12 @@ export declare const DEFAULT_ERROR_STATUSES: Set<number>;
170
200
  /**
171
201
  * All common API error classes.
172
202
  */
173
- export declare const API_ERRORS: readonly [typeof Unauthorized, typeof Forbidden, typeof NotFound, typeof BadRequest, typeof Conflict, typeof UnprocessableEntity, typeof TooManyRequests, typeof Locked, typeof InternalServerError, typeof ServiceUnavailable];
203
+ export declare const API_ERRORS: readonly [typeof Unauthorized, typeof Forbidden, typeof NotFound, typeof BadRequest, typeof Conflict, typeof UnprocessableEntity, typeof TooManyRequests, typeof Locked, typeof InternalServerError, typeof BadGateway, typeof ServiceUnavailable, typeof GatewayTimeout];
174
204
  /**
175
205
  * Default errors that apply to ALL operations.
176
206
  * These are infrastructure-level errors that can occur regardless of the operation.
177
207
  */
178
- export declare const DEFAULT_ERRORS: readonly [typeof Unauthorized, typeof TooManyRequests, typeof InternalServerError, typeof ServiceUnavailable];
208
+ export declare const DEFAULT_ERRORS: readonly [typeof Unauthorized, typeof TooManyRequests, typeof InternalServerError, typeof BadGateway, typeof ServiceUnavailable, typeof GatewayTimeout];
179
209
  export type DefaultErrors = InstanceType<(typeof DEFAULT_ERRORS)[number]>;
180
210
  export {};
181
211
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;;;;;;;;AAM1C;;GAEG;AACH,qBAAa,YAAa,SAAQ,iBAGJ;CAAG;;;;;;;;AAEjC;;GAEG;AACH,qBAAa,SAAU,SAAQ,cAGD;CAAG;;;;;;;;AAEjC;;GAEG;AACH,qBAAa,QAAS,SAAQ,aAEK;CAAG;;;;;;;;AAEtC;;GAEG;AACH,qBAAa,UAAW,SAAQ,eAGI;CAAG;;;;;;;;AAEvC;;GAEG;AACH,qBAAa,QAAS,SAAQ,aAEK;CAAG;;;;;;;;AAEtC;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,wBAGL;CAAG;;;;;;;;;;AAEvC;;GAEG;AACH,qBAAa,eAAgB,SAAQ,oBAMpC;CAAG;;;;;;;;;;AAEJ;;GAEG;AACH,qBAAa,MAAO,SAAQ,WAE+B;CAAG;;;;;;;;;;AAE9D;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,wBAGiB;CAAG;;;;;;;;;;AAE7D;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,uBAGkB;CAAG;;;;;;;;AAE7D;;GAEG;AACH,qBAAa,WAAY,SAAQ,gBAGM;CAAG;AAM1C;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;CAWlB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,sBAAsB,aAAgC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,UAAU,iOAWb,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,cAAc,+GAKjB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;;;;;;;;AAM1C;;GAEG;AACH,qBAAa,YAAa,SAAQ,iBAGJ;CAAG;;;;;;;;AAEjC;;GAEG;AACH,qBAAa,SAAU,SAAQ,cAGD;CAAG;;;;;;;;AAEjC;;GAEG;AACH,qBAAa,QAAS,SAAQ,aAEK;CAAG;;;;;;;;AAEtC;;GAEG;AACH,qBAAa,UAAW,SAAQ,eAGI;CAAG;;;;;;;;AAEvC;;GAEG;AACH,qBAAa,QAAS,SAAQ,aAEK;CAAG;;;;;;;;AAEtC;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,wBAGL;CAAG;;;;;;;;;;AAEvC;;GAEG;AACH,qBAAa,eAAgB,SAAQ,oBAMpC;CAAG;;;;;;;;;;AAEJ;;GAEG;AACH,qBAAa,MAAO,SAAQ,WAE+B;CAAG;;;;;;;;;;AAE9D;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,wBAGiB;CAAG;;;;;;;;;;AAE7D;;GAEG;AACH,qBAAa,UAAW,SAAQ,eAG0B;CAAG;;;;;;;;;;AAE7D;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,uBAGkB;CAAG;;;;;;;;;;AAE7D;;GAEG;AACH,qBAAa,cAAe,SAAQ,mBAGsB;CAAG;;;;;;;;AAE7D;;GAEG;AACH,qBAAa,WAAY,SAAQ,gBAGM;CAAG;AAM1C;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;CAalB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,sBAAsB,aAA0C,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,UAAU,2QAab,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,cAAc,yJAOjB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC"}
package/lib/errors.js CHANGED
@@ -61,11 +61,21 @@ export class Locked extends Schema.TaggedErrorClass()("Locked", {
61
61
  */
62
62
  export class InternalServerError extends Schema.TaggedErrorClass()("InternalServerError", { message: Schema.String }).pipe(Category.withServerError, Category.withRetryable()) {
63
63
  }
64
+ /**
65
+ * BadGateway - Bad gateway (502).
66
+ */
67
+ export class BadGateway extends Schema.TaggedErrorClass()("BadGateway", { message: Schema.String }).pipe(Category.withServerError, Category.withRetryable()) {
68
+ }
64
69
  /**
65
70
  * ServiceUnavailable - Service unavailable (503).
66
71
  */
67
72
  export class ServiceUnavailable extends Schema.TaggedErrorClass()("ServiceUnavailable", { message: Schema.String }).pipe(Category.withServerError, Category.withRetryable()) {
68
73
  }
74
+ /**
75
+ * GatewayTimeout - Gateway timeout (504).
76
+ */
77
+ export class GatewayTimeout extends Schema.TaggedErrorClass()("GatewayTimeout", { message: Schema.String }).pipe(Category.withServerError, Category.withRetryable()) {
78
+ }
69
79
  /**
70
80
  * Configuration error - missing or invalid configuration.
71
81
  */
@@ -87,13 +97,15 @@ export const HTTP_STATUS_MAP = {
87
97
  423: Locked,
88
98
  429: TooManyRequests,
89
99
  500: InternalServerError,
100
+ 502: BadGateway,
90
101
  503: ServiceUnavailable,
102
+ 504: GatewayTimeout,
91
103
  };
92
104
  /**
93
105
  * HTTP status codes that are considered "default" errors (always present).
94
106
  * These are excluded from per-operation error types since they're handled globally.
95
107
  */
96
- export const DEFAULT_ERROR_STATUSES = new Set([401, 429, 500, 503]);
108
+ export const DEFAULT_ERROR_STATUSES = new Set([401, 429, 500, 502, 503, 504]);
97
109
  /**
98
110
  * All common API error classes.
99
111
  */
@@ -107,7 +119,9 @@ export const API_ERRORS = [
107
119
  TooManyRequests,
108
120
  Locked,
109
121
  InternalServerError,
122
+ BadGateway,
110
123
  ServiceUnavailable,
124
+ GatewayTimeout,
111
125
  ];
112
126
  /**
113
127
  * Default errors that apply to ALL operations.
@@ -117,6 +131,8 @@ export const DEFAULT_ERRORS = [
117
131
  Unauthorized,
118
132
  TooManyRequests,
119
133
  InternalServerError,
134
+ BadGateway,
120
135
  ServiceUnavailable,
136
+ GatewayTimeout,
121
137
  ];
122
138
  //# sourceMappingURL=errors.js.map
package/lib/errors.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.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": "0.2.0-alpha",
3
+ "version": "0.2.3",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/alchemy-run/distilled",
@@ -68,13 +68,13 @@
68
68
  "publish:npm": "bun run build && bun publish --access public"
69
69
  },
70
70
  "dependencies": {
71
- "effect": "4.0.0-beta.25"
71
+ "effect": "4.0.0-beta.30"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@types/bun": "^1.3.0",
75
75
  "@types/node": "^25.3.5"
76
76
  },
77
77
  "peerDependencies": {
78
- "effect": "4.0.0-beta.25"
78
+ "effect": "4.0.0-beta.30"
79
79
  }
80
80
  }
package/src/client.ts CHANGED
@@ -161,6 +161,76 @@ function isArrayAST(ast: AST.AST): boolean {
161
161
  return false;
162
162
  }
163
163
 
164
+ // ============================================================================
165
+ // Form URL-Encoded Builder (Stripe deepObject style)
166
+ // ============================================================================
167
+
168
+ /**
169
+ * Recursively flatten a nested object into Stripe-style bracket notation
170
+ * for application/x-www-form-urlencoded encoding.
171
+ *
172
+ * Examples:
173
+ * { amount: 2000 } -> "amount=2000"
174
+ * { shipping: { address: { city: "SF" } } } -> "shipping[address][city]=SF"
175
+ * { expand: ["data"] } -> "expand[0]=data"
176
+ * { metadata: { key: "val" } } -> "metadata[key]=val"
177
+ */
178
+ function flattenToFormPairs(
179
+ obj: Record<string, unknown>,
180
+ prefix: string = "",
181
+ ): Array<[string, string]> {
182
+ const pairs: Array<[string, string]> = [];
183
+
184
+ for (const [key, value] of Object.entries(obj)) {
185
+ if (value === undefined || value === null) continue;
186
+
187
+ const fullKey = prefix ? `${prefix}[${key}]` : key;
188
+
189
+ if (Array.isArray(value)) {
190
+ for (let i = 0; i < value.length; i++) {
191
+ const item = value[i];
192
+ if (
193
+ item !== null &&
194
+ item !== undefined &&
195
+ typeof item === "object" &&
196
+ !Array.isArray(item)
197
+ ) {
198
+ pairs.push(
199
+ ...flattenToFormPairs(
200
+ item as Record<string, unknown>,
201
+ `${fullKey}[${i}]`,
202
+ ),
203
+ );
204
+ } else if (item !== undefined && item !== null) {
205
+ pairs.push([`${fullKey}[${i}]`, String(item)]);
206
+ }
207
+ }
208
+ } else if (typeof value === "object") {
209
+ pairs.push(
210
+ ...flattenToFormPairs(value as Record<string, unknown>, fullKey),
211
+ );
212
+ } else if (typeof value === "boolean") {
213
+ pairs.push([fullKey, value ? "true" : "false"]);
214
+ } else {
215
+ pairs.push([fullKey, String(value)]);
216
+ }
217
+ }
218
+
219
+ return pairs;
220
+ }
221
+
222
+ /**
223
+ * Build a URLSearchParams from a nested object using Stripe deepObject encoding.
224
+ */
225
+ function buildFormUrlEncoded(body: Record<string, unknown>): string {
226
+ const pairs = flattenToFormPairs(body);
227
+ const params = new URLSearchParams();
228
+ for (const [key, value] of pairs) {
229
+ params.append(key, value);
230
+ }
231
+ return params.toString();
232
+ }
233
+
164
234
  // ============================================================================
165
235
  // Multipart FormData Builder
166
236
  // ============================================================================
@@ -291,8 +361,19 @@ export const makeAPI = <Creds>(config: ClientConfig<Creds>) => {
291
361
  HttpClientRequest.setHeader("Accept", "application/json"),
292
362
  );
293
363
 
294
- // Set Content-Type based on body type (skip for FormData — browser sets boundary)
295
- if (!parts.isMultipart) {
364
+ // Set Content-Type based on body type
365
+ // - Skip for FormData (multipart) — browser sets boundary
366
+ // - Use form-urlencoded for Stripe-style APIs
367
+ // - Default to JSON
368
+ const isFormUrlEncoded = httpTrait.contentType === "form-urlencoded";
369
+ if (parts.isMultipart) {
370
+ // browser/runtime sets Content-Type with boundary
371
+ } else if (isFormUrlEncoded) {
372
+ request = HttpClientRequest.setHeader(
373
+ "Content-Type",
374
+ "application/x-www-form-urlencoded",
375
+ )(request);
376
+ } else {
296
377
  request = HttpClientRequest.setHeader(
297
378
  "Content-Type",
298
379
  "application/json",
@@ -311,6 +392,14 @@ export const makeAPI = <Creds>(config: ClientConfig<Creds>) => {
311
392
  request = HttpClientRequest.setBody(HttpBody.formData(formData))(
312
393
  request,
313
394
  );
395
+ } else if (isFormUrlEncoded) {
396
+ // Encode body as form-urlencoded with deepObject bracket notation
397
+ const encoded = buildFormUrlEncoded(
398
+ parts.body as Record<string, unknown>,
399
+ );
400
+ request = HttpClientRequest.setBody(
401
+ HttpBody.text(encoded, "application/x-www-form-urlencoded"),
402
+ )(request);
314
403
  } else {
315
404
  request = yield* HttpClientRequest.bodyJson(parts.body)(request);
316
405
  }
package/src/errors.ts CHANGED
@@ -84,6 +84,14 @@ export class InternalServerError extends Schema.TaggedErrorClass<InternalServerE
84
84
  { message: Schema.String },
85
85
  ).pipe(Category.withServerError, Category.withRetryable()) {}
86
86
 
87
+ /**
88
+ * BadGateway - Bad gateway (502).
89
+ */
90
+ export class BadGateway extends Schema.TaggedErrorClass<BadGateway>()(
91
+ "BadGateway",
92
+ { message: Schema.String },
93
+ ).pipe(Category.withServerError, Category.withRetryable()) {}
94
+
87
95
  /**
88
96
  * ServiceUnavailable - Service unavailable (503).
89
97
  */
@@ -92,6 +100,14 @@ export class ServiceUnavailable extends Schema.TaggedErrorClass<ServiceUnavailab
92
100
  { message: Schema.String },
93
101
  ).pipe(Category.withServerError, Category.withRetryable()) {}
94
102
 
103
+ /**
104
+ * GatewayTimeout - Gateway timeout (504).
105
+ */
106
+ export class GatewayTimeout extends Schema.TaggedErrorClass<GatewayTimeout>()(
107
+ "GatewayTimeout",
108
+ { message: Schema.String },
109
+ ).pipe(Category.withServerError, Category.withRetryable()) {}
110
+
95
111
  /**
96
112
  * Configuration error - missing or invalid configuration.
97
113
  */
@@ -117,14 +133,16 @@ export const HTTP_STATUS_MAP = {
117
133
  423: Locked,
118
134
  429: TooManyRequests,
119
135
  500: InternalServerError,
136
+ 502: BadGateway,
120
137
  503: ServiceUnavailable,
138
+ 504: GatewayTimeout,
121
139
  } as const;
122
140
 
123
141
  /**
124
142
  * HTTP status codes that are considered "default" errors (always present).
125
143
  * These are excluded from per-operation error types since they're handled globally.
126
144
  */
127
- export const DEFAULT_ERROR_STATUSES = new Set([401, 429, 500, 503]);
145
+ export const DEFAULT_ERROR_STATUSES = new Set([401, 429, 500, 502, 503, 504]);
128
146
 
129
147
  /**
130
148
  * All common API error classes.
@@ -139,7 +157,9 @@ export const API_ERRORS = [
139
157
  TooManyRequests,
140
158
  Locked,
141
159
  InternalServerError,
160
+ BadGateway,
142
161
  ServiceUnavailable,
162
+ GatewayTimeout,
143
163
  ] as const;
144
164
 
145
165
  /**
@@ -150,7 +170,9 @@ export const DEFAULT_ERRORS = [
150
170
  Unauthorized,
151
171
  TooManyRequests,
152
172
  InternalServerError,
173
+ BadGateway,
153
174
  ServiceUnavailable,
175
+ GatewayTimeout,
154
176
  ] as const;
155
177
 
156
178
  export type DefaultErrors = InstanceType<(typeof DEFAULT_ERRORS)[number]>;