@whispering233/ai-editor-server 0.0.21 → 0.0.29
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/client-dist/assets/index-0zEqGbv5.css +1 -0
- package/client-dist/assets/index-DMtHdMMq.js +521 -0
- package/client-dist/index.html +3 -3
- package/dist/backup.d.ts +78 -78
- package/dist/backup.d.ts.map +1 -1
- package/dist/backup.js +138 -139
- package/dist/backup.js.map +1 -1
- package/dist/consistency.d.ts +3 -3
- package/dist/consistency.d.ts.map +1 -1
- package/dist/consistency.js +4 -4
- package/dist/consistency.js.map +1 -1
- package/dist/debug.d.ts +1 -1
- package/dist/debug.js +7 -7
- package/dist/debug.js.map +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -37
- package/dist/index.js.map +1 -1
- package/dist/middleware/error.d.ts +4 -4
- package/dist/middleware/error.d.ts.map +1 -1
- package/dist/middleware/error.js +7 -9
- package/dist/middleware/error.js.map +1 -1
- package/dist/middleware/project.d.ts +9 -9
- package/dist/middleware/project.d.ts.map +1 -1
- package/dist/middleware/project.js +23 -23
- package/dist/middleware/project.js.map +1 -1
- package/dist/reference-files.d.ts +12 -12
- package/dist/reference-files.d.ts.map +1 -1
- package/dist/reference-files.js +20 -21
- package/dist/reference-files.js.map +1 -1
- package/dist/routes/chat.d.ts +18 -18
- package/dist/routes/chat.d.ts.map +1 -1
- package/dist/routes/chat.js +70 -83
- package/dist/routes/chat.js.map +1 -1
- package/dist/routes/delta.d.ts.map +1 -1
- package/dist/routes/delta.js +27 -28
- package/dist/routes/delta.js.map +1 -1
- package/dist/routes/entity.d.ts.map +1 -1
- package/dist/routes/entity.js +44 -45
- package/dist/routes/entity.js.map +1 -1
- package/dist/routes/names.d.ts.map +1 -1
- package/dist/routes/names.js +8 -9
- package/dist/routes/names.js.map +1 -1
- package/dist/routes/outline.d.ts +1 -1
- package/dist/routes/outline.d.ts.map +1 -1
- package/dist/routes/outline.js +23 -24
- package/dist/routes/outline.js.map +1 -1
- package/dist/routes/project.d.ts +6 -6
- package/dist/routes/project.d.ts.map +1 -1
- package/dist/routes/project.js +91 -95
- package/dist/routes/project.js.map +1 -1
- package/dist/routes/proposal.d.ts.map +1 -1
- package/dist/routes/proposal.js +40 -42
- package/dist/routes/proposal.js.map +1 -1
- package/dist/routes/reference.d.ts.map +1 -1
- package/dist/routes/reference.js +1 -2
- package/dist/routes/reference.js.map +1 -1
- package/dist/routes/relation.d.ts.map +1 -1
- package/dist/routes/relation.js +14 -15
- package/dist/routes/relation.js.map +1 -1
- package/dist/routes/settings.d.ts +35 -17
- package/dist/routes/settings.d.ts.map +1 -1
- package/dist/routes/settings.js +157 -52
- package/dist/routes/settings.js.map +1 -1
- package/dist/routes/trash.d.ts.map +1 -1
- package/dist/routes/trash.js +15 -16
- package/dist/routes/trash.js.map +1 -1
- package/package.json +7 -7
- package/client-dist/assets/index-B51Kcb1K.css +0 -1
- package/client-dist/assets/index-zgl3whdc.js +0 -104
package/dist/routes/chat.js
CHANGED
|
@@ -1,31 +1,14 @@
|
|
|
1
1
|
// 对话路由(U3 切片 1 + S7.6):GET /api/v1/chat/sessions、GET /api/v1/chat/sessions/:id/messages、
|
|
2
|
-
//
|
|
2
|
+
// POST /api/v1/chat(POST + SSE 对话端点,切片 7 最后一张卡)
|
|
3
3
|
//
|
|
4
|
-
// 契约来源:
|
|
5
|
-
// - doc/api/endpoints.md 第 752-803 行(POST /api/v1/chat 整节:Req { message, session_id?,
|
|
6
|
-
// context? };SSE 事件 ping/tool_call/tool_result/text/proposal/done/error 与 data 形态;
|
|
7
|
-
// 顺序与生命周期约定——proposal 在对应 tool_result 后、循环继续前,error 后流立即关闭,
|
|
8
|
-
// 确认/拒绝提案与 SSE 生命周期解耦;客户端解析约束——POST+SSE,EventSource 不支持)
|
|
9
|
-
// - doc/design/decisions.md 决策 16(SSE 断开全链路取消:AbortController 终止 agent 循环、
|
|
10
|
-
// 中止 DeepSeek fetch;未确认提案按产生它的会话作废——本文件 B2 取舍见 cancel 后注释)、
|
|
11
|
-
// 决策 17(key 来源:环境变量 DEEPSEEK_API_KEY > ~/.ai-editor/config.json,settings.ts
|
|
12
|
-
// 的 effectiveApiKey 解析)、决策 18(chat_messages 持久化:用户/assistant/tool 消息落库、
|
|
13
|
-
// tool_calls/tool_call_id 配对列)、决策 20(心跳 15-30s + 三路断开检测 + 半开连接限制)
|
|
14
|
-
// - S7.3 run.ts(runAgent 输入输出契约:produce 闭包转发 onEvent 给 chatStream、失败 resolve
|
|
15
|
-
// 不 throw;onMessages 每轮输出 [assistant, ...tool 结果],用户消息自行持久化;AgentEvent
|
|
16
|
-
// 六类事件 + turn_start——本文件只转 SSE 帧、不产生事件)
|
|
17
|
-
// - S7.4 executor.ts(createToolDispatcher 真实现;提案仓 defaultProposalStore)
|
|
18
|
-
// - S6.1 llm client.ts(chatStream:tools 需 OpenAI function schema 格式)
|
|
19
|
-
// - S6.3-S6.6 registry.ts(listTools 33 个 AUTO+PROPOSAL 工具;执行类不注册不暴露——
|
|
20
|
-
// 本文件 zod schema → JSON Schema 转换,zod 4 内置 toJSONSchema,无新依赖)
|
|
21
4
|
//
|
|
22
5
|
// 语义约定:
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
//
|
|
28
|
-
//
|
|
6
|
+
// - 无当前项目 → 409 NO_PROJECT_OPEN(requireCurrentProject,与其他业务路由一致)
|
|
7
|
+
// - 请求体校验失败 → 400 VALIDATION_ERROR(JSON,非 SSE——校验在开流之前)
|
|
8
|
+
// - 未配置 DeepSeek key → 400 LLM_API_KEY_MISSING(同样在开流之前,JSON)
|
|
9
|
+
// - session_id 提供 → 按项目加载历史重建 SessionState(跨项目 session_id 加载为空数组——
|
|
10
|
+
// 与 GET /messages 的「不泄露存在性」语义一致,新消息按当前项目写入)
|
|
11
|
+
// - session_id 缺省 → generateRuntimeId("session") 新建 sess_ 会话( id 约定)
|
|
29
12
|
//
|
|
30
13
|
// 可测试性:路由经 createChatRoutes(deps) 工厂构造——测试注入 mock produce/dispatcher/心跳/
|
|
31
14
|
// 时间/提案仓,避免真实 DeepSeek 调用与全局单例污染;index.ts 挂载默认实例 chatRoutes。
|
|
@@ -41,11 +24,11 @@ import { chatMessagesResSchema, chatSendReqSchema, chatSessionsResSchema } from
|
|
|
41
24
|
import { HttpError, ok } from "../middleware/error.js";
|
|
42
25
|
import { requireCurrentProject } from "../middleware/project.js";
|
|
43
26
|
import { debugLog, isCategoryEnabled } from "../debug.js";
|
|
44
|
-
import { DEFAULT_MODEL, DEFAULT_THINKING_LEVEL, effectiveApiKey, getUserConfig } from "./settings.js";
|
|
27
|
+
import { DEFAULT_MODEL, DEFAULT_THINKING_LEVEL, effectiveApiKey, effectiveProvider, getUserConfig, providerDisplayName, providerEnvVar } from "./settings.js";
|
|
45
28
|
// ============ 常量 ============
|
|
46
|
-
/**
|
|
29
|
+
/** 心跳间隔(15-30s 随机;测试经 deps.heartbeat 覆盖为毫秒级) */
|
|
47
30
|
export const DEFAULT_HEARTBEAT_MS = { minMs: 15_000, maxMs: 30_000 };
|
|
48
|
-
/**
|
|
31
|
+
/** 续聊历史重建的条数上限(超限按尾部保留—— 的 token 裁剪由 S7.2 buildContext
|
|
49
32
|
* 按预算二次兜底,此处仅防御病态超长会话的加载开销) */
|
|
50
33
|
export const SESSION_HISTORY_MAX_MESSAGES = 2000;
|
|
51
34
|
// ============ zod → JSON Schema(OpenAI function calling 格式) ============
|
|
@@ -53,8 +36,8 @@ export const SESSION_HISTORY_MAX_MESSAGES = 2000;
|
|
|
53
36
|
* 单个工具 argsSchema(zod)→ OpenAI 兼容 JSON Schema(LLMToolDefinition.parameters)。
|
|
54
37
|
* 方案:**zod 4 内置 toJSONSchema**(`import { toJSONSchema } from "zod"`,v4.4+ 自带,
|
|
55
38
|
* 无新增依赖)——33 个工具参数均为简单对象 + string/enum/array/record/literal/union 字段,
|
|
56
|
-
* 内置转换全覆盖且输出 draft 2020-12 合法 schema(`.strict
|
|
57
|
-
* `.refine
|
|
39
|
+
* 内置转换全覆盖且输出 draft 2020-12 合法 schema(`.strict` → additionalProperties:false、
|
|
40
|
+
* `.refine` 仅影响校验不改变类型 schema、`z.record` → propertyNames 形态)。
|
|
58
41
|
* 仅剥离顶层 `$schema` 关键字——OpenAI 兼容端点(含 DeepSeek)对 parameters 内未知关键字
|
|
59
42
|
* 存在严格模式拒绝风险,剥离后零风险(其余关键字为标准 JSON Schema 内容,兼容)。
|
|
60
43
|
*/
|
|
@@ -79,31 +62,32 @@ export function toLLMToolDefinitions(defs) {
|
|
|
79
62
|
}
|
|
80
63
|
// ============ 真实 produce / dispatcher 构造 ============
|
|
81
64
|
/**
|
|
82
|
-
* 真实 produce 闭包(S7.3
|
|
83
|
-
* 累积文本与收集工具调用;失败按 chatStream
|
|
84
|
-
* signal 由 runAgent 注入 attempt 级独立控制器——超时 abort
|
|
65
|
+
* 真实 produce 闭包(S7.3 把 onEvent 转发给 chatStream 的 onEvent——runAgent 依赖它
|
|
66
|
+
* 累积文本与收集工具调用;失败按 chatStream resolve 出 { ok:false, ... } 不 throw;
|
|
67
|
+
* signal 由 runAgent 注入 attempt 级独立控制器——超时 abort 与用户取消分离)。
|
|
85
68
|
*/
|
|
86
|
-
function createRealProduce(apiKey, model, tools, debugStream, thinking = DEFAULT_THINKING_LEVEL) {
|
|
69
|
+
function createRealProduce(apiKey, provider, model, tools, debugStream, thinking = DEFAULT_THINKING_LEVEL) {
|
|
87
70
|
return (messages, signal, onEvent) =>
|
|
88
71
|
// debugStream 显式传布尔(含 false)——stream 类别关时压过 env,保证配置文件类别隔离语义
|
|
89
|
-
// reasoning
|
|
90
|
-
|
|
72
|
+
// reasoning(思考强度):off 不传(模型默认推理),low/medium/high 传 pi-ai 统一接口
|
|
73
|
+
// provider(批次十六):模型只在 provider 目录内解析(llm 层兜底)
|
|
74
|
+
chatStream({ apiKey, provider, model, messages, tools, signal, onEvent, debugStream, reasoning: thinking });
|
|
91
75
|
}
|
|
92
76
|
// ============ [llm] 请求 / usage 调试日志装饰器(细粒度类别 request / usage) ============
|
|
93
77
|
/**
|
|
94
78
|
* [llm] 请求调试日志装饰器:给 produce 包一层(真实路径经
|
|
95
79
|
* `createLLMRequestLogger(createRealProduce(...), { model, tools })` 组装),对应类别开启时:
|
|
96
80
|
* - **request 日志**(类别 request):模型名 + 请求参数 + **完整 messages JSON(不截断——
|
|
97
|
-
*
|
|
81
|
+
* 用户核心诉求「最终组装的 prompt」)** + 工具名列表;每轮每次 attempt 各打一次(含重试)
|
|
98
82
|
* - **usage 日志**(类别 usage):onEvent 转发处捕获 finish 事件,打真实 token 数
|
|
99
|
-
*
|
|
100
|
-
*
|
|
83
|
+
* (需求 3,流内真实 usage)——与 request **分开判定**(categories: ["request","usage"]
|
|
84
|
+
* 时只显示请求与 tokens 统计)
|
|
101
85
|
* - **敏感红线**:只打印请求体(messages 本身无 key——key 走 fetch header),
|
|
102
|
-
*
|
|
86
|
+
* 绝不打印 apiKey / headers
|
|
103
87
|
* - 两类别全关(request + usage 均未开启)时**零开销直通**:不包装 onEvent、不拼接字符串
|
|
104
88
|
* 独立成装饰器而非塞进 createRealProduce:测试可用 mock produce 直测日志层,
|
|
105
89
|
* 不经真实 DeepSeek 网络调用(与 createChatEventLogger 的「工厂 + 组合」同款模式)。
|
|
106
|
-
* 注:produce
|
|
90
|
+
* 注:produce (run.ts)不含 maxTokens/temperature(当前无对应配置),如实标注 <未设置>。
|
|
107
91
|
*/
|
|
108
92
|
export function createLLMRequestLogger(produce, ctx) {
|
|
109
93
|
const toolNames = ctx.tools.map((t) => t.name).join(", ");
|
|
@@ -131,7 +115,7 @@ export function createLLMRequestLogger(produce, ctx) {
|
|
|
131
115
|
}
|
|
132
116
|
// ============ 聚焦上下文拼装(S7.2 输入形态) ============
|
|
133
117
|
/**
|
|
134
|
-
*
|
|
118
|
+
* 聚焦上下文文本( 聚焦层):focus_entity_* → getEntity 查询实体、focus_node_id →
|
|
135
119
|
* 大纲节点查询,拼成结构化文本注入 system 聚焦消息。
|
|
136
120
|
* 查询不到(已软删/不存在/跨项目)→ 跳过该项(不报错)——聚焦缺失不阻断对话,属防御性
|
|
137
121
|
* 正常路径(客户端可能携带过期 focus 发送);两项皆无 → undefined(无聚焦注入)。
|
|
@@ -193,12 +177,12 @@ function debugSummary(value, max = DEBUG_FIELD_MAX) {
|
|
|
193
177
|
/**
|
|
194
178
|
* 创建 [chat] 事件调试日志器(对话链路调试,打到服务端终端 stdout/stderr;类别 chat):
|
|
195
179
|
* - 类别未开启(配置文件未列 chat 且 env 关)时零开销早退——不做任何字符串拼接
|
|
196
|
-
*
|
|
180
|
+
* (onEvent 高频路径无条件调用)
|
|
197
181
|
* - turn_start → 轮次;tool_call → 工具名 + 参数 JSON 摘要(截断);tool_result → 工具名 + 结果
|
|
198
|
-
*
|
|
199
|
-
*
|
|
200
|
-
* - 注:AgentEvent.tool_result
|
|
201
|
-
*
|
|
182
|
+
* 摘要(截断);proposal → proposal_id + type;text → **只打 delta 长度**(流式高频防刷屏);
|
|
183
|
+
* done → sessionId + 轮次;error → code + message
|
|
184
|
+
* - 注:AgentEvent.tool_result (run.ts)不含 ok/isError 字段——工具成败已编码进 result
|
|
185
|
+
* 文本(失败为错误说明),日志只摘要该文本
|
|
202
186
|
*/
|
|
203
187
|
export function createChatEventLogger() {
|
|
204
188
|
let round = 0; // 轮次计数器(turn_start 刷新;done 事件附带——AgentEvent.done 无轮次字段)
|
|
@@ -235,8 +219,8 @@ export function createChatEventLogger() {
|
|
|
235
219
|
/**
|
|
236
220
|
* POST /chat 处理器工厂(测试经 createChatRoutes 注入 deps)。
|
|
237
221
|
* 流程:项目/请求校验(JSON 错误,不开流)→ 会话解析(历史重建或新建 sess_)→ 用户消息落库
|
|
238
|
-
*
|
|
239
|
-
* onEvent 转 SSE 帧、onMessages 落库)→
|
|
222
|
+
* → 三路断开检测挂接 → SSE 流内:心跳协程 + runAgent(produce/dispatcher 组装、
|
|
223
|
+
* onEvent 转 SSE 帧、onMessages 落库)→ 取消作废提案(B2 取舍见下)→ 关流。
|
|
240
224
|
*/
|
|
241
225
|
export function chatSendHandler(deps = {}) {
|
|
242
226
|
return async (c) => {
|
|
@@ -248,30 +232,33 @@ export function chatSendHandler(deps = {}) {
|
|
|
248
232
|
throw parsed.error; // → app.onError → 400 VALIDATION_ERROR(含 fields)
|
|
249
233
|
}
|
|
250
234
|
const { message, session_id, context } = parsed.data;
|
|
251
|
-
// ---- key
|
|
252
|
-
|
|
235
|
+
// ---- key/模型/工具解析(批次十六:按激活 provider 独立解析;测试注入 deps 时无需真实 key) ----
|
|
236
|
+
// provider:config.provider 未注册时缺省 deepseek(effectiveProvider 兜底)
|
|
237
|
+
const provider = effectiveProvider();
|
|
238
|
+
const envKey = deps.apiKey ?? effectiveApiKey(provider).key;
|
|
253
239
|
if (envKey === null && deps.produce === undefined) {
|
|
254
|
-
|
|
240
|
+
const envVar = providerEnvVar(provider);
|
|
241
|
+
throw new HttpError(400, "LLM_API_KEY_MISSING", `未配置 ${providerDisplayName(provider)} API key:请设置环境变量 ${envVar ?? provider} 或在设置页配置()`);
|
|
255
242
|
}
|
|
256
243
|
// 守卫收窄:deps.produce 注入(测试)时不使用 apiKey;否则 envKey 已保证非 null
|
|
257
244
|
const apiKey = envKey ?? "";
|
|
258
245
|
const model = deps.model ?? getUserConfig().model ?? DEFAULT_MODEL;
|
|
259
|
-
//
|
|
246
|
+
// 思考强度:用户级配置持久化,POST /chat 读取后传 llm(chatStream reasoning)
|
|
260
247
|
const thinking = getUserConfig().thinking_level ?? DEFAULT_THINKING_LEVEL;
|
|
261
248
|
const tools = deps.tools ?? toLLMToolDefinitions(listTools());
|
|
262
249
|
const store = deps.store ?? defaultProposalStore;
|
|
263
250
|
const now = deps.now ?? nowIso;
|
|
264
251
|
return streamSSE(c, async (stream) => {
|
|
265
|
-
// ---- 1.
|
|
252
|
+
// ---- 1. 会话解析( 续聊重建) ----
|
|
266
253
|
const sessionId = session_id ?? generateRuntimeId("session");
|
|
267
254
|
// 跨项目 session_id:listMessageRows 按项目过滤 → 空历史(不泄露存在性,与 GET 一致);
|
|
268
255
|
// 后续写入按当前项目——单项目 MVP 下等价于「该项目内的续聊」,注释留扩展点
|
|
269
256
|
const session = session_id === undefined
|
|
270
257
|
? []
|
|
271
258
|
: restoreSession(listMessageRows(project.db, sessionId, project.config.id), deps.sessionHistoryMaxCount ?? SESSION_HISTORY_MAX_MESSAGES);
|
|
272
|
-
// ---- 2.
|
|
259
|
+
// ---- 2. 聚焦上下文(查不到跳过,不阻断) ----
|
|
273
260
|
const focus = buildFocusText(project, context);
|
|
274
|
-
// ---- 3.
|
|
261
|
+
// ---- 3. 用户消息落库(assistant/tool 消息由 onMessages 落库) ----
|
|
275
262
|
insertChatMessage(project.db, {
|
|
276
263
|
session_id: sessionId,
|
|
277
264
|
project_id: project.config.id,
|
|
@@ -279,15 +266,15 @@ export function chatSendHandler(deps = {}) {
|
|
|
279
266
|
content: message,
|
|
280
267
|
created_at: now(),
|
|
281
268
|
});
|
|
282
|
-
// ---- 4. 取消信号 +
|
|
283
|
-
// controller.signal 即 runAgent 的 signal
|
|
269
|
+
// ---- 4. 取消信号 + 三路断开检测 ----
|
|
270
|
+
// controller.signal 即 runAgent 的 signal( 全链路第 0 层——四层穿透的
|
|
284
271
|
// fetch/读循环/工具执行/重试 sleep 已由 llm/tools/agent 各层承担,本卡链路总装)
|
|
285
272
|
const controller = new AbortController();
|
|
286
273
|
const cancel = () => {
|
|
287
274
|
if (!controller.signal.aborted)
|
|
288
275
|
controller.abort();
|
|
289
276
|
};
|
|
290
|
-
// ① stream.onAbort:客户端断开 → 响应流 cancel → Hono StreamingApi.abort
|
|
277
|
+
// ① stream.onAbort:客户端断开 → 响应流 cancel → Hono StreamingApi.abort → 本回调
|
|
291
278
|
stream.onAbort(cancel);
|
|
292
279
|
// ② c.req.raw 的 close/error 监听:@hono/node-server v2 的 c.req.raw 是标准 Request
|
|
293
280
|
// (无 close 事件,signal 随请求中止触发)——两种形态按能力探测都挂上,双保险
|
|
@@ -297,10 +284,10 @@ export function chatSendHandler(deps = {}) {
|
|
|
297
284
|
rawReq.on("close", cancel);
|
|
298
285
|
rawReq.on("error", cancel);
|
|
299
286
|
}
|
|
300
|
-
// ③ 心跳写失败:Hono write
|
|
301
|
-
//
|
|
302
|
-
//
|
|
303
|
-
// ---- 5. SSE 写帧器(
|
|
287
|
+
// ③ 心跳写失败:Hono write 吞错无法从 promise 观察写失败(stream.js write try/catch)
|
|
288
|
+
// ——断连时 ① 已同步置位 controller.signal,心跳每次写后复查该旗标兜底
|
|
289
|
+
// (时延 ≤ 心跳间隔, 三路并用中的最后一道防线)
|
|
290
|
+
// ---- 5. SSE 写帧器( 事件;断连后不再写) ----
|
|
304
291
|
const writeEvent = async (event, data) => {
|
|
305
292
|
if (controller.signal.aborted)
|
|
306
293
|
return; // 已断开:写也失败,跳过
|
|
@@ -311,7 +298,7 @@ export function chatSendHandler(deps = {}) {
|
|
|
311
298
|
cancel(); // 写抛错(writeSSE 理论上吞错,防御路径)
|
|
312
299
|
}
|
|
313
300
|
};
|
|
314
|
-
// ---- 6.
|
|
301
|
+
// ---- 6. 心跳协程(15-30s 随机 ping;停止/断连即时唤醒退出) ----
|
|
315
302
|
const heartbeatStop = new AbortController();
|
|
316
303
|
const heartbeat = (async () => {
|
|
317
304
|
const { minMs, maxMs } = deps.heartbeat ?? DEFAULT_HEARTBEAT_MS;
|
|
@@ -345,7 +332,7 @@ export function chatSendHandler(deps = {}) {
|
|
|
345
332
|
void writeEvent("tool_result", { tool: event.tool, result: event.result, id: event.id });
|
|
346
333
|
return;
|
|
347
334
|
case "proposal":
|
|
348
|
-
//
|
|
335
|
+
// :proposal 在对应 tool_result 之后、循环继续之前(runAgent 保证)
|
|
349
336
|
void writeEvent("proposal", {
|
|
350
337
|
proposal_id: event.proposal.proposal_id,
|
|
351
338
|
type: event.proposal.type,
|
|
@@ -353,7 +340,7 @@ export function chatSendHandler(deps = {}) {
|
|
|
353
340
|
});
|
|
354
341
|
return;
|
|
355
342
|
case "done":
|
|
356
|
-
// 需求 3
|
|
343
|
+
// 需求 3:附带本轮真实 usage,前端计算上下文占用
|
|
357
344
|
void writeEvent("done", { session_id: event.sessionId, ...(lastUsage !== null ? { usage: lastUsage } : {}) });
|
|
358
345
|
return;
|
|
359
346
|
case "error":
|
|
@@ -363,9 +350,9 @@ export function chatSendHandler(deps = {}) {
|
|
|
363
350
|
return;
|
|
364
351
|
}
|
|
365
352
|
};
|
|
366
|
-
// ---- 8. onMessages →
|
|
367
|
-
//
|
|
368
|
-
// 不中断 agent 循环,此处由 db
|
|
353
|
+
// ---- 8. onMessages → 落库(assistant + tool 消息,含 tool_calls/tool_call_id 配对) ----
|
|
354
|
+
// 硬(run.ts 注释):onMessages 抛错不逃逸(runAgent 兜底吞掉)——落库失败
|
|
355
|
+
// 不中断 agent 循环,此处由 db 抛错自然触发该(本路由不额外 try/catch)
|
|
369
356
|
const onMessages = (messages) => {
|
|
370
357
|
const ts = now();
|
|
371
358
|
for (const m of messages) {
|
|
@@ -384,14 +371,14 @@ export function chatSendHandler(deps = {}) {
|
|
|
384
371
|
// 真实 produce 外包 [llm] 请求/usage 调试日志装饰器(细粒度类别 request/usage,关闭零开销直通);
|
|
385
372
|
// debugStream 按 stream 类别显式传入(false 也传——压过 env,保证类别隔离语义)
|
|
386
373
|
const produce = deps.produce ??
|
|
387
|
-
createLLMRequestLogger(createRealProduce(apiKey, model, tools, isCategoryEnabled("stream"), thinking), {
|
|
374
|
+
createLLMRequestLogger(createRealProduce(apiKey, provider, model, tools, isCategoryEnabled("stream"), thinking), {
|
|
388
375
|
model,
|
|
389
376
|
tools,
|
|
390
377
|
});
|
|
391
378
|
// S7.4 真实现:ToolContext { db, outlineDir, projectId } + 同仓提案(S7.5 消费)
|
|
392
379
|
const dispatcher = deps.dispatcher ?? createToolDispatcher({ db: project.db, outlineDir: project.root, projectId: project.config.id }, { store });
|
|
393
|
-
// ---- 9.5 上下文占用数据(需求 3
|
|
394
|
-
//
|
|
380
|
+
// ---- 9.5 上下文占用数据(需求 3):包裹 produce 捕获流内 finish 事件的真实 usage,
|
|
381
|
+
// 在 done SSE 帧附带——前端据此计算上下文占用(usage.total / 模型 contextWindow) ----
|
|
395
382
|
let lastUsage = null;
|
|
396
383
|
const produceWithUsage = async (messages, signal, onEvent) => {
|
|
397
384
|
const tee = (e) => {
|
|
@@ -406,18 +393,18 @@ export function chatSendHandler(deps = {}) {
|
|
|
406
393
|
userMessage: message, // runAgent 追加进会话(传入 session 不应已含本轮消息)
|
|
407
394
|
session,
|
|
408
395
|
focus,
|
|
409
|
-
//
|
|
396
|
+
// 项目规则唯一事实源 = 项目目录 (取代 project.config.prompt)——
|
|
410
397
|
// 每次对话实时读文件(外部编辑立即可见);文件不存在 → undefined(「## 项目设定」段跳过)
|
|
411
398
|
projectPrompt: readAgentsFile(project.root) ?? undefined,
|
|
412
399
|
deps: { produce: produceWithUsage, dispatcher, onEvent, onMessages },
|
|
413
|
-
signal: controller.signal, //
|
|
400
|
+
signal: controller.signal, // 断开即取消(abort 永不重试)
|
|
414
401
|
});
|
|
415
|
-
// ---- 10. B2
|
|
402
|
+
// ---- 10. B2 取舍落地(「未确认提案按产生它的会话作废」) ----
|
|
416
403
|
// 三选项评估:a) Proposal 加 sessionId + 仓按会话清除(跨包改动 S6.6/S7.4,成本中);
|
|
417
|
-
//
|
|
404
|
+
// b) SSE 取消时 clear 全量;c) 依赖 TTL(10 分钟)。
|
|
418
405
|
// 选择 **b**:最小改动、单项目单会话 MVP 下与「按会话作废」语义等价——取消只发生在
|
|
419
|
-
// 客户端断连(同会话)或项目切换(提案本就按项目绑定,切换时全清)场景,clear
|
|
420
|
-
//
|
|
406
|
+
// 客户端断连(同会话)或项目切换(提案本就按项目绑定,切换时全清)场景,clear 不会
|
|
407
|
+
// 误伤其他会话的待确认提案。与 原文的偏差(提案记录来源 session_id、按会话粒度
|
|
421
408
|
// 作废)记录为扩展点:多会话并发(backlog 多标签页)时按选项 a 演进——Proposal 增
|
|
422
409
|
// session_id 字段、ProposalStore 增 clearBySession(sessionId),调度时由 S7.6 透传会话。
|
|
423
410
|
if (result.aborted) {
|
|
@@ -430,7 +417,7 @@ export function chatSendHandler(deps = {}) {
|
|
|
430
417
|
await stream.close();
|
|
431
418
|
},
|
|
432
419
|
// 防御路径 onError:cb 内部异常(正常流程 error 事件已由 runAgent 发出,理论不可达)——
|
|
433
|
-
//
|
|
420
|
+
// 转形态 JSON error 帧(客户端 use-sse 收到 error 即终止解析)
|
|
434
421
|
async (err, stream) => {
|
|
435
422
|
console.error("[server] chat SSE 流异常:", err);
|
|
436
423
|
try {
|
|
@@ -471,8 +458,8 @@ export function createChatRoutes(deps = {}) {
|
|
|
471
458
|
/** 默认对话路由实例(index.ts 挂载于 /api/v1/chat) */
|
|
472
459
|
export const chatRoutes = createChatRoutes();
|
|
473
460
|
/**
|
|
474
|
-
* sessions
|
|
475
|
-
* parse 失败 = 服务端构造的响应不符合 shared
|
|
461
|
+
* sessions 响应自检出口(参照 project.ts listResponse):
|
|
462
|
+
* parse 失败 = 服务端构造的响应不符合 shared (服务端 bug),转 500 INTERNAL_ERROR;
|
|
476
463
|
* 不让 ZodError 冒泡——否则 errorHandler 会按入参语义误报 400 VALIDATION_ERROR。
|
|
477
464
|
*/
|
|
478
465
|
function sessionsResponse(c, sessions) {
|
|
@@ -480,16 +467,16 @@ function sessionsResponse(c, sessions) {
|
|
|
480
467
|
return c.json(ok(chatSessionsResSchema.parse({ sessions })));
|
|
481
468
|
}
|
|
482
469
|
catch (err) {
|
|
483
|
-
throw new HttpError(500, "INTERNAL_ERROR", `sessions
|
|
470
|
+
throw new HttpError(500, "INTERNAL_ERROR", `sessions 响应不符合${err instanceof Error ? err.message : String(err)}`);
|
|
484
471
|
}
|
|
485
472
|
}
|
|
486
|
-
/** messages
|
|
473
|
+
/** messages 响应自检出口(同上;db 消息含 sessionId/projectId 附加字段,parse 按剥离) */
|
|
487
474
|
function messagesResponse(c, sessionId, messages) {
|
|
488
475
|
try {
|
|
489
476
|
return c.json(ok(chatMessagesResSchema.parse({ sessionId, messages })));
|
|
490
477
|
}
|
|
491
478
|
catch (err) {
|
|
492
|
-
throw new HttpError(500, "INTERNAL_ERROR", `messages
|
|
479
|
+
throw new HttpError(500, "INTERNAL_ERROR", `messages 响应不符合${err instanceof Error ? err.message : String(err)}`);
|
|
493
480
|
}
|
|
494
481
|
}
|
|
495
482
|
//# sourceMappingURL=chat.js.map
|
package/dist/routes/chat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../src/routes/delta.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../src/routes/delta.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAQ5B,2CAA2C;AAC3C,eAAO,MAAM,WAAW,4EAAa,CAAC"}
|
package/dist/routes/delta.js
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
// Delta 路由(S5.3):POST /api/v1/delta(追加)/ GET /node/:nodeId(按节点查询)/ POST /compute(状态计算)
|
|
2
2
|
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
// 目标实体不存在或已软删 → 404 ENTITY_NOT_FOUND(POST /delta/compute)
|
|
3
|
+
// (可见性联动)、S13.3 收紧(变更目标仅实体类型——大纲节点不可作为变更目标,
|
|
4
|
+
// 历史 outline_node 目标数据保留展示,创建路径拒绝)。
|
|
5
|
+
// 错误映射(对照 错误码):
|
|
6
|
+
// 参数校验失败 → 400 VALIDATION_ERROR(zod 抛错由 errorHandler 统一映射,含 fields;
|
|
7
|
+
// per-op 必填字段()因 op 而异、zod 无法表达,路由层补校验
|
|
8
|
+
// → HttpError 400 VALIDATION_ERROR,与 entity.ts validateDataByType 同思路;
|
|
9
|
+
// S13.3 target_type 白名单校验同此 400——schema 层 target_type 为宽松 z.string,
|
|
10
|
+
// 收紧在路由层(shared schema 不动,同 S12.1 节点 data 校验模式))
|
|
11
|
+
// 触发节点不存在或已软删 → 404 OUTLINE_NODE_NOT_FOUND(POST /delta 与 /delta/compute 路由层前置校验;
|
|
12
|
+
// POST /delta 虽未定义该错误码,但 db 层 insertDelta 不校验节点(delta.ts 注释:缺失节点记录
|
|
13
|
+
// 因可见性规则永久不可见),路由层拦截防死记录——oracle 建议)
|
|
14
|
+
// 目标实体不存在或已软删 → 404 ENTITY_NOT_FOUND(POST /delta/compute)
|
|
16
15
|
import { Hono } from "hono";
|
|
17
16
|
import { computeState, findOutlineNode, getEntity, insertDelta, listDeltasByNode, readOutlineFile } from "@whispering233/ai-editor-db";
|
|
18
17
|
import { ENTITY_TYPES, mapRowToDelta } from "@whispering233/ai-editor-shared";
|
|
@@ -23,8 +22,8 @@ import { requireCurrentProject } from "../middleware/project.js";
|
|
|
23
22
|
export const deltaRoutes = new Hono();
|
|
24
23
|
/**
|
|
25
24
|
* 前置校验大纲节点存在且未软删(oracle 建议,防死记录):
|
|
26
|
-
* db 层 insertDelta / computeState
|
|
27
|
-
*
|
|
25
|
+
* db 层 insertDelta / computeState 均不校验触发节点存在性(未定义该错误码,delta.ts 注释),
|
|
26
|
+
* 缺失节点记录会因可见性规则(触发节点缺失视同不可见)永久不可见,
|
|
28
27
|
* 故路由层拦截并映射 404 OUTLINE_NODE_NOT_FOUND;computeState 的 getOutlinePathIds
|
|
29
28
|
* 对缺失节点抛错(视为调用方 bug),同样由本校验先行兜底。
|
|
30
29
|
*/
|
|
@@ -36,8 +35,8 @@ function assertOutlineNode(project, nodeId) {
|
|
|
36
35
|
}
|
|
37
36
|
}
|
|
38
37
|
/**
|
|
39
|
-
* per-op
|
|
40
|
-
*
|
|
38
|
+
* per-op 必填字段校验():
|
|
39
|
+
* op=set → to 必填;op=update → from+to 必填;op=add → value 必填;op=remove → value 必填。
|
|
41
40
|
* deltaChangeSchema 的字段均 optional——必填语义因 op 而异,schema 层无法表达,
|
|
42
41
|
* 由路由层按 op 分派校验(与 entity.ts validateDataByType「schema 之外按类型精校验」同思路)。
|
|
43
42
|
* 不满足 → 400 VALIDATION_ERROR(message 注明 changes 下标与缺失字段)。
|
|
@@ -75,23 +74,23 @@ function validateChangesByOp(changes) {
|
|
|
75
74
|
* 变更目标类型白名单校验(S13.3 收紧:仅实体类型——大纲节点代表的
|
|
76
75
|
* 故事导致实体发生变更,节点结构化信息不应出现在变更记录中;历史 outline_node 目标数据保留展示,
|
|
77
76
|
* 仅创建路径拒绝)。
|
|
78
|
-
* **排除 event(C2 oracle
|
|
77
|
+
* **排除 event(C2 oracle 审查口径)**:event(时间轴事件)不产生 Delta——
|
|
79
78
|
* **本收紧覆盖 REST 创建路径**(API 直连):client 目标下拉已过滤(delta-create.ts),
|
|
80
79
|
* REST 层同步拒绝(不产生「死 Delta」:无字段清单可编辑、client 无管理入口);
|
|
81
|
-
* AI 提案通道(propose_add_delta)在 tools 层独立拒绝(proposal/delta.ts
|
|
82
|
-
* 已存在的 event 目标历史数据仍按实体端点展示(db 层 ENTITY_TARGET_TYPES 已含 event
|
|
83
|
-
* schema 层 target_type 为宽松 z.string
|
|
80
|
+
* AI 提案通道(propose_add_delta)在 tools 层独立拒绝(proposal/delta.ts,同)。
|
|
81
|
+
* 已存在的 event 目标历史数据仍按实体端点展示(db 层 ENTITY_TARGET_TYPES 已含 event)。
|
|
82
|
+
* schema 层 target_type 为宽松 z.string(shared 不动),收紧在路由层
|
|
84
83
|
* (与 S12.1 节点 data 按层级校验同模式)。不通过 → 400 VALIDATION_ERROR(参照 entity.ts parseTypeParam 错误风格)。
|
|
85
84
|
*/
|
|
86
85
|
function assertDeltaTargetType(targetType) {
|
|
87
86
|
const allowed = ENTITY_TYPES.filter((t) => t !== "event");
|
|
88
87
|
if (!allowed.includes(targetType)) {
|
|
89
|
-
throw new HttpError(400, "VALIDATION_ERROR", `非法变更目标类型: ${targetType}(变更目标仅限实体类型: ${allowed.join("/")};event 不产生 Delta
|
|
88
|
+
throw new HttpError(400, "VALIDATION_ERROR", `非法变更目标类型: ${targetType}(变更目标仅限实体类型: ${allowed.join("/")};event 不产生 Delta,)`);
|
|
90
89
|
}
|
|
91
90
|
}
|
|
92
91
|
// POST /api/v1/delta —— 追加属性变更(201;order 服务端全局单调生成)
|
|
93
92
|
// 校验顺序(oracle 建议):schema → target_type 白名单(400,S13.3 请求形状校验,无 DB 读)→
|
|
94
|
-
//
|
|
93
|
+
// 触发节点存在性(404)→ per-op 必填(400)→ insert
|
|
95
94
|
deltaRoutes.post("/", async (c) => {
|
|
96
95
|
const project = requireCurrentProject();
|
|
97
96
|
const raw = await c.req.json().catch(() => null);
|
|
@@ -102,7 +101,7 @@ deltaRoutes.post("/", async (c) => {
|
|
|
102
101
|
const { node_id, target_type, target_id, changes, description } = parsed.data;
|
|
103
102
|
assertDeltaTargetType(target_type); // S13.3:变更目标仅实体类型(shared schema 不动,路由层收紧)
|
|
104
103
|
assertOutlineNode(project, node_id); // 触发节点必须存在且未软删(防死记录)
|
|
105
|
-
validateChangesByOp(changes); // per-op
|
|
104
|
+
validateChangesByOp(changes); // per-op 必填字段()
|
|
106
105
|
const row = insertDelta(project.db, {
|
|
107
106
|
nodeId: node_id,
|
|
108
107
|
targetType: target_type,
|
|
@@ -113,7 +112,7 @@ deltaRoutes.post("/", async (c) => {
|
|
|
113
112
|
return c.json(ok({ id: row.id, applied: mapRowToDelta(row) }), 201);
|
|
114
113
|
});
|
|
115
114
|
// GET /api/v1/delta/node/:nodeId —— 按触发节点查询(200)
|
|
116
|
-
//
|
|
115
|
+
// 未定义该端点 404():节点缺失/软删 → 空数组(listDeltasByNode
|
|
117
116
|
// 内置可见性三态过滤,触发节点缺失视同不可见),不 404。
|
|
118
117
|
deltaRoutes.get("/node/:nodeId", (c) => {
|
|
119
118
|
const project = requireCurrentProject();
|
|
@@ -121,10 +120,10 @@ deltaRoutes.get("/node/:nodeId", (c) => {
|
|
|
121
120
|
const deltas = listDeltasByNode(project.db, nodeId, project.root);
|
|
122
121
|
return c.json(ok({ nodeId, deltas }));
|
|
123
122
|
});
|
|
124
|
-
// POST /api/v1/delta/compute ——
|
|
123
|
+
// POST /api/v1/delta/compute —— 累积状态计算()
|
|
125
124
|
// 校验顺序(任务规格):schema → at_node_id 存在性(404 OUTLINE_NODE_NOT_FOUND,
|
|
126
|
-
//
|
|
127
|
-
//
|
|
125
|
+
// computeState 的 getOutlinePathIds 对缺失节点抛错——路由层先拦截)→ 目标实体存在性
|
|
126
|
+
// (404 ENTITY_NOT_FOUND;computeState 对缺失/软删实体返回 null)→ computeState → 200
|
|
128
127
|
deltaRoutes.post("/compute", async (c) => {
|
|
129
128
|
const project = requireCurrentProject();
|
|
130
129
|
const raw = await c.req.json().catch(() => null);
|
package/dist/routes/delta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta.js","sourceRoot":"","sources":["../../src/routes/delta.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"delta.js","sourceRoot":"","sources":["../../src/routes/delta.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/routes/entity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/routes/entity.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAqB5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAelE,wCAAwC;AACxC,eAAO,MAAM,YAAY,4EAAa,CAAC;AAEvC,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAMvD"}
|