orpc-fn 0.1.0 → 0.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/README.md +48 -32
- package/dist/assemble-procedure.d.ts +13 -0
- package/dist/assemble-procedure.d.ts.map +1 -0
- package/dist/assemble-procedure.js +29 -0
- package/dist/assemble-procedure.js.map +1 -0
- package/dist/bound-call.d.ts +1 -1
- package/dist/bound-call.d.ts.map +1 -1
- package/dist/bound-call.js.map +1 -1
- package/dist/client.d.ts +4 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +4 -2
- package/dist/client.js.map +1 -1
- package/dist/compatibility.d.ts +16 -0
- package/dist/compatibility.d.ts.map +1 -0
- package/dist/compatibility.js +4 -0
- package/dist/compatibility.js.map +1 -0
- package/dist/create-fn.d.ts +30 -34
- package/dist/create-fn.d.ts.map +1 -1
- package/dist/create-fn.js +177 -121
- package/dist/create-fn.js.map +1 -1
- package/dist/expo.d.ts +11 -25
- package/dist/expo.d.ts.map +1 -1
- package/dist/expo.js +25 -30
- package/dist/expo.js.map +1 -1
- package/dist/hono.d.ts +12 -4
- package/dist/hono.d.ts.map +1 -1
- package/dist/hono.js +29 -12
- package/dist/hono.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/json-schema.d.ts +2 -0
- package/dist/json-schema.d.ts.map +1 -1
- package/dist/json-schema.js +11 -0
- package/dist/json-schema.js.map +1 -1
- package/dist/live/codec.d.ts +6 -1
- package/dist/live/codec.d.ts.map +1 -1
- package/dist/live/codec.js +14 -3
- package/dist/live/codec.js.map +1 -1
- package/dist/live/fn-live.d.ts +63 -22
- package/dist/live/fn-live.d.ts.map +1 -1
- package/dist/live/fn-live.js +98 -16
- package/dist/live/fn-live.js.map +1 -1
- package/dist/live/index.d.ts +1 -1
- package/dist/live/index.d.ts.map +1 -1
- package/dist/live/index.js.map +1 -1
- package/dist/live/ioredis.d.ts +4 -1
- package/dist/live/ioredis.d.ts.map +1 -1
- package/dist/live/ioredis.js +21 -2
- package/dist/live/ioredis.js.map +1 -1
- package/dist/live/lifecycle.d.ts +7 -0
- package/dist/live/lifecycle.d.ts.map +1 -0
- package/dist/live/lifecycle.js +36 -0
- package/dist/live/lifecycle.js.map +1 -0
- package/dist/live/memory.d.ts.map +1 -1
- package/dist/live/memory.js +4 -0
- package/dist/live/memory.js.map +1 -1
- package/dist/live/pub-sub.d.ts +76 -12
- package/dist/live/pub-sub.d.ts.map +1 -1
- package/dist/live/pub-sub.js +429 -125
- package/dist/live/pub-sub.js.map +1 -1
- package/dist/live/redis-bun.d.ts +1 -1
- package/dist/live/redis-bun.d.ts.map +1 -1
- package/dist/live/redis-bun.js +3 -5
- package/dist/live/redis-bun.js.map +1 -1
- package/dist/live/redis.d.ts +2 -2
- package/dist/live/redis.d.ts.map +1 -1
- package/dist/live/redis.js +36 -9
- package/dist/live/redis.js.map +1 -1
- package/dist/live/transport.d.ts +5 -1
- package/dist/live/transport.d.ts.map +1 -1
- package/dist/live/transport.js.map +1 -1
- package/dist/logger.d.ts +2 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +21 -0
- package/dist/logger.js.map +1 -1
- package/dist/mastra.d.ts.map +1 -1
- package/dist/mastra.js +16 -7
- package/dist/mastra.js.map +1 -1
- package/dist/mcp/sdk.d.ts +20 -0
- package/dist/mcp/sdk.d.ts.map +1 -0
- package/dist/mcp/sdk.js +82 -0
- package/dist/mcp/sdk.js.map +1 -0
- package/dist/mcp.d.ts +3 -2
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +22 -7
- package/dist/mcp.js.map +1 -1
- package/dist/meta.d.ts +15 -7
- package/dist/meta.d.ts.map +1 -1
- package/dist/meta.js +9 -2
- package/dist/meta.js.map +1 -1
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +77 -6
- package/dist/otel.js.map +1 -1
- package/dist/route-options.d.ts +22 -0
- package/dist/route-options.d.ts.map +1 -0
- package/dist/route-options.js +67 -0
- package/dist/route-options.js.map +1 -0
- package/dist/router.d.ts +5 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +22 -0
- package/dist/router.js.map +1 -1
- package/dist/timing.d.ts +8 -0
- package/dist/timing.d.ts.map +1 -0
- package/dist/timing.js +4 -0
- package/dist/timing.js.map +1 -0
- package/dist/types.d.ts +86 -41
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +6 -2
- package/dist/types.js.map +1 -1
- package/package.json +15 -3
- package/src/assemble-procedure.ts +42 -0
- package/src/bound-call.ts +4 -3
- package/src/client.ts +9 -2
- package/src/compatibility.ts +39 -0
- package/src/create-fn.ts +297 -183
- package/src/expo.ts +49 -44
- package/src/hono.ts +36 -17
- package/src/index.ts +6 -2
- package/src/json-schema.ts +16 -0
- package/src/live/codec.ts +22 -3
- package/src/live/fn-live.ts +244 -69
- package/src/live/index.ts +2 -0
- package/src/live/ioredis.ts +22 -2
- package/src/live/lifecycle.ts +44 -0
- package/src/live/memory.ts +4 -0
- package/src/live/pub-sub.ts +608 -166
- package/src/live/redis-bun.ts +7 -5
- package/src/live/redis.ts +37 -11
- package/src/live/transport.ts +4 -1
- package/src/logger.ts +20 -0
- package/src/mastra.ts +15 -7
- package/src/mcp/sdk.ts +118 -0
- package/src/mcp.ts +48 -20
- package/src/meta.ts +40 -24
- package/src/otel.ts +77 -10
- package/src/route-options.ts +100 -0
- package/src/router.ts +39 -1
- package/src/timing.ts +5 -0
- package/src/types.ts +204 -62
package/dist/live/pub-sub.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { Schema } from '@orpc/contract';
|
|
|
2
2
|
import type { ZodObject, ZodRawShape, ZodType, z } from 'zod';
|
|
3
3
|
import type { FnLogger } from '../logger.js';
|
|
4
4
|
import { type SpanLike, type Tracing } from '../otel.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type { GuardOptions, FnContext, FnDefinition, FnProcedure, FnRouteOptions, MaybePromise, ProcedureKey, ProcedureOption } from '../types.js';
|
|
6
6
|
import type { PubSubTransport } from './transport.js';
|
|
7
7
|
/** Any Zod object schema, including `.strict()`, `.passthrough()` and `.catchall()`. */
|
|
8
8
|
export type ObjectSchema = ZodObject<ZodRawShape, z.core.$ZodObjectConfig>;
|
|
@@ -10,7 +10,13 @@ export type ObjectSchema = ZodObject<ZodRawShape, z.core.$ZodObjectConfig>;
|
|
|
10
10
|
* A static channel name, or one derived from (partial) subscriber input or
|
|
11
11
|
* event data.
|
|
12
12
|
*/
|
|
13
|
-
export type ChannelDefinition<TInput, TEventData, TContext = unknown> = string |
|
|
13
|
+
export type ChannelDefinition<TInput, TEventData, TContext = unknown> = string | {
|
|
14
|
+
subscribe: (params: {
|
|
15
|
+
input: TInput;
|
|
16
|
+
context: TContext;
|
|
17
|
+
}) => string;
|
|
18
|
+
publish: (event: TEventData) => string;
|
|
19
|
+
} | ((params: Partial<TInput> | Partial<TEventData>, context?: TContext) => string);
|
|
14
20
|
/** Decides whether one event reaches one subscriber. */
|
|
15
21
|
export type FilterFn<TInput, TEventData> = (params: {
|
|
16
22
|
input: TInput;
|
|
@@ -43,7 +49,33 @@ export type PublisherConfig = {
|
|
|
43
49
|
*/
|
|
44
50
|
mirrorChannel?: string;
|
|
45
51
|
};
|
|
46
|
-
|
|
52
|
+
/** Per-definition overrides of the factory queue bounds. */
|
|
53
|
+
export type ChannelQueueOptions = {
|
|
54
|
+
maxQueueSize?: number;
|
|
55
|
+
maxIngressSize?: number;
|
|
56
|
+
maxReplaySize?: number;
|
|
57
|
+
};
|
|
58
|
+
/** Synchronous observational events; failures cannot interrupt delivery. */
|
|
59
|
+
export type PubSubMetric = {
|
|
60
|
+
name: string;
|
|
61
|
+
channel: string;
|
|
62
|
+
} & ({
|
|
63
|
+
type: 'queue';
|
|
64
|
+
stage: 'ingress' | 'replay' | 'delivery';
|
|
65
|
+
depth: number;
|
|
66
|
+
limit: number;
|
|
67
|
+
} | {
|
|
68
|
+
type: 'drop';
|
|
69
|
+
stage: 'ingress' | 'replay' | 'delivery';
|
|
70
|
+
count: number;
|
|
71
|
+
} | {
|
|
72
|
+
type: 'reconnect';
|
|
73
|
+
} | {
|
|
74
|
+
type: 'parseError';
|
|
75
|
+
stage: 'ingress' | 'replay';
|
|
76
|
+
error: unknown;
|
|
77
|
+
});
|
|
78
|
+
export type PubSubOptions<TDef extends FnDefinition, TInputSchema extends ObjectSchema, TEventSchema extends ZodType, TKey extends ProcedureKey<TDef>> = PublisherConfig & ChannelQueueOptions & {
|
|
47
79
|
channel: ChannelDefinition<z.output<TInputSchema>, z.output<TEventSchema>, FnContext<TDef, TKey>>;
|
|
48
80
|
/** What the subscriber provides. */
|
|
49
81
|
inputSchema: TInputSchema;
|
|
@@ -68,11 +100,16 @@ export type PubSub<TDef extends FnDefinition, TInputSchema extends ObjectSchema,
|
|
|
68
100
|
publish: (data: z.input<TEventSchema>) => Promise<void>;
|
|
69
101
|
/** Publish a batch in one atomic round-trip; items may target different channels. */
|
|
70
102
|
publishMany: (items: readonly z.input<TEventSchema>[]) => Promise<void>;
|
|
103
|
+
getSubscriptionChannelName: (params: {
|
|
104
|
+
input: z.output<TInputSchema>;
|
|
105
|
+
context: FnContext<TDef, TKey>;
|
|
106
|
+
}) => string;
|
|
107
|
+
getPublishChannelName: (event: z.output<TEventSchema>) => string;
|
|
108
|
+
/** @deprecated Prefer the separate required-input resolver methods. */
|
|
71
109
|
getChannelName: (params: Partial<z.output<TInputSchema>> | Partial<z.output<TEventSchema>>, context?: FnContext<TDef, TKey>) => string;
|
|
72
110
|
};
|
|
73
|
-
export type CreatePubSub<TDef extends FnDefinition> = <TInputSchema extends ObjectSchema, TEventSchema extends ZodType, TKey extends ProcedureKey<TDef> = TDef['default']>(options: PubSubOptions<TDef, TInputSchema, TEventSchema, NoInfer<TKey>> &
|
|
74
|
-
/** Which `procedures` builder the subscribe route uses. */
|
|
75
|
-
ProcedureOption<TDef, TKey>) => PubSub<TDef, TInputSchema, TEventSchema, TKey>;
|
|
111
|
+
export type CreatePubSub<TDef extends FnDefinition> = <TInputSchema extends ObjectSchema, TEventSchema extends ZodType, TKey extends ProcedureKey<TDef> = TDef['default']>(options: PubSubOptions<TDef, TInputSchema, TEventSchema, NoInfer<TKey>> & GuardOptions<TDef['guards']> & Pick<FnRouteOptions<TDef, TKey, z.output<TInputSchema>>, 'meta' | 'guardResolvers'> &
|
|
112
|
+
/** Which `procedures` builder the subscribe route uses. */ ProcedureOption<TDef, TKey>) => PubSub<TDef, TInputSchema, TEventSchema, TKey>;
|
|
76
113
|
export type PublisherOptions<TEventSchema extends ZodType> = PublisherConfig & {
|
|
77
114
|
/** Static channel name, or a resolver over (partial) parsed event data. */
|
|
78
115
|
channel: string | ((params: Partial<z.output<TEventSchema>>) => string);
|
|
@@ -89,10 +126,12 @@ export type Publisher<TEventSchema extends ZodType> = {
|
|
|
89
126
|
*/
|
|
90
127
|
export type CreatePublisher = <TEventSchema extends ZodType>(options: PublisherOptions<TEventSchema>) => Publisher<TEventSchema>;
|
|
91
128
|
export type PubSubRuntimeOptions = {
|
|
129
|
+
/** Queue depths, drops, successful reconnects and parse failures. */
|
|
130
|
+
onMetric?: (event: PubSubMetric) => void;
|
|
92
131
|
transport: PubSubTransport;
|
|
93
132
|
/**
|
|
94
|
-
* Called
|
|
95
|
-
*
|
|
133
|
+
* Called per event dropped from ingress, replay or delivery queues.
|
|
134
|
+
* Delivery drops count events before subscriber filtering.
|
|
96
135
|
*/
|
|
97
136
|
onDrop?: (count: number, info: {
|
|
98
137
|
name: string;
|
|
@@ -100,10 +139,20 @@ export type PubSubRuntimeOptions = {
|
|
|
100
139
|
}) => void;
|
|
101
140
|
/** Per-subscriber queue bound before drop-oldest (default: 1000). */
|
|
102
141
|
maxQueueSize?: number;
|
|
142
|
+
/** Pending raw messages per channel, before asynchronous parsing. */
|
|
143
|
+
maxIngressSize?: number;
|
|
144
|
+
/** Buffered live messages during replay. */
|
|
145
|
+
maxReplaySize?: number;
|
|
146
|
+
/** Broker subscription and backlog wait bound (default 10000ms). */
|
|
147
|
+
initializationTimeoutMs?: number;
|
|
148
|
+
/** Applied to channels, mirrors and therefore backlog keys. */
|
|
149
|
+
namespace?: string;
|
|
150
|
+
/** Close this transport only when its ownership is explicitly transferred. */
|
|
151
|
+
ownsTransport?: boolean;
|
|
103
152
|
};
|
|
104
153
|
/** @internal */
|
|
105
154
|
export type LiveRuntimeOptions = {
|
|
106
|
-
|
|
155
|
+
fn: (options: Record<string, unknown>) => import('@orpc/server').AnyProcedure;
|
|
107
156
|
tracing: Tracing;
|
|
108
157
|
createLogger: (scope: string, span: SpanLike | undefined) => FnLogger;
|
|
109
158
|
pubsub?: PubSubRuntimeOptions | undefined;
|
|
@@ -130,6 +179,7 @@ export declare function createBoundedEventQueue<T>(opts: {
|
|
|
130
179
|
createOverflowMarker?: () => T | null;
|
|
131
180
|
/** Called once per dropped message (metrics/counters). */
|
|
132
181
|
onDrop?: () => void;
|
|
182
|
+
onDepth?: (depth: number) => void;
|
|
133
183
|
}): {
|
|
134
184
|
readonly length: number;
|
|
135
185
|
enqueue(data: T): void;
|
|
@@ -148,11 +198,12 @@ export declare function createSubscriberDelivery<T>(options: {
|
|
|
148
198
|
overflowMarker?: (() => T | null) | undefined;
|
|
149
199
|
onFilterError: (error: unknown) => void;
|
|
150
200
|
onDrop: () => void;
|
|
201
|
+
onDepth?: (depth: number) => void;
|
|
151
202
|
}): {
|
|
152
|
-
push(data: T): void;
|
|
203
|
+
push(data: T, marker?: boolean): void;
|
|
153
204
|
events: AsyncGenerator<T, void, unknown>;
|
|
154
205
|
/** Stop delivering; a parked read ends at once. */
|
|
155
|
-
close(): void;
|
|
206
|
+
close(error?: unknown): void;
|
|
156
207
|
};
|
|
157
208
|
type Input = Record<string, unknown>;
|
|
158
209
|
/** An open subscription: registered, authorized and subscribed. */
|
|
@@ -161,9 +212,10 @@ export type LiveSubscription = {
|
|
|
161
212
|
events: AsyncGenerator<unknown, void, unknown>;
|
|
162
213
|
/** Release everything; safe to call more than once, and before `events` runs. */
|
|
163
214
|
close: () => void;
|
|
215
|
+
isClosed: () => boolean;
|
|
164
216
|
};
|
|
165
217
|
/** @internal Untyped options; `PubSubOptions` is the typed surface. */
|
|
166
|
-
export type ChannelOptions = PublisherConfig & {
|
|
218
|
+
export type ChannelOptions = PublisherConfig & ChannelQueueOptions & {
|
|
167
219
|
channel: ChannelDefinition<Input, unknown>;
|
|
168
220
|
eventSchema: ZodType;
|
|
169
221
|
filterFn?: FilterFn<Input, unknown>;
|
|
@@ -177,14 +229,21 @@ export type Channel = {
|
|
|
177
229
|
input: Input;
|
|
178
230
|
context: unknown;
|
|
179
231
|
signal: AbortSignal | undefined;
|
|
232
|
+
recoverGaps?: boolean;
|
|
180
233
|
}) => Promise<LiveSubscription>;
|
|
181
234
|
publish: (data: unknown) => Promise<void>;
|
|
182
235
|
publishMany: (items: readonly unknown[]) => Promise<void>;
|
|
183
236
|
getChannelName: (params: Input, context?: unknown) => string;
|
|
237
|
+
getSubscriptionChannelName: (params: {
|
|
238
|
+
input: Input;
|
|
239
|
+
context: unknown;
|
|
240
|
+
}) => string;
|
|
241
|
+
getPublishChannelName: (event: Input) => string;
|
|
184
242
|
};
|
|
185
243
|
/** @internal */
|
|
186
244
|
export declare function createLiveRuntime(options: LiveRuntimeOptions): {
|
|
187
245
|
createChannel: (channelOptions: ChannelOptions) => Channel;
|
|
246
|
+
shutdown: () => Promise<void>;
|
|
188
247
|
createPubSub: (pubsubOptions: ChannelOptions & {
|
|
189
248
|
inputSchema: ZodType;
|
|
190
249
|
procedure?: string;
|
|
@@ -196,6 +255,11 @@ export declare function createLiveRuntime(options: LiveRuntimeOptions): {
|
|
|
196
255
|
publish: (data: unknown) => Promise<void>;
|
|
197
256
|
publishMany: (items: readonly unknown[]) => Promise<void>;
|
|
198
257
|
getChannelName: (params: Input, context?: unknown) => string;
|
|
258
|
+
getSubscriptionChannelName: (params: {
|
|
259
|
+
input: Input;
|
|
260
|
+
context: unknown;
|
|
261
|
+
}) => string;
|
|
262
|
+
getPublishChannelName: (event: Input) => string;
|
|
199
263
|
};
|
|
200
264
|
createPublisher: (publisherOptions: PublisherOptions<ZodType>) => {
|
|
201
265
|
publish: (data: unknown) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pub-sub.d.ts","sourceRoot":"","sources":["../../src/live/pub-sub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAkB,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,KAAK,EACX,
|
|
1
|
+
{"version":3,"file":"pub-sub.d.ts","sourceRoot":"","sources":["../../src/live/pub-sub.ts"],"names":[],"mappings":"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"}
|