gemi 0.103.0 → 0.105.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.
Files changed (37) hide show
  1. package/dist/ai/Agent.d.ts +13 -2
  2. package/dist/ai/Agent.d.ts.map +1 -1
  3. package/dist/ai/AgentController.d.ts +8 -1
  4. package/dist/ai/AgentController.d.ts.map +1 -1
  5. package/dist/ai/index.d.ts +1 -1
  6. package/dist/ai/index.d.ts.map +1 -1
  7. package/dist/ai/index.js.map +4 -4
  8. package/dist/auth/routes.d.ts +15 -73
  9. package/dist/auth/routes.d.ts.map +1 -1
  10. package/dist/chunk-48wh5mbp.js +17 -0
  11. package/dist/{chunk-g8qp01t6.js.map → chunk-48wh5mbp.js.map} +4 -4
  12. package/dist/{chunk-tcce63wk.js → chunk-dtcy3110.js} +2 -2
  13. package/dist/{chunk-tcce63wk.js.map → chunk-dtcy3110.js.map} +1 -1
  14. package/dist/{chunk-3e73zaft.js → chunk-k6rd1nd4.js} +1 -1
  15. package/dist/{chunk-3e73zaft.js.map → chunk-k6rd1nd4.js.map} +2 -2
  16. package/dist/{chunk-spgpvz77.js → chunk-w8mm0z6r.js} +1 -1
  17. package/dist/{chunk-j3y6cs0z.js → chunk-y926fhhz.js} +1 -1
  18. package/dist/facades/index.js +1 -1
  19. package/dist/http/ApiRouter.d.ts +89 -17
  20. package/dist/http/ApiRouter.d.ts.map +1 -1
  21. package/dist/http/McpRouter.d.ts +86 -27
  22. package/dist/http/McpRouter.d.ts.map +1 -1
  23. package/dist/http/index.d.ts +2 -2
  24. package/dist/http/index.d.ts.map +1 -1
  25. package/dist/http/index.js +1 -1
  26. package/dist/i18n/index.js +1 -1
  27. package/dist/kernel/index.js +1 -1
  28. package/dist/server/index.js +1 -1
  29. package/dist/services/index.js +1 -1
  30. package/dist/services/mcp/McpRegistry.d.ts +8 -1
  31. package/dist/services/mcp/McpRegistry.d.ts.map +1 -1
  32. package/dist/services/mcp/toAgentTools.d.ts +60 -7
  33. package/dist/services/mcp/toAgentTools.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/dist/chunk-g8qp01t6.js +0 -17
  36. /package/dist/{chunk-spgpvz77.js.map → chunk-w8mm0z6r.js.map} +0 -0
  37. /package/dist/{chunk-j3y6cs0z.js.map → chunk-y926fhhz.js.map} +0 -0
@@ -1,6 +1,5 @@
1
1
  import type { RemoveGroupPrefix } from "../client/types";
2
2
  import type { AgentController, AgentRoute, AgentRouteRPC } from "../ai/AgentController";
3
- import type { KeyAndValue, KeyAndValueToObject } from "../internal/type-utils";
4
3
  import { Controller, ResourceController, type ControllerMethods } from "./Controller";
5
4
  import { HttpRequest } from "./HttpRequest";
6
5
  import type { ResponseData, ResponseError } from "./HttpResponse";
@@ -16,7 +15,43 @@ type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
16
15
  */
17
16
  export type ApiRouterHandler<Input, Output, Params, Error = never> = (req: HttpRequest<Input, Params>, __error?: [Error]) => Output;
18
17
  type CallbackHandler<Input, Output, Params> = (req: HttpRequest<Input, Params>) => Promise<Output> | Output;
19
- type ParseRouteHandler<T extends new () => Controller, K extends ControllerMethods<T>, M extends HttpMethod> = InstanceType<T>[K] extends (req: HttpRequest<infer Input, infer Params>) => infer Output ? RouteHandler<M, Input, Output, Params> : never;
18
+ /**
19
+ * A controller route, as `this.get(Controller, "method")` types it: the
20
+ * controller and the method's name, and nothing yet of what the method takes
21
+ * or answers. `CreateRPC` reads those off the method when a route's value is
22
+ * asked for, one route at a time (#774).
23
+ *
24
+ * Mounting a route therefore never resolves its handler. That is what lets a
25
+ * route answer something typed by an agent whose tools are other routes of the
26
+ * same api — a chat's history typed by the agent's messages, beside a typed
27
+ * `toAgentTools` — without the route table referencing itself: inferring a
28
+ * router's `routes` needs the controllers and the methods' names, and
29
+ * `fromApiRoute` checking a url needs the table's keys and that one route's
30
+ * value, never the history's.
31
+ *
32
+ * At runtime it is a plain `RouteHandler`.
33
+ */
34
+ export interface ControllerRouteHandler<M extends HttpMethod, C, N> extends RouteHandler<M, any, any, any> {
35
+ /** Types only, never set: what `RouteValue` reads the method off. */
36
+ readonly __controllerRoute: {
37
+ controller: C;
38
+ method: N;
39
+ };
40
+ }
41
+ /**
42
+ * What a controller route's method takes and answers, as the client's RPC map
43
+ * records it. Only ever evaluated as one property of `CreateRPC`, which is
44
+ * what keeps it out of the route table's own type.
45
+ */
46
+ type ControllerRouteValue<C, N> = C extends new () => infer I ? N extends keyof I ? I[N] extends (req: HttpRequest<infer Input, infer Params>) => infer Output ? ApiRouterHandler<Input, ResponseData<Output>, Params, ResponseError<Output>> : never : never : never;
47
+ /**
48
+ * Whether a controller route's method can be dispatched at all, which decides
49
+ * whether the route has a key, as it always has. Checked against a
50
+ * `(req) => any`, which never reads the method's return type: an answer typed
51
+ * by an agent whose tools are this api's routes is not needed to list the
52
+ * api's keys.
53
+ */
54
+ type IsControllerRoutable<C, N> = C extends new () => infer I ? N extends keyof I ? I[N] extends (req: HttpRequest<any, any>) => any ? true : false : false : false;
20
55
  /**
21
56
  * The controller method a route runs, as `createFlatApiRoutes` records it on
22
57
  * each flat entry. Nothing in dispatch reads it; it is there so code that
@@ -121,13 +156,13 @@ export type RouteHandlers = Partial<{
121
156
  export type ApiRoutes = Record<string, RouteHandler<any, any, any, any> | FileHandler | StreamHandler | ProxyHandler | RouteHandlers | typeof ApiRouter | ResourceRoutes<any> | AgentRoute<any>>;
122
157
  export type ResourceRoutes<T extends new () => ResourceController> = {
123
158
  first: {
124
- get: ParseRouteHandler<T, TestControllerMethod<T, "list">, "GET">;
125
- post: ParseRouteHandler<T, TestControllerMethod<T, "store">, "POST">;
159
+ get: ControllerRouteHandler<"GET", T, TestControllerMethod<T, "list">>;
160
+ post: ControllerRouteHandler<"POST", T, TestControllerMethod<T, "store">>;
126
161
  };
127
162
  second: {
128
- get: ParseRouteHandler<T, TestControllerMethod<T, "show">, "GET">;
129
- put: ParseRouteHandler<T, TestControllerMethod<T, "update">, "PUT">;
130
- delete: ParseRouteHandler<T, TestControllerMethod<T, "delete">, "DELETE">;
163
+ get: ControllerRouteHandler<"GET", T, TestControllerMethod<T, "show">>;
164
+ put: ControllerRouteHandler<"PUT", T, TestControllerMethod<T, "update">>;
165
+ delete: ControllerRouteHandler<"DELETE", T, TestControllerMethod<T, "delete">>;
131
166
  };
132
167
  };
133
168
  export type ResourceMethod = "list" | "store" | "show" | "update" | "delete";
@@ -148,15 +183,15 @@ export declare class ApiRouter {
148
183
  middlewares: string[];
149
184
  middleware(_req: HttpRequest<any, any>): MiddlewareReturnType;
150
185
  get<Input, Output, Params>(handler: CallbackHandler<Input, Output, Params>): RouteHandler<"GET", Input, Output, Params>;
151
- get<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): ParseRouteHandler<T, K, "GET">;
186
+ get<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): ControllerRouteHandler<"GET", T, K>;
152
187
  post<Input, Output, Params>(handler: CallbackHandler<Input, Output, Params>): RouteHandler<"POST", Input, Output, Params>;
153
- post<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): ParseRouteHandler<T, K, "POST">;
188
+ post<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): ControllerRouteHandler<"POST", T, K>;
154
189
  put<Input, Output, Params>(handler: CallbackHandler<Input, Output, Params>): RouteHandler<"PUT", Input, Output, Params>;
155
- put<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): ParseRouteHandler<T, K, "PUT">;
190
+ put<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): ControllerRouteHandler<"PUT", T, K>;
156
191
  patch<Input, Output, Params>(handler: CallbackHandler<Input, Output, Params>): RouteHandler<"PATCH", Input, Output, Params>;
157
- patch<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): ParseRouteHandler<T, K, "PATCH">;
192
+ patch<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): ControllerRouteHandler<"PATCH", T, K>;
158
193
  delete<Input, Output, Params>(handler: CallbackHandler<Input, Output, Params>): RouteHandler<"DELETE", Input, Output, Params>;
159
- delete<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): ParseRouteHandler<T, K, "DELETE">;
194
+ delete<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): ControllerRouteHandler<"DELETE", T, K>;
160
195
  resource<T extends new () => ResourceController>(Controller: T): ResourceRoute<T>;
161
196
  /**
162
197
  * Mounts an agent controller under one path, the way `resource()` mounts a
@@ -191,8 +226,17 @@ export declare class ApiRouter {
191
226
  * user, and every attachment id minted by an upload is then unresolvable in
192
227
  * the run that follows — as a not-found, indistinguishable from an id the
193
228
  * model made up. See `AgentController.attachmentScope`.
229
+ *
230
+ * `Controller` is checked to be an `AgentController` class when the route is
231
+ * mounted, at boot, and not by the type of the parameter (#774). Checking it
232
+ * at compile time resolves the controller's agent, and so the agent's
233
+ * tools, while the route table is still being inferred: an agent whose tools
234
+ * are routes of this same api, or whose controller is typed by it
235
+ * (`AgentController<ReturnType<typeof makeAgent>>`), then made the table
236
+ * reference itself. A route mounted with anything else has no tools in the
237
+ * client's types (`AgentRouteRPC`), and throws here.
194
238
  */
