@whispering233/ai-editor-tools 0.0.48 → 0.0.50

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 (58) hide show
  1. package/dist/analysis/conflict.js +2 -2
  2. package/dist/analysis/conflict.js.map +1 -1
  3. package/dist/analysis/hook.d.ts +1 -1
  4. package/dist/analysis/hook.js +5 -5
  5. package/dist/analysis/hook.js.map +1 -1
  6. package/dist/analysis/orphan.d.ts.map +1 -1
  7. package/dist/analysis/orphan.js +2 -1
  8. package/dist/analysis/orphan.js.map +1 -1
  9. package/dist/analysis/path.js +1 -1
  10. package/dist/analysis/path.js.map +1 -1
  11. package/dist/analysis/suggest.d.ts.map +1 -1
  12. package/dist/analysis/suggest.js +5 -4
  13. package/dist/analysis/suggest.js.map +1 -1
  14. package/dist/executor/index.d.ts +2 -3
  15. package/dist/executor/index.d.ts.map +1 -1
  16. package/dist/executor/index.js +1 -3
  17. package/dist/executor/index.js.map +1 -1
  18. package/dist/executor/reference.d.ts +1 -1
  19. package/dist/executor/reference.d.ts.map +1 -1
  20. package/dist/executor/reference.js +57 -8
  21. package/dist/executor/reference.js.map +1 -1
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +40 -13
  25. package/dist/index.js.map +1 -1
  26. package/dist/proposal/reference.d.ts +2 -2
  27. package/dist/proposal/reference.d.ts.map +1 -1
  28. package/dist/proposal/reference.js +7 -6
  29. package/dist/proposal/reference.js.map +1 -1
  30. package/dist/proposal/types.d.ts.map +1 -1
  31. package/dist/proposal/types.js +2 -1
  32. package/dist/proposal/types.js.map +1 -1
  33. package/dist/query/entity.d.ts +12 -2
  34. package/dist/query/entity.d.ts.map +1 -1
  35. package/dist/query/entity.js +10 -6
  36. package/dist/query/entity.js.map +1 -1
  37. package/dist/query/manuscript.d.ts +42 -0
  38. package/dist/query/manuscript.d.ts.map +1 -0
  39. package/dist/query/manuscript.js +64 -0
  40. package/dist/query/manuscript.js.map +1 -0
  41. package/dist/query/reference.d.ts.map +1 -1
  42. package/dist/query/reference.js +4 -2
  43. package/dist/query/reference.js.map +1 -1
  44. package/dist/schemas/index.d.ts +1 -0
  45. package/dist/schemas/index.d.ts.map +1 -1
  46. package/dist/schemas/index.js +1 -0
  47. package/dist/schemas/index.js.map +1 -1
  48. package/dist/schemas/manuscript.d.ts +13 -0
  49. package/dist/schemas/manuscript.d.ts.map +1 -0
  50. package/dist/schemas/manuscript.js +16 -0
  51. package/dist/schemas/manuscript.js.map +1 -0
  52. package/dist/schemas/proposal.d.ts +1 -1
  53. package/dist/schemas/proposal.d.ts.map +1 -1
  54. package/dist/schemas/proposal.js +3 -2
  55. package/dist/schemas/proposal.js.map +1 -1
  56. package/dist/schemas/reference.d.ts +1 -1
  57. package/dist/schemas/reference.js +1 -1
  58. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @whispering233/ai-editor-tools 入口:导出工具上下文 / 注册表 / 查询类与分析类工具实现
2
- // S6.3 查询类工具(自动权限,8 个)+ S6.4 分析类工具(自动权限,5 个)在此注册;
2
+ // S6.3 查询类工具(自动权限,10 个)+ S6.4 分析类工具(自动权限,5 个)在此注册;
3
3
  // S6.5 伏笔 / S6.6 提案通过 registry.registerTool(s) 继续挂载(注册表是唯一事实来源)。
4
4
  // S6.7 执行类 13 个**不注册 registry**(LLM 不可见,「核心设计原则」)——
5
5
  // 仅经 executor 门面(executeProposal)导出,S7.5 提案确认后调用。
@@ -7,15 +7,15 @@
7
7
  // 注册语义:模块副作用注册(import 即挂载)——executor 直接 getTool(name) 调度;
8
8
  // 工具定义集中在本入口(name/description/parameters/permission/run),
9
9
  // 参数 TypeBox schema 统一从 ./schemas 出口取(见 docs/api/tool-calling.md)。
10
- // 包标识常量(与 shared/llm 包风格一致:SHARED_PKG_NAME/LLM_PKG_NAME;agent 冒烟依赖)
10
+ // 包标识常量(与 shared 包风格一致:SHARED_PKG_NAME;agent 冒烟依赖)
11
11
  export const TOOLS_PKG_NAME = "@whispering233/ai-editor-tools";
12
- export const TOOLS_PKG_VERSION = "0.1.0";
13
12
  export * from "./context.js";
14
13
  export * from "./registry.js";
15
14
  export * from "./schemas/index.js";
16
15
  export * from "./query/entity.js";
17
16
  export * from "./query/relation.js";
18
17
  export * from "./query/outline.js";
18
+ export * from "./query/manuscript.js";
19
19
  export * from "./query/delta.js";
20
20
  export * from "./query/reference.js";
21
21
  export * from "./analysis/utils.js";
@@ -35,21 +35,23 @@ export * from "./proposal/reorder-timepoints.js";
35
35
  export * from "./proposal/reference.js";
36
36
  // S6.7 执行层:导出 executor 门面与 13 个执行函数(不注册工具——见文件头注释)
37
37
  export * from "./executor/index.js";
38
- import { RELATION_TYPES, TOOL_PERMISSION } from "@whispering233/ai-editor-shared";
39
- import { computeStateArgsSchema, getDeltaHistoryArgsSchema, getEntityArgsSchema, getEntitySummaryArgsSchema, getOutlineArgsSchema, getOutlinePathArgsSchema, queryRelationshipsArgsSchema, searchEntitiesArgsSchema, searchReferencesArgsSchema, } from "./schemas/index.js";
38
+ import { DEFAULT_HALF_LIFE, RELATION_TYPES, TOOL_PERMISSION } from "@whispering233/ai-editor-shared";
39
+ import { computeStateArgsSchema, getChapterTextArgsSchema, getDeltaHistoryArgsSchema, getEntityArgsSchema, getEntitySummaryArgsSchema, getOutlineArgsSchema, getOutlinePathArgsSchema, queryRelationshipsArgsSchema, searchEntitiesArgsSchema, searchReferencesArgsSchema, } from "./schemas/index.js";
40
40
  import { registerTools } from "./registry.js";
41
41
  import { runGetEntity, runGetEntitySummary, runSearchEntities } from "./query/entity.js";
42
42
  import { runSearchReferences } from "./query/reference.js";
43
43
  import { runQueryRelationships } from "./query/relation.js";
44
44
  import { runGetOutline, runGetOutlinePath } from "./query/outline.js";
45
+ import { runGetChapterText, DEFAULT_CHAPTER_TEXT_CHARS, MAX_CHAPTER_TEXT_CHARS } from "./query/manuscript.js";
45
46
  import { runComputeState, runGetDeltaHistory } from "./query/delta.js";
