@faapi/faapi 6.18.1 → 6.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { F as FaapiMiddleware, A as AppRegistries, R as RouteManifest, a as FaapiContext, C as CorsOptions, T as TaskClient, H as HelmetOptions, L as LogConfig, I as InjectorMap, b as TaskFailedHandler, c as TaskQueueDeps, d as TaskQueue, e as TaskDriver, f as TaskRegistry, g as TaskManifest, h as ToolMetadata, i as AgentCore, j as AgentMetadata, k as CreateLoggerOptions, l as Logger, W as WsRouteManifest } from './routeTypes-BAhPIzcG.js';
2
- export { m as AgentHandleFactory, n as AgentHandleStore, o as AgentPathMeta, p as AgentRegistry, q as AgentToolDescriptor, r as FaapiContextConfig, s as FaapiTaskMeta, t as FailOptions, u as Injector, v as LogEntry, w as LogLevel, x as LogSink, y as RouteInfo, z as RouteInputSchema, B as RouteOutputSchema, D as RouteParamSchema, S as SkillRegistry, E as SseEvent, G as SseWriter, J as TaskContext, K as TaskDriverJob, M as TaskDriverProcess, N as TaskDriverRecord, O as TaskFailedInfo, P as TaskJob, Q as TaskJobStatus, U as TaskMetadata, V as TaskModule, X as TaskRegistriesSnapshot, Y as TaskRegistriesView, Z as ToolCore, _ as ToolPathMeta, $ as ToolRegistry, a0 as cors, a1 as createAppRegistries, a2 as createTaskRegistriesView, a3 as createTaskRegistry, a4 as helmet } from './routeTypes-BAhPIzcG.js';
1
+ import { F as FaapiMiddleware, A as AppRegistries, R as RouteManifest, a as FaapiContext, C as CorsOptions, T as TaskClient, H as HelmetOptions, L as LogConfig, I as InjectorMap, b as TaskFailedHandler, c as TaskQueueDeps, d as TaskQueue, e as TaskDriver, f as TaskRegistry, g as TaskManifest, h as ToolMetadata, i as AgentCore, j as AgentMetadata, k as CreateLoggerOptions, l as Logger, W as WsRouteManifest } from './routeTypes-DTqdo28V.js';
2
+ export { m as AgentHandleFactory, n as AgentHandleStore, o as AgentPathMeta, p as AgentRegistry, q as AgentToolDescriptor, r as FaapiContextConfig, s as FaapiTaskMeta, t as FailOptions, u as Injector, v as LogEntry, w as LogLevel, x as LogSink, y as RouteInfo, z as RouteInputSchema, B as RouteOutputSchema, D as RouteParamSchema, S as SkillRegistry, E as SseEvent, G as SseWriter, J as TaskContext, K as TaskDriverJob, M as TaskDriverProcess, N as TaskDriverRecord, O as TaskFailedInfo, P as TaskJob, Q as TaskJobStatus, U as TaskMetadata, V as TaskModule, X as TaskRegistriesSnapshot, Y as TaskRegistriesView, Z as ToolCore, _ as ToolPathMeta, $ as ToolRegistry, a0 as cors, a1 as createAppRegistries, a2 as createTaskRegistriesView, a3 as createTaskRegistry, a4 as helmet } from './routeTypes-DTqdo28V.js';
3
3
  import * as node_http from 'node:http';
4
4
  import { Server, IncomingMessage, ServerResponse } from 'node:http';
5
5
  import { Socket } from 'node:net';
package/dist/index.js CHANGED
@@ -1219,6 +1219,15 @@ function collectRouteSchemaSources(routes, rootDir) {
1219
1219
  typeInfo,
1220
1220
  coerce: isForm || void 0
1221
1221
  });
1222
+ const paramsArg = meta.params.find((p) => p.type === "params");
1223
+ if (paramsArg?.typeName) {
1224
+ sources.push({
1225
+ urlPath: entry.urlPath,
1226
+ filePath,
1227
+ schemaName: getSchemaName(method, "params"),
1228
+ typeInfo: resolver.resolve(paramsArg.typeName) ?? null
1229
+ });
1230
+ }
1222
1231
  }
1223
1232
  }
1224
1233
  return { sources, resolversByFile };
@@ -5270,8 +5279,10 @@ function markBuffered(response) {
5270
5279
  init_resolveInjection();
5271
5280
  function getBuiltinInjectionValue(type, ctx, body) {
5272
5281
  switch (type) {
5273
- case "query":
5274
- return queryToObject(ctx.query);
5282
+ case "query": {
5283
+ const validated = ctx.__validatedQuery;
5284
+ return validated ?? queryToObject(ctx.query);
5285
+ }
5275
5286
  case "params":
5276
5287
  return ctx.params;
5277
5288
  case "headers":
@@ -6316,6 +6327,22 @@ function createRoutePipeline(opts) {
6316
6327
  if (!result.valid) {
6317
6328
  throw new ValidationError("\u53C2\u6570\u6821\u9A8C\u5931\u8D25", result.issues);
6318
6329
  }
6330
+ if (inputType === "query" && result.data !== input && typeof result.data === "object" && result.data !== null) {
6331
+ ctx.__validatedQuery = {
6332
+ ...input,
6333
+ ...result.data
6334
+ };
6335
+ }
6336
+ const paramsResult = await validateInput(schemaPath, route.method, "params", match.params);
6337
+ if (!paramsResult.valid) {
6338
+ throw new ValidationError("\u53C2\u6570\u6821\u9A8C\u5931\u8D25", paramsResult.issues);
6339
+ }
6340
+ if (paramsResult.data !== match.params) {
6341
+ ctx.params = typeof paramsResult.data === "object" && paramsResult.data !== null ? {
6342
+ ...match.params,
6343
+ ...paramsResult.data
6344
+ } : match.params;
6345
+ }
6319
6346
  const body = inputType === "query" && hasBody(route.method) ? await resolveBodyForQueryMethod(request) : hasBody(route.method) ? result.data : void 0;
6320
6347
  if (route.middlewares === void 0 && route.injectors === void 0 && route.middlewarePaths) {
6321
6348
  await ensureMiddlewaresCompiled(route.middlewarePaths, rootDir);