@nifrajs/client 3.1.0 → 3.2.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/jsonify.d.ts CHANGED
@@ -3,13 +3,16 @@ import type { BinaryResponse, RawResponse } from "@nifrajs/core/binary";
3
3
  * Maps a value to the shape it takes after a JSON round-trip, so the client's
4
4
  * `data` type reflects the wire - not the handler's in-memory return.
5
5
  *
6
- * - `Date` → `string`; `undefined` / functions / `bigint` → dropped from objects
6
+ * - `Date` → `string`; `undefined` / functions / `bigint` → dropped from objects (a top-level
7
+ * `undefined` remains `undefined`, which is useful for bodyless statuses such as `204`)
7
8
  * - arrays and plain objects recurse; optionality (`?`) is preserved
8
9
  *
9
10
  * Pragmatic by design: `Map`/`Set`/class instances/custom `toJSON` are treated as
10
11
  * plain objects (best-effort), not specially handled. Documented, not magic.
11
12
  */
12
- export type Jsonify<T> = [unknown] extends [T] ? unknown : T extends BinaryResponse ? Blob : T extends RawResponse<infer U> ? Jsonify<U> : T extends string | number | boolean | null ? T : T extends Date ? string : T extends bigint ? never : T extends (...args: never[]) => unknown ? never : T extends undefined ? never : T extends ReadonlyArray<infer U> ? Array<Jsonify<U>> : T extends object ? {
13
- [K in keyof T as [Jsonify<T[K]>] extends [never] ? never : K]: Jsonify<T[K]>;
13
+ type JsonifyObjectProperty<T> = T extends undefined ? never : T extends (...args: never[]) => unknown ? never : Jsonify<T>;
14
+ export type Jsonify<T> = [unknown] extends [T] ? unknown : T extends BinaryResponse ? Blob : T extends RawResponse<infer U> ? Jsonify<U> : T extends string | number | boolean | null ? T : T extends Date ? string : T extends bigint ? never : T extends (...args: never[]) => unknown ? never : T extends undefined ? undefined : T extends ReadonlyArray<infer U> ? Array<Jsonify<U>> : T extends object ? {
15
+ [K in keyof T as [JsonifyObjectProperty<T[K]>] extends [never] ? never : K]: JsonifyObjectProperty<T[K]>;
14
16
  } : never;
17
+ export {};
15
18
  //# sourceMappingURL=jsonify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsonify.d.ts","sourceRoot":"","sources":["../src/jsonify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvE;;;;;;;;;GASG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAC1C,OAAO,GAIP,CAAC,SAAS,cAAc,GACtB,IAAI,GAGJ,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC5B,OAAO,CAAC,CAAC,CAAC,GACV,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GACxC,CAAC,GACD,CAAC,SAAS,IAAI,GACZ,MAAM,GACN,CAAC,SAAS,MAAM,GACd,KAAK,GACL,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,GACrC,KAAK,GACL,CAAC,SAAS,SAAS,GACjB,KAAK,GACL,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GACjB,CAAC,SAAS,MAAM,GACd;KACG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7E,GACD,KAAK,CAAA"}
1
+ {"version":3,"file":"jsonify.d.ts","sourceRoot":"","sources":["../src/jsonify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvE;;;;;;;;;;GAUG;AACH,KAAK,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAC/C,KAAK,GACL,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,GACrC,KAAK,GACL,OAAO,CAAC,CAAC,CAAC,CAAA;AAEhB,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAC1C,OAAO,GAIP,CAAC,SAAS,cAAc,GACtB,IAAI,GAGJ,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC5B,OAAO,CAAC,CAAC,CAAC,GACV,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GACxC,CAAC,GACD,CAAC,SAAS,IAAI,GACZ,MAAM,GACN,CAAC,SAAS,MAAM,GACd,KAAK,GACL,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,GACrC,KAAK,GACL,CAAC,SAAS,SAAS,GACjB,SAAS,GACT,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GACjB,CAAC,SAAS,MAAM,GACd;KACG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC1D,KAAK,GACL,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACpC,GACD,KAAK,CAAA"}
package/dist/result.d.ts CHANGED
@@ -22,6 +22,42 @@ type DeclaredFailures<Errors extends Record<number, unknown>> = {
22
22
  readonly error: ApiError;
23
23
  };
24
24
  }[Extract<keyof Errors, number>];
25
+ type DecimalDigit = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
26
+ /** The finite success-status set keeps a declared 200/201 arm narrowable without a `number` fallback
27
+ * swallowing it. */
28
+ type SuccessStatus = {
29
+ [S in `2${DecimalDigit}${DecimalDigit}`]: S extends `${infer N extends number}` ? N : never;
30
+ }[`2${DecimalDigit}${DecimalDigit}`];
31
+ type DeclaredSuccesses<Responses> = {
32
+ [K in Extract<keyof Responses, SuccessStatus>]: {
33
+ readonly ok: true;
34
+ readonly status: K;
35
+ readonly data: Responses[K];
36
+ readonly error: null;
37
+ };
38
+ }[Extract<keyof Responses, SuccessStatus>];
39
+ type SuccessFallback<Data, Responses> = Exclude<SuccessStatus, Extract<keyof Responses, SuccessStatus>> extends never ? never : {
40
+ readonly ok: true;
41
+ readonly status: Exclude<SuccessStatus, Extract<keyof Responses, SuccessStatus>>;
42
+ readonly data: Data;
43
+ readonly error: null;
44
+ };
45
+ type SuccessResult<Data, Responses> = [Responses] extends [never] ? {
46
+ readonly ok: true;
47
+ readonly status: number;
48
+ readonly data: Data;
49
+ readonly error: null;
50
+ } : [Responses] extends [object] ? number extends keyof Responses ? {
51
+ readonly ok: true;
52
+ readonly status: number;
53
+ readonly data: Data;
54
+ readonly error: null;
55
+ } : DeclaredSuccesses<Responses> | SuccessFallback<Data, Responses> : {
56
+ readonly ok: true;
57
+ readonly status: number;
58
+ readonly data: Data;
59
+ readonly error: null;
60
+ };
25
61
  /**
26
62
  * The outcome of a client call. The client never throws - inspect `ok` to branch.
27
63
  *
@@ -32,12 +68,7 @@ type DeclaredFailures<Errors extends Record<number, unknown>> = {
32
68
  * single failure arm with `data: Errors` (`unknown`). `error` is always the server's normalized
33
69
  * `{ error, issues? }` summary on failure, `null` on success.
34
70
  */
35
- export type Result<Data, Errors = unknown> = {
36
- readonly ok: true;
37
- readonly status: number;
38
- readonly data: Data;
39
- readonly error: null;
40
- } | ([Errors] extends [Record<number, unknown>] ? DeclaredFailures<Errors> | {
71
+ export type Result<Data, Errors = unknown, Responses = unknown> = SuccessResult<Data, Responses> | ([Errors] extends [Record<number, unknown>] ? DeclaredFailures<Errors> | {
41
72
  readonly ok: false;
42
73
  readonly status: Exclude<ErrorStatus, Extract<keyof Errors, number>> | 0;
43
74
  readonly data: unknown;
@@ -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;;;;;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"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"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"}
package/dist/treaty.d.ts CHANGED
@@ -15,6 +15,11 @@ type CallOptions<I extends RouteInfo> = {
15
15
  headers?: Record<string, string>;
16
16
  signal?: AbortSignal;
17
17
  };
18
+ /** Response metadata is a status map, so an explicitly bodyless status must keep its `undefined`
19
+ * value instead of being treated like an omitted object property by the general `Jsonify` helper. */
20
+ type JsonifyResponses<T> = T extends object ? {
21
+ [K in keyof T]: Jsonify<T[K]>;
22
+ } : never;
18
23
  type IsBodyVerb<M extends string> = M extends "POST" | "PUT" | "PATCH" ? true : false;
19
24
  /**
20
25
  * A terminal method call. The shape is **verb-aware** so the runtime can read
@@ -24,7 +29,7 @@ type IsBodyVerb<M extends string> = M extends "POST" | "PUT" | "PATCH" ? true :
24
29
  * `Result` whose data is the handler's output as it arrives over the wire
25
30
  * (`Jsonify`).
26
31
  */
27
- type MethodCall<I extends RouteInfo, BodyVerb extends boolean> = BodyVerb extends true ? [I["body"]] extends [never] ? (body?: undefined, options?: CallOptions<I>) => Promise<Result<Jsonify<I["output"]>, Jsonify<I["errors"]>>> : (body: I["body"], options?: CallOptions<I>) => Promise<Result<Jsonify<I["output"]>, Jsonify<I["errors"]>>> : (options?: CallOptions<I>) => Promise<Result<Jsonify<I["output"]>, Jsonify<I["errors"]>>>;
32
+ type MethodCall<I extends RouteInfo, BodyVerb extends boolean> = BodyVerb extends true ? [I["body"]] extends [never] ? (body?: undefined, options?: CallOptions<I>) => Promise<Result<Jsonify<I["output"]>, Jsonify<I["errors"]>, JsonifyResponses<I["responses"]>>> : (body: I["body"], options?: CallOptions<I>) => Promise<Result<Jsonify<I["output"]>, Jsonify<I["errors"]>, JsonifyResponses<I["responses"]>>> : (options?: CallOptions<I>) => Promise<Result<Jsonify<I["output"]>, Jsonify<I["errors"]>, JsonifyResponses<I["responses"]>>>;
28
33
  /** The SSE event payload of a route (from `app.sse()`'s `sse` schema); `never` for ordinary routes. */
29
34
  type SseOf<I> = I extends {
30
35
  sse: infer E;
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nifrajs/client",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "description": "Browser-safe, end-to-end-typed client for @nifrajs/core servers (Eden-style proxy).",
5
5
  "keywords": [
6
6
  "bun",
@@ -39,7 +39,7 @@
39
39
  "access": "public"
40
40
  },
41
41
  "peerDependencies": {
42
- "@nifrajs/core": "^3.1.0"
42
+ "@nifrajs/core": "^3.2.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@nifrajs/core": "workspace:*",
package/src/jsonify.ts CHANGED
@@ -4,12 +4,19 @@ import type { BinaryResponse, RawResponse } from "@nifrajs/core/binary"
4
4
  * Maps a value to the shape it takes after a JSON round-trip, so the client's
5
5
  * `data` type reflects the wire - not the handler's in-memory return.
6
6
  *
7
- * - `Date` → `string`; `undefined` / functions / `bigint` → dropped from objects
7
+ * - `Date` → `string`; `undefined` / functions / `bigint` → dropped from objects (a top-level
8
+ * `undefined` remains `undefined`, which is useful for bodyless statuses such as `204`)
8
9
  * - arrays and plain objects recurse; optionality (`?`) is preserved
9
10
  *
10
11
  * Pragmatic by design: `Map`/`Set`/class instances/custom `toJSON` are treated as
11
12
  * plain objects (best-effort), not specially handled. Documented, not magic.
12
13
  */
14
+ type JsonifyObjectProperty<T> = T extends undefined
15
+ ? never
16
+ : T extends (...args: never[]) => unknown
17
+ ? never
18
+ : Jsonify<T>
19
+
13
20
  export type Jsonify<T> = [unknown] extends [T]
14
21
  ? unknown // `unknown`/`any` (e.g. a route with no response schema) stays opaque
15
22
  : // A route that declared itself binary with `bytes()`. Checked FIRST, before the object arm below
@@ -30,11 +37,13 @@ export type Jsonify<T> = [unknown] extends [T]
30
37
  : T extends (...args: never[]) => unknown
31
38
  ? never
32
39
  : T extends undefined
33
- ? never
40
+ ? undefined
34
41
  : T extends ReadonlyArray<infer U>
35
42
  ? Array<Jsonify<U>>
36
43
  : T extends object
37
44
  ? {
38
- [K in keyof T as [Jsonify<T[K]>] extends [never] ? never : K]: Jsonify<T[K]>
45
+ [K in keyof T as [JsonifyObjectProperty<T[K]>] extends [never]
46
+ ? never
47
+ : K]: JsonifyObjectProperty<T[K]>
39
48
  }
40
49
  : never
package/src/result.ts CHANGED
@@ -74,6 +74,40 @@ type DeclaredFailures<Errors extends Record<number, unknown>> = {
74
74
  }
75
75
  }[Extract<keyof Errors, number>]
76
76
 
77
+ type DecimalDigit = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
78
+ /** The finite success-status set keeps a declared 200/201 arm narrowable without a `number` fallback
79
+ * swallowing it. */
80
+ type SuccessStatus = {
81
+ [S in `2${DecimalDigit}${DecimalDigit}`]: S extends `${infer N extends number}` ? N : never
82
+ }[`2${DecimalDigit}${DecimalDigit}`]
83
+
84
+ type DeclaredSuccesses<Responses> = {
85
+ [K in Extract<keyof Responses, SuccessStatus>]: {
86
+ readonly ok: true
87
+ readonly status: K
88
+ readonly data: Responses[K]
89
+ readonly error: null
90
+ }
91
+ }[Extract<keyof Responses, SuccessStatus>]
92
+
93
+ type SuccessFallback<Data, Responses> =
94
+ Exclude<SuccessStatus, Extract<keyof Responses, SuccessStatus>> extends never
95
+ ? never
96
+ : {
97
+ readonly ok: true
98
+ readonly status: Exclude<SuccessStatus, Extract<keyof Responses, SuccessStatus>>
99
+ readonly data: Data
100
+ readonly error: null
101
+ }
102
+
103
+ type SuccessResult<Data, Responses> = [Responses] extends [never]
104
+ ? { readonly ok: true; readonly status: number; readonly data: Data; readonly error: null }
105
+ : [Responses] extends [object]
106
+ ? number extends keyof Responses
107
+ ? { readonly ok: true; readonly status: number; readonly data: Data; readonly error: null }
108
+ : DeclaredSuccesses<Responses> | SuccessFallback<Data, Responses>
109
+ : { readonly ok: true; readonly status: number; readonly data: Data; readonly error: null }
110
+
77
111
  /**
78
112
  * The outcome of a client call. The client never throws - inspect `ok` to branch.
79
113
  *
@@ -84,8 +118,8 @@ type DeclaredFailures<Errors extends Record<number, unknown>> = {
84
118
  * single failure arm with `data: Errors` (`unknown`). `error` is always the server's normalized
85
119
  * `{ error, issues? }` summary on failure, `null` on success.
86
120
  */
87
- export type Result<Data, Errors = unknown> =
88
- | { readonly ok: true; readonly status: number; readonly data: Data; readonly error: null }
121
+ export type Result<Data, Errors = unknown, Responses = unknown> =
122
+ | SuccessResult<Data, Responses>
89
123
  | ([Errors] extends [Record<number, unknown>]
90
124
  ?
91
125
  | DeclaredFailures<Errors>
package/src/treaty.ts CHANGED
@@ -22,6 +22,10 @@ type CallOptions<I extends RouteInfo> = {
22
22
  signal?: AbortSignal
23
23
  }
24
24
 
25
+ /** Response metadata is a status map, so an explicitly bodyless status must keep its `undefined`
26
+ * value instead of being treated like an omitted object property by the general `Jsonify` helper. */
27
+ type JsonifyResponses<T> = T extends object ? { [K in keyof T]: Jsonify<T[K]> } : never
28
+
25
29
  type IsBodyVerb<M extends string> = M extends "POST" | "PUT" | "PATCH" ? true : false
26
30
 
27
31
  /**
@@ -37,12 +41,20 @@ type MethodCall<I extends RouteInfo, BodyVerb extends boolean> = BodyVerb extend
37
41
  ? (
38
42
  body?: undefined,
39
43
  options?: CallOptions<I>,
40
- ) => Promise<Result<Jsonify<I["output"]>, Jsonify<I["errors"]>>>
44
+ ) => Promise<
45
+ Result<Jsonify<I["output"]>, Jsonify<I["errors"]>, JsonifyResponses<I["responses"]>>
46
+ >
41
47
  : (
42
48
  body: I["body"],
43
49
  options?: CallOptions<I>,
44
- ) => Promise<Result<Jsonify<I["output"]>, Jsonify<I["errors"]>>>
45
- : (options?: CallOptions<I>) => Promise<Result<Jsonify<I["output"]>, Jsonify<I["errors"]>>>
50
+ ) => Promise<
51
+ Result<Jsonify<I["output"]>, Jsonify<I["errors"]>, JsonifyResponses<I["responses"]>>
52
+ >
53
+ : (
54
+ options?: CallOptions<I>,
55
+ ) => Promise<
56
+ Result<Jsonify<I["output"]>, Jsonify<I["errors"]>, JsonifyResponses<I["responses"]>>
57
+ >
46
58
 
47
59
  // --- typed SSE subscriptions ---
48
60