195
- agent<T extends new () => AgentController<any, any>>(Controller: T): AgentRoute<T>;
239
+ agent<T extends object>(Controller: T): AgentRoute<T>;
196
240
  file<Input, Output, Params>(handler: CallbackHandler<Input, Output, Params>): FileHandler;
197
241
  file<T extends new () => Controller, K extends ControllerMethods<T>>(handler: T, methodName: K): FileHandler;
198
242
  /**
@@ -210,15 +254,43 @@ export declare class ApiRouter {
210
254
  proxy(url: string, headers?: Record<string, string>): ProxyHandler;
211
255
  }
212
256
  type TestControllerMethod<T extends new () => Controller, K extends string> = K extends ControllerMethods<T> ? K : never;
213
- type RouteHandlerParser<T, Prefix extends string = ""> = T extends RouteHandler<infer Method, infer Input, infer Output, infer Params> ? KeyAndValue<`${Method & string}:${Prefix & string}`, ApiRouterHandler<Input, ResponseData<Output>, Params, ResponseError<Output>>> : never;
257
+ /**
258
+ * One route of the RPC map: its key, and the route its value is read off — not
259
+ * the value. `CreateRPC` reads it per key (`RouteValue`), so listing the keys,
260
+ * or reading one route's value, never evaluates another route's handler (#774).
261
+ */
262
+ type RouteEntry<K, R> = {
263
+ key: K;
264
+ route: R;
265
+ };
266
+ /**
267
+ * A route's value in the RPC map. Evaluated only as the template of
268
+ * `CreateRPC`, which a mapped type resolves one property at a time.
269
+ */
270
+ type RouteValue<R> = R extends AgentRoute<infer C extends new () => AgentController<any, any>> ? AgentRouteRPC<C> : R extends ControllerRouteHandler<any, infer C, infer N> ? ControllerRouteValue<C, N> : R extends RouteHandler<any, infer Input, infer Output, infer Params> ? ApiRouterHandler<Input, ResponseData<Output>, Params, ResponseError<Output>> : never;
271
+ /** Whether a route has a key: a controller route only when its method can be called. */
272
+ type IsRoutable<R> = R extends ControllerRouteHandler<any, infer C, infer N> ? IsControllerRoutable<C, N> : true;
273
+ type RouteHandlerParser<T, Prefix extends string = ""> = T extends RouteHandler<infer Method, any, any, any> ? IsRoutable<T> extends true ? RouteEntry<`${Method & string}:${Prefix & string}`, T> : never : never;
214
274
  type RouteHandlersParser<T, Prefix extends string = ""> = T extends RouteHandlers ? {
215
- [K in keyof T]: T[K] extends RouteHandler<infer Method, infer Input, infer Output, infer Params> ? KeyAndValue<`${Method & string}:${Prefix & string}`, ApiRouterHandler<Input, ResponseData<Output>, Params, ResponseError<Output>>> : never;
275
+ [K in keyof T]-?: RouteHandlerParser<T[K], Prefix>;
216
276
  }[keyof T] : never;
217
277
  type RouterInstanceParser<T extends new () => ApiRouter, Prefix extends string> = T extends new () => ApiRouter ? RouteParser<InstanceType<T>["routes"], `${Prefix & string}`> : never;
218
278
  type ParsePrefixAndKey<P extends PropertyKey, K extends PropertyKey, U extends string = `${P & string}${K & string}`> = U extends "//" ? "/" : U extends `${infer T1}//${infer T2}` ? `${RemoveGroupPrefix<T1>}/${RemoveGroupPrefix<T2>}` : U extends `${infer T1}/${infer T2}/` ? `${RemoveGroupPrefix<T1>}/${RemoveGroupPrefix<T2>}` : RemoveGroupPrefix<U>;
219
279
  type RemoveTrailingId<T> = T extends `${infer Head}/:${infer Tail}` ? Tail extends `${string}/:${string}` ? `${Head}/:${RemoveTrailingId<Tail>}` : Head extends `/:${string}` ? "X" : `${Head}` : T;
220
280
  type ResourceRoutesParser<T extends ResourceRoutes<new () => ResourceController>, U extends PropertyKey> = RouteHandlersParser<T["first"], RemoveTrailingId<U & string>> | RouteHandlersParser<T["second"], `${U & string}`>;
