orpc-fn 0.7.0 → 0.9.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 +66 -28
- package/dist/assemble-procedure.d.ts.map +1 -1
- package/dist/assemble-procedure.js +3 -1
- package/dist/assemble-procedure.js.map +1 -1
- package/dist/client.d.ts +13 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +21 -1
- package/dist/client.js.map +1 -1
- package/dist/create-fn.d.ts +63 -5
- package/dist/create-fn.d.ts.map +1 -1
- package/dist/create-fn.js +45 -16
- package/dist/create-fn.js.map +1 -1
- package/dist/expected-client-error.d.ts +6 -0
- package/dist/expected-client-error.d.ts.map +1 -1
- package/dist/expected-client-error.js +16 -0
- package/dist/expected-client-error.js.map +1 -1
- package/dist/hono.d.ts +44 -22
- package/dist/hono.d.ts.map +1 -1
- package/dist/hono.js +51 -20
- package/dist/hono.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/issues.d.ts +12 -0
- package/dist/issues.d.ts.map +1 -0
- package/dist/issues.js +22 -0
- package/dist/issues.js.map +1 -0
- package/dist/json-schema.d.ts +3 -6
- package/dist/json-schema.d.ts.map +1 -1
- package/dist/json-schema.js +12 -7
- package/dist/json-schema.js.map +1 -1
- package/dist/live/codec.d.ts +2 -0
- package/dist/live/codec.d.ts.map +1 -1
- package/dist/live/codec.js +21 -16
- package/dist/live/codec.js.map +1 -1
- package/dist/live/fn-live.d.ts +6 -19
- package/dist/live/fn-live.d.ts.map +1 -1
- package/dist/live/fn-live.js +15 -23
- package/dist/live/fn-live.js.map +1 -1
- package/dist/live/index.d.ts +2 -2
- package/dist/live/index.d.ts.map +1 -1
- package/dist/live/index.js +1 -1
- package/dist/live/index.js.map +1 -1
- package/dist/live/memory.d.ts +11 -1
- package/dist/live/memory.d.ts.map +1 -1
- package/dist/live/memory.js +14 -1
- package/dist/live/memory.js.map +1 -1
- package/dist/live/pub-sub.d.ts +50 -8
- package/dist/live/pub-sub.d.ts.map +1 -1
- package/dist/live/pub-sub.js +79 -26
- package/dist/live/pub-sub.js.map +1 -1
- package/dist/live/redis-bun.d.ts +6 -1
- package/dist/live/redis-bun.d.ts.map +1 -1
- package/dist/live/redis-bun.js +10 -1
- package/dist/live/redis-bun.js.map +1 -1
- package/dist/live/scoped-change-bus.d.ts +3 -1
- package/dist/live/scoped-change-bus.d.ts.map +1 -1
- package/dist/live/scoped-change-bus.js +3 -0
- package/dist/live/scoped-change-bus.js.map +1 -1
- package/dist/mastra.d.ts +16 -3
- package/dist/mastra.d.ts.map +1 -1
- package/dist/mastra.js +15 -3
- package/dist/mastra.js.map +1 -1
- package/dist/mcp/core.d.ts +31 -14
- package/dist/mcp/core.d.ts.map +1 -1
- package/dist/mcp/core.js +39 -20
- package/dist/mcp/core.js.map +1 -1
- package/dist/mcp/sdk.d.ts +6 -2
- package/dist/mcp/sdk.d.ts.map +1 -1
- package/dist/mcp/sdk.js +9 -3
- package/dist/mcp/sdk.js.map +1 -1
- package/dist/mcp/server.d.ts +6 -2
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +9 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp.d.ts +3 -7
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +4 -6
- package/dist/mcp.js.map +1 -1
- package/dist/meta.d.ts +14 -2
- package/dist/meta.d.ts.map +1 -1
- package/dist/meta.js +6 -2
- package/dist/meta.js.map +1 -1
- package/dist/otel.d.ts +16 -4
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +40 -10
- package/dist/otel.js.map +1 -1
- package/dist/react.d.ts +6 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +5 -1
- package/dist/react.js.map +1 -1
- package/dist/route-options.d.ts.map +1 -1
- package/dist/route-options.js +4 -0
- package/dist/route-options.js.map +1 -1
- package/dist/stream-call.d.ts +15 -0
- package/dist/stream-call.d.ts.map +1 -0
- package/dist/stream-call.js +13 -0
- package/dist/stream-call.js.map +1 -0
- package/dist/timing.d.ts +2 -0
- package/dist/timing.d.ts.map +1 -1
- package/dist/timing.js +2 -0
- package/dist/timing.js.map +1 -1
- package/dist/tool-errors.d.ts +24 -0
- package/dist/tool-errors.d.ts.map +1 -0
- package/dist/tool-errors.js +36 -0
- package/dist/tool-errors.js.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/vue.d.ts +47 -4
- package/dist/vue.d.ts.map +1 -1
- package/dist/vue.js +39 -9
- package/dist/vue.js.map +1 -1
- package/package.json +2 -2
- package/src/assemble-procedure.ts +3 -1
- package/src/client.ts +26 -2
- package/src/create-fn.ts +149 -19
- package/src/expected-client-error.ts +19 -0
- package/src/hono.ts +120 -41
- package/src/index.ts +3 -2
- package/src/issues.ts +35 -0
- package/src/json-schema.ts +16 -10
- package/src/live/codec.ts +21 -19
- package/src/live/fn-live.ts +18 -36
- package/src/live/index.ts +2 -2
- package/src/live/memory.ts +22 -1
- package/src/live/pub-sub.ts +142 -37
- package/src/live/redis-bun.ts +23 -2
- package/src/live/scoped-change-bus.ts +10 -1
- package/src/mastra.ts +25 -6
- package/src/mcp/core.ts +76 -29
- package/src/mcp/sdk.ts +27 -2
- package/src/mcp/server.ts +27 -2
- package/src/mcp.ts +5 -16
- package/src/meta.ts +28 -4
- package/src/otel.ts +41 -9
- package/src/react.ts +10 -3
- package/src/route-options.ts +8 -0
- package/src/stream-call.ts +15 -0
- package/src/timing.ts +3 -0
- package/src/tool-errors.ts +52 -0
- package/src/types.ts +2 -0
- package/src/vue.ts +92 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-options.js","sourceRoot":"","sources":["../src/route-options.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\ttype AnySchema,\n\ttype ErrorMap,\n\tgetEventIteratorSchemaDetails\n} from '@orpc/contract'\nimport { ROUTE_OPTION_KEYS } from './types.js'\n\ntype Resolver = (params: {\n\tinput: unknown\n\tcontext: unknown\n\tsignal: AbortSignal | undefined\n}) => unknown\nfunction schemaOption(schema: unknown, name: string): AnySchema | undefined {\n\tif (schema === undefined) return undefined\n\tif (\n\t\ttypeof schema !== 'object' ||\n\t\tschema === null ||\n\t\t!('~standard' in schema) ||\n\t\ttypeof (schema as AnySchema)['~standard']?.validate !== 'function'\n\t)\n\t\tthrow new TypeError(`orpc-fn: ${name} must be a Standard Schema`)\n\treturn schema as AnySchema\n}\n\n/** Runtime validation for JavaScript callers and spread route options. */\nexport function normalizeRoute(\n\toptions: Record<string, unknown>,\n\tisGuard: (key: string) => boolean\n) {\n\tconst {\n\t\thandler,\n\t\tinput: rawInput,\n\t\toutput: rawOutput,\n\t\tname,\n\t\tprocedure,\n\t\tmeta: appMeta = {},\n\t\tstream,\n\t\terrors,\n\t\tguardResolvers = {},\n\t\t...rest\n\t} = options\n\tif (typeof name !== 'string' || !name || typeof handler !== 'function')\n\t\tthrow new TypeError('orpc-fn: routes require a name and handler')\n\tif (procedure !== undefined && typeof procedure !== 'string')\n\t\tthrow new TypeError('orpc-fn: procedure must be a configured key')\n\tif (typeof appMeta !== 'object' || appMeta === null || Array.isArray(appMeta))\n\t\tthrow new TypeError('orpc-fn: meta must be an object')\n\tif (stream !== undefined && typeof stream !== 'boolean')\n\t\tthrow new TypeError('orpc-fn: stream must be boolean')\n\tif (\n\t\ttypeof guardResolvers !== 'object' ||\n\t\tguardResolvers === null ||\n\t\tArray.isArray(guardResolvers)\n\t)\n\t\tthrow new TypeError('orpc-fn: guardResolvers must be an object')\n\tconst input = schemaOption(rawInput, 'input')\n\tconst output = schemaOption(rawOutput, 'output')\n\tconst route: Record<string, unknown> = {}\n\tconst guardChecks: Array<[string, unknown]> = []\n\tfor (const [option, value] of Object.entries(rest)) {\n\t\tif ((ROUTE_OPTION_KEYS as readonly string[]).includes(option))\n\t\t\troute[option] = value\n\t\telse if (isGuard(option)) {\n\t\t\tif (value !== undefined) guardChecks.push([option, value])\n\t\t} else\n\t\t\tthrow new TypeError(\n\t\t\t\t`orpc-fn: unknown route option \"${option}\"; put application metadata in meta`\n\t\t\t)\n\t}\n\tconst iterator = getEventIteratorSchemaDetails(output) !== undefined\n\tif (stream === false && iterator)\n\t\tthrow new TypeError(\n\t\t\t'orpc-fn: an event iterator schema cannot declare stream: false'\n\t\t)\n\tfor (const [guard, resolver] of Object.entries(guardResolvers)) {\n\t\tif (!isGuard(guard))\n\t\t\tthrow new TypeError(`orpc-fn: unknown guard resolver \"${guard}\"`)\n\t\tif (typeof resolver !== 'function')\n\t\t\tthrow new TypeError(\n\t\t\t\t`orpc-fn: guard resolver \"${guard}\" must be a function`\n\t\t\t)\n\t\tif (guardChecks.some(([key]) => key === guard))\n\t\t\tthrow new TypeError(\n\t\t\t\t`orpc-fn: guard \"${guard}\" has both a value and resolver`\n\t\t\t)\n\t}\n\treturn {\n\t\thandler: handler as (params: Record<PropertyKey, unknown>) => unknown,\n\t\tinput,\n\t\toutput,\n\t\tname,\n\t\tprocedure,\n\t\tmeta: appMeta as Record<string, unknown>,\n\t\tstream: stream === true || iterator,\n\t\terrors: errors as ErrorMap | undefined,\n\t\tguardResolvers: guardResolvers as Record<string, Resolver>,\n\t\troute,\n\t\tguardChecks\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"route-options.js","sourceRoot":"","sources":["../src/route-options.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\ttype AnySchema,\n\ttype ErrorMap,\n\tgetEventIteratorSchemaDetails\n} from '@orpc/contract'\nimport { ROUTE_OPTION_KEYS } from './types.js'\n\ntype Resolver = (params: {\n\tinput: unknown\n\tcontext: unknown\n\tsignal: AbortSignal | undefined\n}) => unknown\nfunction schemaOption(schema: unknown, name: string): AnySchema | undefined {\n\tif (schema === undefined) return undefined\n\tif (\n\t\ttypeof schema !== 'object' ||\n\t\tschema === null ||\n\t\t!('~standard' in schema) ||\n\t\ttypeof (schema as AnySchema)['~standard']?.validate !== 'function'\n\t)\n\t\tthrow new TypeError(`orpc-fn: ${name} must be a Standard Schema`)\n\treturn schema as AnySchema\n}\n\n/** Runtime validation for JavaScript callers and spread route options. */\nexport function normalizeRoute(\n\toptions: Record<string, unknown>,\n\tisGuard: (key: string) => boolean\n) {\n\tconst {\n\t\thandler,\n\t\tinput: rawInput,\n\t\toutput: rawOutput,\n\t\tname,\n\t\tprocedure,\n\t\tmeta: appMeta = {},\n\t\tstream,\n\t\terrors,\n\t\tguardResolvers = {},\n\t\t...rest\n\t} = options\n\tif (typeof name !== 'string' || !name || typeof handler !== 'function')\n\t\tthrow new TypeError('orpc-fn: routes require a name and handler')\n\tif (procedure !== undefined && typeof procedure !== 'string')\n\t\tthrow new TypeError('orpc-fn: procedure must be a configured key')\n\tif (typeof appMeta !== 'object' || appMeta === null || Array.isArray(appMeta))\n\t\tthrow new TypeError('orpc-fn: meta must be an object')\n\tif (stream !== undefined && typeof stream !== 'boolean')\n\t\tthrow new TypeError('orpc-fn: stream must be boolean')\n\tif (\n\t\ttypeof guardResolvers !== 'object' ||\n\t\tguardResolvers === null ||\n\t\tArray.isArray(guardResolvers)\n\t)\n\t\tthrow new TypeError('orpc-fn: guardResolvers must be an object')\n\tconst input = schemaOption(rawInput, 'input')\n\tconst output = schemaOption(rawOutput, 'output')\n\tconst route: Record<string, unknown> = {}\n\tconst guardChecks: Array<[string, unknown]> = []\n\tfor (const [option, value] of Object.entries(rest)) {\n\t\tif ((ROUTE_OPTION_KEYS as readonly string[]).includes(option))\n\t\t\troute[option] = value\n\t\telse if (isGuard(option)) {\n\t\t\tif (value !== undefined) guardChecks.push([option, value])\n\t\t} else\n\t\t\tthrow new TypeError(\n\t\t\t\t`orpc-fn: unknown route option \"${option}\"; put application metadata in meta`\n\t\t\t)\n\t}\n\tconst iterator = getEventIteratorSchemaDetails(output) !== undefined\n\tif (stream === false && iterator)\n\t\tthrow new TypeError(\n\t\t\t'orpc-fn: an event iterator schema cannot declare stream: false'\n\t\t)\n\tif (\n\t\tstream !== true &&\n\t\t!iterator &&\n\t\thandler.constructor?.name === 'AsyncGeneratorFunction'\n\t)\n\t\tthrow new TypeError(\n\t\t\t`orpc-fn: ${name} has an async generator handler; declare stream: true`\n\t\t)\n\tfor (const [guard, resolver] of Object.entries(guardResolvers)) {\n\t\tif (!isGuard(guard))\n\t\t\tthrow new TypeError(`orpc-fn: unknown guard resolver \"${guard}\"`)\n\t\tif (typeof resolver !== 'function')\n\t\t\tthrow new TypeError(\n\t\t\t\t`orpc-fn: guard resolver \"${guard}\" must be a function`\n\t\t\t)\n\t\tif (guardChecks.some(([key]) => key === guard))\n\t\t\tthrow new TypeError(\n\t\t\t\t`orpc-fn: guard \"${guard}\" has both a value and resolver`\n\t\t\t)\n\t}\n\treturn {\n\t\thandler: handler as (params: Record<PropertyKey, unknown>) => unknown,\n\t\tinput,\n\t\toutput,\n\t\tname,\n\t\tprocedure,\n\t\tmeta: appMeta as Record<string, unknown>,\n\t\tstream: stream === true || iterator,\n\t\terrors: errors as ErrorMap | undefined,\n\t\tguardResolvers: guardResolvers as Record<string, Resolver>,\n\t\troute,\n\t\tguardChecks\n\t}\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-context key the `orpc-fn/vue` and `orpc-fn/react` stream helpers set,
|
|
3
|
+
* so `createRpcLink` keeps the call out of a batch without a stream manifest.
|
|
4
|
+
* Shared across package copies.
|
|
5
|
+
*/
|
|
6
|
+
export declare const STREAM_CALL: unique symbol;
|
|
7
|
+
/**
|
|
8
|
+
* Pass as the client context of a stream opened by hand:
|
|
9
|
+
* `client.metrics.run(input, { signal, context: streamCall })`.
|
|
10
|
+
*/
|
|
11
|
+
export declare const streamCall: {
|
|
12
|
+
readonly [STREAM_CALL]: true;
|
|
13
|
+
};
|
|
14
|
+
export declare const isStreamCall: (context: object) => boolean;
|
|
15
|
+
//# sourceMappingURL=stream-call.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-call.d.ts","sourceRoot":"","sources":["../src/stream-call.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,OAAO,MAAyC,CAAA;AAE1E;;;GAGG;AACH,eAAO,MAAM,UAAU;;CAAmC,CAAA;AAE1D,eAAO,MAAM,YAAY,YAAa,MAAM,YACmB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-context key the `orpc-fn/vue` and `orpc-fn/react` stream helpers set,
|
|
3
|
+
* so `createRpcLink` keeps the call out of a batch without a stream manifest.
|
|
4
|
+
* Shared across package copies.
|
|
5
|
+
*/
|
|
6
|
+
export const STREAM_CALL = Symbol.for('orpc-fn.streamCall');
|
|
7
|
+
/**
|
|
8
|
+
* Pass as the client context of a stream opened by hand:
|
|
9
|
+
* `client.metrics.run(input, { signal, context: streamCall })`.
|
|
10
|
+
*/
|
|
11
|
+
export const streamCall = { [STREAM_CALL]: true };
|
|
12
|
+
export const isStreamCall = (context) => context[STREAM_CALL] === true;
|
|
13
|
+
//# sourceMappingURL=stream-call.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-call.js","sourceRoot":"","sources":["../src/stream-call.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAkB,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AAE1E;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAW,CAAA;AAE1D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE,CAC9C,OAAuC,CAAC,WAAW,CAAC,KAAK,IAAI,CAAA","sourcesContent":["/**\n * Client-context key the `orpc-fn/vue` and `orpc-fn/react` stream helpers set,\n * so `createRpcLink` keeps the call out of a batch without a stream manifest.\n * Shared across package copies.\n */\nexport const STREAM_CALL: unique symbol = Symbol.for('orpc-fn.streamCall')\n\n/**\n * Pass as the client context of a stream opened by hand:\n * `client.metrics.run(input, { signal, context: streamCall })`.\n */\nexport const streamCall = { [STREAM_CALL]: true } as const\n\nexport const isStreamCall = (context: object) =>\n\t(context as { [STREAM_CALL]?: unknown })[STREAM_CALL] === true\n"]}
|
package/dist/timing.d.ts
CHANGED
|
@@ -5,4 +5,6 @@ export type InvocationTiming = {
|
|
|
5
5
|
calls: number;
|
|
6
6
|
};
|
|
7
7
|
export declare const RAW_INPUT: unique symbol;
|
|
8
|
+
/** Extras a `createTestCall` replaces, carried through nested calls. */
|
|
9
|
+
export declare const EXTRAS_OVERRIDE: unique symbol;
|
|
8
10
|
//# sourceMappingURL=timing.d.ts.map
|
package/dist/timing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../src/timing.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,eAAO,MAAM,cAAc,eAAkC,CAAA;AAC7D,MAAM,MAAM,gBAAgB,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAErE,eAAO,MAAM,SAAS,eAA6B,CAAA"}
|
|
1
|
+
{"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../src/timing.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,eAAO,MAAM,cAAc,eAAkC,CAAA;AAC7D,MAAM,MAAM,gBAAgB,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAErE,eAAO,MAAM,SAAS,eAA6B,CAAA;AAEnD,wEAAwE;AACxE,eAAO,MAAM,eAAe,eAAmC,CAAA"}
|
package/dist/timing.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/** Internal bridge shared by the execution middleware and HTTP adapters. */
|
|
2
2
|
export const REQUEST_TIMING = Symbol('orpc-fn.requestTiming');
|
|
3
3
|
export const RAW_INPUT = Symbol('orpc-fn.rawInput');
|
|
4
|
+
/** Extras a `createTestCall` replaces, carried through nested calls. */
|
|
5
|
+
export const EXTRAS_OVERRIDE = Symbol('orpc-fn.extrasOverride');
|
|
4
6
|
//# sourceMappingURL=timing.js.map
|
package/dist/timing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../src/timing.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAA;AAG7D,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA","sourcesContent":["/** Internal bridge shared by the execution middleware and HTTP adapters. */\nexport const REQUEST_TIMING = Symbol('orpc-fn.requestTiming')\nexport type InvocationTiming = { procedureMs: number; calls: number }\n\nexport const RAW_INPUT = Symbol('orpc-fn.rawInput')\n"]}
|
|
1
|
+
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../src/timing.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAA;AAG7D,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA;AAEnD,wEAAwE;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAA","sourcesContent":["/** Internal bridge shared by the execution middleware and HTTP adapters. */\nexport const REQUEST_TIMING = Symbol('orpc-fn.requestTiming')\nexport type InvocationTiming = { procedureMs: number; calls: number }\n\nexport const RAW_INPUT = Symbol('orpc-fn.rawInput')\n\n/** Extras a `createTestCall` replaces, carried through nested calls. */\nexport const EXTRAS_OVERRIDE = Symbol('orpc-fn.extrasOverride')\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** How a tool adapter turns a failed call into text for the model. */
|
|
2
|
+
export type ToolErrorOptions = {
|
|
3
|
+
/**
|
|
4
|
+
* Errors the model may read. Default: `isExpectedClientError` (4xx
|
|
5
|
+
* `ORPCError`, aborts, and whatever the factory's `isExpectedError` accepted).
|
|
6
|
+
*/
|
|
7
|
+
isExpectedError?: (error: unknown) => boolean;
|
|
8
|
+
/** Unexpected errors, whose text the model does not see. Report them here. */
|
|
9
|
+
onError?: (error: unknown, info: {
|
|
10
|
+
tool: string;
|
|
11
|
+
}) => void;
|
|
12
|
+
/** Replace the text the model reads. */
|
|
13
|
+
formatError?: (error: unknown, info: {
|
|
14
|
+
tool: string;
|
|
15
|
+
expected: boolean;
|
|
16
|
+
}) => string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* An expected error reads `CODE: message`, then one `path: message` line per
|
|
20
|
+
* validation issue, so the model can fix its arguments. Anything else reads
|
|
21
|
+
* as a fixed sentence: its text may hold internals and goes to `onError`.
|
|
22
|
+
*/
|
|
23
|
+
export declare function toolErrorText(error: unknown, tool: string, options: ToolErrorOptions): string;
|
|
24
|
+
//# sourceMappingURL=tool-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-errors.d.ts","sourceRoot":"","sources":["../src/tool-errors.ts"],"names":[],"mappings":"AAIA,sEAAsE;AACtE,MAAM,MAAM,gBAAgB,GAAG;IAC9B;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;IAC7C,8EAA8E;IAC9E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC1D,wCAAwC;IACxC,WAAW,CAAC,EAAE,CACb,KAAK,EAAE,OAAO,EACd,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KACrC,MAAM,CAAA;CACX,CAAA;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,gBAAgB,GACvB,MAAM,CAsBR"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { isExpectedClientError } from './expected-client-error.js';
|
|
2
|
+
import { formatIssue, issuesOf } from './issues.js';
|
|
3
|
+
import { errorCodeOf, errorMessageOf } from './otel.js';
|
|
4
|
+
/**
|
|
5
|
+
* An expected error reads `CODE: message`, then one `path: message` line per
|
|
6
|
+
* validation issue, so the model can fix its arguments. Anything else reads
|
|
7
|
+
* as a fixed sentence: its text may hold internals and goes to `onError`.
|
|
8
|
+
*/
|
|
9
|
+
export function toolErrorText(error, tool, options) {
|
|
10
|
+
let expected = false;
|
|
11
|
+
try {
|
|
12
|
+
expected = (options.isExpectedError ?? isExpectedClientError)(error);
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
/* A failing classifier hides the error. */
|
|
16
|
+
}
|
|
17
|
+
if (!expected) {
|
|
18
|
+
try {
|
|
19
|
+
options.onError?.(error, { tool });
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
/* Reporting cannot change the tool's answer. */
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (options.formatError)
|
|
26
|
+
return options.formatError(error, { tool, expected });
|
|
27
|
+
if (!expected)
|
|
28
|
+
return `${tool} failed unexpectedly. The error was reported.`;
|
|
29
|
+
const code = errorCodeOf(error);
|
|
30
|
+
const message = errorMessageOf(error);
|
|
31
|
+
return [
|
|
32
|
+
code ? `${code}: ${message}` : message,
|
|
33
|
+
...issuesOf(error).map(formatIssue)
|
|
34
|
+
].join('\n');
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=tool-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-errors.js","sourceRoot":"","sources":["../src/tool-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAkBvD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC5B,KAAc,EACd,IAAY,EACZ,OAAyB;IAEzB,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,CAAC;QACJ,QAAQ,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,qBAAqB,CAAC,CAAC,KAAK,CAAC,CAAA;IACrE,CAAC;IAAC,MAAM,CAAC;QACR,2CAA2C;IAC5C,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,IAAI,CAAC;YACJ,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACnC,CAAC;QAAC,MAAM,CAAC;YACR,gDAAgD;QACjD,CAAC;IACF,CAAC;IACD,IAAI,OAAO,CAAC,WAAW;QAAE,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC9E,IAAI,CAAC,QAAQ;QAAE,OAAO,GAAG,IAAI,+CAA+C,CAAA;IAC5E,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAC/B,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;IACrC,OAAO;QACN,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO;QACtC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;KACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACb,CAAC","sourcesContent":["import { isExpectedClientError } from './expected-client-error.js'\nimport { formatIssue, issuesOf } from './issues.js'\nimport { errorCodeOf, errorMessageOf } from './otel.js'\n\n/** How a tool adapter turns a failed call into text for the model. */\nexport type ToolErrorOptions = {\n\t/**\n\t * Errors the model may read. Default: `isExpectedClientError` (4xx\n\t * `ORPCError`, aborts, and whatever the factory's `isExpectedError` accepted).\n\t */\n\tisExpectedError?: (error: unknown) => boolean\n\t/** Unexpected errors, whose text the model does not see. Report them here. */\n\tonError?: (error: unknown, info: { tool: string }) => void\n\t/** Replace the text the model reads. */\n\tformatError?: (\n\t\terror: unknown,\n\t\tinfo: { tool: string; expected: boolean }\n\t) => string\n}\n\n/**\n * An expected error reads `CODE: message`, then one `path: message` line per\n * validation issue, so the model can fix its arguments. Anything else reads\n * as a fixed sentence: its text may hold internals and goes to `onError`.\n */\nexport function toolErrorText(\n\terror: unknown,\n\ttool: string,\n\toptions: ToolErrorOptions\n): string {\n\tlet expected = false\n\ttry {\n\t\texpected = (options.isExpectedError ?? isExpectedClientError)(error)\n\t} catch {\n\t\t/* A failing classifier hides the error. */\n\t}\n\tif (!expected) {\n\t\ttry {\n\t\t\toptions.onError?.(error, { tool })\n\t\t} catch {\n\t\t\t/* Reporting cannot change the tool's answer. */\n\t\t}\n\t}\n\tif (options.formatError) return options.formatError(error, { tool, expected })\n\tif (!expected) return `${tool} failed unexpectedly. The error was reported.`\n\tconst code = errorCodeOf(error)\n\tconst message = errorMessageOf(error)\n\treturn [\n\t\tcode ? `${code}: ${message}` : message,\n\t\t...issuesOf(error).map(formatIssue)\n\t].join('\\n')\n}\n"]}
|
package/dist/types.d.ts
CHANGED
|
@@ -42,6 +42,8 @@ export type BuildProcedure = (options: {
|
|
|
42
42
|
procedure: string | undefined;
|
|
43
43
|
route: Record<string, unknown>;
|
|
44
44
|
meta: Record<string, unknown>;
|
|
45
|
+
guards?: Record<string, unknown>;
|
|
46
|
+
dynamicGuards?: readonly string[];
|
|
45
47
|
input?: AnySchema | undefined;
|
|
46
48
|
output?: AnySchema | undefined;
|
|
47
49
|
stream?: boolean;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAkFA,oFAAoF;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,MAAM;IACN,QAAQ;IACR,SAAS;IACT,aAAa;IACb,YAAY;IACZ,eAAe;IACf,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,MAAM;CACsC,CAAA;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IACnC,GAAG,iBAAiB;IACpB,MAAM;IACN,WAAW;IACX,OAAO;IACP,QAAQ;IACR,SAAS;IACT,MAAM;IACN,aAAa;IACb,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,gBAAgB;CACP,CAAA","sourcesContent":["import type {\n\tAnySchema,\n\tErrorMap,\n\tInferSchemaInput,\n\tInferSchemaOutput,\n\tMergedErrorMap,\n\tSchema\n} from '@orpc/contract'\nimport type {\n\tAnyProcedure,\n\tDecoratedProcedure,\n\tProcedure,\n\tRoute\n} from '@orpc/server'\nimport type { createORPCErrorConstructorMap } from '@orpc/server'\nimport type { StoredFnMeta } from './meta.js'\nimport type { NativeErrors, NativeMeta } from './compatibility.js'\nimport type { BoundCall } from './bound-call.js'\nimport type { FnLogger } from './logger.js'\nimport type { SpanLike } from './otel.js'\n\nexport type MaybePromise<T> = T | Promise<T>\n\n/**\n * An oRPC builder without input or output schema: `os`, `os.$context<T>()`,\n * `os.use(...)`. A schema set on the builder is rejected by `createFn`; set it\n * on the route instead.\n */\n/* biome-ignore-start lint/suspicious/noExplicitAny: matches every builder's generic methods */\nexport type BuilderLike = {\n\troute(route: any): unknown\n\tmeta(meta: any): unknown\n\tinput(schema: any): unknown\n\toutput(schema: any): unknown\n\thandler(handler: any): Procedure<any, any, any, any, any, any>\n}\n/* biome-ignore-end lint/suspicious/noExplicitAny: matches every builder's generic methods */\n\n/** Input a procedure is called with (before its input schema runs). */\nexport type ProcedureInput<T> =\n\tT extends Procedure<\n\t\tinfer _TInitial,\n\t\tinfer _TCurrent,\n\t\tinfer TInputSchema extends AnySchema,\n\t\tinfer _TOut,\n\t\tinfer _TErrors,\n\t\tinfer _TMeta\n\t>\n\t\t? InferSchemaInput<TInputSchema>\n\t\t: unknown\n\n/** What a procedure resolves to (after its output schema runs). */\nexport type ProcedureOutput<T> =\n\tT extends Procedure<\n\t\tinfer _TInitial,\n\t\tinfer _TCurrent,\n\t\tinfer _TIn,\n\t\tinfer TOutputSchema extends AnySchema,\n\t\tinfer _TErrors,\n\t\tinfer _TMeta\n\t>\n\t\t? InferSchemaOutput<TOutputSchema>\n\t\t: unknown\n\n/** Context a procedure must be called with. */\nexport type ProcedureContext<T> =\n\tT extends Procedure<\n\t\tinfer TContext,\n\t\tinfer _TCurrent,\n\t\tinfer _TIn,\n\t\tinfer _TOut,\n\t\tinfer _TErrors,\n\t\tinfer _TMeta\n\t>\n\t\t? TContext\n\t\t: never\n\n/** `Omit` that keeps each member of a union (handler params narrow by discriminant). */\nexport type DistributiveOmit<T, K extends PropertyKey> = T extends unknown\n\t? Omit<T, K>\n\t: never\n\n/** `fn()` options passed to oRPC's `.route()`; `RouteConfig` is derived from it. */\nexport const ROUTE_OPTION_KEYS = [\n\t'path',\n\t'method',\n\t'summary',\n\t'description',\n\t'deprecated',\n\t'successStatus',\n\t'successDescription',\n\t'inputStructure',\n\t'outputStructure',\n\t'tags'\n] as const satisfies readonly (keyof Route)[]\n\n/**\n * `fn()` option names owned by the route itself. Guard keys must not\n * reuse them: such an option would be read as the route option and the guard\n * would never run.\n */\nexport const RESERVED_OPTION_KEYS = [\n\t...ROUTE_OPTION_KEYS,\n\t'name',\n\t'procedure',\n\t'input',\n\t'output',\n\t'handler',\n\t'live',\n\t'operationId',\n\t'meta',\n\t'stream',\n\t'errors',\n\t'guardResolvers'\n] as const\n\nexport type ReservedOptionKey = (typeof RESERVED_OPTION_KEYS)[number]\n\n/** @internal Builds one route from a selected native procedure builder. */\nexport type BuildProcedure = (options: {\n\tname: string\n\tprocedure: string | undefined\n\troute: Record<string, unknown>\n\tmeta: Record<string, unknown>\n\tinput?: AnySchema | undefined\n\toutput?: AnySchema | undefined\n\tstream?: boolean\n\terrors?: ErrorMap\n\thandler: (options: {\n\t\tinput: unknown\n\t\tcontext: Record<string | symbol, unknown>\n\t\tsignal?: AbortSignal\n\t\tlastEventId?: string\n\t\terrors: ReturnType<typeof createORPCErrorConstructorMap>\n\t}) => unknown\n}) => AnyProcedure\n\n/** Turns every key of `T` found in `K` into a readable type error. */\nexport type RejectKeys<T, K extends PropertyKey, TMessage extends string> = {\n\t[P in Extract<keyof T, K>]: TMessage\n}\n\n/** Params every handler receives; extras may not reuse these names. */\ntype HandlerParamKey =\n\t| 'input'\n\t| 'context'\n\t| 'call'\n\t| 'signal'\n\t| 'span'\n\t| 'logger'\n\t| 'errors'\n\t| 'lastEventId'\n\n/**\n * Handler extras must have known keys: an index signature would claim every\n * handler param. Intersected into `createFn`'s options to reject it.\n */\nexport type FiniteExtras<T> = T extends unknown\n\t? string extends keyof T\n\t\t? { extras: 'orpc-fn: extras need known keys, not an index signature' }\n\t\t: number extends keyof T\n\t\t\t? { extras: 'orpc-fn: extras need known keys, not an index signature' }\n\t\t\t: Extract<keyof T, HandlerParamKey> extends never\n\t\t\t\t? unknown\n\t\t\t\t: { extras: 'orpc-fn: extras cannot shadow handler parameters' }\n\t: never\n\ntype ProcedureOf<TBuilder> = TBuilder extends {\n\thandler(handler: never): infer TProcedure\n}\n\t? TProcedure\n\t: never\n\n/** Context a route built from this builder is called with. */\nexport type InitialContextOf<TBuilder> = ProcedureContext<ProcedureOf<TBuilder>>\n\n/** Context the handler sees, after the builder's middleware. */\nexport type CurrentContextOf<TBuilder> =\n\tProcedureOf<TBuilder> extends Procedure<\n\t\tinfer _TInitial,\n\t\tinfer TContext,\n\t\tinfer _TIn,\n\t\tinfer _TOut,\n\t\tinfer _TErrors,\n\t\tinfer _TMeta\n\t>\n\t\t? TContext\n\t\t: never\n\nexport type ErrorMapOf<TBuilder> = NativeErrors<ProcedureOf<TBuilder>>\ntype MetaOf<TBuilder> = NativeMeta<ProcedureOf<TBuilder>>\n\n/**\n * Everything `createFn` inferred from its options. Route types read from it;\n * apps rarely spell it out.\n */\nexport type FnDefinition = {\n\tprocedures: Record<string, BuilderLike>\n\tdefault: string\n\textras: object\n\textrasByProcedure?: Partial<Record<string, object>>\n\tguards: object\n\tmeta: object\n\ttag: string\n\tspan: SpanLike\n\tlogger: FnLogger\n}\n\nexport type ProcedureKey<TDef extends FnDefinition> = keyof TDef['procedures'] &\n\tstring\n\n/** Context the handler of a `procedure: TKey` route receives. */\nexport type FnContext<\n\tTDef extends FnDefinition,\n\tTKey extends ProcedureKey<TDef>\n> = CurrentContextOf<TDef['procedures'][TKey]>\n\n/** Union of every procedure's handler context: what guards and extras see. */\nexport type AnyFnContext<TDef extends FnDefinition> = {\n\t[K in ProcedureKey<TDef>]: FnContext<TDef, K>\n}[ProcedureKey<TDef>]\n\nexport type GuardParams<TContext, TMeta> = {\n\tcontext: TContext\n\tinput: unknown\n\t/** Route name (operationId). */\n\tname: string\n\t/** Procedures key the route was built from. */\n\tprocedure: string\n\tmeta: Partial<TMeta>\n\tsignal: AbortSignal | undefined\n}\n\n/**\n * A check run before the handler. Its first parameter becomes an option on\n * `fn({...})`; the guard runs only on routes that set it. Throw (usually an\n * `ORPCError`) to refuse the call.\n */\n/* biome-ignore-start lint/suspicious/noConfusingVoidType: union prevents accidental value returns while accepting assertion-style guards */\nexport type Guard<TValue, TParams> = (\n\tvalue: TValue,\n\tparams: TParams\n) => MaybePromise<void | boolean>\n/* biome-ignore-end lint/suspicious/noConfusingVoidType: assertion-style guards */\n\nexport type GuardOptions<TGuards> = {\n\t[K in keyof TGuards]?: TGuards[K] extends (\n\t\tvalue: infer TValue,\n\t\tparams: never\n\t) => unknown\n\t\t? TValue\n\t\t: never\n}\n\n/** Match object spread: scoped extras replace shared keys, preserving unions. */\ntype MergeExtras<TShared, TScoped> = TShared extends unknown\n\t? TScoped extends unknown\n\t\t? Omit<TShared, keyof TScoped> & TScoped\n\t\t: never\n\t: never\n\nexport type HandlerParams<\n\tTDef extends FnDefinition,\n\tTInput,\n\tTKey extends ProcedureKey<TDef>,\n\tTErrors extends ErrorMap = Record<never, never>\n> = DistributiveOmit<\n\tMergeExtras<\n\t\tTDef['extras'],\n\t\tTDef extends { extrasByProcedure: infer E }\n\t\t\t? TKey extends keyof E\n\t\t\t\t? E[TKey]\n\t\t\t\t: object\n\t\t\t: object\n\t>,\n\tHandlerParamKey\n> & {\n\tinput: TInput\n\tcontext: FnContext<TDef, TKey>\n\t/** Calls another procedure with this context and signal, in a child span. */\n\tcall: BoundCall<FnContext<TDef, TKey>>\n\t/** Cancellation is inherited by nested calls; pass to interruptible I/O. */\n\tsignal: AbortSignal | undefined\n\t/** Active OpenTelemetry span, undefined when `createFn({ otel })` is not set. */\n\tspan: TDef['span'] | undefined\n\tlogger: TDef['logger']\n\tlastEventId: string | undefined\n\terrors: ReturnType<\n\t\ttypeof createORPCErrorConstructorMap<\n\t\t\tMergedErrorMap<ErrorMapOf<TDef['procedures'][TKey]>, TErrors>\n\t\t>\n\t>\n}\n\n/** Route options shared by every `fn()` overload. */\nexport type RouteConfig<TTag extends string = string> = Pick<\n\tRoute,\n\tExclude<(typeof ROUTE_OPTION_KEYS)[number], 'tags'>\n> & {\n\t/** Required. Becomes the OpenAPI operationId and the span name (e.g. 'user.create'). */\n\tname: string\n\ttags?: TTag[]\n}\n\nexport type FnRouteOptions<\n\tTDef extends FnDefinition,\n\tTKey extends ProcedureKey<TDef>,\n\tTInput = unknown,\n\tTErrors extends ErrorMap = Record<never, never>\n> = RouteConfig<TDef['tag']> &\n\tGuardOptions<TDef['guards']> & {\n\t\tmeta?: TDef['meta']\n\t\tstream?: boolean\n\t\terrors?: TErrors\n\t\tguardResolvers?: {\n\t\t\t[K in keyof TDef['guards']]?: (params: {\n\t\t\t\tinput: TInput\n\t\t\t\tcontext: FnContext<TDef, TKey>\n\t\t\t\tsignal: AbortSignal | undefined\n\t\t\t}) => MaybePromise<GuardOptions<TDef['guards']>[K]>\n\t\t}\n\t} & ProcedureOption<TDef, TKey>\n\n/**\n * Which `createFn({ procedures })` builder a route uses. Optional when\n * `createFn` has a `default`; required on every route when it has none.\n */\nexport type ProcedureOption<\n\tTDef extends FnDefinition,\n\tTKey extends ProcedureKey<TDef>\n> = [TDef['default']] extends [never]\n\t? { procedure: TKey }\n\t: { procedure?: TKey }\n\nexport type FnProcedure<\n\tTDef extends FnDefinition,\n\tTKey extends ProcedureKey<TDef>,\n\tTInputSchema extends Schema<unknown, unknown>,\n\tTOutputSchema extends Schema<unknown, unknown>,\n\tTErrors extends ErrorMap = Record<never, never>\n> = DecoratedProcedure<\n\tInitialContextOf<TDef['procedures'][TKey]>,\n\tFnContext<TDef, TKey>,\n\tTInputSchema,\n\tTOutputSchema,\n\tMergedErrorMap<ErrorMapOf<TDef['procedures'][TKey]>, TErrors>,\n\tMetaOf<TDef['procedures'][TKey]> & {\n\t\t'orpc-fn': StoredFnMeta<TDef['meta'], TKey>\n\t}\n>\n\ntype InputOf<T> = [T] extends [AnySchema] ? InferSchemaOutput<T> : unknown\ntype ReturnOf<TOut, TReturn> = [TOut] extends [AnySchema]\n\t? InferSchemaInput<TOut>\n\t: TReturn\n\n/** `fn()`: four overloads for input/output schema × inferred. */\nexport interface Fn<TDef extends FnDefinition> {\n\t// 1. With input + output schema\n\t<\n\t\tTInput extends AnySchema,\n\t\tTOut extends AnySchema,\n\t\tTKey extends ProcedureKey<TDef> = TDef['default'],\n\t\tTErrors extends ErrorMap = Record<never, never>\n\t>(\n\t\toptions: {\n\t\t\tinput: TInput\n\t\t\toutput: TOut\n\t\t\t// The output schema parses what the handler returns: its input type.\n\t\t\thandler: (\n\t\t\t\tparams: HandlerParams<\n\t\t\t\t\tTDef,\n\t\t\t\t\tInferSchemaOutput<TInput>,\n\t\t\t\t\tNoInfer<TKey>,\n\t\t\t\t\tTErrors\n\t\t\t\t>\n\t\t\t) => MaybePromise<InferSchemaInput<TOut>>\n\t\t} & FnRouteOptions<TDef, TKey, InferSchemaOutput<TInput>, TErrors>\n\t): FnProcedure<TDef, TKey, TInput, TOut, TErrors>\n\n\t// 2. With input, inferred output\n\t<\n\t\tTInput extends AnySchema,\n\t\tTReturn,\n\t\tTKey extends ProcedureKey<TDef> = TDef['default'],\n\t\tTErrors extends ErrorMap = Record<never, never>\n\t>(\n\t\toptions: {\n\t\t\tinput: TInput\n\t\t\toutput?: undefined\n\t\t\thandler: (\n\t\t\t\tparams: HandlerParams<\n\t\t\t\t\tTDef,\n\t\t\t\t\tInferSchemaOutput<TInput>,\n\t\t\t\t\tNoInfer<TKey>,\n\t\t\t\t\tTErrors\n\t\t\t\t>\n\t\t\t) => MaybePromise<TReturn>\n\t\t} & FnRouteOptions<TDef, TKey, InferSchemaOutput<TInput>, TErrors>\n\t): FnProcedure<TDef, TKey, TInput, Schema<TReturn, TReturn>, TErrors>\n\n\t// 3. No input, with output schema\n\t<\n\t\tTOut extends AnySchema,\n\t\tTKey extends ProcedureKey<TDef> = TDef['default'],\n\t\tTErrors extends ErrorMap = Record<never, never>\n\t>(\n\t\toptions: {\n\t\t\tinput?: undefined\n\t\t\toutput: TOut\n\t\t\thandler: (\n\t\t\t\tparams: HandlerParams<TDef, unknown, NoInfer<TKey>, TErrors>\n\t\t\t) => MaybePromise<InferSchemaInput<TOut>>\n\t\t} & FnRouteOptions<TDef, TKey, unknown, TErrors>\n\t): FnProcedure<TDef, TKey, Schema<unknown, unknown>, TOut, TErrors>\n\n\t// 4. No input, inferred output\n\t<\n\t\tTReturn,\n\t\tTKey extends ProcedureKey<TDef> = TDef['default'],\n\t\tTErrors extends ErrorMap = Record<never, never>\n\t>(\n\t\toptions: {\n\t\t\tinput?: undefined\n\t\t\toutput?: undefined\n\t\t\thandler: (\n\t\t\t\tparams: HandlerParams<TDef, unknown, NoInfer<TKey>, TErrors>\n\t\t\t) => MaybePromise<TReturn>\n\t\t} & FnRouteOptions<TDef, TKey, unknown, TErrors>\n\t): FnProcedure<\n\t\tTDef,\n\t\tTKey,\n\t\tSchema<unknown, unknown>,\n\t\tSchema<TReturn, TReturn>,\n\t\tTErrors\n\t>\n\n\t// 5. Never matches valid code first; it only words the type errors, which\n\t// TypeScript reports against the last overload.\n\t<\n\t\tTReturn,\n\t\tTInput extends AnySchema | undefined = undefined,\n\t\tTOut extends AnySchema | undefined = undefined,\n\t\tTKey extends ProcedureKey<TDef> = TDef['default'],\n\t\tTErrors extends ErrorMap = Record<never, never>\n\t>(\n\t\toptions: {\n\t\t\tinput?: TInput\n\t\t\toutput?: TOut\n\t\t\t// The output schema parses what the handler returns: its input type.\n\t\t\thandler: (\n\t\t\t\tparams: HandlerParams<TDef, InputOf<TInput>, NoInfer<TKey>, TErrors>\n\t\t\t) => MaybePromise<ReturnOf<TOut, TReturn>>\n\t\t} & FnRouteOptions<TDef, TKey, InputOf<TInput>, TErrors>\n\t): FnProcedure<\n\t\tTDef,\n\t\tTKey,\n\t\t[TInput] extends [AnySchema] ? TInput : Schema<unknown, unknown>,\n\t\t[TOut] extends [AnySchema] ? TOut : Schema<TReturn, TReturn>,\n\t\tTErrors\n\t>\n}\n\n/** What `fn.completed` reports, and what `onCompleted` receives. */\nexport type FnCompletedEvent<TContext = unknown, TSpan = SpanLike> = {\n\tname: string\n\tprocedure: string\n\tdurationMs: number\n\tsuccess: boolean\n\t/** False when authentication or input validation prevented handler execution. */\n\thandlerStarted: boolean\n\terror: unknown\n\tinput: unknown\n\tcontext: TContext\n\tspan: TSpan | undefined\n\tmeta: Record<string, unknown>\n}\n\n/** Factory hooks retain the builder key/context relationship. */\nexport type ProcedureHookParams<\n\tTProcedures extends Record<string, BuilderLike>,\n\tTExtra = object\n> = {\n\t[K in keyof TProcedures & string]: TExtra & {\n\t\tprocedure: K\n\t\tcontext: CurrentContextOf<TProcedures[K]>\n\t}\n}[keyof TProcedures & string]\n\nexport type CompletedHookEvent<\n\tTProcedures extends Record<string, BuilderLike>,\n\tTSpan\n> = {\n\t[K in keyof TProcedures & string]: Omit<\n\t\tFnCompletedEvent<unknown, TSpan>,\n\t\t'context' | 'procedure' | 'handlerStarted'\n\t> & { procedure: K } & (\n\t\t\t| { handlerStarted: true; context: CurrentContextOf<TProcedures[K]> }\n\t\t\t| { handlerStarted: false; context: InitialContextOf<TProcedures[K]> }\n\t\t)\n}[keyof TProcedures & string]\n\n/**\n * Intersected into each scoped extras function's return type: rejects index\n * signatures and handler-parameter names at the offending property. A\n * top-level conditional over the whole map broke inference when zero-argument\n * and context-reading functions were mixed.\n */\nexport type ScopedExtrasGuard<T> = (string extends keyof T\n\t? { 'orpc-fn: scoped extras need finite keys': never }\n\t: number extends keyof T\n\t\t? { 'orpc-fn: scoped extras need finite keys': never }\n\t\t: unknown) & { [K in HandlerParamKey]?: never }\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAkFA,oFAAoF;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,MAAM;IACN,QAAQ;IACR,SAAS;IACT,aAAa;IACb,YAAY;IACZ,eAAe;IACf,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,MAAM;CACsC,CAAA;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IACnC,GAAG,iBAAiB;IACpB,MAAM;IACN,WAAW;IACX,OAAO;IACP,QAAQ;IACR,SAAS;IACT,MAAM;IACN,aAAa;IACb,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,gBAAgB;CACP,CAAA","sourcesContent":["import type {\n\tAnySchema,\n\tErrorMap,\n\tInferSchemaInput,\n\tInferSchemaOutput,\n\tMergedErrorMap,\n\tSchema\n} from '@orpc/contract'\nimport type {\n\tAnyProcedure,\n\tDecoratedProcedure,\n\tProcedure,\n\tRoute\n} from '@orpc/server'\nimport type { createORPCErrorConstructorMap } from '@orpc/server'\nimport type { StoredFnMeta } from './meta.js'\nimport type { NativeErrors, NativeMeta } from './compatibility.js'\nimport type { BoundCall } from './bound-call.js'\nimport type { FnLogger } from './logger.js'\nimport type { SpanLike } from './otel.js'\n\nexport type MaybePromise<T> = T | Promise<T>\n\n/**\n * An oRPC builder without input or output schema: `os`, `os.$context<T>()`,\n * `os.use(...)`. A schema set on the builder is rejected by `createFn`; set it\n * on the route instead.\n */\n/* biome-ignore-start lint/suspicious/noExplicitAny: matches every builder's generic methods */\nexport type BuilderLike = {\n\troute(route: any): unknown\n\tmeta(meta: any): unknown\n\tinput(schema: any): unknown\n\toutput(schema: any): unknown\n\thandler(handler: any): Procedure<any, any, any, any, any, any>\n}\n/* biome-ignore-end lint/suspicious/noExplicitAny: matches every builder's generic methods */\n\n/** Input a procedure is called with (before its input schema runs). */\nexport type ProcedureInput<T> =\n\tT extends Procedure<\n\t\tinfer _TInitial,\n\t\tinfer _TCurrent,\n\t\tinfer TInputSchema extends AnySchema,\n\t\tinfer _TOut,\n\t\tinfer _TErrors,\n\t\tinfer _TMeta\n\t>\n\t\t? InferSchemaInput<TInputSchema>\n\t\t: unknown\n\n/** What a procedure resolves to (after its output schema runs). */\nexport type ProcedureOutput<T> =\n\tT extends Procedure<\n\t\tinfer _TInitial,\n\t\tinfer _TCurrent,\n\t\tinfer _TIn,\n\t\tinfer TOutputSchema extends AnySchema,\n\t\tinfer _TErrors,\n\t\tinfer _TMeta\n\t>\n\t\t? InferSchemaOutput<TOutputSchema>\n\t\t: unknown\n\n/** Context a procedure must be called with. */\nexport type ProcedureContext<T> =\n\tT extends Procedure<\n\t\tinfer TContext,\n\t\tinfer _TCurrent,\n\t\tinfer _TIn,\n\t\tinfer _TOut,\n\t\tinfer _TErrors,\n\t\tinfer _TMeta\n\t>\n\t\t? TContext\n\t\t: never\n\n/** `Omit` that keeps each member of a union (handler params narrow by discriminant). */\nexport type DistributiveOmit<T, K extends PropertyKey> = T extends unknown\n\t? Omit<T, K>\n\t: never\n\n/** `fn()` options passed to oRPC's `.route()`; `RouteConfig` is derived from it. */\nexport const ROUTE_OPTION_KEYS = [\n\t'path',\n\t'method',\n\t'summary',\n\t'description',\n\t'deprecated',\n\t'successStatus',\n\t'successDescription',\n\t'inputStructure',\n\t'outputStructure',\n\t'tags'\n] as const satisfies readonly (keyof Route)[]\n\n/**\n * `fn()` option names owned by the route itself. Guard keys must not\n * reuse them: such an option would be read as the route option and the guard\n * would never run.\n */\nexport const RESERVED_OPTION_KEYS = [\n\t...ROUTE_OPTION_KEYS,\n\t'name',\n\t'procedure',\n\t'input',\n\t'output',\n\t'handler',\n\t'live',\n\t'operationId',\n\t'meta',\n\t'stream',\n\t'errors',\n\t'guardResolvers'\n] as const\n\nexport type ReservedOptionKey = (typeof RESERVED_OPTION_KEYS)[number]\n\n/** @internal Builds one route from a selected native procedure builder. */\nexport type BuildProcedure = (options: {\n\tname: string\n\tprocedure: string | undefined\n\troute: Record<string, unknown>\n\tmeta: Record<string, unknown>\n\tguards?: Record<string, unknown>\n\tdynamicGuards?: readonly string[]\n\tinput?: AnySchema | undefined\n\toutput?: AnySchema | undefined\n\tstream?: boolean\n\terrors?: ErrorMap\n\thandler: (options: {\n\t\tinput: unknown\n\t\tcontext: Record<string | symbol, unknown>\n\t\tsignal?: AbortSignal\n\t\tlastEventId?: string\n\t\terrors: ReturnType<typeof createORPCErrorConstructorMap>\n\t}) => unknown\n}) => AnyProcedure\n\n/** Turns every key of `T` found in `K` into a readable type error. */\nexport type RejectKeys<T, K extends PropertyKey, TMessage extends string> = {\n\t[P in Extract<keyof T, K>]: TMessage\n}\n\n/** Params every handler receives; extras may not reuse these names. */\ntype HandlerParamKey =\n\t| 'input'\n\t| 'context'\n\t| 'call'\n\t| 'signal'\n\t| 'span'\n\t| 'logger'\n\t| 'errors'\n\t| 'lastEventId'\n\n/**\n * Handler extras must have known keys: an index signature would claim every\n * handler param. Intersected into `createFn`'s options to reject it.\n */\nexport type FiniteExtras<T> = T extends unknown\n\t? string extends keyof T\n\t\t? { extras: 'orpc-fn: extras need known keys, not an index signature' }\n\t\t: number extends keyof T\n\t\t\t? { extras: 'orpc-fn: extras need known keys, not an index signature' }\n\t\t\t: Extract<keyof T, HandlerParamKey> extends never\n\t\t\t\t? unknown\n\t\t\t\t: { extras: 'orpc-fn: extras cannot shadow handler parameters' }\n\t: never\n\ntype ProcedureOf<TBuilder> = TBuilder extends {\n\thandler(handler: never): infer TProcedure\n}\n\t? TProcedure\n\t: never\n\n/** Context a route built from this builder is called with. */\nexport type InitialContextOf<TBuilder> = ProcedureContext<ProcedureOf<TBuilder>>\n\n/** Context the handler sees, after the builder's middleware. */\nexport type CurrentContextOf<TBuilder> =\n\tProcedureOf<TBuilder> extends Procedure<\n\t\tinfer _TInitial,\n\t\tinfer TContext,\n\t\tinfer _TIn,\n\t\tinfer _TOut,\n\t\tinfer _TErrors,\n\t\tinfer _TMeta\n\t>\n\t\t? TContext\n\t\t: never\n\nexport type ErrorMapOf<TBuilder> = NativeErrors<ProcedureOf<TBuilder>>\ntype MetaOf<TBuilder> = NativeMeta<ProcedureOf<TBuilder>>\n\n/**\n * Everything `createFn` inferred from its options. Route types read from it;\n * apps rarely spell it out.\n */\nexport type FnDefinition = {\n\tprocedures: Record<string, BuilderLike>\n\tdefault: string\n\textras: object\n\textrasByProcedure?: Partial<Record<string, object>>\n\tguards: object\n\tmeta: object\n\ttag: string\n\tspan: SpanLike\n\tlogger: FnLogger\n}\n\nexport type ProcedureKey<TDef extends FnDefinition> = keyof TDef['procedures'] &\n\tstring\n\n/** Context the handler of a `procedure: TKey` route receives. */\nexport type FnContext<\n\tTDef extends FnDefinition,\n\tTKey extends ProcedureKey<TDef>\n> = CurrentContextOf<TDef['procedures'][TKey]>\n\n/** Union of every procedure's handler context: what guards and extras see. */\nexport type AnyFnContext<TDef extends FnDefinition> = {\n\t[K in ProcedureKey<TDef>]: FnContext<TDef, K>\n}[ProcedureKey<TDef>]\n\nexport type GuardParams<TContext, TMeta> = {\n\tcontext: TContext\n\tinput: unknown\n\t/** Route name (operationId). */\n\tname: string\n\t/** Procedures key the route was built from. */\n\tprocedure: string\n\tmeta: Partial<TMeta>\n\tsignal: AbortSignal | undefined\n}\n\n/**\n * A check run before the handler. Its first parameter becomes an option on\n * `fn({...})`; the guard runs only on routes that set it. Throw (usually an\n * `ORPCError`) to refuse the call.\n */\n/* biome-ignore-start lint/suspicious/noConfusingVoidType: union prevents accidental value returns while accepting assertion-style guards */\nexport type Guard<TValue, TParams> = (\n\tvalue: TValue,\n\tparams: TParams\n) => MaybePromise<void | boolean>\n/* biome-ignore-end lint/suspicious/noConfusingVoidType: assertion-style guards */\n\nexport type GuardOptions<TGuards> = {\n\t[K in keyof TGuards]?: TGuards[K] extends (\n\t\tvalue: infer TValue,\n\t\tparams: never\n\t) => unknown\n\t\t? TValue\n\t\t: never\n}\n\n/** Match object spread: scoped extras replace shared keys, preserving unions. */\ntype MergeExtras<TShared, TScoped> = TShared extends unknown\n\t? TScoped extends unknown\n\t\t? Omit<TShared, keyof TScoped> & TScoped\n\t\t: never\n\t: never\n\nexport type HandlerParams<\n\tTDef extends FnDefinition,\n\tTInput,\n\tTKey extends ProcedureKey<TDef>,\n\tTErrors extends ErrorMap = Record<never, never>\n> = DistributiveOmit<\n\tMergeExtras<\n\t\tTDef['extras'],\n\t\tTDef extends { extrasByProcedure: infer E }\n\t\t\t? TKey extends keyof E\n\t\t\t\t? E[TKey]\n\t\t\t\t: object\n\t\t\t: object\n\t>,\n\tHandlerParamKey\n> & {\n\tinput: TInput\n\tcontext: FnContext<TDef, TKey>\n\t/** Calls another procedure with this context and signal, in a child span. */\n\tcall: BoundCall<FnContext<TDef, TKey>>\n\t/** Cancellation is inherited by nested calls; pass to interruptible I/O. */\n\tsignal: AbortSignal | undefined\n\t/** Active OpenTelemetry span, undefined when `createFn({ otel })` is not set. */\n\tspan: TDef['span'] | undefined\n\tlogger: TDef['logger']\n\tlastEventId: string | undefined\n\terrors: ReturnType<\n\t\ttypeof createORPCErrorConstructorMap<\n\t\t\tMergedErrorMap<ErrorMapOf<TDef['procedures'][TKey]>, TErrors>\n\t\t>\n\t>\n}\n\n/** Route options shared by every `fn()` overload. */\nexport type RouteConfig<TTag extends string = string> = Pick<\n\tRoute,\n\tExclude<(typeof ROUTE_OPTION_KEYS)[number], 'tags'>\n> & {\n\t/** Required. Becomes the OpenAPI operationId and the span name (e.g. 'user.create'). */\n\tname: string\n\ttags?: TTag[]\n}\n\nexport type FnRouteOptions<\n\tTDef extends FnDefinition,\n\tTKey extends ProcedureKey<TDef>,\n\tTInput = unknown,\n\tTErrors extends ErrorMap = Record<never, never>\n> = RouteConfig<TDef['tag']> &\n\tGuardOptions<TDef['guards']> & {\n\t\tmeta?: TDef['meta']\n\t\tstream?: boolean\n\t\terrors?: TErrors\n\t\tguardResolvers?: {\n\t\t\t[K in keyof TDef['guards']]?: (params: {\n\t\t\t\tinput: TInput\n\t\t\t\tcontext: FnContext<TDef, TKey>\n\t\t\t\tsignal: AbortSignal | undefined\n\t\t\t}) => MaybePromise<GuardOptions<TDef['guards']>[K]>\n\t\t}\n\t} & ProcedureOption<TDef, TKey>\n\n/**\n * Which `createFn({ procedures })` builder a route uses. Optional when\n * `createFn` has a `default`; required on every route when it has none.\n */\nexport type ProcedureOption<\n\tTDef extends FnDefinition,\n\tTKey extends ProcedureKey<TDef>\n> = [TDef['default']] extends [never]\n\t? { procedure: TKey }\n\t: { procedure?: TKey }\n\nexport type FnProcedure<\n\tTDef extends FnDefinition,\n\tTKey extends ProcedureKey<TDef>,\n\tTInputSchema extends Schema<unknown, unknown>,\n\tTOutputSchema extends Schema<unknown, unknown>,\n\tTErrors extends ErrorMap = Record<never, never>\n> = DecoratedProcedure<\n\tInitialContextOf<TDef['procedures'][TKey]>,\n\tFnContext<TDef, TKey>,\n\tTInputSchema,\n\tTOutputSchema,\n\tMergedErrorMap<ErrorMapOf<TDef['procedures'][TKey]>, TErrors>,\n\tMetaOf<TDef['procedures'][TKey]> & {\n\t\t'orpc-fn': StoredFnMeta<TDef['meta'], TKey>\n\t}\n>\n\ntype InputOf<T> = [T] extends [AnySchema] ? InferSchemaOutput<T> : unknown\ntype ReturnOf<TOut, TReturn> = [TOut] extends [AnySchema]\n\t? InferSchemaInput<TOut>\n\t: TReturn\n\n/** `fn()`: four overloads for input/output schema × inferred. */\nexport interface Fn<TDef extends FnDefinition> {\n\t// 1. With input + output schema\n\t<\n\t\tTInput extends AnySchema,\n\t\tTOut extends AnySchema,\n\t\tTKey extends ProcedureKey<TDef> = TDef['default'],\n\t\tTErrors extends ErrorMap = Record<never, never>\n\t>(\n\t\toptions: {\n\t\t\tinput: TInput\n\t\t\toutput: TOut\n\t\t\t// The output schema parses what the handler returns: its input type.\n\t\t\thandler: (\n\t\t\t\tparams: HandlerParams<\n\t\t\t\t\tTDef,\n\t\t\t\t\tInferSchemaOutput<TInput>,\n\t\t\t\t\tNoInfer<TKey>,\n\t\t\t\t\tTErrors\n\t\t\t\t>\n\t\t\t) => MaybePromise<InferSchemaInput<TOut>>\n\t\t} & FnRouteOptions<TDef, TKey, InferSchemaOutput<TInput>, TErrors>\n\t): FnProcedure<TDef, TKey, TInput, TOut, TErrors>\n\n\t// 2. With input, inferred output\n\t<\n\t\tTInput extends AnySchema,\n\t\tTReturn,\n\t\tTKey extends ProcedureKey<TDef> = TDef['default'],\n\t\tTErrors extends ErrorMap = Record<never, never>\n\t>(\n\t\toptions: {\n\t\t\tinput: TInput\n\t\t\toutput?: undefined\n\t\t\thandler: (\n\t\t\t\tparams: HandlerParams<\n\t\t\t\t\tTDef,\n\t\t\t\t\tInferSchemaOutput<TInput>,\n\t\t\t\t\tNoInfer<TKey>,\n\t\t\t\t\tTErrors\n\t\t\t\t>\n\t\t\t) => MaybePromise<TReturn>\n\t\t} & FnRouteOptions<TDef, TKey, InferSchemaOutput<TInput>, TErrors>\n\t): FnProcedure<TDef, TKey, TInput, Schema<TReturn, TReturn>, TErrors>\n\n\t// 3. No input, with output schema\n\t<\n\t\tTOut extends AnySchema,\n\t\tTKey extends ProcedureKey<TDef> = TDef['default'],\n\t\tTErrors extends ErrorMap = Record<never, never>\n\t>(\n\t\toptions: {\n\t\t\tinput?: undefined\n\t\t\toutput: TOut\n\t\t\thandler: (\n\t\t\t\tparams: HandlerParams<TDef, unknown, NoInfer<TKey>, TErrors>\n\t\t\t) => MaybePromise<InferSchemaInput<TOut>>\n\t\t} & FnRouteOptions<TDef, TKey, unknown, TErrors>\n\t): FnProcedure<TDef, TKey, Schema<unknown, unknown>, TOut, TErrors>\n\n\t// 4. No input, inferred output\n\t<\n\t\tTReturn,\n\t\tTKey extends ProcedureKey<TDef> = TDef['default'],\n\t\tTErrors extends ErrorMap = Record<never, never>\n\t>(\n\t\toptions: {\n\t\t\tinput?: undefined\n\t\t\toutput?: undefined\n\t\t\thandler: (\n\t\t\t\tparams: HandlerParams<TDef, unknown, NoInfer<TKey>, TErrors>\n\t\t\t) => MaybePromise<TReturn>\n\t\t} & FnRouteOptions<TDef, TKey, unknown, TErrors>\n\t): FnProcedure<\n\t\tTDef,\n\t\tTKey,\n\t\tSchema<unknown, unknown>,\n\t\tSchema<TReturn, TReturn>,\n\t\tTErrors\n\t>\n\n\t// 5. Never matches valid code first; it only words the type errors, which\n\t// TypeScript reports against the last overload.\n\t<\n\t\tTReturn,\n\t\tTInput extends AnySchema | undefined = undefined,\n\t\tTOut extends AnySchema | undefined = undefined,\n\t\tTKey extends ProcedureKey<TDef> = TDef['default'],\n\t\tTErrors extends ErrorMap = Record<never, never>\n\t>(\n\t\toptions: {\n\t\t\tinput?: TInput\n\t\t\toutput?: TOut\n\t\t\t// The output schema parses what the handler returns: its input type.\n\t\t\thandler: (\n\t\t\t\tparams: HandlerParams<TDef, InputOf<TInput>, NoInfer<TKey>, TErrors>\n\t\t\t) => MaybePromise<ReturnOf<TOut, TReturn>>\n\t\t} & FnRouteOptions<TDef, TKey, InputOf<TInput>, TErrors>\n\t): FnProcedure<\n\t\tTDef,\n\t\tTKey,\n\t\t[TInput] extends [AnySchema] ? TInput : Schema<unknown, unknown>,\n\t\t[TOut] extends [AnySchema] ? TOut : Schema<TReturn, TReturn>,\n\t\tTErrors\n\t>\n}\n\n/** What `fn.completed` reports, and what `onCompleted` receives. */\nexport type FnCompletedEvent<TContext = unknown, TSpan = SpanLike> = {\n\tname: string\n\tprocedure: string\n\tdurationMs: number\n\tsuccess: boolean\n\t/** False when authentication or input validation prevented handler execution. */\n\thandlerStarted: boolean\n\terror: unknown\n\tinput: unknown\n\tcontext: TContext\n\tspan: TSpan | undefined\n\tmeta: Record<string, unknown>\n}\n\n/** Factory hooks retain the builder key/context relationship. */\nexport type ProcedureHookParams<\n\tTProcedures extends Record<string, BuilderLike>,\n\tTExtra = object\n> = {\n\t[K in keyof TProcedures & string]: TExtra & {\n\t\tprocedure: K\n\t\tcontext: CurrentContextOf<TProcedures[K]>\n\t}\n}[keyof TProcedures & string]\n\nexport type CompletedHookEvent<\n\tTProcedures extends Record<string, BuilderLike>,\n\tTSpan\n> = {\n\t[K in keyof TProcedures & string]: Omit<\n\t\tFnCompletedEvent<unknown, TSpan>,\n\t\t'context' | 'procedure' | 'handlerStarted'\n\t> & { procedure: K } & (\n\t\t\t| { handlerStarted: true; context: CurrentContextOf<TProcedures[K]> }\n\t\t\t| { handlerStarted: false; context: InitialContextOf<TProcedures[K]> }\n\t\t)\n}[keyof TProcedures & string]\n\n/**\n * Intersected into each scoped extras function's return type: rejects index\n * signatures and handler-parameter names at the offending property. A\n * top-level conditional over the whole map broke inference when zero-argument\n * and context-reading functions were mixed.\n */\nexport type ScopedExtrasGuard<T> = (string extends keyof T\n\t? { 'orpc-fn: scoped extras need finite keys': never }\n\t: number extends keyof T\n\t\t? { 'orpc-fn: scoped extras need finite keys': never }\n\t\t: unknown) & { [K in HandlerParamKey]?: never }\n"]}
|
package/dist/vue.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type DefaultError, type FetchQueryOptions, type InferDataFromTag, type InfiniteData, type InvalidateQueryFilters, type MutationObserverOptions, type UseInfiniteQueryOptions, type UseInfiniteQueryReturnType, type UseMutationReturnType, type UseQueryReturnType, type Updater, type QueryKey, type UseQueryOptions, useQuery as useVueQuery } from '@tanstack/vue-query';
|
|
2
2
|
import { type App, type MaybeRefOrGetter, type Ref } from 'vue';
|
|
3
|
+
import { streamCall } from './client.js';
|
|
3
4
|
import { type InvalidationStreamOptions, type LiveConnectionStatus } from './realtime.js';
|
|
4
5
|
export type { InvalidationDomain, LiveConnectionStatus } from './realtime.js';
|
|
5
6
|
/**
|
|
@@ -32,17 +33,34 @@ export declare function provideOrpc<TClient, TUtils>(app: App, orpc: {
|
|
|
32
33
|
client: TClient;
|
|
33
34
|
utils: TUtils;
|
|
34
35
|
}): void;
|
|
35
|
-
|
|
36
|
-
export declare function useOrpc(): {
|
|
36
|
+
type RegisteredOrpc = {
|
|
37
37
|
client: RegisteredOrpcClient;
|
|
38
38
|
utils: RegisteredOrpcUtils;
|
|
39
39
|
};
|
|
40
|
+
/**
|
|
41
|
+
* The client and utils from {@link provideOrpc}. Throws when none was
|
|
42
|
+
* provided, unless `optional`, which returns null instead.
|
|
43
|
+
*/
|
|
44
|
+
export declare function useOrpc(options: {
|
|
45
|
+
optional: true;
|
|
46
|
+
}): RegisteredOrpc | null;
|
|
47
|
+
export declare function useOrpc(options?: {
|
|
48
|
+
optional?: false;
|
|
49
|
+
}): RegisteredOrpc;
|
|
50
|
+
/**
|
|
51
|
+
* Whether the page is visible, from TanStack's `focusManager` (which follows
|
|
52
|
+
* `visibilitychange` in browsers). Live streams pause while it is false.
|
|
53
|
+
*/
|
|
54
|
+
export declare function useDocumentVisible(): Ref<boolean>;
|
|
40
55
|
/**
|
|
41
56
|
* Picks the stream to open from the utils. A procedure's `call` fits as is:
|
|
42
|
-
* `(o) => o.order.watch.call`. The composable passes the input
|
|
57
|
+
* `(o) => o.order.watch.call`. The composable passes the input, an abort
|
|
58
|
+
* signal and `streamCall` as the client context, which keeps the call out of
|
|
59
|
+
* `createRpcLink`'s batches.
|
|
43
60
|
*/
|
|
44
61
|
export type OrpcSubscribeFn<TInput, TEvent, TOrpc = RegisteredOrpcUtils> = (orpc: TOrpc) => (input: TInput, options: {
|
|
45
62
|
signal: AbortSignal;
|
|
63
|
+
context: typeof streamCall;
|
|
46
64
|
}) => Promise<AsyncIterable<TEvent>>;
|
|
47
65
|
export interface UseSubscriptionOptions<TEvent, TOrpc = RegisteredOrpcUtils> {
|
|
48
66
|
/** Start the stream on its own (default: true). With false, call `connect()`. */
|
|
@@ -106,12 +124,15 @@ declare function useBoundApiClient<TOrpc>(orpc: MaybeRefOrGetter<TOrpc> | undefi
|
|
|
106
124
|
useMutation: {
|
|
107
125
|
<TData = unknown, TError = Error, TVariables = unknown, TContext = unknown>(optionsFn: (orpc: TOrpc) => MutationObserverOptions<TData, TError, TVariables, TContext>, config: {
|
|
108
126
|
initialInput: NoInfer<TVariables>;
|
|
127
|
+
invalidates?: (orpc: TOrpc) => readonly QueryKey[];
|
|
109
128
|
}): UseMutationReturnType<TData, TError, TVariables, TContext> & {
|
|
110
129
|
inputData: Ref<TVariables>;
|
|
111
130
|
mutate: (variables?: TVariables) => void;
|
|
112
131
|
mutateAsync: (variables?: TVariables) => Promise<TData>;
|
|
113
132
|
};
|
|
114
|
-
<TData = unknown, TError = Error, TVariables = void, TContext = unknown>(optionsFn: (orpc: TOrpc) => MutationObserverOptions<TData, TError, TVariables, TContext
|
|
133
|
+
<TData = unknown, TError = Error, TVariables = void, TContext = unknown>(optionsFn: (orpc: TOrpc) => MutationObserverOptions<TData, TError, TVariables, TContext>, config?: {
|
|
134
|
+
invalidates?: (orpc: TOrpc) => readonly QueryKey[];
|
|
135
|
+
}): UseMutationReturnType<TData, TError, TVariables, TContext>;
|
|
115
136
|
};
|
|
116
137
|
useSubscription: <TInput, TEvent>(input: MaybeRefOrGetter<TInput>, subscribeFn: OrpcSubscribeFn<TInput, TEvent, TOrpc>, options?: UseSubscriptionOptions<TEvent, TOrpc>) => UseSubscriptionReturn<TEvent>;
|
|
117
138
|
invalidate: (keyFn: (orpc: TOrpc) => QueryKey, filters?: Omit<InvalidateQueryFilters, 'queryKey'>) => Promise<void>;
|
|
@@ -214,4 +235,26 @@ export declare function useInvalidationStream<TInput, TEvent extends {
|
|
|
214
235
|
}, TOrpc = RegisteredOrpcUtils>(input: MaybeRefOrGetter<TInput>, subscribe: OrpcSubscribeFn<TInput, TEvent, TOrpc>, options: InvalidationStreamOptions<TEvent> & Pick<UseSubscriptionOptions<TEvent, TOrpc>, 'immediate' | 'respectVisibility' | 'orpc'>): UseSubscriptionReturn<TEvent>;
|
|
215
236
|
/** Localized text for a failed query: your fallback unless the server marked its message user-safe. */
|
|
216
237
|
export declare function useQueryErrorMessage(error: MaybeRefOrGetter<unknown>, fallback: MaybeRefOrGetter<string>): import("vue").ComputedRef<string | null>;
|
|
238
|
+
/** The parts of a query `useQueryState` reads. */
|
|
239
|
+
export type QueryStateSource = {
|
|
240
|
+
status: Ref<'pending' | 'error' | 'success'>;
|
|
241
|
+
error: Ref<unknown>;
|
|
242
|
+
isFetching: Ref<boolean>;
|
|
243
|
+
failureCount: Ref<number>;
|
|
244
|
+
refetch: () => Promise<unknown>;
|
|
245
|
+
};
|
|
246
|
+
/**
|
|
247
|
+
* A query as the props a list or loading component takes, in one reactive
|
|
248
|
+
* object: `<ListStates v-bind="useQueryState(query, { fallback })" />`.
|
|
249
|
+
* `errorMessage` follows {@link useQueryErrorMessage}.
|
|
250
|
+
*/
|
|
251
|
+
export declare function useQueryState(query: QueryStateSource, options: {
|
|
252
|
+
fallback: MaybeRefOrGetter<string>;
|
|
253
|
+
}): {
|
|
254
|
+
status: "error" | "pending" | "success";
|
|
255
|
+
error: unknown;
|
|
256
|
+
errorMessage: string | null;
|
|
257
|
+
isRetrying: boolean;
|
|
258
|
+
retry: () => void;
|
|
259
|
+
};
|
|
217
260
|
//# sourceMappingURL=vue.d.ts.map
|
package/dist/vue.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../src/vue.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAGtB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,OAAO,EAEZ,KAAK,QAAQ,EACb,KAAK,eAAe,EAGpB,QAAQ,IAAI,WAAW,EAEvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACN,KAAK,GAAG,EAMR,KAAK,gBAAgB,EAErB,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../src/vue.ts"],"names":[],"mappings":"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"}
|
package/dist/vue.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { focusManager, hashKey, keepPreviousData, useInfiniteQuery as useVueInfiniteQuery, useMutation as useVueMutation, useQuery as useVueQuery, useQueryClient } from '@tanstack/vue-query';
|
|
2
|
-
import { computed, getCurrentScope, hasInjectionContext, inject, onScopeDispose, ref, shallowRef, toValue, watch } from 'vue';
|
|
3
|
-
import { userFacingErrorMessage } from './client.js';
|
|
2
|
+
import { computed, getCurrentScope, hasInjectionContext, inject, onScopeDispose, reactive, ref, shallowRef, toValue, watch } from 'vue';
|
|
3
|
+
import { streamCall, userFacingErrorMessage } from './client.js';
|
|
4
4
|
import { createInvalidationCoordinator, createStreamScope, createSubscriptionRunner, seedQueryFn } from './realtime.js';
|
|
5
5
|
const orpcKey = Symbol('orpc-fn');
|
|
6
6
|
/**
|
|
@@ -12,10 +12,9 @@ export function provideOrpc(app, orpc) {
|
|
|
12
12
|
app.provide(orpcKey, orpc);
|
|
13
13
|
}
|
|
14
14
|
const missingOrpc = () => new Error('orpc-fn/vue: no oRPC client provided. Call provideOrpc(app, { client, utils }) or pass `orpc` to the composable.');
|
|
15
|
-
|
|
16
|
-
export function useOrpc() {
|
|
15
|
+
export function useOrpc(options) {
|
|
17
16
|
const provided = hasInjectionContext() ? inject(orpcKey, null) : null;
|
|
18
|
-
if (!provided)
|
|
17
|
+
if (!provided && !options?.optional)
|
|
19
18
|
throw missingOrpc();
|
|
20
19
|
return provided;
|
|
21
20
|
}
|
|
@@ -35,7 +34,7 @@ let documentVisible = null;
|
|
|
35
34
|
* Whether the page is visible, from TanStack's `focusManager` (which follows
|
|
36
35
|
* `visibilitychange` in browsers). Live streams pause while it is false.
|
|
37
36
|
*/
|
|
38
|
-
function useDocumentVisible() {
|
|
37
|
+
export function useDocumentVisible() {
|
|
39
38
|
if (!documentVisible) {
|
|
40
39
|
const visible = ref(focusManager.isFocused());
|
|
41
40
|
focusManager.subscribe((focused) => {
|
|
@@ -70,7 +69,7 @@ export function useOrpcSubscription(input, subscribeFn, options = {}) {
|
|
|
70
69
|
const status = ref('idle');
|
|
71
70
|
const error = ref(null);
|
|
72
71
|
const runner = createSubscriptionRunner({
|
|
73
|
-
open: (signal) => subscribeFn(getUtils())(toValue(input), { signal }),
|
|
72
|
+
open: (signal) => subscribeFn(getUtils())(toValue(input), { signal, context: streamCall }),
|
|
74
73
|
canConnect: () => isStreamAllowed.value,
|
|
75
74
|
shouldReconnect: () => autoReconnectOnClose && shouldAutoConnect.value,
|
|
76
75
|
onStatus: (next) => {
|
|
@@ -160,10 +159,23 @@ function useBoundApiClient(orpc) {
|
|
|
160
159
|
return useVueInfiniteQuery(options);
|
|
161
160
|
}
|
|
162
161
|
function useMutation(optionsFn, config) {
|
|
163
|
-
const
|
|
162
|
+
const invalidates = config?.invalidates;
|
|
163
|
+
const mutation = useVueMutation(computed(() => {
|
|
164
|
+
const options = optionsFn(getO());
|
|
165
|
+
if (!invalidates)
|
|
166
|
+
return options;
|
|
167
|
+
return {
|
|
168
|
+
...options,
|
|
169
|
+
onSuccess: async (...args) => {
|
|
170
|
+
await Promise.all(invalidates(getO()).map((queryKey) => queryClient.invalidateQueries({ queryKey })));
|
|
171
|
+
return options.onSuccess?.(...args);
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
}));
|
|
164
175
|
if (config?.initialInput === undefined)
|
|
165
176
|
return mutation;
|
|
166
|
-
const
|
|
177
|
+
const initialInput = config.initialInput;
|
|
178
|
+
const inputData = ref(initialInput);
|
|
167
179
|
return {
|
|
168
180
|
...mutation,
|
|
169
181
|
inputData,
|
|
@@ -311,4 +323,22 @@ export function useQueryErrorMessage(error, fallback) {
|
|
|
311
323
|
return err ? userFacingErrorMessage(err, toValue(fallback)) : null;
|
|
312
324
|
});
|
|
313
325
|
}
|
|
326
|
+
/**
|
|
327
|
+
* A query as the props a list or loading component takes, in one reactive
|
|
328
|
+
* object: `<ListStates v-bind="useQueryState(query, { fallback })" />`.
|
|
329
|
+
* `errorMessage` follows {@link useQueryErrorMessage}.
|
|
330
|
+
*/
|
|
331
|
+
export function useQueryState(query, options) {
|
|
332
|
+
const errorMessage = useQueryErrorMessage(query.error, options.fallback);
|
|
333
|
+
return reactive({
|
|
334
|
+
status: computed(() => query.status.value),
|
|
335
|
+
error: computed(() => query.error.value),
|
|
336
|
+
errorMessage,
|
|
337
|
+
isRetrying: computed(() => query.isFetching.value &&
|
|
338
|
+
(query.status.value === 'error' || query.failureCount.value > 0)),
|
|
339
|
+
retry: () => {
|
|
340
|
+
void query.refetch();
|
|
341
|
+
}
|
|
342
|
+
});
|
|
343
|
+
}
|
|
314
344
|
//# sourceMappingURL=vue.js.map
|