@faapi/faapi 6.19.0 → 6.21.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/cli/index.js +339 -138
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +16 -21
- package/dist/index.js +341 -142
- package/dist/index.js.map +1 -1
- package/dist/{routeTypes-DTqdo28V.d.ts → routeTypes-gyz4PMh7.d.ts} +46 -6
- package/dist/testing.d.ts +1 -1
- package/dist/testing.js +304 -108
- package/dist/testing.js.map +1 -1
- package/package.json +1 -1
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
|
|
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-
|
|
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, W as WsRouteManifest, 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 } from './routeTypes-gyz4PMh7.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-gyz4PMh7.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';
|
|
@@ -824,12 +824,21 @@ interface WsEventHandlers {
|
|
|
824
824
|
*
|
|
825
825
|
* 与 HTTP FaapiContext 类似但精简,提供路由参数、查询参数、请求头、配置。
|
|
826
826
|
* 可通过 declare module '@faapi/faapi' 增强自定义字段。
|
|
827
|
+
*
|
|
828
|
+
* 输入口径与 HTTP 一致(二分):params/query 为校验转换后的值,rawParams/rawQuery
|
|
829
|
+
* 恒为原始值。声明来源是 handler.ts 的文件级约定——导出 `WS` 且同文件声明
|
|
830
|
+
* `export interface Query` / `export interface Params` 时,握手阶段按声明类型
|
|
831
|
+
* 校验并转换(失败拒绝握手);未声明时 params/query 保持 URL 原始字符串。
|
|
827
832
|
*/
|
|
828
833
|
interface WsContext {
|
|
829
|
-
/**
|
|
830
|
-
params: Record<string, string>;
|
|
831
|
-
/** URL
|
|
832
|
-
|
|
834
|
+
/** 动态路由参数(声明 Params 时校验转换,未声明为 URL 原始字符串) */
|
|
835
|
+
params: Record<string, string | number | boolean>;
|
|
836
|
+
/** 动态路由参数的原始值(恒 URL 字符串,校验不触及) */
|
|
837
|
+
rawParams: Record<string, string>;
|
|
838
|
+
/** URL 查询参数(声明 Query 时校验转换,未声明为原始字符串对象) */
|
|
839
|
+
query: Record<string, unknown>;
|
|
840
|
+
/** URL 查询参数的原始值(恒 URLSearchParams) */
|
|
841
|
+
rawQuery: URLSearchParams;
|
|
833
842
|
/** 请求头 */
|
|
834
843
|
headers: Headers;
|
|
835
844
|
/** 业务配置(来自 faapi.config.ts) */
|
|
@@ -1156,21 +1165,7 @@ interface RouteSchemaSource {
|
|
|
1156
1165
|
*/
|
|
1157
1166
|
coerce?: boolean;
|
|
1158
1167
|
}
|
|
1159
|
-
|
|
1160
|
-
* 从路由清单收集 schema 提取所需的原始数据
|
|
1161
|
-
*
|
|
1162
|
-
* dev 和 prd 共享的核心提取流程:
|
|
1163
|
-
* 1. 按文件分组遍历路由
|
|
1164
|
-
* 2. 批量共享 Program(同一次提取只按文件组创建少量 Program)
|
|
1165
|
-
* 3. 对每个路由用 analyzeInjectionInSourceFile 定位入口参数类型,
|
|
1166
|
-
* extractTypeInfo 解析入口类型(入口类型必须严格解析,失败抛 SchemaExtractionError)
|
|
1167
|
-
* 4. 返回按文件分组的惰性类型解析器——generateSchemaFiles 生成 zod.js 时
|
|
1168
|
-
* 遇到 ref(同文件循环引用)按需解析并缓存
|
|
1169
|
-
*
|
|
1170
|
-
* 惰性语义:与路由无关的类型(未被任何入口类型引用)不会被解析——文件里
|
|
1171
|
-
* 存在一个含不支持语法的无关类型不再拖垮整个 build/reload。
|
|
1172
|
-
*/
|
|
1173
|
-
declare function collectRouteSchemaSources(routes: RouteManifest, rootDir?: string): {
|
|
1168
|
+
declare function collectRouteSchemaSources(routes: RouteManifest, rootDir?: string, wsRoutes?: WsRouteManifest): {
|
|
1174
1169
|
sources: RouteSchemaSource[];
|
|
1175
1170
|
/** 按文件分组的惰性类型解析器(generateSchemaFiles 解析 ref 用) */
|
|
1176
1171
|
resolversByFile: Map<string, LazyTypeResolver>;
|