@orpc/server 1.14.9 → 1.14.11

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.
Files changed (78) hide show
  1. package/README.md +52 -98
  2. package/dist/adapters/crossws/index.d.mts +45 -21
  3. package/dist/adapters/crossws/index.d.ts +45 -21
  4. package/dist/adapters/crossws/index.mjs +40 -18
  5. package/dist/adapters/fetch/index.d.mts +64 -96
  6. package/dist/adapters/fetch/index.d.ts +64 -96
  7. package/dist/adapters/fetch/index.mjs +34 -139
  8. package/dist/adapters/message-port/index.d.mts +49 -34
  9. package/dist/adapters/message-port/index.d.ts +49 -34
  10. package/dist/adapters/message-port/index.mjs +68 -37
  11. package/dist/adapters/node/index.d.mts +63 -71
  12. package/dist/adapters/node/index.d.ts +63 -71
  13. package/dist/adapters/node/index.mjs +36 -113
  14. package/dist/adapters/standard/index.d.mts +16 -18
  15. package/dist/adapters/standard/index.d.ts +16 -18
  16. package/dist/adapters/standard/index.mjs +5 -5
  17. package/dist/adapters/standard-peer/index.d.mts +12 -14
  18. package/dist/adapters/standard-peer/index.d.ts +12 -14
  19. package/dist/adapters/standard-peer/index.mjs +2 -21
  20. package/dist/adapters/websocket/index.d.mts +53 -38
  21. package/dist/adapters/websocket/index.d.ts +53 -38
  22. package/dist/adapters/websocket/index.mjs +59 -42
  23. package/dist/extensions/callable.d.mts +10 -0
  24. package/dist/extensions/callable.d.ts +10 -0
  25. package/dist/extensions/callable.mjs +11 -0
  26. package/dist/helpers/index.d.mts +4 -4
  27. package/dist/helpers/index.d.ts +4 -4
  28. package/dist/helpers/index.mjs +13 -5
  29. package/dist/index.d.mts +166 -770
  30. package/dist/index.d.ts +166 -770
  31. package/dist/index.mjs +306 -399
  32. package/dist/plugins/index.d.mts +214 -121
  33. package/dist/plugins/index.d.ts +214 -121
  34. package/dist/plugins/index.mjs +576 -214
  35. package/dist/shared/server.15O7oC1p.d.mts +61 -0
  36. package/dist/shared/server.B4BnEWWm.d.mts +67 -0
  37. package/dist/shared/server.BhsVw7m7.d.ts +104 -0
  38. package/dist/shared/server.BoiFpNT7.mjs +224 -0
  39. package/dist/shared/server.COPVXhDG.mjs +271 -0
  40. package/dist/shared/server.CX4vUnDk.mjs +11 -0
  41. package/dist/shared/server.CcR4kgje.d.mts +206 -0
  42. package/dist/shared/server.CcR4kgje.d.ts +206 -0
  43. package/dist/shared/server.CnN50DHH.d.ts +67 -0
  44. package/dist/shared/server.DBs0rrf9.mjs +41 -0
  45. package/dist/shared/server.DDFizwfU.d.mts +104 -0
  46. package/dist/shared/server.D_QauotT.mjs +30 -0
  47. package/dist/shared/server.DofEOwf-.mjs +237 -0
  48. package/dist/shared/{server.DZ5BIITo.mjs → server.W91HSRkE.mjs} +2 -2
  49. package/dist/shared/server.m3szVJGU.d.ts +61 -0
  50. package/package.json +26 -56
  51. package/dist/adapters/aws-lambda/index.d.mts +0 -46
  52. package/dist/adapters/aws-lambda/index.d.ts +0 -46
  53. package/dist/adapters/aws-lambda/index.mjs +0 -40
  54. package/dist/adapters/bun-ws/index.d.mts +0 -36
  55. package/dist/adapters/bun-ws/index.d.ts +0 -36
  56. package/dist/adapters/bun-ws/index.mjs +0 -47
  57. package/dist/adapters/fastify/index.d.mts +0 -53
  58. package/dist/adapters/fastify/index.d.ts +0 -53
  59. package/dist/adapters/fastify/index.mjs +0 -52
  60. package/dist/adapters/ws/index.d.mts +0 -31
  61. package/dist/adapters/ws/index.d.ts +0 -31
  62. package/dist/adapters/ws/index.mjs +0 -41
  63. package/dist/hibernation/index.d.mts +0 -44
  64. package/dist/hibernation/index.d.ts +0 -44
  65. package/dist/hibernation/index.mjs +0 -65
  66. package/dist/shared/server.7cEtMB30.d.ts +0 -74
  67. package/dist/shared/server.B8gYOD5g.d.mts +0 -12
  68. package/dist/shared/server.BqadksTP.d.mts +0 -74
  69. package/dist/shared/server.C8_sRzQB.d.mts +0 -42
  70. package/dist/shared/server.ChUyt5-i.d.mts +0 -32
  71. package/dist/shared/server.ChyoA9XY.d.ts +0 -42
  72. package/dist/shared/server.DEBcqOjg.mjs +0 -418
  73. package/dist/shared/server.EfTOZ2Q7.d.ts +0 -12
  74. package/dist/shared/server.TEVCLCFC.mjs +0 -39
  75. package/dist/shared/server.ZxHCEN1h.mjs +0 -226
  76. package/dist/shared/server.qKsRrdxW.d.mts +0 -193
  77. package/dist/shared/server.qKsRrdxW.d.ts +0 -193
  78. package/dist/shared/server.yoEB3Fx4.d.ts +0 -32
