@nifrajs/client 1.13.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.ts CHANGED
@@ -1,19 +1,73 @@
1
- import type { ContractShape, RegistryFor } from "@nifrajs/core";
1
+ import type { ContractShape, RegistryFor } from "@nifrajs/core/contract";
2
2
  import { type BackendMount } from "@nifrajs/core/mount";
3
+ import { type TransportCodec, type TransportCodecRegistry } from "@nifrajs/core/transport-codec";
3
4
  import type { Treaty, TreatyFromRegistry } from "./treaty.js";
4
5
  /**
5
6
  * The fetch shape the client needs — looser than `typeof fetch` so an in-process bridge or a
6
7
  * test mock satisfies it without the extra members (`.preconnect`, overloads) of the global.
7
8
  */
8
9
  export type FetchFn = (input: string, init?: RequestInit) => Promise<Response>;
10
+ type MaybePromise<T> = T | Promise<T>;
11
+ /** Safe retry policy. Off unless `retry` is set; retries ONLY idempotent methods and transient 5xx —
12
+ * never a 4xx/429 and never a non-idempotent method, so a retry can't double a side effect. */
13
+ export interface ClientRetryOptions {
14
+ /** Max RETRIES after the first attempt. Default 2. */
15
+ readonly attempts?: number;
16
+ /** Response statuses to retry. Default `[502, 503, 504]`. 4xx/429 are never added by default. */
17
+ readonly on?: readonly number[];
18
+ /** Methods eligible for retry. Default the idempotent set `GET/HEAD/OPTIONS/PUT/DELETE`. */
19
+ readonly methods?: readonly string[];
20
+ /** Delay (ms) before retry `n` (1-based). Default exponential backoff with jitter, capped at 3s. */
21
+ readonly backoff?: (attempt: number) => number;
22
+ }
9
23
  export interface ClientOptions {
10
24
  /** Headers sent on every request (a per-call `headers` option is merged on top). */
11
25
  readonly headers?: Record<string, string>;
12
26
  /** Override the `fetch` implementation (tests, an in-process bridge, a custom agent, etc.). */
13
27
  readonly fetch?: FetchFn;
28
+ /**
29
+ * Runs before each request (including each retry). Return a header map to MERGE onto the outgoing
30
+ * request — the place to inject a fresh auth token. `await`ed, so async token refresh works.
31
+ */
32
+ readonly onRequest?: (request: {
33
+ readonly url: string;
34
+ readonly method: string;
35
+ readonly headers: Record<string, string>;
36
+ readonly body: unknown;
37
+ }) => MaybePromise<Record<string, string> | undefined>;
38
+ /** Runs after a response arrives (once per call, on the final response). Observe-only. */
39
+ readonly onResponse?: (response: {
40
+ readonly url: string;
41
+ readonly method: string;
42
+ readonly response: Response;
43
+ }) => MaybePromise<void>;
44
+ /** Abort a call that takes longer than this many ms. Surfaces as `{ ok: false, status: 0 }` with a
45
+ * `timeout` error, never a throw. Combined with a per-call `signal`. */
46
+ readonly timeoutMs?: number;
47
+ /** Enable safe automatic retries. See {@link ClientRetryOptions}. */
48
+ readonly retry?: ClientRetryOptions;
49
+ /**
50
+ * Opt into a versioned transport representation. Plain JSON remains the default. Responses are
51
+ * decoded through the bounded registry, and WebSocket frames use the same codec.
52
+ */
53
+ readonly transport?: {
54
+ readonly codec: TransportCodec;
55
+ readonly registry?: TransportCodecRegistry;
56
+ readonly maxBytes?: number;
57
+ };
14
58
  }
15
59
  /** Typed route client plus the explicit platform-aware backend mount capability. */
16
60
  export type InProcessClient<App> = Treaty<App> & BackendMount;