46
- /** 查询类工具定义(S6.3,「查询类(自动)」8 个;权限全为 AUTO) */
47
+ /** 查询类工具定义(S6.3 + 卡 12.9,「查询类(自动)」10 个;权限全为 AUTO) */
47
48
  const queryToolDefs = [
48
49
  {
49
50
  name: "get_entity",
50
51
  description: "实体详情查询:按类型与 id 获取单个实体(含 data 字段完整内容)。" +
51
- "type 取值 character|setting|location|hook|event|timepoint;id 为实体 id(char-/set-/loc-/hook-/ev-/tp- 前缀)。" +
52
- "不存在或已软删返回 null。",
52
+ "type 取值 character|setting|location|hook|event|timepoint|reference;id 为实体 id(char-/set-/loc-/hook-/ev-/tp-/ref- 前缀)。" +
53
+ "不存在或已软删返回 null。" +
54
+ "reference(参考资料)另附 content = 正文的轻量 md 投影(非块 JSON;未写过正文为空串)。",
53
55
  parameters: getEntityArgsSchema,
54
56
  permission: TOOL_PERMISSION.AUTO,
55
57
  run: runGetEntity,
@@ -91,6 +93,24 @@ const queryToolDefs = [
91
93
  permission: TOOL_PERMISSION.AUTO,
92
94
  run: runGetOutlinePath,
93
95
  },
96
+ {
97
+ name: "get_chapter_text",
98
+ // 分页数值插值自 query/manuscript.ts 的常量(模型可见上限的唯一来源,禁止手写数字)——
99
+ // 单源 ⇒ 改值不会静默漂移;回归断言见 index.test.ts「description 数字集合 = 两个常量」
100
+ description: "章正文只读查询:按 node_id 分页读取某章正文的轻量 md 投影(服务端派生,保块级结构、弃行内样式)——" +
101
+ "用于分析节奏、核对与设定的冲突、评价具体段落。node_id **必须是章节点**(卷/场景报错;不存在或已软删报错)。" +
102
+ "offset 为起始字符下标(缺省 0),max_chars 为本次最多返回字符数(缺省 " +
103
+ DEFAULT_CHAPTER_TEXT_CHARS +
104
+ "、上限 " +
105
+ MAX_CHAPTER_TEXT_CHARS +
106
+ ");" +
107
+ "text 末尾出现「已截断」提示时,用其中给出的 offset 继续读取(长章分段读完)。" +
108
+ "未写过正文的章返回 char_count=0、text=\"\"。" +
109
+ "**只读**:工具面不存在任何正文写工具——正文只读、只评论、只建议,落笔由作者完成。",
110
+ parameters: getChapterTextArgsSchema,
111
+ permission: TOOL_PERMISSION.AUTO,
112
+ run: runGetChapterText,
113
+ },
94
114
  {
95
115
  name: "compute_state",
96
116
  description: "状态计算:实体(target_id)到达指定大纲节点(at_node_id)时的累积状态——" +
@@ -122,7 +142,8 @@ const queryToolDefs = [
122
142
  name: "search_references",
123
143
  description: "参考资料搜索:按关键词搜索标题+标签命中的参考资料摘要列表(type 分类可选过滤:自由文本分类," +
124
144
  "建议沿用项目内已有分类;tags 标签 AND 过滤)。" +
125
- "返回摘要(content 截断 120 字)——取全文请用 get_entity 的 reference 类型。用于 AI 不知道书里有哪些参考资料时先检索。",
145
+ "返回摘要(content 为截断后的投影摘要,非全文;截断长度见 db toSummary)——取全文请用 get_entity 的 reference 类型。" +
146
+ "用于 AI 不知道书里有哪些参考资料时先检索。",
126
147
  parameters: searchReferencesArgsSchema,
127
148
  permission: TOOL_PERMISSION.AUTO,
128
149
  run: runSearchReferences,
@@ -188,6 +209,11 @@ const analysisToolDefs = [
188
209
  registerTools(analysisToolDefs);
189
210
  import { analyzeHookHealthArgsSchema, detectHookConflictsArgsSchema, findHookOpportunitiesArgsSchema, suggestHookPayoffArgsSchema, traceHookLifecycleArgsSchema, } from "./schemas/index.js";
190
211
  import { runAnalyzeHookHealth, runDetectHookConflicts, runFindHookOpportunities, runSuggestHookPayoff, runTraceHookLifecycle } from "./analysis/hook.js";
212
+ // 半衰期缺省映射的模型可见文案:插值自 shared `DEFAULT_HALF_LIFE`(数值单源,禁止手写数字)——
213
+ // 回归断言见 index.test.ts「半衰期映射串 = 常量五项」
214
+ const halfLifeDefaultsText = Object.entries(DEFAULT_HALF_LIFE)
215
+ .map(([timing, chapters]) => `${timing}=${chapters}`)
216
+ .join("/");
191
217
  /** 伏笔分析工具定义(S6.5,「工具扩展」+;权限全为 AUTO) */
192
218
  const hookToolDefs = [
193
219
  {
@@ -195,7 +221,7 @@ const hookToolDefs = [
195
221
  description: "伏笔健康总览(无参):统计全部活跃伏笔(planted/progressing)——stale(休眠超过半衰期)、" +
196
222
  "overdue(埋设超过两倍半衰期)、blocked(依赖尚未回收)及人类可读 warnings。" +
197
223
  "返回 { current_chapter, active_count, stale, overdue, blocked_chains, warnings };" +
198
- "半衰期显式 half_life 优先、缺省按 payoff_timing 映射(immediate=3/near_term=8/mid_arc=15/slow_burn=25/endgame=40)。",
224
+ "半衰期显式 half_life 优先、缺省按 payoff_timing 映射(" + halfLifeDefaultsText + ")。",
199
225
  parameters: analyzeHookHealthArgsSchema,
200
226
  permission: TOOL_PERMISSION.AUTO,
201
227
  run: runAnalyzeHookHealth,
@@ -212,7 +238,7 @@ const hookToolDefs = [
212
238
  {
213
239
  name: "suggest_hook_payoff",
214
240
  description: "伏笔回收建议:基于埋设章与半衰期(显式优先、缺省按 payoff_timing 映射)推荐理想回收**章**" +
215
- "(节奏匹配 top 3,候选为当前章节之后的未回收章;伏笔锚点仅章)。返回 { suggestions: [{ at_node, reason }] };" +
241
+ "(节奏匹配,取距离最近的若干章;候选为当前章节之后的未回收章;伏笔锚点仅章)。返回 { suggestions: [{ at_node, reason }] };" +
216
242
  "hook 不存在/已软删返回 null,无埋设记录或大纲无候选章返回空建议。",
217
243
  parameters: suggestHookPayoffArgsSchema,
218
244
  permission: TOOL_PERMISSION.AUTO,
@@ -245,7 +271,7 @@ import { runProposeAddDelta } from "./proposal/delta.js";
245
271
  import { runProposeDeleteNode, runProposeMoveNode, runProposeOutlineNode, } from "./proposal/outline.js";
246
272
  import { runProposeReorderTimepoints } from "./proposal/reorder-timepoints.js";
247
273
  import { runProposeCreateReference } from "./proposal/reference.js";
248
- /** 提案类工具定义(S6.6 + F9 重排 + G2 时间点重排,「提案类」+ 「工具扩展」提案类,共 15 个;权限全为 PROPOSAL)
274
+ /** 提案类工具定义(S6.6 + F9 重排 + G2 时间点重排,「提案类」+ 「工具扩展」提案类,共 16 个;权限全为 PROPOSAL)
249
275
  * 语义:AI 不能直接修改数据——propose_* 仅产出提案(tool_result 只有 proposal_id + 一句话摘要,
250
276
  * 不含预览细节,2026-08 修订;完整预览随 tool_execution_end 帧的 result.details 推送 GUI);用户确认后由 S7.5 路由
251
277
  * 快照重校验并调用 S6.7 执行工具落库。*/
@@ -397,7 +423,8 @@ const proposalToolDefs = [
397
423
  {
398
424
  name: "propose_create_reference",
399
425
  description: "创建参考资料提案:向用户提议把读到/总结的素材、灵感或写作要点保存为参考资料(外部素材/灵感笔记," +
400
- "非本书正文)。name 标题必填,type 分类可选(自由文本,建议沿用项目内已有分类,缺省 material),content 全文长文本,source 来源(URL/书名/作者)可选,tags 标签数组可选。" +
426
+ "非本书正文)。name 标题必填,type 分类可选(自由文本,建议沿用项目内已有分类,缺省 material)," +
427
+ "content 纯文本摘录(可含换行;按行落为段落块,不做 markdown 转换),source 来源(URL/书名/作者)可选,tags 标签数组可选。" +
401
428
  "仅生成提案(返回 proposal_id + 一句话摘要),需用户在界面确认后才写入——请勿重复提案或视为已保存。",
402
429
  parameters: proposeCreateReferenceArgsSchema,
403
430
  permission: TOOL_PERMISSION.PROPOSAL,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,mDAAmD;AACnD,iEAAiE;AACjE,oDAAoD;AACpD,kDAAkD;AAClD,EAAE;AACF,0DAA0D;AAC1D,0DAA0D;AAC1D,mEAAmE;AAEnE,mDAAmD;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,gCAAgC,CAAC;AAE/D,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,mDAAmD;AACnD,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACrG,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAuB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC9G,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEvE,qDAAqD;AACrD,MAAM,aAAa,GAAqB;IACtC;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,uCAAuC;YACvC,qHAAqH;YACrH,iBAAiB;YACjB,4DAA4D;QAC9D,UAAU,EAAE,mBAAmB;QAC/B,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,YAAY;KAClB;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,2DAA2D;YAC3D,wCAAwC;YACxC,2DAA2D;QAC7D,UAAU,EAAE,wBAAwB;QACpC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,iBAAiB;KACvB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,iDAAiD;YACjD,kDAAkD;YAClD,cAAc,CAAC,MAAM;YACrB,KAAK;YACL,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;YACxB,cAAc;QAChB,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,qBAAqB;KAC3B;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,iDAAiD;YACjD,qBAAqB;QACvB,UAAU,EAAE,oBAAoB;QAChC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,aAAa;KACnB;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,mEAAmE;YACnE,mBAAmB;QACrB,UAAU,EAAE,wBAAwB;QACpC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,iBAAiB;KACvB;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,wDAAwD;QACxD,6DAA6D;QAC7D,WAAW,EACT,0DAA0D;YAC1D,8DAA8D;YAC9D,+CAA+C;YAC/C,0BAA0B;YAC1B,MAAM;YACN,sBAAsB;YACtB,IAAI;YACJ,+CAA+C;YAC/C,mCAAmC;YACnC,6CAA6C;QAC/C,UAAU,EAAE,wBAAwB;QACpC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,iBAAiB;KACvB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,gDAAgD;YAChD,2DAA2D;YAC3D,4CAA4C;YAC5C,sCAAsC;YACtC,4DAA4D;QAC9D,UAAU,EAAE,sBAAsB;QAClC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,eAAe;KACrB;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,qCAAqC;YACrC,6CAA6C;QAC/C,UAAU,EAAE,yBAAyB;QACrC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,kBAAkB;KACxB;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,6DAA6D;YAC7D,qCAAqC;QACvC,UAAU,EAAE,0BAA0B;QACtC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,mBAAmB;KACzB;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,mDAAmD;YACnD,8BAA8B;YAC9B,kFAAkF;YAClF,yBAAyB;QAC3B,UAAU,EAAE,0BAA0B;QACtC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,mBAAmB;KACzB;CACF,CAAC;AAEF,aAAa,CAAC,aAAa,CAAC,CAAC;AAE7B,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,2DAA2D;AAC3D,MAAM,gBAAgB,GAAqB;IACzC;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,4CAA4C;YAC5C,yEAAyE;YACzE,gFAAgF;QAClF,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,qBAAqB;KAC3B;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,oDAAoD;YACpD,yCAAyC;YACzC,iDAAiD;YACjD,6DAA6D;QAC/D,UAAU,EAAE,yBAAyB;QACrC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,kBAAkB;KACxB;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,wDAAwD;YACxD,qEAAqE;YACrE,yCAAyC;QAC3C,UAAU,EAAE,wBAAwB;QACpC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,iBAAiB;KACvB;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,wDAAwD;YACxD,6CAA6C;YAC7C,mCAAmC;YACnC,yEAAyE;QAC3E,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,qBAAqB;KAC3B;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,2CAA2C;YAC3C,4EAA4E;YAC5E,iCAAiC;QACnC,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,qBAAqB;KAC3B;CACF,CAAC;AAEF,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAEhC,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,+BAA+B,EAC/B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEzJ,+DAA+D;AAC/D,qCAAqC;AACrC,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;KAC3D,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC;KACpD,IAAI,CAAC,GAAG,CAAC,CAAC;AAEb,uCAAuC;AACvC,MAAM,YAAY,GAAqB;IACrC;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,2DAA2D;YAC3D,mDAAmD;YACnD,iFAAiF;YACjF,0CAA0C,GAAG,oBAAoB,GAAG,IAAI;QAC1E,UAAU,EAAE,2BAA2B;QACvC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,oBAAoB;KAC1B;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,iEAAiE;YACjE,yEAAyE;YACzE,sBAAsB;QACxB,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,qBAAqB;KAC3B;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,wDAAwD;YACxD,mFAAmF;YACnF,wCAAwC;QAC1C,UAAU,EAAE,2BAA2B;QACvC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,oBAAoB;KAC1B;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,sDAAsD;YACtD,8EAA8E;YAC9E,6EAA6E;QAC/E,UAAU,EAAE,+BAA+B;QAC3C,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,wBAAwB;KAC9B;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,uEAAuE;YACvE,qFAAqF;QACvF,UAAU,EAAE,6BAA6B;QACzC,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,GAAG,EAAE,sBAAsB;KAC5B;CACF,CAAC;AAEF,aAAa,CAAC,YAAY,CAAC,CAAC;AAE5B,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,EAC5B,gCAAgC,EAChC,kCAAkC,EAClC,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE;;;0BAG0B;AAC1B,MAAM,gBAAgB,GAAqB;IACzC;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,mEAAmE;YACnE,kDAAkD;YAClD,2DAA2D;QAC7D,UAAU,EAAE,6BAA6B;QACzC,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,sBAAsB;KAC5B;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,gEAAgE;YAChE,mDAAmD;YACnD,gBAAgB;QAClB,UAAU,EAAE,6BAA6B;QACzC,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,sBAAsB;KAC5B;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,2CAA2C;YAC3C,+BAA+B;QACjC,UAAU,EAAE,6BAA6B;QACzC,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,sBAAsB;KAC5B;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,iEAAiE;YACjE,wBAAwB;YACxB,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;YACxB,KAAK;YACL,cAAc,CAAC,MAAM;YACrB,8BAA8B;YAC9B,6DAA6D;YAC7D,qCAAqC;YACrC,+BAA+B;QACjC,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,qBAAqB;KAC3B;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,6CAA6C;YAC7C,iCAAiC;QACnC,UAAU,EAAE,+BAA+B;QAC3C,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,wBAAwB;KAC9B;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,0EAA0E;YAC1E,yDAAyD;YACzD,qFAAqF;YACrF,8DAA8D;YAC9D,yCAAyC;YACzC,iBAAiB;YACjB,qBAAqB;QACvB,UAAU,EAAE,yBAAyB;QACrC,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,kBAAkB;KACxB;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,uDAAuD;YACvD,iDAAiD;YACjD,qCAAqC;QACvC,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,qBAAqB;KAC3B;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,mDAAmD;YACnD,+BAA+B;YAC/B,kBAAkB;QACpB,UAAU,EAAE,yBAAyB;QACrC,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,kBAAkB;KACxB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,sCAAsC;YACtC,+BAA+B;QACjC,UAAU,EAAE,2BAA2B;QACvC,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,oBAAoB;KAC1B;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,2FAA2F;YAC3F,kDAAkD;YAClD,oCAAoC;QACtC,UAAU,EAAE,2BAA2B;QACvC,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,oBAAoB;KAC1B;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,8DAA8D;YAC9D,iDAAiD;YACjD,gBAAgB;QAClB,UAAU,EAAE,2BAA2B;QACvC,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,oBAAoB;KAC1B;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,+DAA+D;YAC/D,0DAA0D;YAC1D,qCAAqC;QACvC,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,qBAAqB;KAC3B;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,4DAA4D;YAC5D,uDAAuD;YACvD,qCAAqC;QACvC,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,qBAAqB;KAC3B;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,yCAAyC;YACzC,uCAAuC;YACvC,+BAA+B;QACjC,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,qBAAqB;KAC3B;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,4DAA4D;YAC5D,oDAAoD;YACpD,iEAAiE;YACjE,oDAAoD;YACpD,2DAA2D;QAC7D,UAAU,EAAE,kCAAkC;QAC9C,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,2BAA2B;KACjC;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACT,mDAAmD;YACnD,2DAA2D;YAC3D,gFAAgF;YAChF,2DAA2D;QAC7D,UAAU,EAAE,gCAAgC;QAC5C,UAAU,EAAE,eAAe,CAAC,QAAQ;QACpC,GAAG,EAAE,yBAAyB;KAC/B;CACF,CAAC;AAEF,aAAa,CAAC,gBAAgB,CAAC,CAAC"}
@@ -2,8 +2,8 @@ import type { ProposeCreateReferenceArgs } from "../schemas/index.js";
2
2
  import type { ToolContext } from "../context.js";
3
3
  import { buildProposal, type ToolProposalResult } from "./types.js";
4
4
  /** 产出创建参考资料提案(无引用对象——新实体 id 由执行时生成)
5
- * AI 创建的条目归 link 类(data.kind='link')——source 参数映射为 url(无 URL 时 url 留空、
6
- * content 存摘录);AI 不直接落盘文件(文件写入走用户编辑器保存) */
5
+ * data 只带短字段(type/url/tags)+ 待拆出的 content(纯文本摘录);
6
+ * source 参数映射为 data.url(来源列唯一认的字段),无 source 时 url 留空 */
7
7
  export declare function buildProposeCreateReference(ctx: ToolContext, args: ProposeCreateReferenceArgs): ReturnType<typeof buildProposal>;
8
8
  /** propose_create_reference run:中止检查 + 产出结果 */
9
9
  export declare function runProposeCreateReference(ctx: ToolContext, args: ProposeCreateReferenceArgs, signal?: AbortSignal): ToolProposalResult;
@@ -1 +1 @@
1
- {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../src/proposal/reference.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAwB,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE1F;;2CAE2C;AAC3C,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,0BAA0B,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAchI;AAED,+CAA+C;AAC/C,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,0BAA0B,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,kBAAkB,CAIpB"}
1
+ {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../src/proposal/reference.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAwB,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE1F;;wDAEwD;AACxD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,0BAA0B,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAchI;AAED,+CAA+C;AAC/C,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,0BAA0B,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,kBAAkB,CAIpB"}
@@ -3,19 +3,20 @@
3
3
  //
4
4
  // 语义对齐 S6.6 提案工具:build 只产出提案对象(不落盘),run 返回 { proposal_id, summary }
5
5
  // (tool_result 不含预览细节,防 LLM 重复提案);无引用对象(新实体 id 由执行时生成)。
6
- // 参数shared types/tool.ts ProposeCreateReferenceArgs(name 必填 + type/content/source/tags 可选)
7
- // 执行:确认后 executeCreateReference 经 executeProposal 调度(executor/reference.ts)。
6
+ // 参数 = ./schemas 的 ProposeCreateReferenceArgs(name 必填 + type/content/source/tags 可选)
7
+ // 执行:确认后 executeCreateReference 经 executeProposal 调度(executor/reference.ts)——
8
+ // content 是**纯文本摘录**,落库时从 data 拆出写进 document_records(不写 entities.data)。
8
9
  import { buildProposal, checkProposalAborted } from "./types.js";
9
10
  /** 产出创建参考资料提案(无引用对象——新实体 id 由执行时生成)
10
- * AI 创建的条目归 link 类(data.kind='link')——source 参数映射为 url(无 URL 时 url 留空、
11
- * content 存摘录);AI 不直接落盘文件(文件写入走用户编辑器保存) */
11
+ * data 只带短字段(type/url/tags)+ 待拆出的 content(纯文本摘录);
12
+ * source 参数映射为 data.url(来源列唯一认的字段),无 source 时 url 留空 */
12
13
  export function buildProposeCreateReference(ctx, args) {
13
- const data = { kind: "link" };
14
+ const data = {};
14
15
  if (args.type !== undefined)
15
16
  data.type = args.type;
16
17
  if (args.content !== undefined)
17
18
  data.content = args.content;
18
- // source → url(link 类来源列渲染依据);无 source 时 url 留空(content 存摘录)
19
+ // source → data.url(详情/列表来源列只认 url;kind/file_name 等文件机制字段已废弃,不读)
19
20
  if (args.source !== undefined)
20
21
  data.url = args.source;
21
22
  if (args.tags !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"reference.js","sourceRoot":"","sources":["../../src/proposal/reference.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,kEAAkE;AAClE,EAAE;AACF,oEAAoE;AACpE,wDAAwD;AACxD,2FAA2F;AAC3F,6EAA6E;AAI7E,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAA2B,MAAM,YAAY,CAAC;AAE1F;;2CAE2C;AAC3C,MAAM,UAAU,2BAA2B,CAAC,GAAgB,EAAE,IAAgC;IAC5F,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACvD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7D,6DAA6D;IAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACtD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnD,OAAO,aAAa,CAClB,GAAG,EACH,0BAA0B,EAC1B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EACzB,EAAE,EACF,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACzE,CAAC;AACJ,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,yBAAyB,CACvC,GAAgB,EAChB,IAAgC,EAChC,MAAoB;IAEpB,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,2BAA2B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxD,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"reference.js","sourceRoot":"","sources":["../../src/proposal/reference.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,kEAAkE;AAClE,EAAE;AACF,oEAAoE;AACpE,wDAAwD;AACxD,qFAAqF;AACrF,8EAA8E;AAC9E,wEAAwE;AAIxE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAA2B,MAAM,YAAY,CAAC;AAE1F;;wDAEwD;AACxD,MAAM,UAAU,2BAA2B,CAAC,GAAgB,EAAE,IAAgC;IAC5F,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC5D,iEAAiE;IACjE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACtD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnD,OAAO,aAAa,CAClB,GAAG,EACH,0BAA0B,EAC1B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EACzB,EAAE,EACF,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACzE,CAAC;AACJ,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,yBAAyB,CACvC,GAAgB,EAChB,IAAgC,EAChC,MAAoB;IAEpB,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,2BAA2B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxD,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC1E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/proposal/types.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE/F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,mDAAmD;AACnD,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,CAAC;AAErF,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC;IACZ,iDAAiD;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,kDAAkD;AAClD,MAAM,WAAW,QAAQ;IACxB,6BAA6B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACtC,IAAI,EAAE,MAAM,CAAC;IACd,gDAAgD;IAC/C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,qCAAqC;IACpC,UAAU,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC9B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IACjC,kCAAkC;IACjC,OAAO,EAAE,MAAM,CAAC;IACjB;;;;MAIE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,2CAA2C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,0DAA0D;AAC1D,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,iBAAiB,EAAE,EAC/B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,QAAQ,CAWV;AAED,+BAA+B;AAC/B,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,iBAAiB,CAE3D;AAED,+BAA+B;AAC/B,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,iBAAiB,CAE/D;AAED,gCAAgC;AAChC,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,iBAAiB,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,MAAM,GACT;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,iBAAiB,CAAA;CAAE,CAa1C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAMpF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,SAAS,GAAG,eAAe,CAMpG;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAMvE;AAED,wDAAwD;AACxD,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAE/D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/proposal/types.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE/F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,mDAAmD;AACnD,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,CAAC;AAErF,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC;IACZ,iDAAiD;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,kDAAkD;AAClD,MAAM,WAAW,QAAQ;IACxB,6BAA6B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACtC,IAAI,EAAE,MAAM,CAAC;IACd,gDAAgD;IAC/C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,qCAAqC;IACpC,UAAU,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC9B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IACjC,kCAAkC;IACjC,OAAO,EAAE,MAAM,CAAC;IACjB;;;;MAIE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,2CAA2C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,0DAA0D;AAC1D,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,iBAAiB,EAAE,EAC/B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,QAAQ,CAWV;AAED,+BAA+B;AAC/B,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,iBAAiB,CAE3D;AAED,+BAA+B;AAC/B,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,iBAAiB,CAE/D;AAED,gCAAgC;AAChC,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,iBAAiB,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,MAAM,GACT;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,iBAAiB,CAAA;CAAE,CAa1C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAMpF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,SAAS,GAAG,eAAe,CAMpG;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAMvE;AAED,wDAAwD;AACxD,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAE/D"}
@@ -1,7 +1,8 @@
1
1
  // 提案对象类型 + 构造辅助(S6.6,proposal/ 模块公共层)
2
2
  //
3
3
  // **提案是服务端运行时对象**(仅内存、不落盘、随 SSE 推送 GUI;prop_ 前缀运行时 id,
4
- // 不跨 client——故定义在 tools 包而非 shared)。提案仓(TTL 10 分钟 + 条数上限 + 项目绑定)
4
+ // 不跨 client——故定义在 tools 包而非 shared)。提案仓(TTL + 条数上限 + 项目绑定,
5
+ // 两者数值单源 = agent `runtime/proposals.ts`)
5
6
  // 属 S7.4 范围,本模块只负责**产出提案对象结构**。
6
7
  //
7
8
  // 提案对象结构:
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/proposal/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/proposal/types.ts"],"names":[],"mappings":"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"}
@@ -2,21 +2,31 @@ import type { Entity } from "@whispering233/ai-editor-shared";
2
2
  import type { EntityListResult, EntitySummaryStats } from "@whispering233/ai-editor-db";
3
3
  import type { ToolContext } from "../context.js";
4
4
  import type { GetEntityArgs, GetEntitySummaryArgs, SearchEntitiesArgs } from "../schemas/index.js";
5
+ /**
6
+ * get_entity 结果:实体详情 + `content`(**仅 reference 填充**)。
7
+ * reference 的正文真相在 `document_records`,此处只回 `content_text` 轻量 md 投影——
8
+ * 块 JSON 原文归编辑器,不进模型上下文(卡 12.9,docs/api/30-api-entity.md「reference 特例」)。
9
+ */
10
+ export interface GetEntityResult extends Entity {
11
+ content?: string;
12
+ }
5
13
  /**
6
14
  * 实体详情(get_entity(type, id) → 实体详情,含 data JSON 解析后的字段)。
7
15
  * - db 层 getEntity 默认过滤软删(回收站对象不可见)
8
16
  * - type 与行内实际类型不一致 → null(参数错误,id 前缀体系下正常调用不会出现;
9
17
  * LLM 传错类型时得到「不存在」而非脏数据)
10
18
  * - 不存在/已软删 → null(查询无结果 ≠ 失败,LLM 据 null 自纠或向用户确认)
19
+ * - reference:附全文投影 `content`(未写过正文 → 空串;列表摘要的截断只在
20
+ * search_references,详情取全文)
11
21
  */
12
- export declare function runGetEntity(ctx: ToolContext, args: GetEntityArgs): Entity | null;
22
+ export declare function runGetEntity(ctx: ToolContext, args: GetEntityArgs): GetEntityResult | null;
13
23
  /** search_entities 结果:匹配实体摘要列表 + 过滤后总数(db listEntities 同构) */
14
24
  export type SearchEntitiesResult = EntityListResult;
15
25
  /**
16
26
  * 实体搜索(search_entities(type, query, filters?) → 匹配实体列表)。
17
27
  * 透传 db listEntities:type + name LIKE 模糊匹配 + **软删过滤**
18
28
  * + filters(tags AND / status 精确匹配,data 字段 JS 过滤)+ 摘要提取(db 单一实现)。
19
- * limit 传 200(db clamp 上限):搜索结果尽量全(token 截断由上层按 处理)。
29
+ * limit 取 `MAX_ENTITY_LIST_LIMIT`(数值单源在 shared):搜索结果尽量全(token 截断由上层按需处理)。
20
30
  */
21
31
  export declare function runSearchEntities(ctx: ToolContext, args: SearchEntitiesArgs): SearchEntitiesResult;
22
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/query/entity.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAInG;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAIjF;AAID,8DAA8D;AAC9D,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,GAAG,oBAAoB,CAOlG;AAID;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,GAAG,kBAAkB,CAEpG"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/query/entity.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAInG;;;;GAIG;AACH,MAAM,WAAW,eAAgB,SAAQ,MAAM;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,GAAG,eAAe,GAAG,IAAI,CAM1F;AAID,8DAA8D;AAC9D,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,GAAG,oBAAoB,CAOlG;AAID;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,GAAG,kBAAkB,CAEpG"}
@@ -8,34 +8,38 @@
8
8
  // S6.3 下沉)+ 软删过滤 + 摘要提取单一化(db toSummary)——工具层参数映射透传
9
9
  // - get_entity_summary:db getEntitySummaryStats(S6.3 下沉:总数 + 类型专属分布,
10
10
  // 稀疏字段知识归拢 db 单一位置)——工具层透传
11
- import { getEntity as dbGetEntity, getEntitySummaryStats, listEntities } from "@whispering233/ai-editor-db";
12
- import { mapRowToEntity } from "@whispering233/ai-editor-shared";
13
- // ============ get_entity ============
11
+ import { getDocument, getEntity as dbGetEntity, getEntitySummaryStats, listEntities } from "@whispering233/ai-editor-db";
12
+ import { MAX_ENTITY_LIST_LIMIT, mapRowToEntity } from "@whispering233/ai-editor-shared";
14
13
  /**
15
14
  * 实体详情(get_entity(type, id) → 实体详情,含 data JSON 解析后的字段)。
16
15
  * - db 层 getEntity 默认过滤软删(回收站对象不可见)
17
16
  * - type 与行内实际类型不一致 → null(参数错误,id 前缀体系下正常调用不会出现;
18
17
  * LLM 传错类型时得到「不存在」而非脏数据)
19
18
  * - 不存在/已软删 → null(查询无结果 ≠ 失败,LLM 据 null 自纠或向用户确认)
19
+ * - reference:附全文投影 `content`(未写过正文 → 空串;列表摘要的截断只在
20
+ * search_references,详情取全文)
20
21
  */
21
22
  export function runGetEntity(ctx, args) {
22
23
  const row = dbGetEntity(ctx.db, args.id);
23
24
  if (row === null || row.type !== args.type)
24
25
  return null;
25
- return mapRowToEntity(row);
26
+ const entity = mapRowToEntity(row);
27
+ if (row.type !== "reference")
28
+ return entity;
29
+ return { ...entity, content: getDocument(ctx.db, "reference", row.id)?.content_text ?? "" };
26
30
  }
27
31
  /**
28
32
  * 实体搜索(search_entities(type, query, filters?) → 匹配实体列表)。
29
33
  * 透传 db listEntities:type + name LIKE 模糊匹配 + **软删过滤**
30
34
  * + filters(tags AND / status 精确匹配,data 字段 JS 过滤)+ 摘要提取(db 单一实现)。
31
- * limit 传 200(db clamp 上限):搜索结果尽量全(token 截断由上层按 处理)。
35
+ * limit 取 `MAX_ENTITY_LIST_LIMIT`(数值单源在 shared):搜索结果尽量全(token 截断由上层按需处理)。
32
36
  */
33
37
  export function runSearchEntities(ctx, args) {
34
38
  return listEntities(ctx.db, {
35
39
  type: args.type,
36
40
  q: args.query,
37
41
  filters: args.filters,
38
- limit: 200,
42
+ limit: MAX_ENTITY_LIST_LIMIT,
39
43
  });
40
44
  }
41
45
  // ============ get_entity_summary ============
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/query/entity.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,oDAAoD;AACpD,EAAE;AACF,mDAAmD;AACnD,4CAA4C;AAC5C,0DAA0D;AAC1D,2EAA2E;AAC3E,oDAAoD;AACpD,qEAAqE;AACrE,2BAA2B;AAE3B,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC5G,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAMjE,uCAAuC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,GAAgB,EAAE,IAAmB;IAChE,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACzC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACxD,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAOD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAgB,EAAE,IAAwB;IAC1E,OAAO,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE;QAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,CAAC,EAAE,IAAI,CAAC,KAAK;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;AACL,CAAC;AAED,+CAA+C;AAE/C;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAgB,EAAE,IAA0B;IAC9E,OAAO,qBAAqB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/query/entity.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,oDAAoD;AACpD,EAAE;AACF,mDAAmD;AACnD,4CAA4C;AAC5C,0DAA0D;AAC1D,2EAA2E;AAC3E,oDAAoD;AACpD,qEAAqE;AACrE,2BAA2B;AAE3B,OAAO,EAAE,WAAW,EAAE,SAAS,IAAI,WAAW,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACzH,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAiBxF;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,GAAgB,EAAE,IAAmB;IAChE,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACzC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACxD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC;IAC5C,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,YAAY,IAAI,EAAE,EAAE,CAAC;AAC9F,CAAC;AAOD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAgB,EAAE,IAAwB;IAC1E,OAAO,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE;QAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,CAAC,EAAE,IAAI,CAAC,KAAK;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,qBAAqB;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,+CAA+C;AAE/C;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAgB,EAAE,IAA0B;IAC9E,OAAO,qBAAqB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,42 @@
1
+ import type { ToolContext } from "../context.js";
2
+ import type { GetChapterTextArgs } from "../schemas/index.js";
3
+ /**
4
+ * 缺省单次返回字符数(≈ 一段中等篇幅;长章分段读完,不炸上下文)。
5
+ * 实测(真实截断函数走一遍工具结果,纯 CJK):缺省页 + 续读提示 = 6055 tokens,余量 24.3%。
6
+ */
7
+ export declare const DEFAULT_CHAPTER_TEXT_CHARS = 6000;
8
+ /**
9
+ * 单次返回字符数上限(clamp 上限)——必须连 JSON 信封与续读提示一起压进单条工具结果预算:
10
+ * agent 侧 `TOOL_RESULT_MAX_TOKENS = 8000`(packages/agent/src/runtime/tool-result.ts,
11
+ * 单条结果超限即截断 + 显式告知,docs/design/20-context.md §2);`estimateTokens` 对非 ASCII
12
+ * 一律按 1 字 = 1 token 计(CJK ≈1 token/字,故意高估)。
13
+ *
14
+ * **实测**(`truncateToolResultText(stringifyToolResult(工具结果))`,纯 CJK 章、正文 = 上限 + 1):
15
+ * 上限页 + 续读提示 = **7055 tokens**(信封开销 ≈55 tokens:JSON 键 + 提示文案),余量 945 tokens
16
+ * = **11.8%**(≥10% 留白,给标题/章号更长与提示文案变动)。取 8000 字时同法实测 8055 tokens
17
+ * > 8000 ⇒ 外层截断会连「可用 offset=N 继续读取」与 `truncated` 一起切掉,「截断必须显式告知」失效。
18
+ *
19
+ * 改这个值前先按同一条实测路径(工具 → stringifyToolResult → truncateToolResultText)重量一遍。
20
+ */
21
+ export declare const MAX_CHAPTER_TEXT_CHARS = 7000;
22
+ /** get_chapter_text 结果(工具目录逐字对齐:docs/api/tool-calling.md「正文只读查询」) */
23
+ export interface ChapterTextResult {
24
+ chapter_id: string;
25
+ title: string;
26
+ /** 全局章序号(跨卷连续,1 起);无章序号(防御:章不在章序表)→ null */
27
+ chapter_number: number | null;
28
+ /** 该章正文全长(与章正文端点 charCount 同源口径),与 offset 无关 */
29
+ char_count: number;
30
+ offset: number;
31
+ /** 本次实际返回的正文片段长度(不含截断提示文案) */
32
+ returned_chars: number;
33
+ text: string;
34
+ truncated: boolean;
35
+ }
36
+ /**
37
+ * 章正文分页读取(get_chapter_text(node_id, offset?, max_chars?))。
38
+ * @throws 节点不存在 / 已软删 / 非章(与 propose_add_delta 同口径);
39
+ * offset 非非负整数(schema 之外防御——工具实现必须自校业务不变量)
40
+ */
41
+ export declare function runGetChapterText(ctx: ToolContext, args: GetChapterTextArgs): ChapterTextResult;
42
+ //# sourceMappingURL=manuscript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manuscript.d.ts","sourceRoot":"","sources":["../../src/query/manuscript.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,qEAAqE;AACrE,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,GAAG,iBAAiB,CA4B/F"}
@@ -0,0 +1,64 @@
1
+ // 查询类工具:章正文只读(卡 12.9)
2
+ // get_chapter_text——AI 需要看「作者到底写了什么」时按需拉取(分析节奏、核对与设定的冲突、
3
+ // 评价具体段落)。
4
+ //
5
+ // 口径(docs/api/tool-calling.md「正文只读查询(2026-10)」、
6
+ // `docs/design/10-data-model.md` §13):
7
+ // - text = `document_records.content_text`(**服务端派生的轻量 md 投影**)——块 JSON 原文
8
+ // 只服务编辑器,绝不进模型上下文
9
+ // - 分页:offset / 长度均为 **JS 字符串下标**(与 `charCount` 同源口径);截断时 text 末尾
10
+ // 附续读提示(「截断必须显式告知」,docs/design/20-context.md §2 不变式)
11
+ // - 节点必须存在、未软删且 `type === "chapter"`(复用提案层 requireChapterNode——与
12
+ // propose_add_delta 的章级口径同源,非章抛错);未写过正文 → char_count=0、text=""(不报错)
13
+ // - **只读**:工具面不存在任何正文/文档写工具(结构性保证,非提示词约束)
14
+ import { getChapterNumber, getDocument } from "@whispering233/ai-editor-db";
15
+ import { requireChapterNode } from "../proposal/types.js";
16
+ /**
17
+ * 缺省单次返回字符数(≈ 一段中等篇幅;长章分段读完,不炸上下文)。
18
+ * 实测(真实截断函数走一遍工具结果,纯 CJK):缺省页 + 续读提示 = 6055 tokens,余量 24.3%。
19
+ */
20
+ export const DEFAULT_CHAPTER_TEXT_CHARS = 6000;
21
+ /**
22
+ * 单次返回字符数上限(clamp 上限)——必须连 JSON 信封与续读提示一起压进单条工具结果预算:
23
+ * agent 侧 `TOOL_RESULT_MAX_TOKENS = 8000`(packages/agent/src/runtime/tool-result.ts,
24
+ * 单条结果超限即截断 + 显式告知,docs/design/20-context.md §2);`estimateTokens` 对非 ASCII
25
+ * 一律按 1 字 = 1 token 计(CJK ≈1 token/字,故意高估)。
26
+ *
27
+ * **实测**(`truncateToolResultText(stringifyToolResult(工具结果))`,纯 CJK 章、正文 = 上限 + 1):
28
+ * 上限页 + 续读提示 = **7055 tokens**(信封开销 ≈55 tokens:JSON 键 + 提示文案),余量 945 tokens
29
+ * = **11.8%**(≥10% 留白,给标题/章号更长与提示文案变动)。取 8000 字时同法实测 8055 tokens
30
+ * > 8000 ⇒ 外层截断会连「可用 offset=N 继续读取」与 `truncated` 一起切掉,「截断必须显式告知」失效。
31
+ *
32
+ * 改这个值前先按同一条实测路径(工具 → stringifyToolResult → truncateToolResultText)重量一遍。
33
+ */
34
+ export const MAX_CHAPTER_TEXT_CHARS = 7000;
35
+ /**
36
+ * 章正文分页读取(get_chapter_text(node_id, offset?, max_chars?))。
37
+ * @throws 节点不存在 / 已软删 / 非章(与 propose_add_delta 同口径);
38
+ * offset 非非负整数(schema 之外防御——工具实现必须自校业务不变量)
39
+ */
40
+ export function runGetChapterText(ctx, args) {
41
+ const node = requireChapterNode(ctx, args.node_id, "正文");
42
+ const offset = args.offset ?? 0;
43
+ if (!Number.isInteger(offset) || offset < 0) {
44
+ throw new Error(`offset 必须为非负整数: ${String(args.offset)}`);
45
+ }
46
+ const maxChars = Math.min(MAX_CHAPTER_TEXT_CHARS, Math.max(1, Math.trunc(args.max_chars ?? DEFAULT_CHAPTER_TEXT_CHARS)));
47
+ const documentText = getDocument(ctx.db, "chapter", node.id)?.content_text ?? "";
48
+ const slice = documentText.slice(offset, offset + maxChars);
49
+ const truncated = offset + slice.length < documentText.length;
50
+ const text = truncated
51
+ ? `${slice}\n\n(已截断,可用 offset=${offset + slice.length} 继续读取)`
52
+ : slice;
53
+ return {
54
+ chapter_id: node.id,
55
+ title: node.title,
56
+ chapter_number: getChapterNumber(ctx.outlineDir, node.id)?.chapterNumber ?? null,
57
+ char_count: documentText.length,
58
+ offset,
59
+ returned_chars: slice.length,
60
+ text,
61
+ truncated,
62
+ };
63
+ }
64
+ //# sourceMappingURL=manuscript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manuscript.js","sourceRoot":"","sources":["../../src/query/manuscript.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,yDAAyD;AACzD,WAAW;AACX,EAAE;AACF,gDAAgD;AAChD,uCAAuC;AACvC,0EAA0E;AAC1E,oBAAoB;AACpB,kEAAkE;AAClE,uDAAuD;AACvD,iEAAiE;AACjE,sEAAsE;AACtE,0CAA0C;AAE1C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAiB3C;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAgB,EAAE,IAAwB;IAC1E,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,sBAAsB,EACtB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,0BAA0B,CAAC,CAAC,CACtE,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,YAAY,IAAI,EAAE,CAAC;IACjF,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAC9D,MAAM,IAAI,GAAG,SAAS;QACpB,CAAC,CAAC,GAAG,KAAK,sBAAsB,MAAM,GAAG,KAAK,CAAC,MAAM,QAAQ;QAC7D,CAAC,CAAC,KAAK,CAAC;IAEV,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,EAAE;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,cAAc,EAAE,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,aAAa,IAAI,IAAI;QAChF,UAAU,EAAE,YAAY,CAAC,MAAM;QAC/B,MAAM;QACN,cAAc,EAAE,KAAK,CAAC,MAAM;QAC5B,IAAI;QACJ,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../src/query/reference.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,4DAA4D;AAC5D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,GAAG,gBAAgB,CAalG"}
1
+ {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../src/query/reference.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,4DAA4D;AAC5D,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,GAAG,gBAAgB,CAalG"}
@@ -4,18 +4,20 @@
4
4
  // 靠工具按需拉取保护 token 预算)。全文取详情走 get_entity('reference', id) 的 reference 分支。
5
5
  //
6
6
  // 实现:复用 db listEntities(type='reference' + q 名称软删过滤 + filters.tags AND 匹配
7
- // + 摘要提取)——db toSummary 已对 reference 做 type + content 摘要截断 120 字 + tags 前 3,
7
+ // + 摘要提取)——db toSummary 已对 reference 做 type + content 投影摘要截断 + tags 条数截断
8
+ // (两者长度/条数上限的数值单源在 db `toSummary`),
8
9
  // 列表/搜索不会把全文长文本带回(防 token 膨胀)。
9
10
  // search 的 type 参数指「参考资料分类」(data.type 枚举),非实体类型——listEntities 的
10
11
  // filters 不支持 data.type 过滤(仅 tags/status),故在结果层做 JS 过滤(total 同步修正)。
11
12
  import { listEntities } from "@whispering233/ai-editor-db";
13
+ import { MAX_ENTITY_LIST_LIMIT } from "@whispering233/ai-editor-shared";
12
14
  /** 参考资料搜索(search_references(query, type?, tags?) → 摘要列表) */
13
15
  export function runSearchReferences(ctx, args) {
14
16
  const result = listEntities(ctx.db, {
15
17
  type: "reference",
16
18
  q: args.query,
17
19
  filters: args.tags !== undefined ? { tags: args.tags } : undefined,
18
- limit: 200,
20
+ limit: MAX_ENTITY_LIST_LIMIT,
19
21
  });
20
22
  // type 分类过滤(data.type 枚举经 db toSummary 暴露为 summary.type):结果层 JS 过滤——total 同步
21
23
  if (args.type !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"reference.js","sourceRoot":"","sources":["../../src/query/reference.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,8DAA8D;AAC9D,EAAE;AACF,yEAAyE;AACzE,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,+BAA+B;AAC/B,gEAAgE;AAChE,oEAAoE;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAK3D,4DAA4D;AAC5D,MAAM,UAAU,mBAAmB,CAAC,GAAgB,EAAE,IAA0B;IAC9E,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE;QAClC,IAAI,EAAE,WAAW;QACjB,CAAC,EAAE,IAAI,CAAC,KAAK;QACb,OAAO,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QAClE,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IACJ,6EAA6E;IAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"reference.js","sourceRoot":"","sources":["../../src/query/reference.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,8DAA8D;AAC9D,EAAE;AACF,yEAAyE;AACzE,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,oCAAoC;AACpC,+BAA+B;AAC/B,gEAAgE;AAChE,oEAAoE;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAKxE,4DAA4D;AAC5D,MAAM,UAAU,mBAAmB,CAAC,GAAgB,EAAE,IAA0B;IAC9E,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE;QAClC,IAAI,EAAE,WAAW;QACjB,CAAC,EAAE,IAAI,CAAC,KAAK;QACb,OAAO,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QAClE,KAAK,EAAE,qBAAqB;KAC7B,CAAC,CAAC;IACJ,6EAA6E;IAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -3,6 +3,7 @@ export * from "./relation.js";
3
3
  export * from "./outline.js";
4
4
  export * from "./delta.js";
5
5
  export * from "./reference.js";
6
+ export * from "./manuscript.js";
6
7
  export * from "./analysis.js";
7
8
  export * from "./proposal.js";
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAKA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAKA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -7,6 +7,7 @@ export * from "./relation.js";
7
7
  export * from "./outline.js";
8
8
  export * from "./delta.js";
9
9
  export * from "./reference.js";
10
+ export * from "./manuscript.js";
10
11
  export * from "./analysis.js";
11
12
  export * from "./proposal.js";
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,iEAAiE;AACjE,gFAAgF;AAEhF,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,iEAAiE;AACjE,gFAAgF;AAEhF,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Type, type Static } from "@earendil-works/pi-ai";
2
+ /**
3
+ * get_chapter_text 入参:node_id(**必须是章节点**)+ offset(起始字符下标,缺省 0)
4
+ * + max_chars(本次最多返回字符数,缺省与上限见 `query/manuscript.ts` 的
5
+ * `DEFAULT_CHAPTER_TEXT_CHARS` / `MAX_CHAPTER_TEXT_CHARS`——实现层 clamp)。
6
+ */
7
+ export declare const getChapterTextArgsSchema: Type.TObject<{
8
+ node_id: Type.TString;
9
+ offset: Type.TOptional<Type.TInteger>;
10
+ max_chars: Type.TOptional<Type.TInteger>;
11
+ }>;
12
+ export type GetChapterTextArgs = Static<typeof getChapterTextArgsSchema>;
13
+ //# sourceMappingURL=manuscript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manuscript.d.ts","sourceRoot":"","sources":["../../src/schemas/manuscript.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;EAOpC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ // 工具参数 schema:章正文域(get_chapter_text)
2
+ //
3
+ // 口径见 docs/api/tool-calling.md「正文只读查询(2026-10)」:AI 按需分页拉取章正文的
4
+ // 轻量 md 投影(document_records.content_text);**工具面不存在任何正文/文档写工具**。
5
+ import { Type } from "@earendil-works/pi-ai";
6
+ /**
7
+ * get_chapter_text 入参:node_id(**必须是章节点**)+ offset(起始字符下标,缺省 0)
8
+ * + max_chars(本次最多返回字符数,缺省与上限见 `query/manuscript.ts` 的
9
+ * `DEFAULT_CHAPTER_TEXT_CHARS` / `MAX_CHAPTER_TEXT_CHARS`——实现层 clamp)。
10
+ */
11
+ export const getChapterTextArgsSchema = Type.Object({
12
+ node_id: Type.String(),
13
+ offset: Type.Optional(Type.Integer({ minimum: 0 })),
14
+ max_chars: Type.Optional(Type.Integer({ minimum: 1 })),
15
+ }, { additionalProperties: false });
16
+ //# sourceMappingURL=manuscript.js.map