@@ -1,99 +1,91 @@
1
- import { C as Context, R as Router } from '../../shared/server.qKsRrdxW.js';
2
1
  import { Interceptor, MaybeOptionalOptions } from '@orpc/shared';
3
- import { SendStandardResponseOptions, NodeHttpRequest, NodeHttpResponse } from '@orpc/standard-server-node';
4
- import { F as FriendlyStandardHandleOptions } from '../../shared/server.EfTOZ2Q7.js';
5
- import { g as StandardHandlerPlugin, C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, f as StandardHandler } from '../../shared/server.7cEtMB30.js';
6
- import compression from '@orpc/interop/compression';
7
- import { S as StandardRPCHandlerOptions } from '../../shared/server.yoEB3Fx4.js';
2
+ import { SendStandardResponseOptions, NodeHttpRequest, NodeHttpResponse } from '@standardserver/node';
3
+ import { C as Context } from '../../shared/server.CcR4kgje.js';
4
+ import { e as StandardHandlerPlugin, b as StandardHandlerHandleOptions, S as StandardHandler, a as StandardHandlerOptions } from '../../shared/server.BhsVw7m7.js';
5
+ import { FriendlyStandardHandlerHandleOptions } from '../standard/index.js';
6
+ import { R as Router } from '../../shared/server.m3szVJGU.js';
7
+ import { R as RPCHandlerCodecOptions } from '../../shared/server.CnN50DHH.js';
8
8
  import '@orpc/client';
9
9
  import '@orpc/contract';
10
- import '@orpc/standard-server';
11
- import '@orpc/client/standard';
12
- import '../../shared/server.ChyoA9XY.js';
10
+ import '@standardserver/core';
13
11
 
14
12
  interface NodeHttpHandlerPlugin<T extends Context> extends StandardHandlerPlugin<T> {
15
- initRuntimeAdapter?(options: NodeHttpHandlerOptions<T>): void;
13
+ /**
14
+ * Initializes the plugin and returns new node HTTP handler options.
15
+ * Called once per plugin instance during composition.
16
+ *
17
+ * This method allows plugins to wrap, extend, or transform node HTTP handler options
18
+ * such as interceptors, or other configuration.
19
+ *
20
+ * @param options - The current handler options from previous plugins or base configuration
21
+ * @returns Transformed handler options with plugin's modifications applied
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * initNodeHttpHandlerOptions(options) {
26
+ * return {
27
+ * ...options,
28
+ * nodeHttpInterceptors: [...(options.nodeHttpInterceptors || []), myInterceptor]
29
+ * }
30
+ * }
31
+ * ```
32
+ */
33
+ initNodeHttpHandlerOptions?(options: NodeHttpHandlerOptions<T>): NodeHttpHandlerOptions<T>;
16
34
  }