61
+ export interface InProcessClientOptions extends Omit<ClientOptions, "fetch"> {
62
+ /**
63
+ * Assert every JSON response against the route's declared contract — `schema.response` for 2xx,
64
+ * `schema.errors[status]` for declared failures — and THROW on mismatch, so a handler whose real
65
+ * output drifts from its schema fails the test instead of passing silently. Statuses with no
66
+ * declared schema, non-JSON bodies, and 204/205/HEAD pass through unchecked. Test-focused: the
67
+ * check parses a clone of each JSON body, a cost that belongs in tests, not production hot paths.
68
+ */
69
+ readonly validateResponses?: boolean;
70
+ }
17
71
  /**
18
72
  * Create an end-to-end-typed client for a nifra server. Two modes:
19
73
  *
@@ -39,12 +93,11 @@ export declare function client<const C extends ContractShape>(contract: C, baseU
39
93
  *
40
94
  * The returned proxy also implements the explicit symbol-keyed {@link BackendMount} interface, so
41
95
  * `createWebApp({ api: inProcessClient(backend) })` can auto-mount the backend while forwarding the
42
- * outer runtime's `env` and `waitUntil`. The released `.fetch(url, init)` bridge remains available as
43
- * a compatibility surface for custom integrations, but the platform-aware mount never relies on it.
96
+ * outer runtime's `env` and `waitUntil`.
44
97
  */
45
98
  export declare function inProcessClient<App extends {
46
99
  fetch(request: Request): Response | Promise<Response>;
47
- }>(app: App, options?: Omit<ClientOptions, "fetch">): InProcessClient<App>;
100
+ }>(app: App, options?: InProcessClientOptions): InProcessClient<App>;
48
101
  /**
49
102
  * The in-process test client — the Fastify-`inject` / supertest equivalent for nifra. Drives the
50
103
  * app's own `fetch` directly: no server, no port, no network, the full real lifecycle (validation,
@@ -61,4 +114,5 @@ export declare function inProcessClient<App extends {
61
114
  * ```
62
115
  */
63
116
  export declare const testClient: typeof inProcessClient;
117
+ export {};
64
118
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAgB,MAAM,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAa3E;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAE9E,MAAM,WAAW,aAAa;IAC5B,oFAAoF;IACpF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,+FAA+F;IAC/F,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,oFAAoF;AACpF,MAAM,MAAM,eAAe,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAA;AAQ7D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;AAClF,wBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,aAAa,EAClD,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,aAAa,GACtB,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;AAerC;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,GAAG,SAAS;IAAE,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAAE,EACrE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAiBxE;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,UAAU,wBAAkB,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -1,4 +1,7 @@
1
1
  import { NIFRA_BACKEND_MOUNT, } from "@nifrajs/core/mount";