221
- type RouteParser<T extends ApiRoutes, Prefix extends PropertyKey = "", K extends keyof T = keyof T> = K extends any ? T[K] extends AgentRoute<infer C> ? KeyAndValue<ParsePrefixAndKey<Prefix, K>, AgentRouteRPC<C>> : T[K] extends ResourceRoutes<any> ? ResourceRoutesParser<T[K], ParsePrefixAndKey<Prefix, K>> : T[K] extends RouteHandler<any, any, any, any> ? RouteHandlerParser<T[K], ParsePrefixAndKey<Prefix, K>> : T[K] extends new () => ApiRouter ? RouterInstanceParser<T[K], ParsePrefixAndKey<Prefix, K>> : T[K] extends RouteHandlers ? RouteHandlersParser<T[K], `${Prefix & string}${K extends "/" ? "" : K & string}`> : never : never;
222
- export type CreateRPC<T extends ApiRouter, Prefix extends PropertyKey = ""> = KeyAndValueToObject<RouteParser<T["routes"], Prefix>>;
281
+ type RouteParser<T extends ApiRoutes, Prefix extends PropertyKey = "", K extends keyof T = keyof T> = K extends any ? T[K] extends AgentRoute<any> ? RouteEntry<ParsePrefixAndKey<Prefix, K>, T[K]> : T[K] extends ResourceRoutes<any> ? ResourceRoutesParser<T[K], ParsePrefixAndKey<Prefix, K>> : T[K] extends RouteHandler<any, any, any, any> ? RouteHandlerParser<T[K], ParsePrefixAndKey<Prefix, K>> : T[K] extends new () => ApiRouter ? RouterInstanceParser<T[K], ParsePrefixAndKey<Prefix, K>> : T[K] extends RouteHandlers ? RouteHandlersParser<T[K], `${Prefix & string}${K extends "/" ? "" : K & string}`> : never : never;
282
+ /**
283
+ * The client's RPC map of an api router: `"METHOD:/path"` to the route's
284
+ * handler type, and an agent route's mounted path to its `AgentRouteRPC`.
285
+ *
286
+ * Its keys come from the routers' `routes` alone, and each value is read off
287
+ * its own route when it is asked for (#774). `keyof CreateRPC<Api>` and
288
+ * `CreateRPC<Api>["GET:/x"]` therefore never evaluate another route's handler,
289
+ * which is what lets `McpRouter.fromApiRoute` check a url against the api that
290
+ * serves the agent using it.
291
+ */
292
+ export type CreateRPC<T extends ApiRouter, Prefix extends PropertyKey = ""> = {
293
+ [E in RouteParser<T["routes"], Prefix> as E["key"]]: RouteValue<E["route"]>;
294
+ };
223
295
  export {};
224
296
  //# sourceMappingURL=ApiRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApiRouter.d.ts","sourceRoot":"","sources":["../../http/ApiRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApiRouter.d.ts","sourceRoot":"","sources":["../../http/ApiRouter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { ToolContext } from "../ai/Agent";
2
2
  import type { AnySchema, Infer, Schema } from "../ai/Schema";
3
3
  import type { UrlParser } from "../client/types";
4
+ import type { Prettify } from "../utils/type";
4
5
  import type { McpCallContext, McpCredentials } from "../services/mcp/McpRegistry";
5
6
  import type { ApiRouterHandler } from "./ApiRouter";
6
7
  import type { HttpRequest } from "./HttpRequest";
@@ -57,15 +58,23 @@ export type McpParamBinder = (req: HttpRequest<any, any>, call: McpCallContext)
57
58
  * Built with `McpRouter.param`, which is what types `bind`'s `value` from
58
59
  * `input`. See `McpModelParamOptions`.
59
60
  */
60
- export declare class McpModelParam<V = unknown> {
61
- /** The key in the tool's input schema, or `undefined` for the param's own name. */
62
- readonly as: string | undefined;
61
+ export declare class McpModelParam<V = unknown, As extends string | undefined = string | undefined> {
62
+ /**
63
+ * The key in the tool's input schema, or `undefined` for the param's own
64
+ * name. Kept as a literal in the type, which is what names the field in
65
+ * the tool's typed input (`McpToolInput`, #771).
66
+ */
67
+ readonly as: As;
63
68
  readonly input: AnySchema;
64
69
  readonly bind: McpModelParamResolver<V>;
65
70
  readonly __internal_brand = "McpModelParam";
66
71
  constructor(
67
- /** The key in the tool's input schema, or `undefined` for the param's own name. */
68
- as: string | undefined, input: AnySchema, bind: McpModelParamResolver<V>);
72
+ /**
73
+ * The key in the tool's input schema, or `undefined` for the param's own
74
+ * name. Kept as a literal in the type, which is what names the field in
75
+ * the tool's typed input (`McpToolInput`, #771).
76
+ */
77
+ as: As, input: AnySchema, bind: McpModelParamResolver<V>);
69
78
  }
70
79
  /**
71
80
  * Turns what the model sent for a model-facing param into the url segment.
@@ -81,13 +90,13 @@ export declare class McpModelParam<V = unknown> {
81
90
  */
82
91
  export type McpModelParamResolver<V> = (value: V, req: HttpRequest<any, any>, call: McpCallContext) => string | number | Promise<string | number>;
83
92
  /** What `McpRouter.param` takes. */