17
- declare class CompositeNodeHttpHandlerPlugin<T extends Context, TPlugin extends NodeHttpHandlerPlugin<T>> extends CompositeStandardHandlerPlugin<T, TPlugin> implements NodeHttpHandlerPlugin<T> {
18
- initRuntimeAdapter(options: NodeHttpHandlerOptions<T>): void;
35
+ declare class CompositeNodeHttpHandlerPlugin<T extends Context> implements NodeHttpHandlerPlugin<T> {
36
+ readonly name = "~composite/node-http-handler";
37
+ protected readonly plugins: NodeHttpHandlerPlugin<T>[];
38
+ constructor(plugins?: NodeHttpHandlerPlugin<T>[]);
39
+ initNodeHttpHandlerOptions(options: NodeHttpHandlerOptions<T>): NodeHttpHandlerOptions<T>;
19
40
  }
20
41
 
21
- type NodeHttpHandleResult = {
42
+ type NodeHttpHandlerHandleResult = {
22
43
  matched: true;
23
44
  } | {
24
45
  matched: false;
25
46
  };
26
- interface NodeHttpHandlerInterceptorOptions<T extends Context> extends StandardHandleOptions<T> {
47
+ interface NodeHttpHandlerNodeHttpInterceptorOptions<T extends Context> extends StandardHandlerHandleOptions<T> {
27
48
  request: NodeHttpRequest;
28
49
  response: NodeHttpResponse;
29
- sendStandardResponseOptions: SendStandardResponseOptions;
30
- }
31
- interface NodeHttpHandlerOptions<T extends Context> extends SendStandardResponseOptions {
32
- adapterInterceptors?: Interceptor<NodeHttpHandlerInterceptorOptions<T>, Promise<NodeHttpHandleResult>>[];
33
- plugins?: NodeHttpHandlerPlugin<T>[];
34
- }
35
- declare class NodeHttpHandler<T extends Context> {
36
- private readonly standardHandler;
37
- private readonly sendStandardResponseOptions;
38
- private readonly adapterInterceptors;
39
- constructor(standardHandler: StandardHandler<T>, options?: NoInfer<NodeHttpHandlerOptions<T>>);
40
- handle(request: NodeHttpRequest, response: NodeHttpResponse, ...rest: MaybeOptionalOptions<FriendlyStandardHandleOptions<T>>): Promise<NodeHttpHandleResult>;
50
+ sendStandardResponseOptions: SendStandardResponseOptions | undefined;
41
51
  }
42
-
43
- interface BodyLimitPluginOptions {
52
+ type NodeHttpHandlerNodeHttpInterceptor<T extends Context> = Interceptor<NodeHttpHandlerNodeHttpInterceptorOptions<T>, Promise<NodeHttpHandlerHandleResult>>;
53
+ interface NodeHttpHandlerOptions<T extends Context> {
44
54
  /**
45
- * The maximum size of the body in bytes.
55
+ * Custom options for `sendStandardResponse`, used to send a `Standard Response`
46
56
  */
47
- maxBodySize: number;
48
- }
49
- /**
50
- * The Body Limit Plugin restricts the size of the request body for the Node.js HTTP Server.
51
- *
52
- * @see {@link https://orpc.dev/docs/plugins/body-limit Body Limit Plugin Docs}
53
- */
54
- declare class BodyLimitPlugin<T extends Context> implements NodeHttpHandlerPlugin<T> {
55
- private readonly maxBodySize;
56
- constructor(options: BodyLimitPluginOptions);
57
- initRuntimeAdapter(options: NodeHttpHandlerOptions<T>): void;
58
- }
59
-
60
- interface CompressionPluginOptions extends compression.CompressionOptions {
57
+ sendStandardResponse?: SendStandardResponseOptions | undefined;
61
58
  /**
62
- * Override the default content-type filter used to determine which responses should be compressed.
63
- *
64
- * @warning [Event Iterator](https://orpc.dev/docs/event-iterator) responses are never compressed, regardless of this filter's return value.
65
- * @default only responses with compressible content types are compressed.
59
+ * Interceptors that run before the mapping between the Standard API and Node HTTP API,
60
+ * useful for extending Node HTTP request/response before handling, ...
66
61
  */
67
- filter?: (req: NodeHttpRequest, res: NodeHttpResponse) => boolean;
62
+ nodeHttpInterceptors?: NodeHttpHandlerNodeHttpInterceptor<T>[] | undefined;
63
+ plugins?: NodeHttpHandlerPlugin<T>[] | undefined;
68
64
  }
69
- /**
70
- * The Compression Plugin adds response compression to the Node.js HTTP Server.
71
- *
72
- * @see {@link https://orpc.dev/docs/plugins/compression Compression Plugin Docs}
73
- */
74
- declare class CompressionPlugin<T extends Context> implements NodeHttpHandlerPlugin<T> {
75
- private readonly compressionHandler;
76
- constructor(options?: CompressionPluginOptions);
77
- initRuntimeAdapter(options: NodeHttpHandlerOptions<T>): void;
65
+ declare class NodeHttpHandler<T extends Context> {
66
+ private readonly standardHandler;
67
+ private readonly sendStandardResponseOptions;
68
+ private readonly nodeHttpInterceptors;
69
+ constructor(standardHandler: StandardHandler<T>, options?: NoInfer<NodeHttpHandlerOptions<T>>);
70
+ handle(request: NodeHttpRequest, response: NodeHttpResponse, ...rest: MaybeOptionalOptions<FriendlyStandardHandlerHandleOptions<T>>): Promise<NodeHttpHandlerHandleResult>;
78
71
  }
79
72
 
80
- interface RPCHandlerOptions<T extends Context> extends NodeHttpHandlerOptions<T>, Omit<StandardRPCHandlerOptions<T>, 'plugins'> {
73
+ interface RPCHandlerOptions<T extends Context> extends NodeHttpHandlerOptions<T>, Omit<StandardHandlerOptions<T>, 'plugins'>, RPCHandlerCodecOptions<T> {
81
74
  /**
82
- * Enables or disables the StrictGetMethodPlugin.
83
- *
84
- * @default true
75
+ * Configuration for {@link CSRFGuardHandlerPlugin}, which is enabled by default for `RPCHandler` over HTTP.
85
76
  */
86
- strictGetMethodPluginEnabled?: boolean;
77
+ csrfGuardPlugin?: {
78
+ /**
79
+ * If `false`, this plugin is disabled.
80
+ *
81
+ * @default true
82
+ */
83
+ enabled?: boolean;
84
+ };
87
85
  }
88
- /**
89
- * RPC Handler for Node.js HTTP Server
90
- *
91
- * @see {@link https://orpc.dev/docs/rpc-handler RPC Handler Docs}
92
- * @see {@link https://orpc.dev/docs/adapters/http HTTP Adapter Docs}
93
- */
94
86
  declare class RPCHandler<T extends Context> extends NodeHttpHandler<T> {
95
- constructor(router: Router<any, T>, options?: NoInfer<RPCHandlerOptions<T>>);
87
+ constructor(router: Router<T>, options?: NoInfer<RPCHandlerOptions<T>>);
96
88
  }
97
89
 
98
- export { BodyLimitPlugin, CompositeNodeHttpHandlerPlugin, CompressionPlugin, NodeHttpHandler, RPCHandler };
99
- export type { BodyLimitPluginOptions, CompressionPluginOptions, NodeHttpHandleResult, NodeHttpHandlerInterceptorOptions, NodeHttpHandlerOptions, NodeHttpHandlerPlugin, RPCHandlerOptions };
90
+ export { CompositeNodeHttpHandlerPlugin, NodeHttpHandler, RPCHandler };
91
+ export type { NodeHttpHandlerHandleResult, NodeHttpHandlerNodeHttpInterceptor, NodeHttpHandlerNodeHttpInterceptorOptions, NodeHttpHandlerOptions, NodeHttpHandlerPlugin, RPCHandlerOptions };
@@ -1,125 +1,44 @@
1
- import { ORPCError } from '@orpc/client';
2
- import { once, toArray, intercept, resolveMaybeOptionalOptions } from '@orpc/shared';
3
- import compression from '@orpc/interop/compression';
4
- import { toStandardLazyRequest, sendStandardResponse } from '@orpc/standard-server-node';
5
- import { r as resolveFriendlyStandardHandleOptions } from '../../shared/server.DZ5BIITo.mjs';
6
- import { C as CompositeStandardHandlerPlugin, b as StandardRPCHandler } from '../../shared/server.ZxHCEN1h.mjs';
7
- import { S as StrictGetMethodPlugin } from '../../shared/server.TEVCLCFC.mjs';
8
- import '@orpc/client/standard';
9
- import '@orpc/standard-server';
10
- import '../../shared/server.DEBcqOjg.mjs';
1
+ import { sortPlugins, intercept, resolveMaybeOptionalOptions, toArray } from '@orpc/shared';
2
+ import { toStandardLazyRequest, sendStandardResponse } from '@standardserver/node';
3
+ import { r as resolveFriendlyStandardHandlerHandleOptions } from '../../shared/server.W91HSRkE.mjs';
4
+ import { C as CSRFGuardHandlerPlugin } from '../../shared/server.D_QauotT.mjs';
5
+ import { R as RPCHandlerCodec, S as StandardHandler } from '../../shared/server.COPVXhDG.mjs';
6
+ import '@orpc/client';
7
+ import '@standardserver/core';
8
+ import '../../shared/server.DofEOwf-.mjs';
11
9
  import '@orpc/contract';
10
+ import '../../shared/server.BoiFpNT7.mjs';
12
11
 
13
- class BodyLimitPlugin {
14
- maxBodySize;
15
- constructor(options) {
16
- this.maxBodySize = options.maxBodySize;
12
+ class CompositeNodeHttpHandlerPlugin {
13
+ name = "~composite/node-http-handler";
14
+ plugins;
15
+ constructor(plugins = []) {
16
+ this.plugins = sortPlugins(plugins);
17
17
  }
18
- initRuntimeAdapter(options) {
19
- options.adapterInterceptors ??= [];
20
- options.adapterInterceptors.push(async (options2) => {
21
- const checkHeader = once(() => {
22
- if (Number(options2.request.headers["content-length"]) > this.maxBodySize) {
23
- throw new ORPCError("PAYLOAD_TOO_LARGE");
24
- }
25
- });
26
- const originalEmit = options2.request.emit;
27
- let currentBodySize = 0;
28
- options2.request.emit = (event, ...args) => {
29
- if (event === "data") {
30
- checkHeader();
31
- currentBodySize += args[0].length;
32
- if (currentBodySize > this.maxBodySize) {
33
- throw new ORPCError("PAYLOAD_TOO_LARGE");
34
- }
35
- }
36
- return originalEmit.call(options2.request, event, ...args);
37
- };
38
- try {
39
- return await options2.next(options2);
40
- } finally {
41
- options2.request.emit = originalEmit;
42
- }
43
- });
44
- }
45
- }
46
-
47
- class CompressionPlugin {
48
- compressionHandler;
49
- constructor(options = {}) {
50
- this.compressionHandler = compression({
51
- ...options,
52
- filter: (req, res) => {
53
- const hasContentDisposition = res.hasHeader("content-disposition");
54
- const contentType = res.getHeader("content-type")?.toString();
55
- if (!hasContentDisposition && contentType?.startsWith("text/event-stream")) {
56
- return false;
57
- }
58
- return options.filter ? options.filter(req, res) : compression.filter(req, res);
59
- }
60
- });
61
- }
62
- initRuntimeAdapter(options) {
63
- options.adapterInterceptors ??= [];
64
- options.adapterInterceptors.unshift(async (options2) => {
65
- let resolve;
66
- let reject;
67
- const promise = new Promise((res, rej) => {
68
- resolve = res;
69
- reject = rej;
70
- });
71
- const originalWrite = options2.response.write;
72
- const originalEnd = options2.response.end;
73
- const originalOn = options2.response.on;
74
- this.compressionHandler(
75
- options2.request,
76
- options2.response,
77
- async (err) => {
78
- if (err) {
79
- reject(err);
80
- } else {
81
- try {
82
- resolve(await options2.next());
83
- } catch (error) {
84
- reject(error);
85
- }
86
- }
87
- }
88
- );
89
- try {
90
- return await promise;
91
- } finally {
92
- options2.response.write = originalWrite;
93
- options2.response.end = originalEnd;
94
- options2.response.on = originalOn;
95
- }
96
- });
97
- }
98
- }
99
-
100
- class CompositeNodeHttpHandlerPlugin extends CompositeStandardHandlerPlugin {
101
- initRuntimeAdapter(options) {
18
+ initNodeHttpHandlerOptions(options) {
102
19
  for (const plugin of this.plugins) {
103
- plugin.initRuntimeAdapter?.(options);
20
+ if (plugin.initNodeHttpHandlerOptions) {
21
+ options = plugin.initNodeHttpHandlerOptions(options);
22
+ }
104
23
  }
24
+ return options;
105
25
  }
106
26
  }
107
27
 
108
28
  class NodeHttpHandler {
109
29
  constructor(standardHandler, options = {}) {
110
30
  this.standardHandler = standardHandler;
111
- const plugin = new CompositeNodeHttpHandlerPlugin(options.plugins);
112
- plugin.initRuntimeAdapter(options);
113
- this.adapterInterceptors = toArray(options.adapterInterceptors);
114
- this.sendStandardResponseOptions = options;
31
+ options = new CompositeNodeHttpHandlerPlugin(options.plugins).initNodeHttpHandlerOptions(options);
32
+ this.nodeHttpInterceptors = options.nodeHttpInterceptors;
33
+ this.sendStandardResponseOptions = options.sendStandardResponse;
115
34
  }
116
35
  sendStandardResponseOptions;
117
- adapterInterceptors;
36
+ nodeHttpInterceptors;
118
37
  async handle(request, response, ...rest) {
119
38
  return intercept(
120
- this.adapterInterceptors,
39
+ this.nodeHttpInterceptors,
121
40
  {
122
- ...resolveFriendlyStandardHandleOptions(resolveMaybeOptionalOptions(rest)),
41
+ ...resolveFriendlyStandardHandlerHandleOptions(resolveMaybeOptionalOptions(rest)),
123
42
  request,
124
43
  response,
125
44
  sendStandardResponseOptions: this.sendStandardResponseOptions
@@ -128,10 +47,10 @@ class NodeHttpHandler {
128
47
  const standardRequest = toStandardLazyRequest(request2, response2);
129
48
  const result = await this.standardHandler.handle(standardRequest, options);
130
49
  if (!result.matched) {
131
- return { matched: false };
50
+ return result;
132
51
  }
133
52
  await sendStandardResponse(response2, result.response, sendStandardResponseOptions);
134
- return { matched: true };
53
+ return result;
135
54
  }
136
55
  );
137
56
  }
@@ -139,12 +58,16 @@ class NodeHttpHandler {
139
58
 
140
59
  class RPCHandler extends NodeHttpHandler {
141
60
  constructor(router, options = {}) {
142
- if (options.strictGetMethodPluginEnabled ?? true) {
143
- options.plugins ??= [];
144
- options.plugins.push(new StrictGetMethodPlugin());
61
+ if (options.csrfGuardPlugin?.enabled !== false) {
62
+ options = {
63
+ ...options,
64
+ plugins: [...toArray(options.plugins), new CSRFGuardHandlerPlugin()]
65
+ };
145
66
  }
146
- super(new StandardRPCHandler(router, options), options);
67
+ const codec = new RPCHandlerCodec(router, options);
68
+ const handler = new StandardHandler(codec, options);
69
+ super(handler, options);
147
70
  }
148
71
  }
149
72
 
150
- export { BodyLimitPlugin, CompositeNodeHttpHandlerPlugin, CompressionPlugin, NodeHttpHandler, RPCHandler };
73
+ export { CompositeNodeHttpHandlerPlugin, NodeHttpHandler, RPCHandler };
@@ -1,21 +1,19 @@
1
- import { S as StandardCodec, a as StandardParams } from '../../shared/server.BqadksTP.mjs';
2
- export { C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, c as StandardHandleResult, f as StandardHandler, d as StandardHandlerInterceptorOptions, e as StandardHandlerOptions, g as StandardHandlerPlugin, h as StandardMatchResult, i as StandardMatcher } from '../../shared/server.BqadksTP.mjs';
3
- import { ORPCError } from '@orpc/client';
4
- import { StandardRPCSerializer } from '@orpc/client/standard';
5
- import { StandardLazyRequest, StandardResponse } from '@orpc/standard-server';
6
- import { A as AnyProcedure } from '../../shared/server.qKsRrdxW.mjs';
7
- export { a as StandardRPCHandler, S as StandardRPCHandlerOptions, c as StandardRPCMatcher, b as StandardRPCMatcherOptions } from '../../shared/server.ChUyt5-i.mjs';
8
- export { F as FriendlyStandardHandleOptions, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.B8gYOD5g.mjs';
9
- import '@orpc/contract';
1
+ import { b as StandardHandlerHandleOptions } from '../../shared/server.DDFizwfU.mjs';
2
+ export { C as CompositeStandardHandlerPlugin, O as OtelHandlerPlugin, S as StandardHandler, c as StandardHandlerCodec, d as StandardHandlerCodecResolvedProcedure, h as StandardHandlerHandleResult, i as StandardHandlerInterceptor, g as StandardHandlerInterceptorOptions, a as StandardHandlerOptions, e as StandardHandlerPlugin, j as StandardHandlerRoutingInterceptor, f as StandardHandlerRoutingInterceptorOptions } from '../../shared/server.DDFizwfU.mjs';
3
+ export { a as RPCHandlerCodec, R as RPCHandlerCodecOptions, b as RPCMatcher, c as RPCMatcherOptions } from '../../shared/server.B4BnEWWm.mjs';
4
+ import { C as Context } from '../../shared/server.CcR4kgje.mjs';
5
+ export { StandardBody, StandardBodyHint, StandardHeaders, StandardLazyRequest, StandardLazyResponse, StandardMethod, StandardRequest, StandardResponse, StandardUrl } from '@standardserver/core';
6
+ import '@orpc/client';
10
7
  import '@orpc/shared';
11
- import '../../shared/server.C8_sRzQB.mjs';
8
+ import '@orpc/contract';
9
+ import '../../shared/server.15O7oC1p.mjs';
12
10
 
13
- declare class StandardRPCCodec implements StandardCodec {
14
- private readonly serializer;
15
- constructor(serializer: StandardRPCSerializer);
16
- decode(request: StandardLazyRequest, _params: StandardParams | undefined, _procedure: AnyProcedure): Promise<unknown>;
17
- encode(output: unknown, _procedure: AnyProcedure): StandardResponse;
18
- encodeError(error: ORPCError<any, any>): StandardResponse;
19
- }
11
+ type FriendlyStandardHandlerHandleOptions<T extends Context> = Omit<StandardHandlerHandleOptions<T>, 'context'> & (object extends T ? {
12
+ context?: T;
13
+ } : {
14
+ context: T;
15
+ });
16
+ declare function resolveFriendlyStandardHandlerHandleOptions<T extends Context>(options: FriendlyStandardHandlerHandleOptions<T>): StandardHandlerHandleOptions<T>;
20
17
 
21
- export { StandardCodec, StandardParams, StandardRPCCodec };
18
+ export { StandardHandlerHandleOptions, resolveFriendlyStandardHandlerHandleOptions };
19
+ export type { FriendlyStandardHandlerHandleOptions };
@@ -1,21 +1,19 @@
1
- import { S as StandardCodec, a as StandardParams } from '../../shared/server.7cEtMB30.js';
2
- export { C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, c as StandardHandleResult, f as StandardHandler, d as StandardHandlerInterceptorOptions, e as StandardHandlerOptions, g as StandardHandlerPlugin, h as StandardMatchResult, i as StandardMatcher } from '../../shared/server.7cEtMB30.js';
3
- import { ORPCError } from '@orpc/client';
4
- import { StandardRPCSerializer } from '@orpc/client/standard';
5
- import { StandardLazyRequest, StandardResponse } from '@orpc/standard-server';
6
- import { A as AnyProcedure } from '../../shared/server.qKsRrdxW.js';
7
- export { a as StandardRPCHandler, S as StandardRPCHandlerOptions, c as StandardRPCMatcher, b as StandardRPCMatcherOptions } from '../../shared/server.yoEB3Fx4.js';
8
- export { F as FriendlyStandardHandleOptions, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.EfTOZ2Q7.js';
9
- import '@orpc/contract';
1
+ import { b as StandardHandlerHandleOptions } from '../../shared/server.BhsVw7m7.js';
2
+ export { C as CompositeStandardHandlerPlugin, O as OtelHandlerPlugin, S as StandardHandler, c as StandardHandlerCodec, d as StandardHandlerCodecResolvedProcedure, h as StandardHandlerHandleResult, i as StandardHandlerInterceptor, g as StandardHandlerInterceptorOptions, a as StandardHandlerOptions, e as StandardHandlerPlugin, j as StandardHandlerRoutingInterceptor, f as StandardHandlerRoutingInterceptorOptions } from '../../shared/server.BhsVw7m7.js';
3
+ export { a as RPCHandlerCodec, R as RPCHandlerCodecOptions, b as RPCMatcher, c as RPCMatcherOptions } from '../../shared/server.CnN50DHH.js';
4
+ import { C as Context } from '../../shared/server.CcR4kgje.js';
5
+ export { StandardBody, StandardBodyHint, StandardHeaders, StandardLazyRequest, StandardLazyResponse, StandardMethod, StandardRequest, StandardResponse, StandardUrl } from '@standardserver/core';
6
+ import '@orpc/client';
10
7
  import '@orpc/shared';
11
- import '../../shared/server.ChyoA9XY.js';
8
+ import '@orpc/contract';
9
+ import '../../shared/server.m3szVJGU.js';
12
10
 
13
- declare class StandardRPCCodec implements StandardCodec {
14
- private readonly serializer;
15
- constructor(serializer: StandardRPCSerializer);
16
- decode(request: StandardLazyRequest, _params: StandardParams | undefined, _procedure: AnyProcedure): Promise<unknown>;
17
- encode(output: unknown, _procedure: AnyProcedure): StandardResponse;
18
- encodeError(error: ORPCError<any, any>): StandardResponse;
19
- }
11
+ type FriendlyStandardHandlerHandleOptions<T extends Context> = Omit<StandardHandlerHandleOptions<T>, 'context'> & (object extends T ? {
12
+ context?: T;
13
+ } : {
14
+ context: T;
15
+ });
16
+ declare function resolveFriendlyStandardHandlerHandleOptions<T extends Context>(options: FriendlyStandardHandlerHandleOptions<T>): StandardHandlerHandleOptions<T>;
20
17
 
21
- export { StandardCodec, StandardParams, StandardRPCCodec };
18
+ export { StandardHandlerHandleOptions, resolveFriendlyStandardHandlerHandleOptions };
19
+ export type { FriendlyStandardHandlerHandleOptions };
@@ -1,8 +1,8 @@
1
- export { C as CompositeStandardHandlerPlugin, S as StandardHandler, a as StandardRPCCodec, b as StandardRPCHandler, c as StandardRPCMatcher } from '../../shared/server.ZxHCEN1h.mjs';
2
- export { r as resolveFriendlyStandardHandleOptions } from '../../shared/server.DZ5BIITo.mjs';
3
- import '@orpc/client/standard';
1
+ export { C as CompositeStandardHandlerPlugin, O as OtelHandlerPlugin, R as RPCHandlerCodec, a as RPCMatcher, S as StandardHandler } from '../../shared/server.COPVXhDG.mjs';
2
+ export { r as resolveFriendlyStandardHandlerHandleOptions } from '../../shared/server.W91HSRkE.mjs';
4
3
  import '@orpc/client';
5
4
  import '@orpc/shared';
6
- import '@orpc/standard-server';
7
- import '../../shared/server.DEBcqOjg.mjs';
5
+ import '@standardserver/core';
6
+ import '../../shared/server.DofEOwf-.mjs';
8
7
  import '@orpc/contract';
8
+ import '../../shared/server.BoiFpNT7.mjs';
@@ -1,18 +1,16 @@
1
- import { ServerPeer, EncodedMessage, ServerPeerHandleRequestFn } from '@orpc/standard-server-peer';
2
- import { C as Context } from '../../shared/server.qKsRrdxW.mjs';
3
- import { F as FriendlyStandardHandleOptions } from '../../shared/server.B8gYOD5g.mjs';
4
- import { f as StandardHandler } from '../../shared/server.BqadksTP.mjs';
1
+ import { Value, Promisable } from '@orpc/shared';
2
+ import { StandardLazyRequest, StandardResponse } from '@standardserver/core';
3
+ import { C as Context } from '../../shared/server.CcR4kgje.mjs';
4
+ import { b as StandardHandlerHandleOptions, S as StandardHandler } from '../../shared/server.DDFizwfU.mjs';
5
5
  import '@orpc/client';
6
6
  import '@orpc/contract';
7
- import '@orpc/shared';
8
- import '@orpc/standard-server';
9
7
 
10
- type HandleStandardServerPeerMessageOptions<T extends Context> = Omit<FriendlyStandardHandleOptions<T>, 'prefix'>;
11
- /**
12
- * @deprecated Use `createServerPeerRequestHandleFn` instead.
13
- */
14
- declare function handleStandardServerPeerMessage<T extends Context>(handler: StandardHandler<T>, peer: ServerPeer, message: EncodedMessage, options: HandleStandardServerPeerMessageOptions<T>): Promise<void>;
15
- declare function createServerPeerHandleRequestFn<T extends Context>(handler: StandardHandler<T>, options: HandleStandardServerPeerMessageOptions<T>): ServerPeerHandleRequestFn;
8
+ type StandardPeerRequestHandlerOptions<T extends Context> = Omit<StandardHandlerHandleOptions<T>, 'context'> & (Record<never, never> extends T ? {
9
+ context?: Value<Promisable<T>, [request: StandardLazyRequest]>;
10
+ } : {
11
+ context: Value<Promisable<T>, [request: StandardLazyRequest]>;
12
+ });
13
+ declare function createStandardPeerRequestHandler<T extends Context>(handler: StandardHandler<T>, options: StandardPeerRequestHandlerOptions<T>): (request: StandardLazyRequest) => Promise<StandardResponse>;
16
14
 
17
- export { createServerPeerHandleRequestFn, handleStandardServerPeerMessage };
18
- export type { HandleStandardServerPeerMessageOptions };
15
+ export { createStandardPeerRequestHandler };
16
+ export type { StandardPeerRequestHandlerOptions };
@@ -1,18 +1,16 @@
1
- import { ServerPeer, EncodedMessage, ServerPeerHandleRequestFn } from '@orpc/standard-server-peer';
2
- import { C as Context } from '../../shared/server.qKsRrdxW.js';
3
- import { F as FriendlyStandardHandleOptions } from '../../shared/server.EfTOZ2Q7.js';
4
- import { f as StandardHandler } from '../../shared/server.7cEtMB30.js';
1
+ import { Value, Promisable } from '@orpc/shared';
2
+ import { StandardLazyRequest, StandardResponse } from '@standardserver/core';
3
+ import { C as Context } from '../../shared/server.CcR4kgje.js';
4
+ import { b as StandardHandlerHandleOptions, S as StandardHandler } from '../../shared/server.BhsVw7m7.js';
5
5
  import '@orpc/client';
6
6
  import '@orpc/contract';
7
- import '@orpc/shared';
8
- import '@orpc/standard-server';
9
7
 
10
- type HandleStandardServerPeerMessageOptions<T extends Context> = Omit<FriendlyStandardHandleOptions<T>, 'prefix'>;
11
- /**
12
- * @deprecated Use `createServerPeerRequestHandleFn` instead.
13
- */
14
- declare function handleStandardServerPeerMessage<T extends Context>(handler: StandardHandler<T>, peer: ServerPeer, message: EncodedMessage, options: HandleStandardServerPeerMessageOptions<T>): Promise<void>;
15
- declare function createServerPeerHandleRequestFn<T extends Context>(handler: StandardHandler<T>, options: HandleStandardServerPeerMessageOptions<T>): ServerPeerHandleRequestFn;
8
+ type StandardPeerRequestHandlerOptions<T extends Context> = Omit<StandardHandlerHandleOptions<T>, 'context'> & (Record<never, never> extends T ? {
9
+ context?: Value<Promisable<T>, [request: StandardLazyRequest]>;
10
+ } : {
11
+ context: Value<Promisable<T>, [request: StandardLazyRequest]>;
12
+ });
13
+ declare function createStandardPeerRequestHandler<T extends Context>(handler: StandardHandler<T>, options: StandardPeerRequestHandlerOptions<T>): (request: StandardLazyRequest) => Promise<StandardResponse>;
16
14
 
17
- export { createServerPeerHandleRequestFn, handleStandardServerPeerMessage };
18
- export type { HandleStandardServerPeerMessageOptions };
15
+ export { createStandardPeerRequestHandler };
16
+ export type { StandardPeerRequestHandlerOptions };
@@ -1,21 +1,2 @@
1
- import { r as resolveFriendlyStandardHandleOptions } from '../../shared/server.DZ5BIITo.mjs';
2
-
3
- async function handleStandardServerPeerMessage(handler, peer, message, options) {
4
- const [id, request] = await peer.message(message);
5
- if (!request) {
6
- return;
7
- }
8
- const handle = createServerPeerHandleRequestFn(handler, options);
9
- await peer.response(id, await handle(request));
10
- }
11
- function createServerPeerHandleRequestFn(handler, options) {
12
- return async (request) => {
13
- const { response } = await handler.handle(
14
- { ...request, body: () => Promise.resolve(request.body) },
15
- resolveFriendlyStandardHandleOptions(options)
16
- );
17
- return response ?? { status: 404, headers: {}, body: "No procedure matched" };
18
- };
19
- }
20
-
21
- export { createServerPeerHandleRequestFn, handleStandardServerPeerMessage };
1
+ export { c as createStandardPeerRequestHandler } from '../../shared/server.CX4vUnDk.mjs';
2
+ import '@orpc/shared';