2
+ import { createTransportCodecRegistry, decodeTransportResponse, plainJsonCodec, } from "@nifrajs/core/transport-codec";
3
+ import { ResponseContractViolation, withResponseValidation } from "./validate-responses.js";
4
+ import { NO_SOCKET, openWebSocket } from "./ws.js";
2
5
  const HTTP_VERBS = new Set([
3
6
  "get",
4
7
  "post",
@@ -9,6 +12,30 @@ const HTTP_VERBS = new Set([
9
12
  "options",
10
13
  ]);
11
14
  const BODY_VERBS = new Set(["post", "put", "patch"]);
15
+ const DEFAULT_RETRY_STATUSES = [502, 503, 504];
16
+ const IDEMPOTENT_METHODS = ["GET", "HEAD", "OPTIONS", "PUT", "DELETE"];
17
+ function defaultBackoff(attempt) {
18
+ return Math.min(300 * 2 ** (attempt - 1), 3000) + Math.random() * 100;
19
+ }
20
+ function delay(ms) {
21
+ return new Promise((resolve) => {
22
+ setTimeout(resolve, ms);
23
+ });
24
+ }
25
+ /** Combine a per-call signal with a timeout into one signal; also returns the timeout signal so the
26
+ * caller can tell a timeout abort from a caller abort. */
27
+ function buildSignal(userSignal, timeoutMs) {
28
+ const timeout = timeoutMs !== undefined && typeof AbortSignal.timeout === "function"
29
+ ? AbortSignal.timeout(timeoutMs)
30
+ : undefined;
31
+ const parts = [userSignal, timeout].filter((s) => s !== undefined);
32
+ if (parts.length === 0)
33
+ return {};
34
+ if (parts.length === 1)
35
+ return { signal: parts[0], timeout };
36
+ const signal = typeof AbortSignal.any === "function" ? AbortSignal.any(parts) : parts[0];
37
+ return { signal, timeout };
38
+ }
12
39
  export function client(arg1, arg2, arg3) {
13
40
  const baseUrl = typeof arg1 === "string" ? arg1 : arg2;
14
41
  const options = (typeof arg1 === "string" ? arg2 : arg3) ?? {};
@@ -26,24 +53,28 @@ export function client(arg1, arg2, arg3) {
26
53
  *
27
54
  * The returned proxy also implements the explicit symbol-keyed {@link BackendMount} interface, so
28
55
  * `createWebApp({ api: inProcessClient(backend) })` can auto-mount the backend while forwarding the
29
- * outer runtime's `env` and `waitUntil`. The released `.fetch(url, init)` bridge remains available as
30
- * a compatibility surface for custom integrations, but the platform-aware mount never relies on it.
56
+ * outer runtime's `env` and `waitUntil`.
31
57
  */
32
58
  export function inProcessClient(app, options) {
33
59
  // The in-process bridge: the client speaks `fetch(url, init)` (the `FetchFn` shape) while the app's
34
- // own `fetch` takes a `Request`. Kept as the proxy's per-call transport and the released legacy
35
- // `.fetch` mount bridge; the symbol-keyed mount below is the platform-aware path.
36
- const bridge = (url, init) => Promise.resolve(app.fetch(new Request(url, init)));
60
+ // own `fetch` takes a `Request`. It is the proxy's per-call transport; the symbol-keyed mount below
61
+ // is the platform-aware auto-mount path.
62
+ const direct = (url, init) => Promise.resolve(app.fetch(new Request(url, init)));
63
+ const bridge = options?.validateResponses === true ? withResponseValidation(app, direct) : direct;
37
64
  const mount = (request, platform) => Promise.resolve(app.fetch(request, platform));
38
- const proxy = client("http://nifra.internal", { ...options, fetch: bridge });
39
- // An outer Proxy intercepts only the explicit mount symbol and legacy `fetch` key, delegating every
40
- // typed route segment unchanged (`api.users({ id }).get()`).
65
+ // NO_SOCKET marks the options so a typed `.ws()` call fails with a real explanation — an
66
+ // in-process app has no socket to upgrade — instead of dialing ws://nifra.internal into the void.
67
+ const proxy = client("http://nifra.internal", {
68
+ ...options,
69
+ fetch: bridge,
70
+ [NO_SOCKET]: true,
71
+ });
72
+ // An outer Proxy intercepts only the explicit mount symbol, delegating every typed route segment
73
+ // unchanged (`api.users({ id }).get()`).
41
74
  return new Proxy(proxy, {
42
75
  get(targetProxy, key, receiver) {
43
76
  if (key === NIFRA_BACKEND_MOUNT)
44
77
  return mount;
45
- if (key === "fetch")
46
- return bridge;
47
78
  return Reflect.get(targetProxy, key, receiver);
48
79
  },
49
80
  });
@@ -80,6 +111,14 @@ function createProxy(base, path, options) {
80
111
  if (key === "subscribe") {
81
112
  return (onEvent, subscribeOptions) => subscribeSse(base, path, onEvent, subscribeOptions, options);
82
113
  }
114
+ // Typed WebSocket handle for `app.ws()` routes — `ws` is a reserved proxy key like `subscribe`.
115
+ if (key === "ws") {
116
+ return (wsOptions) => openWebSocket(base, path, {
117
+ headers: options.headers,
118
+ ...wsOptions,
119
+ ...(options.transport === undefined ? {} : { transport: options.transport }),
120
+ }, NO_SOCKET in options);
121
+ }
83
122
  // `index` addresses the root path "/" and adds no segment.
84
123
  return createProxy(base, key === "index" ? path : `${path}/${key}`, options);
85
124
  },
@@ -108,23 +147,62 @@ async function execute(base, path, verb, args, options) {
108
147
  const query = callOptions?.query ? buildQuery(callOptions.query) : "";
109
148
  if (query !== "")
110
149
  url += `?${query}`;
150
+ const method = verb.toUpperCase();
111
151
  const headers = { ...options.headers, ...callOptions?.headers };
112
- const init = { method: verb.toUpperCase(), headers };
152
+ if (options.onRequest !== undefined) {
153
+ const extra = await options.onRequest({ url, method, headers, body });
154
+ if (extra !== undefined)
155
+ Object.assign(headers, extra);
156
+ }
157
+ const init = { method, headers };
113
158
  if (body !== undefined) {
114
- init.body = JSON.stringify(body);
115
- headers["content-type"] = "application/json";
159
+ const codec = options.transport?.codec ?? plainJsonCodec;
160
+ init.body = codec.encode(body);
161
+ headers["content-type"] = codec.mediaType;
162
+ if (options.transport !== undefined)
163
+ headers.accept ??= codec.mediaType;
116
164
  }
117
- if (callOptions?.signal)
118
- init.signal = callOptions.signal;
165
+ const { signal, timeout } = buildSignal(callOptions?.signal, options.timeoutMs);
166
+ if (signal !== undefined)
167
+ init.signal = signal;
168
+ // Safe retry: only when configured, only for idempotent methods + transient statuses, so a retry
169
+ // can never duplicate a side effect (a POST is never retried unless the app opts its method in).
170
+ const retry = options.retry;
171
+ const maxRetries = retry === undefined ? 0 : (retry.attempts ?? 2);
172
+ const retryStatuses = new Set(retry?.on ?? DEFAULT_RETRY_STATUSES);
173
+ const retryMethods = new Set((retry?.methods ?? IDEMPOTENT_METHODS).map((m) => m.toUpperCase()));
174
+ const methodRetryable = retryMethods.has(method);
175
+ const backoff = retry?.backoff ?? defaultBackoff;
119
176
  const doFetch = options.fetch ?? fetch;
120
177
  let response;
121
- try {
122
- response = await doFetch(url, init);
123
- }
124
- catch {
125
- return { ok: false, status: 0, data: null, error: { error: "network_error" } };
178
+ let attempt = 0;
179
+ for (;;) {
180
+ try {
181
+ response = await doFetch(url, init);
182
+ }
183
+ catch (error) {
184
+ // A contract violation is a test assertion (validateResponses), not a call outcome — let it
185
+ // fail the test instead of degrading into a `Result` the test would happily branch on.
186
+ if (error instanceof ResponseContractViolation)
187
+ throw error;
188
+ if (methodRetryable && attempt < maxRetries) {
189
+ attempt += 1;
190
+ await delay(backoff(attempt));
191
+ continue;
192
+ }
193
+ const code = timeout?.aborted === true ? "timeout" : "network_error";
194
+ return { ok: false, status: 0, data: null, error: { error: code } };
195
+ }
196
+ if (methodRetryable && attempt < maxRetries && retryStatuses.has(response.status)) {
197
+ attempt += 1;
198
+ await delay(backoff(attempt));
199
+ continue;
200
+ }
201
+ break;
126
202
  }
127
- const data = await parseBody(response);
203
+ if (options.onResponse !== undefined)
204
+ await options.onResponse({ url, method, response });
205
+ const data = await parseBody(response, options);
128
206
  if (response.ok) {
129
207
  return { ok: true, status: response.status, data, error: null };
130
208
  }
@@ -310,9 +388,26 @@ function buildQuery(query) {
310
388
  }
311
389
  return params.toString();
312
390
  }
313
- async function parseBody(response) {
391
+ function transportRegistry(options) {
392
+ if (options.transport?.registry !== undefined)
393
+ return options.transport.registry;
394
+ const codec = options.transport?.codec;
395
+ return codec === undefined || codec === plainJsonCodec
396
+ ? createTransportCodecRegistry([plainJsonCodec])
397
+ : createTransportCodecRegistry([plainJsonCodec, codec]);
398
+ }
399
+ async function parseBody(response, options) {
314
400
  if (response.status === 204)
315
401
  return undefined;
402
+ const contentType = response.headers.get("content-type")?.toLowerCase() ?? "";
403
+ if (contentType.startsWith("application/json") ||
404
+ contentType.startsWith("application/vnd.nifra.")) {
405
+ return await decodeTransportResponse(response, transportRegistry(options), {
406
+ ...(options.transport?.maxBytes === undefined
407
+ ? {}
408
+ : { maxBytes: options.transport.maxBytes }),
409
+ });
410
+ }
316
411
  const text = await response.text();
317
412
  if (text === "")
318
413
  return undefined;
@@ -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/dist/index.d.ts CHANGED
@@ -4,9 +4,10 @@
4
4
  * `client<typeof app>(url)` returns an Eden-style proxy whose calls are typed
5
5
  * from the server's accumulated route registry, with zero codegen.
6
6
  */
7
- export { type ClientOptions, client, type FetchFn, type InProcessClient, inProcessClient, testClient, } from "./client.js";
7
+ export { type ClientOptions, type ClientRetryOptions, client, type FetchFn, type InProcessClient, type InProcessClientOptions, inProcessClient, testClient, } from "./client.js";
8
8
  export type { Jsonify } from "./jsonify.js";
9
9
  export type { ApiError, Result } from "./result.js";
10
10
  export type { ActionArgs, ActionData, ApiProxy, LoaderArgs, LoaderData } from "./routes.js";
11
- export type { RegistryOf, SubscribeOptions, Subscription, Treaty, TreatyFromRegistry, } from "./treaty.js";
11
+ export type { RegistryOf, SubscribeOptions, Subscription, Treaty, TreatyFromRegistry, WsCallOptions, WsHandle, } from "./treaty.js";
12
+ export { ResponseContractViolation } from "./validate-responses.js";
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,KAAK,aAAa,EAClB,MAAM,EACN,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,eAAe,EACf,UAAU,GACX,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACnD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC3F,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,kBAAkB,GACnB,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,MAAM,EACN,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,eAAe,EACf,UAAU,GACX,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACnD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC3F,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,kBAAkB,EAClB,aAAa,EACb,QAAQ,GACT,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA"}
package/dist/index.js CHANGED
@@ -5,4 +5,5 @@
5
5
  * from the server's accumulated route registry, with zero codegen.
6
6
  */
7
7
  export { client, inProcessClient, testClient, } from "./client.js";
8
+ export { ResponseContractViolation } from "./validate-responses.js";
8
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAEL,MAAM,EAGN,eAAe,EACf,UAAU,GACX,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAGL,MAAM,EAIN,eAAe,EACf,UAAU,GACX,MAAM,aAAa,CAAA;AAapB,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA"}
package/dist/result.d.ts CHANGED
@@ -7,22 +7,46 @@ export interface ApiError {
7
7
  }>;
8
8
  }
9
9
  /**
10
- * The outcome of a client call. The client never throws — inspect `ok` to branch.
11
- * `data` is the parsed response body, **typed by `ok`**: on success it's the route's
12
- * response type; on failure it's the parsed error body, typed from the route's
13
- * `errors` contract (`unknown` when the route declares none, `null` on a transport
14
- * error with no response body). `error` is always the server's normalized
15
- * `{ error, issues? }` summary on failure (or a transport error), `null` on success.
10
+ * The failure statuses a call can carry (the IANA registry's 3xx/4xx/5xx set). Finite on purpose:
11
+ * the undeclared-status fallback arm of {@link Result} is `Exclude<ErrorStatus, declared>` - with a
12
+ * bare `number` there instead, `status === 404` could not narrow `data` to the declared 404 body,
13
+ * because 404 would still inhabit the fallback arm.
16
14
  */
17
- export type Result<Data, ErrData = unknown> = {
15
+ export type ErrorStatus = 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511;
16
+ /** One failure arm per declared error status: `status` is the literal, `data` its declared body. */
17
+ type DeclaredFailures<Errors extends Record<number, unknown>> = {
18
+ [K in Extract<keyof Errors, number>]: {
19
+ readonly ok: false;
20
+ readonly status: K;
21
+ readonly data: Errors[K];
22
+ readonly error: ApiError;
23
+ };
24
+ }[Extract<keyof Errors, number>];
25
+ /**
26
+ * The outcome of a client call. The client never throws - inspect `ok` to branch.
27
+ *
28
+ * On success, `data` is the route's response type. On failure the union is DISCRIMINATED BY
29
+ * `status` when the route declares an `errors` record: `status === 404` narrows `data` to the
30
+ * declared 404 body; every undeclared status (plus `0` for a transport error with no response)
31
+ * falls into a fallback arm whose `data` is `unknown`. A route with no `errors` contract keeps a
32
+ * single failure arm with `data: Errors` (`unknown`). `error` is always the server's normalized
33
+ * `{ error, issues? }` summary on failure, `null` on success.
34
+ */
35
+ export type Result<Data, Errors = unknown> = {
18
36
  readonly ok: true;
19
37
  readonly status: number;
20
38
  readonly data: Data;
21
39
  readonly error: null;
22
- } | {
40
+ } | ([Errors] extends [Record<number, unknown>] ? DeclaredFailures<Errors> | {
41
+ readonly ok: false;
42
+ readonly status: Exclude<ErrorStatus, Extract<keyof Errors, number>> | 0;
43
+ readonly data: unknown;
44
+ readonly error: ApiError;
45
+ } : {
23
46
  readonly ok: false;
24
47
  readonly status: number;
25
- readonly data: ErrData;
48
+ readonly data: Errors;
26
49
  readonly error: ApiError;
27
- };
50
+ });
51
+ export {};
28
52
  //# sourceMappingURL=result.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;QAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KACtC,CAAC,CAAA;CACH;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,IACtC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACzF;IACE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAA;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CACzB,CAAA"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;QAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KACtC,CAAC,CAAA;CACH;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,CAAA;AAEP,oGAAoG;AACpG,KAAK,gBAAgB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KAC7D,CAAC,IAAI,OAAO,CAAC,MAAM,MAAM,EAAE,MAAM,CAAC,GAAG;QACpC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAA;QAClB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;QACxB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;KACzB;CACF,CAAC,OAAO,CAAC,MAAM,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAEhC;;;;;;;;;GASG;AACH,MAAM,MAAM,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,IACrC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACzF,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAEnC,gBAAgB,CAAC,MAAM,CAAC,GACxB;IACE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAA;IAClB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAA;IACxE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CACzB,GACL;IACE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAA;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CACzB,CAAC,CAAA"}
package/dist/routes.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ContractShape, RegistryFor } from "@nifrajs/core";
1
+ import type { ContractShape, RegistryFor } from "@nifrajs/core/contract";
2
2
  import type { Treaty, TreatyFromRegistry } from "./treaty.js";
3
3
  /**
4
4
  * The typed client proxy for an API type — either a server type (`typeof app`, coupled) or a
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAE7D;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,GAAG,IAAI,GAAG,SAAS,aAAa,GACjD,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GACpC,MAAM,CAAC,GAAG,CAAC,CAAA;AAEf;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB;qFACiF;IACjF,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB;8GAC0G;IAC1G,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB;AAED,qFAAqF;AACrF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AAExF;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,GAC/D,OAAO,CAAC,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;CAAE,GAC1F,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,GACpB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAC/B,KAAK,CAAA"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAE7D;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,GAAG,IAAI,GAAG,SAAS,aAAa,GACjD,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GACpC,MAAM,CAAC,GAAG,CAAC,CAAA;AAEf;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB;qFACiF;IACjF,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB;8GAC0G;IAC1G,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB;AAED,qFAAqF;AACrF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AAExF;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,GAC/D,OAAO,CAAC,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;CAAE,GAC1F,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,GACpB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAC/B,KAAK,CAAA"}
package/dist/treaty.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { RouteInfo, Server } from "@nifrajs/core";
1
+ import type { RouteInfo, Server } from "@nifrajs/core/server";
2
2
  import type { Jsonify } from "./jsonify.js";
3
3
  import type { Result } from "./result.js";
4
4
  /** Extract the accumulated route registry from a server's type (`typeof app`), ignoring its middleware context. */
@@ -60,9 +60,54 @@ type SseMethods<MethodMap> = MethodMap extends {
60
60
  } ? [SseOf<G>] extends [never] ? unknown : {
61
61
  subscribe: SubscribeCall<G & RouteInfo>;
62
62
  } : unknown;
63
+ /** The WS frame contract of a route (from `app.ws()`'s schemas); `never` for ordinary routes. */
64
+ type WsOf<I> = I extends {
65
+ ws: infer W extends {
66
+ in: unknown;
67
+ out: unknown;
68
+ };
69
+ } ? W : never;
70
+ export interface WsCallOptions {
71
+ query?: Record<string, string | number | boolean>;
72
+ /** WebSocket subprotocols. A browser handshake cannot carry custom headers - authenticate via
73
+ * `upgrade()` reading cookies/query/subprotocol, not an Authorization header. */
74
+ protocols?: string | string[];
75
+ /** Abort to close the socket (same effect as calling `close()`). */
76
+ signal?: AbortSignal;
77
+ /** Socket-level failures (connection refused, abnormal close). */
78
+ onError?: (error: unknown) => void;
79
+ }
80
+ /**
81
+ * A live typed WebSocket connection to an `app.ws()` route. `send` accepts the route's
82
+ * `messageSchema` input type (validated server-side at the trust boundary); received frames are
83
+ * typed from its `sendSchema` and JSON-parsed. Binary frames are not part of the typed contract
84
+ * and are ignored by `messages()`/`onMessage` - use `raw` for them.
85
+ */
86
+ export interface WsHandle<In, Out> {
87
+ /** Send one typed frame (JSON-encoded). Queued until the socket opens, so it never throws. */
88
+ send(message: In): void;
89
+ /** Async-iterate incoming typed frames. Ends when the socket closes (or `signal` aborts). */
90
+ messages(options?: {
91
+ signal?: AbortSignal;
92
+ }): AsyncIterableIterator<Out>;
93
+ /** Callback form of {@link messages}; returns an unsubscribe. */
94
+ onMessage(callback: (message: Out) => void): () => void;
95
+ /** Resolves when the socket is open (rejects on a connect failure). */
96
+ readonly opened: Promise<void>;
97
+ close(code?: number, reason?: string): void;
98
+ /** The underlying socket, for anything off the typed contract (binary frames, bufferedAmount…). */
99
+ readonly raw: WebSocket;
100
+ }
101
+ type WsCall<I extends RouteInfo> = (options?: WsCallOptions) => WsHandle<WsOf<I>["in"], Jsonify<WsOf<I>["out"]>>;
102
+ /** Routes declared via `app.ws()` (pseudo-method `"WS"`) grow a `.ws()` handle. */
103
+ type WsMethods<MethodMap> = MethodMap extends {
104
+ WS: infer G;
105
+ } ? [WsOf<G>] extends [never] ? unknown : {
106
+ ws: WsCall<G & RouteInfo>;
107
+ } : unknown;
63
108
  type Methods<MethodMap> = {
64
- [M in keyof MethodMap as Lowercase<M & string>]: MethodCall<MethodMap[M] & RouteInfo, IsBodyVerb<M & string>>;
65
- } & SseMethods<MethodMap>;
109
+ [M in Exclude<keyof MethodMap, "WS"> as Lowercase<M & string>]: MethodCall<MethodMap[M] & RouteInfo, IsBodyVerb<M & string>>;
110
+ } & SseMethods<MethodMap> & WsMethods<MethodMap>;
66
111
  type Sub<R, Prefix extends string> = Extract<keyof R, `${Prefix}/${string}`>;
67
112
  type NextSeg<Prefix extends string, Path extends string> = Path extends `${Prefix}/${infer Seg}/${string}` ? Seg : Path extends `${Prefix}/${infer Seg}` ? Seg : never;
68
113
  type NextSegs<R, Prefix extends string> = {
@@ -1 +1 @@
1
- {"version":3,"file":"treaty.d.ts","sourceRoot":"","sources":["../src/treaty.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"treaty.d.ts","sourceRoot":"","sources":["../src/treaty.ts"],"names":[],"mappings":"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"}