84
- export type McpModelParamOptions<S extends AnySchema> = {
93
+ export type McpModelParamOptions<S extends AnySchema, As extends string | undefined = string | undefined> = {
85
94
  /**
86
95
  * The field's name in the tool's input schema. Defaults to the param's own
87
96
  * name. It is never sent to the route, in the body or the query: it only
88
97
  * reaches `bind`, and `call.input`.
89
98
  */
90
- as?: string;
99
+ as?: As;
91
100
  /**
92
101
  * The field's schema, as the model sees it. Describe it here — it is the
93
102
  * only thing the model reads about the field:
@@ -118,8 +127,16 @@ type BodyOf<H> = H extends ApiRouterHandler<infer T, any, any> ? T : never;
118
127
  * What the route answers on success, as `useQuery` reads it. The registry
119
128
  * hands `result` the parsed JSON, so a `Date` in a handler's return arrives as
120
129
  * the string it was serialised to.
130
+ *
131
+ * Read off the return type alone. Matching `ApiRouterHandler<any, infer O,
132
+ * any, any>` instead goes through its `__error?: [Error]` parameter, which
133
+ * `strictFunctionTypes` checks contravariantly: `[any]` is not assignable to a
134
+ * route's `[never]`, so under `strict: true` no route matched and every
135
+ * `result` got `unknown` (#769). The RPC entry's return is already
136
+ * `ResponseData`, so an `HttpResponse` in it is unwrapped by the time it gets
137
+ * here. See `McpRouter.strict.test.ts`.
121
138
  */
122
- export type DataOf<H> = H extends ApiRouterHandler<any, infer O, any, any> ? Awaited<O> : unknown;
139
+ export type DataOf<H> = H extends (...args: any[]) => infer O ? Awaited<O> : unknown;
123
140
  /**
124
141
  * A body there is nothing to check against: a handler that never names its
125
142
  * request (`async list() {}` infers `unknown`), or one typed `any`. The meta
@@ -165,40 +182,54 @@ type InputCheck<I, B> = IsLoose<B> extends true ? unknown : I extends AnySchema
165
182
  } : unknown;
166
183
  type ParamsOf<K> = UrlParser<`${K & string}`>;
167
184
  /** One path param's declaration: bound, the model's raw segment, or the model's in its own terms. */
168
- export type McpParamDeclaration = McpParamBinder | "input" | McpModelParam<any>;
185
+ export type McpParamDeclaration = McpParamBinder | "input" | McpModelParam<any, any>;
169
186
  /**
170
187
  * Every path param is bound, `"input"` or a `this.param(...)`, and there is no
171
188
  * default: a param left for the model by omission is exactly the
172
189
  * tenant-isolation bug this field exists to prevent, so omitting one is a
173
190
  * compile error.
174
191
  */
175
- type ParamsMeta<K> = string extends keyof ParamsOf<K> ? {
192
+ type ParamsMeta<K, P> = string extends keyof ParamsOf<K> ? {
176
193
  params?: never;
177
194
  } : [keyof ParamsOf<K>] extends [never] ? {
178
195
  params?: never;
179
196
  } : {
180
- params: {
181
- [P in keyof ParamsOf<K>]-?: McpParamDeclaration;
182
- };
197
+ params: P & NoInfer<ParamsCheck<K, P>>;
198
+ };
199
+ /**
200
+ * `params` is inferred as `P`, so the tool's input type can tell `"input"` and
201
+ * `this.param(...)` apart from a binder (#771), and checked here: every param
202
+ * of the url declared, and nothing else.
203
+ */
204
+ type ParamsCheck<K, P> = {
205
+ [X in keyof ParamsOf<K>]-?: McpParamDeclaration;
206
+ } & {
207
+ [X in Exclude<keyof P, keyof ParamsOf<K>>]: never;
183
208
  };
184
209
  /**
185
210
  * Required for every binary field, and refused on a route that has none. For
186
211
  * a loose body the fields cannot be known, so any are accepted.
187
212
  */
188
- type FilesMeta<B> = IsLoose<B> extends true ? {
189
- files?: Record<string, McpFileBinder | "input">;
213
+ type FilesMeta<B, F> = IsLoose<B> extends true ? {
214
+ files?: F;
190
215
  } : [BinaryKeys<B>] extends [never] ? {
191
216
  files?: never;
192
217
  } : {
193
- files: {
194
- [F in BinaryKeys<B>]: McpFileBinder | "input";
195
- };
218
+ files: F & NoInfer<{
219
+ [X in BinaryKeys<B>]: McpFileBinder | "input";
220
+ } & {
221
+ [X in Exclude<keyof F, BinaryKeys<B>>]: never;
222
+ }>;
196
223
  };
197
- type MetaBase = {
224
+ type MetaBase<T> = {
198
225
  /** The only prose the model gets about this tool. */
199
226
  description: string;
200
- /** For `list`'s filter. Nothing in v1 filters, but the descriptor keeps them. */
201
- tags?: readonly string[];
227
+ /**
228
+ * For `McpRegistry.descriptors`' and `toAgentTools`' filter. Kept as
229
+ * literals in the type, so a typed `toAgentTools` filtered by tag answers
230
+ * only the tools carrying it (#771).
231
+ */
232
+ tags?: T;
202
233
  /**
203
234
  * Asks the user before an in-process agent runs this tool, as
204
235
  * `AgentTool.requiresApproval` does. Never set from the verb: a DELETE of a
@@ -256,7 +287,7 @@ type ResultReturn<O> = O extends AnySchema ? Infer<O> | Promise<Infer<O>> : unkn
256
287
  * it would have to be inferred from a context-sensitive function, and any
257
288
  * check that mentioned it beside `output` fixed it to its default first.
258
289
  */
259
- type ResultMeta<H, O> = {
290
+ type ResultMeta<H, O, RR> = {
260
291
  /**
261
292
  * Trims or reshapes the route's 2xx JSON before the model sees it.
262
293
  * Routes are written for a UI and answer whole records; a model needs a
@@ -270,7 +301,7 @@ type ResultMeta<H, O> = {
270
301
  * route wrote it. A throw is the server's failure, logged, and the model
271
302
  * is told only that the tool failed.
272
303
  */
273
- result: (data: DataOf<H>, call: McpResultContext) => ResultReturn<O>;
304
+ result: (data: DataOf<H>, call: McpResultContext) => [O] extends [undefined] ? RR : ResultReturn<O>;
274
305
  /**
275
306
  * The shape of what `result` returns. The return is parsed with it,
276
307
  * which drops every field it does not declare. It is the descriptor's
@@ -290,7 +321,26 @@ type ResultMeta<H, O> = {
290
321
  */
291
322
  output?: O & NoInfer<OutputCheck<O, DataOf<H>>>;
292
323
  };
293
- export type McpRouteMeta<H, K, I, O = undefined> = MetaBase & InputMeta<BodyOf<H>, I> & ParamsMeta<K> & FilesMeta<BodyOf<H>> & ResultMeta<H, O>;
324
+ export type McpRouteMeta<H, K, I, O = undefined, P = {}, F = {}, T = readonly string[], RR = never> = MetaBase<T> & InputMeta<BodyOf<H>, I> & ParamsMeta<K, P> & FilesMeta<BodyOf<H>, F> & ResultMeta<H, O, RR>;
325
+ /**
326
+ * What the model sends a tool, as the registry builds its `inputSchema`: the
327
+ * `input` schema's fields, a string for every `"input"` path param (optional
328
+ * when the url makes it optional) and every `"input"` file field, and the
329
+ * model-facing field of every `this.param(...)`, under its `as` or the param's
330
+ * own name. Bound params and files are not in it.
331
+ */
332
+ export type McpToolInput<I, K, P, F> = Prettify<([I] extends [undefined] ? {} : I extends AnySchema ? Infer<I> : {}) & {
333
+ [X in keyof ParamsOf<K> as X extends keyof P ? P[X] extends "input" ? X : never : never]: string;
334
+ } & {
335
+ -readonly [X in keyof P as P[X] extends McpModelParam<any, infer As> ? As extends undefined ? X : As : never]-?: P[X] extends McpModelParam<infer V, any> ? V : never;
336
+ } & {
337
+ -readonly [X in keyof F as F[X] extends "input" ? X : never]-?: string;
338
+ }>;
339
+ /**
340
+ * What a tool answers: what `output` describes when it is set, else what
341
+ * `result` returns when there is one, else the route's own answer.
342
+ */
343
+ export type McpToolOutput<H, O, RR> = [O] extends [undefined] ? [RR] extends [never] ? DataOf<H> : Awaited<RR> : O extends AnySchema ? Infer<O> : unknown;
294
344
  /** The runtime shape of a meta, generics erased. */
295
345
  export type McpRouteMetaRuntime = {
296
346
  description: string;
@@ -307,11 +357,20 @@ export type McpRouteMetaRuntime = {
307
357
  * data; the registry turns it into a tool descriptor once it can see the
308
358
  * route table.
309
359
  */
310
- export declare class McpRouteDeclaration<M extends McpMethod = McpMethod, K extends string = string> {
360
+ export declare class McpRouteDeclaration<M extends McpMethod = McpMethod, K extends string = string, Input = unknown, Output = unknown, Tags extends readonly string[] = readonly string[]> {
311
361
  readonly method: M;
312
362
  readonly url: K;
313
363
  readonly meta: McpRouteMetaRuntime;
314
364
  readonly __internal_brand = "McpRoute";
365
+ /**
366
+ * Types only, never set: the tool's input, output and tags, which
367
+ * `toAgentTools` reads off a typed router to type its `AgentTool`s (#771).
368
+ */
369
+ readonly __tool?: {
370
+ input: Input;
371
+ output: Output;
372
+ tags: Tags;
373
+ };
315
374
  constructor(method: M, url: K, meta: McpRouteMetaRuntime);
316
375
  }
317
376
  /**
@@ -394,8 +453,8 @@ export declare class McpRouter<R = McpRoutes> {
394
453
  * The result is plain data and can be shared by several tools: declare it as
395
454
  * a field above `routes` and use it in each.
396
455
  */
397
- param<S extends AnySchema>(options: McpModelParamOptions<S>): McpModelParam<Infer<S>>;
398
- fromApiRoute<M extends McpMethod, K extends keyof RoutesOf<R>[M] & string, I extends AnySchema | undefined = undefined, O extends AnySchema | undefined = undefined>(method: M, url: K, meta: McpRouteMeta<RoutesOf<R>[M][K], K, I, O>): McpRouteDeclaration<M, K>;
456
+ param<S extends AnySchema, const As extends string | undefined = undefined>(options: McpModelParamOptions<S, As>): McpModelParam<Infer<S>, As>;
457
+ fromApiRoute<M extends McpMethod, K extends keyof RoutesOf<R>[M] & string, I extends AnySchema | undefined = undefined, O extends AnySchema | undefined = undefined, const P extends Record<string, McpParamDeclaration> = {}, const F extends Record<string, McpFileBinder | "input"> = {}, const T extends readonly string[] = readonly [], RR = never>(method: M, url: K, meta: McpRouteMeta<RoutesOf<R>[M][K], K, I, O, P, F, T, RR>): McpRouteDeclaration<M, K, McpToolInput<I, K, P, F>, McpToolOutput<RoutesOf<R>[M][K], O, RR>, T>;
399
458
  }
400
459
  export {};
401
460
  //# sourceMappingURL=McpRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"McpRouter.d.ts","sourceRoot":"","sources":["../../http/McpRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpRouter.d.ts","sourceRoot":"","sources":["../../http/McpRouter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export { Controller, ResourceController } from "./Controller";
2
- export { ApiRouter, type CreateRPC } from "./ApiRouter";
3
- export { McpRouter, McpRouteDeclaration, type McpFileBinder, type McpMethod, McpModelParam, type McpModelParamOptions, type McpModelParamResolver, type McpParamBinder, type McpParamDeclaration, type McpRouteMeta, type McpRoutes, } from "./McpRouter";
2
+ export { ApiRouter, type ControllerRouteHandler, type CreateRPC } from "./ApiRouter";
3
+ export { McpRouter, McpRouteDeclaration, type McpFileBinder, type McpMethod, McpModelParam, type McpModelParamOptions, type McpModelParamResolver, type McpParamBinder, type McpParamDeclaration, type McpRouteMeta, type McpRoutes, type McpToolInput, type McpToolOutput, } from "./McpRouter";
4
4
  export { createFileResponse, ViewRouter, type CreateViewRPC, type FileOutput, type ViewHandler, } from "./ViewRouter";
5
5
  export { toMiddlewareList, type MiddlewareInput } from "./middlewareList";
6
6
  export { createStreamResponse, createUnsatisfiableResponse, type StreamOutput, type StreamDescriptor, type StreamReadResult, } from "./createStreamResponse";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,SAAS,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC1E,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,SAAS,EACT,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,QAAQ,EACR,KAAK,yBAAyB,GAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,sBAAsB,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC1E,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,SAAS,EACT,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,QAAQ,EACR,KAAK,yBAAyB,GAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,UAAU,CAAC"}
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{Ac as H,Bc as I,Gd as J,Hd as K,Id as L,Jd as M,Kd as N,Ld as O,gc as n,hc as o,ic as p,jc as v,kc as w,lc as x,mc as y,oc as z,pc as A,qc as B,rc as C,sc as D,tc as E,uc as F,zc as G}from"../chunk-g8qp01t6.js";import"../chunk-b0jpvp5t.js";import"../chunk-22k4b395.js";import{Ne as a,Oe as b,Pe as d,Te as e,Ue as f,Ve as g,We as h,Xe as i,Ye as j,bf as k,cf as l,gf as m,hf as q,if as r,jf as s,kf as t,lf as u}from"../chunk-3cxbvrts.js";import{Af as c}from"../chunk-j9deswmn.js";import"../chunk-ayss2f8c.js";import"../chunk-5dwtmkk8.js";import"../chunk-xxkk60aw.js";import"../chunk-fcsq613t.js";import"../chunk-v4exgqbp.js";import"../chunk-st0d3ndv.js";import"../chunk-4f7n1r02.js";import"../chunk-xnggfm0s.js";import"../chunk-0fney17e.js";import"../chunk-ma5rmcbe.js";import"../chunk-3m93v7bt.js";import"../chunk-1xzdexbq.js";export{g as toRangeHeaderValue,n as toMiddlewareList,f as resolveRange,e as parseRangeHeader,h as parseContentRange,F as middlewareConfigDefaults,A as httpError,d as getCookies,j as formatUnsatisfiedContentRange,i as formatContentRange,E as defineMiddlewareConfig,o as createUnsatisfiableResponse,p as createStreamResponse,B as createFileResponse,I as clientIp,C as ViewRouter,k as ValidationError,b as ResourceController,c as RequestBreakerError,H as RateLimitMiddleware,G as RateLimitExceededError,s as RangeNotSatisfiableError,N as PoliciesServiceProvider,O as Policies,D as Middleware,y as McpRouter,x as McpRouteDeclaration,w as McpModelParam,l as InvalidValidationRuleError,r as InsufficientPermissionsError,z as HttpResponse,m as HttpRequest,t as FileNotFoundError,L as CorsMiddleware,a as Controller,K as CacheMiddleware,M as CSRFMiddleware,q as AuthorizationError,J as AuthenticationMiddleware,u as AuthenticationError,v as ApiRouter};
2
+ import{Ac as H,Bc as I,Gd as J,Hd as K,Id as L,Jd as M,Kd as N,Ld as O,gc as n,hc as o,ic as p,jc as v,kc as w,lc as x,mc as y,oc as z,pc as A,qc as B,rc as C,sc as D,tc as E,uc as F,zc as G}from"../chunk-48wh5mbp.js";import"../chunk-b0jpvp5t.js";import"../chunk-22k4b395.js";import{Ne as a,Oe as b,Pe as d,Te as e,Ue as f,Ve as g,We as h,Xe as i,Ye as j,bf as k,cf as l,gf as m,hf as q,if as r,jf as s,kf as t,lf as u}from"../chunk-3cxbvrts.js";import{Af as c}from"../chunk-j9deswmn.js";import"../chunk-ayss2f8c.js";import"../chunk-5dwtmkk8.js";import"../chunk-xxkk60aw.js";import"../chunk-fcsq613t.js";import"../chunk-v4exgqbp.js";import"../chunk-st0d3ndv.js";import"../chunk-4f7n1r02.js";import"../chunk-xnggfm0s.js";import"../chunk-0fney17e.js";import"../chunk-ma5rmcbe.js";import"../chunk-3m93v7bt.js";import"../chunk-1xzdexbq.js";export{g as toRangeHeaderValue,n as toMiddlewareList,f as resolveRange,e as parseRangeHeader,h as parseContentRange,F as middlewareConfigDefaults,A as httpError,d as getCookies,j as formatUnsatisfiedContentRange,i as formatContentRange,E as defineMiddlewareConfig,o as createUnsatisfiableResponse,p as createStreamResponse,B as createFileResponse,I as clientIp,C as ViewRouter,k as ValidationError,b as ResourceController,c as RequestBreakerError,H as RateLimitMiddleware,G as RateLimitExceededError,s as RangeNotSatisfiableError,N as PoliciesServiceProvider,O as Policies,D as Middleware,y as McpRouter,x as McpRouteDeclaration,w as McpModelParam,l as InvalidValidationRuleError,r as InsufficientPermissionsError,z as HttpResponse,m as HttpRequest,t as FileNotFoundError,L as CorsMiddleware,a as Controller,K as CacheMiddleware,M as CSRFMiddleware,q as AuthorizationError,J as AuthenticationMiddleware,u as AuthenticationError,v as ApiRouter};
3
3
 
4
4
  //# debugId=4F2BECB707D07B5C64756E2164756E21
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{aa as w}from"../chunk-sedwjgvf.js";import"../chunk-9a8qz3s7.js";import{Wa as b}from"../chunk-f2n21fef.js";import{dc as R,ec as S}from"../chunk-zm00crsx.js";import"../chunk-7kedxtbp.js";import{Nc as j}from"../chunk-g8qp01t6.js";import"../chunk-b0jpvp5t.js";import"../chunk-22k4b395.js";import"../chunk-3cxbvrts.js";import"../chunk-j9deswmn.js";import"../chunk-ayss2f8c.js";import"../chunk-5dwtmkk8.js";import"../chunk-xxkk60aw.js";import"../chunk-fcsq613t.js";import"../chunk-v4exgqbp.js";import"../chunk-st0d3ndv.js";import{Eg as X,Fg as E,Gg as V,Hg as L}from"../chunk-4f7n1r02.js";import"../chunk-xnggfm0s.js";import"../chunk-0fney17e.js";import"../chunk-ma5rmcbe.js";import"../chunk-3m93v7bt.js";import"../chunk-1xzdexbq.js";import{createElement as J,Fragment as M,isValidElement as U}from"react";function $(q,B){let G=Object.values(B).some((z)=>typeof z==="function"&&U(z(""))),Q=/{{([^{}]+?)(?::([^{}\[\]]+?))?(?:\[(.*?)\])?}}/g;if(!G)return q.replace(Q,(W,O,_,Z)=>{let C=O.includes(":")?O.split(":")[0]:O,H=B[C];if(H===void 0)return W;if(typeof H==="function"){let K=H(Z!==void 0?Z:"");if(U(K))throw Error("JSX returned in string context");return String(K)}if(_)switch(_.toLowerCase()){case"number":return Number(H).toString();case"string":return String(H);case"boolean":return Boolean(H).toString();default:return String(H)}return String(H)});else{let z=[],W=0,O=null;while((O=Q.exec(q))!==null){let[_,Z,C,H]=O,F=O.index,K=Z.includes(":")?Z.split(":")[0]:Z;if(F>W)z.push(q.substring(W,F));let Y=B[K];if(Y===void 0)z.push(_);else if(typeof Y==="function"){let A=Y(H!==void 0?H:"");z.push(A)}else if(C)switch(C.toLowerCase()){case"number":z.push(Number(Y).toString());break;case"string":z.push(String(Y));break;case"boolean":z.push(Boolean(Y).toString());break;default:z.push(String(Y))}else z.push(String(Y));W=F+_.length}if(W<q.length)z.push(q.substring(W));return J(M,{},...z)}}class P{name;dictionary;constructor(q,B){this.name=q;this.dictionary=B}reference(q){if(typeof window<"u")throw Error("Cannot use reference in the browser");if(!this.dictionary?.[q])throw Error(`Translation not found for ${String(q)}`);return this.dictionary[q]}render(q,...B){let{locale:G=j.locale(),params:Q}={params:{},...B[0]};if(typeof window<"u")throw Error("Cannot use render in the browser");if(!this.dictionary?.[q]?.[G])throw Error(`Translation not found for ${String(q)} in ${String(G)}`);return $(this.dictionary[q][G],Q??{})}static create(q,B){return new P(q,B)}static text(q,...B){let{locale:G=j.locale(),params:Q}={params:{},...B?.[0]};if(!q?.[G])throw Error(`Translation not found for ${String(G)}`);return $(q[G],Q??{})}}async function N(q,B,...G){let{locale:Q=j.locale(),params:z}={params:{},...G[0]},O=(await q.load(String(Q)))[B];if(typeof O!=="string")throw Error(`Translation not found for "${B}" in "${String(Q)}" (dictionary ${q.id})`);return $(O,z??{})}export{S as translationConfigDefaults,N as translate,E as isValidTimeZone,R as defineTranslationConfig,w as defineDictionary,V as createFormatter,L as Translator,b as TranslationServiceProvider,P as Dictionary,X as DEFAULT_TIME_ZONE};
2
+ import{aa as w}from"../chunk-sedwjgvf.js";import"../chunk-9a8qz3s7.js";import{Wa as b}from"../chunk-f2n21fef.js";import{dc as R,ec as S}from"../chunk-zm00crsx.js";import"../chunk-7kedxtbp.js";import{Nc as j}from"../chunk-48wh5mbp.js";import"../chunk-b0jpvp5t.js";import"../chunk-22k4b395.js";import"../chunk-3cxbvrts.js";import"../chunk-j9deswmn.js";import"../chunk-ayss2f8c.js";import"../chunk-5dwtmkk8.js";import"../chunk-xxkk60aw.js";import"../chunk-fcsq613t.js";import"../chunk-v4exgqbp.js";import"../chunk-st0d3ndv.js";import{Eg as X,Fg as E,Gg as V,Hg as L}from"../chunk-4f7n1r02.js";import"../chunk-xnggfm0s.js";import"../chunk-0fney17e.js";import"../chunk-ma5rmcbe.js";import"../chunk-3m93v7bt.js";import"../chunk-1xzdexbq.js";import{createElement as J,Fragment as M,isValidElement as U}from"react";function $(q,B){let G=Object.values(B).some((z)=>typeof z==="function"&&U(z(""))),Q=/{{([^{}]+?)(?::([^{}\[\]]+?))?(?:\[(.*?)\])?}}/g;if(!G)return q.replace(Q,(W,O,_,Z)=>{let C=O.includes(":")?O.split(":")[0]:O,H=B[C];if(H===void 0)return W;if(typeof H==="function"){let K=H(Z!==void 0?Z:"");if(U(K))throw Error("JSX returned in string context");return String(K)}if(_)switch(_.toLowerCase()){case"number":return Number(H).toString();case"string":return String(H);case"boolean":return Boolean(H).toString();default:return String(H)}return String(H)});else{let z=[],W=0,O=null;while((O=Q.exec(q))!==null){let[_,Z,C,H]=O,F=O.index,K=Z.includes(":")?Z.split(":")[0]:Z;if(F>W)z.push(q.substring(W,F));let Y=B[K];if(Y===void 0)z.push(_);else if(typeof Y==="function"){let A=Y(H!==void 0?H:"");z.push(A)}else if(C)switch(C.toLowerCase()){case"number":z.push(Number(Y).toString());break;case"string":z.push(String(Y));break;case"boolean":z.push(Boolean(Y).toString());break;default:z.push(String(Y))}else z.push(String(Y));W=F+_.length}if(W<q.length)z.push(q.substring(W));return J(M,{},...z)}}class P{name;dictionary;constructor(q,B){this.name=q;this.dictionary=B}reference(q){if(typeof window<"u")throw Error("Cannot use reference in the browser");if(!this.dictionary?.[q])throw Error(`Translation not found for ${String(q)}`);return this.dictionary[q]}render(q,...B){let{locale:G=j.locale(),params:Q}={params:{},...B[0]};if(typeof window<"u")throw Error("Cannot use render in the browser");if(!this.dictionary?.[q]?.[G])throw Error(`Translation not found for ${String(q)} in ${String(G)}`);return $(this.dictionary[q][G],Q??{})}static create(q,B){return new P(q,B)}static text(q,...B){let{locale:G=j.locale(),params:Q}={params:{},...B?.[0]};if(!q?.[G])throw Error(`Translation not found for ${String(G)}`);return $(q[G],Q??{})}}async function N(q,B,...G){let{locale:Q=j.locale(),params:z}={params:{},...G[0]},O=(await q.load(String(Q)))[B];if(typeof O!=="string")throw Error(`Translation not found for "${B}" in "${String(Q)}" (dictionary ${q.id})`);return $(O,z??{})}export{S as translationConfigDefaults,N as translate,E as isValidTimeZone,R as defineTranslationConfig,w as defineDictionary,V as createFormatter,L as Translator,b as TranslationServiceProvider,P as Dictionary,X as DEFAULT_TIME_ZONE};
3
3
 
4
4
  //# debugId=6EBD0BD09D520AA564756E2164756E21
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{ya as y}from"../chunk-jfnhzza6.js";import{Va as i}from"../chunk-bsq80942.js";import{Wa as g}from"../chunk-f2n21fef.js";import{$a as e,Za as T,_a as D,ab as A,bb as w,fb as P,gb as S,ib as h,jb as R,kb as u,lb as l,ob as v,pb as d,sb as c,vb as p,yb as n}from"../chunk-3e73zaft.js";import"../chunk-wc46df4w.js";import"../chunk-b1dqx3b9.js";import{_b as r}from"../chunk-18aqqrev.js";import"../chunk-zm00crsx.js";import"../chunk-7kedxtbp.js";import{Ad as C,Bd as m,Cd as Q,Dd as t,Ed as o,Gc as Zj,Hc as $j,Kc as Gj,Lc as Hj,od as x,td as I,ud as E,xd as K,yd as M,zd as s}from"../chunk-g8qp01t6.js";import{Pd as a}from"../chunk-b0jpvp5t.js";import{ae as V,fe as f}from"../chunk-22k4b395.js";import{gf as F}from"../chunk-3cxbvrts.js";import{zf as B}from"../chunk-j9deswmn.js";import{Ff as L}from"../chunk-ayss2f8c.js";import"../chunk-5dwtmkk8.js";import"../chunk-xxkk60aw.js";import"../chunk-fcsq613t.js";import"../chunk-v4exgqbp.js";import"../chunk-st0d3ndv.js";import"../chunk-zhk3z9zk.js";import"../chunk-4f7n1r02.js";import{Ig as _,Kg as N,Lg as b}from"../chunk-xnggfm0s.js";import"../chunk-0fney17e.js";import"../chunk-yxh4xs3k.js";import"../chunk-ma5rmcbe.js";import{Yg as q}from"../chunk-3m93v7bt.js";import"../chunk-1xzdexbq.js";function Jj(j){let X=j.headers.get("Cache-Control")?.toLowerCase()??"";return/(^|[\s,])(public|s-maxage)\b/.test(X)}var Wj=new Set,Xj={refusal:null,apply:(j)=>j,carried:null};async function k(j){let X=b(x);if(X.config.global.length===0)return Xj;let{pathname:Z}=new URL(j.url),W=q(Z),z=new F(j,{},W?"api":"view","");return await L.run(z,async()=>{let $=L.getStore(),{headers:H,cookies:zj}=$,Y=(J)=>{if(!Jj(J))return Q(J,H,zj);let G=new Headers(H);return G.delete("Set-Cookie"),Q(J,G,Wj)};try{return await X.runGlobalMiddleware(),{refusal:null,apply:Y,carried:{user:$.user}}}catch(J){let G=!W&&Z.endsWith(".json");if(J?.kind===B){let O=W?m(J.payload.api):G?M(J.payload.viewData??J.payload.api):K(J.payload.view);return{refusal:Y(O),apply:Y,carried:null}}if(V(J)&&(W||G))return{refusal:Y(C()),apply:Y,carried:null};if(f(J)){console.error(J);let O=W||G?I():K(E());return{refusal:Y(O),apply:Y,carried:null}}throw J}finally{$.destroy()}})}var U=[l,d,y,P,n,A,S,v,R,D,h,p,u,g,c,w];class jj{config={};providers=[];services=[];serviceInstances=[];serviceTokens=new Set;servicesBooted=!1;models=[];app=new N;boot(){if(this.models.length>0)i(...this.models);else Yj();this.app.config.merge(this.config),N.setInstance(this.app),this.app.registerMany([...U,...this.providers]),this.registerServices()}registerServices(){let j=this.serviceTokens;this.serviceInstances=[],this.serviceTokens=new Set,this.servicesBooted=!1;let X=new Map;for(let Z of this.services){let W=typeof Z==="function"?new Z:Z,z=W.constructor;if(!z.token)throw Error(`Service [${z.name}] is listed in \`services\` but does not declare a \`static token\`.`);let $=X.get(z.token);if($)throw Error(`Services [${$}] and [${z.name}] both declare the token "${z.token}". Tokens are the container's keys, so they must be unique.`);X.set(z.token,z.name);let H=z;if(!j.has(z.token)&&this.app.bound(H))throw Error(`Service [${z.name}] declares the token "${z.token}", which is already bound in the container by the framework or a provider. Binding it would replace that service everywhere, so pick a token nothing else owns.`);this.app.instance(H,W),this.serviceInstances.push(W),this.serviceTokens.add(z.token)}}async waitForBoot(){await this.app.boot(),await this.bootServices(),e(this.app)}async bootServices(){if(this.servicesBooted)return;for(let j of this.serviceInstances)await j.boot();this.servicesBooted=!0}shutdown(j){return this.run(()=>this.app.shutdown(j))}run(j){return _.run(this.app,j)}resolve(j){return this.app.make(j)}apiRoutes(){return this.app.make(t)}viewRoutes(){return this.app.make(s)}domains(){return this.app.make(o)}queue(){return this.app.make(r)}globalMiddleware(j){return k(j)}destroy(){if(this.app.resolved(T))this.app.make(T).stop();if(this.app.flush(),N.getInstance()===this.app)N.setInstance(void 0);_.disable()}}function Yj(){if(Bun.env.NODE_ENV==="production")return;let j=a();if(j.length===0)return;console.warn(`[gemi] ${j.length} model${j.length===1?" is":"s are"} registered, but Kernel.models is empty.
2
+ import{ya as y}from"../chunk-jfnhzza6.js";import{Va as i}from"../chunk-bsq80942.js";import{Wa as g}from"../chunk-f2n21fef.js";import{$a as e,Za as T,_a as D,ab as A,bb as w,fb as P,gb as S,ib as h,jb as R,kb as u,lb as l,ob as v,pb as d,sb as c,vb as p,yb as n}from"../chunk-k6rd1nd4.js";import"../chunk-wc46df4w.js";import"../chunk-b1dqx3b9.js";import{_b as r}from"../chunk-18aqqrev.js";import"../chunk-zm00crsx.js";import"../chunk-7kedxtbp.js";import{Ad as C,Bd as m,Cd as Q,Dd as t,Ed as o,Gc as Zj,Hc as $j,Kc as Gj,Lc as Hj,od as x,td as I,ud as E,xd as K,yd as M,zd as s}from"../chunk-48wh5mbp.js";import{Pd as a}from"../chunk-b0jpvp5t.js";import{ae as V,fe as f}from"../chunk-22k4b395.js";import{gf as F}from"../chunk-3cxbvrts.js";import{zf as B}from"../chunk-j9deswmn.js";import{Ff as L}from"../chunk-ayss2f8c.js";import"../chunk-5dwtmkk8.js";import"../chunk-xxkk60aw.js";import"../chunk-fcsq613t.js";import"../chunk-v4exgqbp.js";import"../chunk-st0d3ndv.js";import"../chunk-zhk3z9zk.js";import"../chunk-4f7n1r02.js";import{Ig as _,Kg as N,Lg as b}from"../chunk-xnggfm0s.js";import"../chunk-0fney17e.js";import"../chunk-yxh4xs3k.js";import"../chunk-ma5rmcbe.js";import{Yg as q}from"../chunk-3m93v7bt.js";import"../chunk-1xzdexbq.js";function Jj(j){let X=j.headers.get("Cache-Control")?.toLowerCase()??"";return/(^|[\s,])(public|s-maxage)\b/.test(X)}var Wj=new Set,Xj={refusal:null,apply:(j)=>j,carried:null};async function k(j){let X=b(x);if(X.config.global.length===0)return Xj;let{pathname:Z}=new URL(j.url),W=q(Z),z=new F(j,{},W?"api":"view","");return await L.run(z,async()=>{let $=L.getStore(),{headers:H,cookies:zj}=$,Y=(J)=>{if(!Jj(J))return Q(J,H,zj);let G=new Headers(H);return G.delete("Set-Cookie"),Q(J,G,Wj)};try{return await X.runGlobalMiddleware(),{refusal:null,apply:Y,carried:{user:$.user}}}catch(J){let G=!W&&Z.endsWith(".json");if(J?.kind===B){let O=W?m(J.payload.api):G?M(J.payload.viewData??J.payload.api):K(J.payload.view);return{refusal:Y(O),apply:Y,carried:null}}if(V(J)&&(W||G))return{refusal:Y(C()),apply:Y,carried:null};if(f(J)){console.error(J);let O=W||G?I():K(E());return{refusal:Y(O),apply:Y,carried:null}}throw J}finally{$.destroy()}})}var U=[l,d,y,P,n,A,S,v,R,D,h,p,u,g,c,w];class jj{config={};providers=[];services=[];serviceInstances=[];serviceTokens=new Set;servicesBooted=!1;models=[];app=new N;boot(){if(this.models.length>0)i(...this.models);else Yj();this.app.config.merge(this.config),N.setInstance(this.app),this.app.registerMany([...U,...this.providers]),this.registerServices()}registerServices(){let j=this.serviceTokens;this.serviceInstances=[],this.serviceTokens=new Set,this.servicesBooted=!1;let X=new Map;for(let Z of this.services){let W=typeof Z==="function"?new Z:Z,z=W.constructor;if(!z.token)throw Error(`Service [${z.name}] is listed in \`services\` but does not declare a \`static token\`.`);let $=X.get(z.token);if($)throw Error(`Services [${$}] and [${z.name}] both declare the token "${z.token}". Tokens are the container's keys, so they must be unique.`);X.set(z.token,z.name);let H=z;if(!j.has(z.token)&&this.app.bound(H))throw Error(`Service [${z.name}] declares the token "${z.token}", which is already bound in the container by the framework or a provider. Binding it would replace that service everywhere, so pick a token nothing else owns.`);this.app.instance(H,W),this.serviceInstances.push(W),this.serviceTokens.add(z.token)}}async waitForBoot(){await this.app.boot(),await this.bootServices(),e(this.app)}async bootServices(){if(this.servicesBooted)return;for(let j of this.serviceInstances)await j.boot();this.servicesBooted=!0}shutdown(j){return this.run(()=>this.app.shutdown(j))}run(j){return _.run(this.app,j)}resolve(j){return this.app.make(j)}apiRoutes(){return this.app.make(t)}viewRoutes(){return this.app.make(s)}domains(){return this.app.make(o)}queue(){return this.app.make(r)}globalMiddleware(j){return k(j)}destroy(){if(this.app.resolved(T))this.app.make(T).stop();if(this.app.flush(),N.getInstance()===this.app)N.setInstance(void 0);_.disable()}}function Yj(){if(Bun.env.NODE_ENV==="production")return;let j=a();if(j.length===0)return;console.warn(`[gemi] ${j.length} model${j.length===1?" is":"s are"} registered, but Kernel.models is empty.
3
3
  Nested relation reads resolve a model by name, so a policy on a subclass that does not own its
4
4
  `+" name is skipped inside every include \u2014 scoped at the root, "+`unscoped in an include, with nothing
5
5
  to notice it. Declaring the modules registers each class under its own name and audits the set:
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{wa as I}from"../chunk-8z37k28d.js";import{xa as A}from"../chunk-pfjr510h.js";import{Og as b,Qg as V,Rg as H,Sg as O,Tg as W}from"../chunk-yxh4xs3k.js";import{Xg as k}from"../chunk-ma5rmcbe.js";import"../chunk-3m93v7bt.js";import{ch as $}from"../chunk-1xzdexbq.js";var X=Symbol.for("gemi.server.devGeneration"),L={graceMs:1e4,providerTimeoutMs:5000};class Q{app;inFlight=0;waiters=new Set;constructor(z){this.app=z}track(z){return async(B,J)=>{this.inFlight++;try{return await z(B,J)}finally{if(this.inFlight--,this.inFlight===0)this.wake()}}}get pending(){return this.inFlight}async retire({graceMs:z,providerTimeoutMs:B}){try{await this.idle(z),await Promise.resolve().then(()=>this.app.shutdown({timeoutMs:B}))}catch(J){Z(J)}}idle(z){if(this.inFlight===0)return Promise.resolve();return new Promise((B)=>{let J=()=>{clearTimeout(K),this.waiters.delete(J),B()},K=setTimeout(J,z);this.waiters.add(J)})}wake(){for(let z of this.waiters)z()}}function Y(z,B=L){let J=globalThis,K=J[X];if(J[X]=z,!K||K===z||typeof K.retire!=="function")return Promise.resolve();let _=K.retire.bind(K);return Promise.resolve().then(()=>_(B)).catch(Z)}function Z(z){console.error("[gemi] Shutting down the application a reload replaced failed:",z)}class P{app;instrumentation;handleSignals;server;stopping;settings;constructor(z){this.app=new A({kernel:z.kernel}),this.handleSignals=z.handleSignals??!0,this.instrumentation=O(z.instrumentation??((B,J)=>J(B)))}async start(){process.env.ROOT_DIR=k();let z=Bun.env.NODE_ENV==="production";if(z){if(this.handleSignals)W(()=>this.stop());this.settings=V()}try{await this.app.waitForBoot()}catch(B){if(!z)this.app.shutdown({timeoutMs:L.providerTimeoutMs});throw B}if(z){let{httpProd:B}=await import("../chunk-j3y6cs0z.js");this.server=await B(this.app,this.instrumentation.bind(this))}else{I();let{httpDev:B}=await import("../chunk-spgpvz77.js"),J=new Q(this.app);this.server=await B(this.app,J.track(this.instrumentation.bind(this))),Y(J)}return this.server}stop(z={}){return this.stopping??=H({server:this.server,shutdownProviders:(B)=>this.app.shutdown(B),settings:{...this.settings??V(),...z}}),this.stopping}}export{b as isShuttingDown,P as Server};
2
+ import{wa as I}from"../chunk-8z37k28d.js";import{xa as A}from"../chunk-pfjr510h.js";import{Og as b,Qg as V,Rg as H,Sg as O,Tg as W}from"../chunk-yxh4xs3k.js";import{Xg as k}from"../chunk-ma5rmcbe.js";import"../chunk-3m93v7bt.js";import{ch as $}from"../chunk-1xzdexbq.js";var X=Symbol.for("gemi.server.devGeneration"),L={graceMs:1e4,providerTimeoutMs:5000};class Q{app;inFlight=0;waiters=new Set;constructor(z){this.app=z}track(z){return async(B,J)=>{this.inFlight++;try{return await z(B,J)}finally{if(this.inFlight--,this.inFlight===0)this.wake()}}}get pending(){return this.inFlight}async retire({graceMs:z,providerTimeoutMs:B}){try{await this.idle(z),await Promise.resolve().then(()=>this.app.shutdown({timeoutMs:B}))}catch(J){Z(J)}}idle(z){if(this.inFlight===0)return Promise.resolve();return new Promise((B)=>{let J=()=>{clearTimeout(K),this.waiters.delete(J),B()},K=setTimeout(J,z);this.waiters.add(J)})}wake(){for(let z of this.waiters)z()}}function Y(z,B=L){let J=globalThis,K=J[X];if(J[X]=z,!K||K===z||typeof K.retire!=="function")return Promise.resolve();let _=K.retire.bind(K);return Promise.resolve().then(()=>_(B)).catch(Z)}function Z(z){console.error("[gemi] Shutting down the application a reload replaced failed:",z)}class P{app;instrumentation;handleSignals;server;stopping;settings;constructor(z){this.app=new A({kernel:z.kernel}),this.handleSignals=z.handleSignals??!0,this.instrumentation=O(z.instrumentation??((B,J)=>J(B)))}async start(){process.env.ROOT_DIR=k();let z=Bun.env.NODE_ENV==="production";if(z){if(this.handleSignals)W(()=>this.stop());this.settings=V()}try{await this.app.waitForBoot()}catch(B){if(!z)this.app.shutdown({timeoutMs:L.providerTimeoutMs});throw B}if(z){let{httpProd:B}=await import("../chunk-y926fhhz.js");this.server=await B(this.app,this.instrumentation.bind(this))}else{I();let{httpDev:B}=await import("../chunk-w8mm0z6r.js"),J=new Q(this.app);this.server=await B(this.app,J.track(this.instrumentation.bind(this))),Y(J)}return this.server}stop(z={}){return this.stopping??=H({server:this.server,shutdownProviders:(B)=>this.app.shutdown(B),settings:{...this.settings??V(),...z}}),this.stopping}}export{b as isShuttingDown,P as Server};
3
3
 
4
4
  //# debugId=E55F2138497D7FCE64756E2164756E21