dsh-data-domain-knowledge 0.1.0-alpha.2 → 0.1.0-alpha.4

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 (180) hide show
  1. package/README.md +147 -19
  2. package/cordis.patch.yml +25 -10
  3. package/lib/client.js +6400 -3326
  4. package/lib/doc-page.js +7761 -0
  5. package/lib/types/convert/host.d.ts.map +1 -1
  6. package/lib/types/convert/host.js +63 -11
  7. package/lib/types/convert/host.js.map +1 -1
  8. package/lib/types/convert/ingest.d.ts +7 -4
  9. package/lib/types/convert/ingest.d.ts.map +1 -1
  10. package/lib/types/convert/ingest.js +52 -14
  11. package/lib/types/convert/ingest.js.map +1 -1
  12. package/lib/types/convert/types.d.ts +2 -2
  13. package/lib/types/convert/types.d.ts.map +1 -1
  14. package/lib/types/convert/types.js +2 -2
  15. package/lib/types/convert/types.js.map +1 -1
  16. package/lib/types/diagnosis/cards.d.ts +8 -7
  17. package/lib/types/diagnosis/cards.d.ts.map +1 -1
  18. package/lib/types/diagnosis/cards.js +119 -49
  19. package/lib/types/diagnosis/cards.js.map +1 -1
  20. package/lib/types/diagnosis/run.d.ts +57 -0
  21. package/lib/types/diagnosis/run.d.ts.map +1 -0
  22. package/lib/types/diagnosis/run.js +245 -0
  23. package/lib/types/diagnosis/run.js.map +1 -0
  24. package/lib/types/diagnosis/schema.d.ts +25 -2
  25. package/lib/types/diagnosis/schema.d.ts.map +1 -1
  26. package/lib/types/diagnosis/schema.js +64 -25
  27. package/lib/types/diagnosis/schema.js.map +1 -1
  28. package/lib/types/diagnosis/seed-source.d.ts +17 -2
  29. package/lib/types/diagnosis/seed-source.d.ts.map +1 -1
  30. package/lib/types/diagnosis/seed-source.js +19 -2
  31. package/lib/types/diagnosis/seed-source.js.map +1 -1
  32. package/lib/types/diagnosis/seed.d.ts +32 -42
  33. package/lib/types/diagnosis/seed.d.ts.map +1 -1
  34. package/lib/types/diagnosis/seed.js +187 -51
  35. package/lib/types/diagnosis/seed.js.map +1 -1
  36. package/lib/types/diagnosis/store.d.ts +95 -25
  37. package/lib/types/diagnosis/store.d.ts.map +1 -1
  38. package/lib/types/diagnosis/store.js +297 -166
  39. package/lib/types/diagnosis/store.js.map +1 -1
  40. package/lib/types/diagnosis/types.d.ts +168 -16
  41. package/lib/types/diagnosis/types.d.ts.map +1 -1
  42. package/lib/types/diagnosis/types.js +1 -1
  43. package/lib/types/diagnosis/types.js.map +1 -1
  44. package/lib/types/document-page.d.ts +39 -0
  45. package/lib/types/document-page.d.ts.map +1 -0
  46. package/lib/types/document-page.js +43 -0
  47. package/lib/types/document-page.js.map +1 -0
  48. package/lib/types/extract-model.d.ts +67 -27
  49. package/lib/types/extract-model.d.ts.map +1 -1
  50. package/lib/types/extract-model.js +225 -97
  51. package/lib/types/extract-model.js.map +1 -1
  52. package/lib/types/extract.d.ts +16 -0
  53. package/lib/types/extract.d.ts.map +1 -1
  54. package/lib/types/extract.js +19 -2
  55. package/lib/types/extract.js.map +1 -1
  56. package/lib/types/fs-atomic.d.ts +11 -0
  57. package/lib/types/fs-atomic.d.ts.map +1 -0
  58. package/lib/types/fs-atomic.js +41 -0
  59. package/lib/types/fs-atomic.js.map +1 -0
  60. package/lib/types/index.d.ts.map +1 -1
  61. package/lib/types/index.js +466 -63
  62. package/lib/types/index.js.map +1 -1
  63. package/lib/types/intent/types.js +1 -1
  64. package/lib/types/intent/types.js.map +1 -1
  65. package/lib/types/knowledge-bases.d.ts +23 -12
  66. package/lib/types/knowledge-bases.d.ts.map +1 -1
  67. package/lib/types/knowledge-bases.js +37 -44
  68. package/lib/types/knowledge-bases.js.map +1 -1
  69. package/lib/types/layout.d.ts +3 -3
  70. package/lib/types/layout.d.ts.map +1 -1
  71. package/lib/types/layout.js +4 -4
  72. package/lib/types/layout.js.map +1 -1
  73. package/lib/types/migrate.d.ts +1 -1
  74. package/lib/types/migrate.js +2 -2
  75. package/lib/types/migrate.js.map +1 -1
  76. package/lib/types/model-text.d.ts +99 -0
  77. package/lib/types/model-text.d.ts.map +1 -0
  78. package/lib/types/model-text.js +103 -0
  79. package/lib/types/model-text.js.map +1 -0
  80. package/lib/types/present.d.ts +239 -0
  81. package/lib/types/present.d.ts.map +1 -0
  82. package/lib/types/present.js +255 -0
  83. package/lib/types/present.js.map +1 -0
  84. package/lib/types/recall-rank.d.ts +37 -0
  85. package/lib/types/recall-rank.d.ts.map +1 -1
  86. package/lib/types/recall-rank.js +41 -1
  87. package/lib/types/recall-rank.js.map +1 -1
  88. package/lib/types/runtime.d.ts +564 -31
  89. package/lib/types/runtime.d.ts.map +1 -1
  90. package/lib/types/runtime.js +2645 -292
  91. package/lib/types/runtime.js.map +1 -1
  92. package/lib/types/settings-schema.d.ts +4 -2
  93. package/lib/types/settings-schema.d.ts.map +1 -1
  94. package/lib/types/settings-schema.js +2 -0
  95. package/lib/types/settings-schema.js.map +1 -1
  96. package/lib/types/source-images.d.ts +118 -0
  97. package/lib/types/source-images.d.ts.map +1 -0
  98. package/lib/types/source-images.js +288 -0
  99. package/lib/types/source-images.js.map +1 -0
  100. package/lib/types/types.d.ts +356 -28
  101. package/lib/types/types.d.ts.map +1 -1
  102. package/lib/types/types.js +112 -18
  103. package/lib/types/types.js.map +1 -1
  104. package/lib/types/wiki-finalize.d.ts +140 -0
  105. package/lib/types/wiki-finalize.d.ts.map +1 -0
  106. package/lib/types/wiki-finalize.js +269 -0
  107. package/lib/types/wiki-finalize.js.map +1 -0
  108. package/lib/types/wiki-types.d.ts +10 -2
  109. package/lib/types/wiki-types.d.ts.map +1 -1
  110. package/lib/types/wiki-types.js +27 -30
  111. package/lib/types/wiki-types.js.map +1 -1
  112. package/package.json +4 -3
  113. package/preset/tita-data-agent/agent.cordis.yml +25 -10
  114. package/src/client/DirectoryPicker.tsx +12 -12
  115. package/src/client/DrawerSection.tsx +18 -0
  116. package/src/client/InfoHint.tsx +21 -8
  117. package/src/client/IntentTab.tsx +20 -26
  118. package/src/client/KnowledgeBaseTab.tsx +458 -158
  119. package/src/client/KnowledgePanel.tsx +44 -10
  120. package/src/client/KnowledgeStepRail.tsx +3 -0
  121. package/src/client/KnowledgeToolRow.tsx +331 -0
  122. package/src/client/NodeSettings.tsx +20 -22
  123. package/src/client/PreviewSections.tsx +178 -43
  124. package/src/client/RecallPanel.tsx +418 -127
  125. package/src/client/TypeDefinitionDrawer.tsx +154 -54
  126. package/src/client/WikiCardReview.tsx +266 -0
  127. package/src/client/WikiFlowCard.tsx +57 -95
  128. package/src/client/WikiTypeEditor.tsx +197 -95
  129. package/src/client/arch/AgentArchitectureGraph.tsx +30 -14
  130. package/src/client/arch/NodeLogicPanel.tsx +6 -3
  131. package/src/client/arch/model.ts +164 -26
  132. package/src/client/architecture.css +25 -10
  133. package/src/client/architecture.tsx +66 -41
  134. package/src/client/asset-images.ts +125 -0
  135. package/src/client/attribution/AttributionGraph.tsx +481 -34
  136. package/src/client/attribution/AttributionTab.tsx +501 -106
  137. package/src/client/attribution/CaseView.tsx +9 -14
  138. package/src/client/attribution/GraphStage.tsx +25 -18
  139. package/src/client/attribution/RunView.tsx +27 -9
  140. package/src/client/attribution/StageChrome.tsx +280 -140
  141. package/src/client/attribution/graph-options.ts +611 -47
  142. package/src/client/attribution/model.ts +559 -30
  143. package/src/client/convert/ConvertPanel.tsx +36 -4
  144. package/src/client/doc-page.css +134 -0
  145. package/src/client/doc-page.tsx +242 -0
  146. package/src/client/index.ts +18 -0
  147. package/src/client/panel-state.ts +105 -0
  148. package/src/client/problem-domains.ts +1 -1
  149. package/src/client/request.ts +36 -0
  150. package/src/client/styles.css +397 -54
  151. package/src/client/useFitScale.ts +15 -2
  152. package/src/client/wiki-type-groups.ts +86 -0
  153. package/src/convert/host.ts +68 -9
  154. package/src/convert/ingest.ts +61 -18
  155. package/src/convert/types.ts +2 -2
  156. package/src/diagnosis/cards.ts +120 -50
  157. package/src/diagnosis/run.ts +251 -0
  158. package/src/diagnosis/schema.ts +67 -26
  159. package/src/diagnosis/seed-source.ts +29 -4
  160. package/src/diagnosis/seed.ts +187 -85
  161. package/src/diagnosis/store.ts +310 -173
  162. package/src/diagnosis/types.ts +181 -16
  163. package/src/document-page.ts +51 -0
  164. package/src/extract-model.ts +254 -99
  165. package/src/extract.ts +35 -3
  166. package/src/fs-atomic.ts +41 -0
  167. package/src/index.ts +499 -62
  168. package/src/intent/types.ts +1 -1
  169. package/src/knowledge-bases.ts +50 -49
  170. package/src/layout.ts +4 -4
  171. package/src/migrate.ts +2 -2
  172. package/src/model-text.ts +126 -0
  173. package/src/present.ts +367 -0
  174. package/src/recall-rank.ts +57 -2
  175. package/src/runtime.ts +2802 -293
  176. package/src/settings-schema.ts +2 -0
  177. package/src/source-images.ts +326 -0
  178. package/src/types.ts +446 -45
  179. package/src/wiki-finalize.ts +310 -0
  180. package/src/wiki-types.ts +28 -32
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/layout.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * ## 为什么要迁移
5
5
  *
6
6
  * 0029 之前,「知识树在哪」由用户直接设的那个 `rootDir` 决定,而它指向的是**知识树
7
- * 本身** —— `01_source_truth` 直接躺在它下面。新布局多了一层:`rootDir` 变成
7
+ * 本身** —— `01_source_raw` 直接躺在它下面。新布局多了一层:`rootDir` 变成
8
8
  * `agentRoot`,知识树退到 `<agentRoot>/domain_knowledge/<知识库 id>`。
9
9
  *
10
10
  * 也就是说,对**改过** `rootDir` 的用户,磁盘上那棵树的位置变了。数据不能跟着
@@ -4,7 +4,7 @@
4
4
  * ## 为什么要迁移
5
5
  *
6
6
  * 0029 之前,「知识树在哪」由用户直接设的那个 `rootDir` 决定,而它指向的是**知识树
7
- * 本身** —— `01_source_truth` 直接躺在它下面。新布局多了一层:`rootDir` 变成
7
+ * 本身** —— `01_source_raw` 直接躺在它下面。新布局多了一层:`rootDir` 变成
8
8
  * `agentRoot`,知识树退到 `<agentRoot>/domain_knowledge/<知识库 id>`。
9
9
  *
10
10
  * 也就是说,对**改过** `rootDir` 的用户,磁盘上那棵树的位置变了。数据不能跟着
@@ -41,7 +41,7 @@ import { knowledgeBaseRoot, looksLikeKnowledgeTree, memoryRoot, resourceRoot } f
41
41
  * `<agentRoot>/memory/<库 id>`,由 `migrateLegacyMemory` 负责搬。它留在这里会让
42
42
  * 知识树迁移把 `04_memory` 当成「一段知识」搬进新树 —— 那是搬错方向。
43
43
  */
44
- const LAYOUT_DIRS = ['01_source_truth', '02_wiki', '03_compiled', '05_diagnosis'];
44
+ const LAYOUT_DIRS = ['01_source_raw', '02_wiki', '03_compiled', '05_diagnosis'];
45
45
  /** 无需迁移的结论。 */
46
46
  function skipped(reason, from, to) {
47
47
  return { status: 'skipped', reason, ...(from ? { from } : {}), ...(to ? { to } : {}) };
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/migrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/migrate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * 把平台 `llm` 服务的 chunk 流收成一段文本(0044 实机验证第三批)。
3
+ *
4
+ * ## 为什么单独一个文件
5
+ *
6
+ * 它可以在没有 DSH 上下文的情况下被测试:喂一串假 chunk,看结论对不对。
7
+ * 这段逻辑躲在 `index.ts` 的接缝里时,唯一能验证它的方法是「真跑一次编译再看告警」——
8
+ * 而正是因为没人那样做,下面这个坑活了很久。
9
+ *
10
+ * ## 那个坑:模型失败**不是抛异常**,是一条 finish chunk
11
+ *
12
+ * `LlmRuntime.stream()` 的契约写得很清楚:adapter 选择、派发、迭代的失败都会变成
13
+ * **终结性的 `finish` chunk**(`reason.kind === 'error' | 'aborted'`,里面带
14
+ * `failure.code` / `failure.message`)。只有中间件、嵌套调用这类问题才抛。
15
+ *
16
+ * 第一版接缝只挑 `text-delta` 累加文本,于是:
17
+ *
18
+ * - 模型调用失败(比如默认模型那一行选错了 provider)→ 一个文本都没收到 → 收成空串;
19
+ * - 空串交给 JSON 解析 → 「模型输出不是 JSON 对象」;
20
+ * - **真正的失败原因(code / message)被丢掉了**,人看到的是「模型答非所问」,
21
+ * 而事实是「模型根本没被调到」。
22
+ *
23
+ * 这两种故障的处理方式完全不同:一个是改提示词,一个是去改设置。所以这里把
24
+ * finish chunk 读出来,并在没有任何文本时**主动抛**——抛出去的 message 会原样出现在
25
+ * `rebuild` 的告警里(`extractWithModel` 接到异常后写的是「模型抽取不可用:…」)。
26
+ */
27
+ /** 平台 chunk 的最小形状。只声明这里用得到的字段,避免把平台类型引进来。 */
28
+ interface StreamChunkLike {
29
+ type?: string;
30
+ text?: string;
31
+ reason?: {
32
+ kind?: string;
33
+ failure?: {
34
+ code?: string;
35
+ message?: string;
36
+ };
37
+ };
38
+ }
39
+ /**
40
+ * 组一次模型请求。
41
+ *
42
+ * ## 为什么单独一个函数
43
+ *
44
+ * 实机验证时这里的形状错过两次,而**两次的错误信息都完全指不出这一点**:
45
+ *
46
+ * 1. `messages: [{ role: 'user', content: prompt }]`(content 是字符串)→ 平台在适配器里
47
+ * 对 content 调 `.some()`,整次调用以 `content.some is not a function` 失败。
48
+ * 那句话里既没有 `messages`,也没有 `content` 的类型要求。
49
+ * 2. **没有带 `sessionId`** → OpenCode 系的路由直接回
50
+ * `400 MissingSessionID: Request is missing x-opencode-session`。
51
+ * 这个字段在 `GenerateOptions` 里是可选的,所以类型不报错;而它在
52
+ * 「路由与缓存亲和」这件事上是必需的(`dsh-opencode-session` 插件只在
53
+ * `options.sessionId` 存在时才打那个头,没有就原样放过去)。
54
+ *
55
+ * 平台的 `RequestMessage.content` 是**内容块数组**(`[{ type: 'text', text }]`),
56
+ * 不是字符串。把这些形状固定到一个纯函数里,就有了唯一的去处,也能被测试钉住。
57
+ *
58
+ * ## `sessionId` 给什么值
59
+ *
60
+ * 知识编译不是一段对话,但它确实需要「同一批调用被路由到同一个后端」这个性质:
61
+ * 反复编译同一个知识库时,提示词里有大段的 wiki 类型定义与已有卡片清单,**亲和性直接
62
+ * 影响命中缓存的概率**。所以给一个**按知识库稳定**的值,而不是随机的 UUID。
63
+ *
64
+ * 用 `knowledge:<库 id>` 这个形状而不是裸库 id:它明确说出这不是一个会话,
65
+ * 排查的人一眼能看出这些调用是谁发的(同一个头的值还会出现在上游的日志里)。
66
+ */
67
+ export declare function buildModelRequest(input: {
68
+ provider: string;
69
+ model: string;
70
+ system?: string;
71
+ prompt: string;
72
+ reasoningEffort?: string;
73
+ /** 路由与缓存亲和的会话身份。知识编译用 `knowledge:<库 id>`。 */
74
+ sessionId: string;
75
+ }): {
76
+ provider: string;
77
+ model: string;
78
+ reasoningEffort?: string;
79
+ system?: string;
80
+ sessionId: string;
81
+ messages: Array<{
82
+ role: 'user';
83
+ content: Array<{
84
+ type: 'text';
85
+ text: string;
86
+ }>;
87
+ }>;
88
+ };
89
+ /**
90
+ * 收完一条模型流的文本。
91
+ *
92
+ * @param stream 平台 `llm.stream()` 返回的 chunk 流
93
+ * @returns 模型输出的全文(不做 trim —— 调用方可能要看空白,也方便断言)
94
+ * @throws 流以 error / aborted 结束时,抛出带 code 与 message 的错误;
95
+ * 流正常结束但一个字符都没有时,也抛 —— 「模型没说话」不是一次成功的调用。
96
+ */
97
+ export declare function collectModelText(stream: AsyncIterable<StreamChunkLike>): Promise<string>;
98
+ export {};
99
+ //# sourceMappingURL=model-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-text.d.ts","sourceRoot":"","sources":["../../src/model-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,6CAA6C;AAC7C,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAC1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG;IACF,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAA;CAClF,CAUA;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CA4B9F"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * 把平台 `llm` 服务的 chunk 流收成一段文本(0044 实机验证第三批)。
3
+ *
4
+ * ## 为什么单独一个文件
5
+ *
6
+ * 它可以在没有 DSH 上下文的情况下被测试:喂一串假 chunk,看结论对不对。
7
+ * 这段逻辑躲在 `index.ts` 的接缝里时,唯一能验证它的方法是「真跑一次编译再看告警」——
8
+ * 而正是因为没人那样做,下面这个坑活了很久。
9
+ *
10
+ * ## 那个坑:模型失败**不是抛异常**,是一条 finish chunk
11
+ *
12
+ * `LlmRuntime.stream()` 的契约写得很清楚:adapter 选择、派发、迭代的失败都会变成
13
+ * **终结性的 `finish` chunk**(`reason.kind === 'error' | 'aborted'`,里面带
14
+ * `failure.code` / `failure.message`)。只有中间件、嵌套调用这类问题才抛。
15
+ *
16
+ * 第一版接缝只挑 `text-delta` 累加文本,于是:
17
+ *
18
+ * - 模型调用失败(比如默认模型那一行选错了 provider)→ 一个文本都没收到 → 收成空串;
19
+ * - 空串交给 JSON 解析 → 「模型输出不是 JSON 对象」;
20
+ * - **真正的失败原因(code / message)被丢掉了**,人看到的是「模型答非所问」,
21
+ * 而事实是「模型根本没被调到」。
22
+ *
23
+ * 这两种故障的处理方式完全不同:一个是改提示词,一个是去改设置。所以这里把
24
+ * finish chunk 读出来,并在没有任何文本时**主动抛**——抛出去的 message 会原样出现在
25
+ * `rebuild` 的告警里(`extractWithModel` 接到异常后写的是「模型抽取不可用:…」)。
26
+ */
27
+ /**
28
+ * 组一次模型请求。
29
+ *
30
+ * ## 为什么单独一个函数
31
+ *
32
+ * 实机验证时这里的形状错过两次,而**两次的错误信息都完全指不出这一点**:
33
+ *
34
+ * 1. `messages: [{ role: 'user', content: prompt }]`(content 是字符串)→ 平台在适配器里
35
+ * 对 content 调 `.some()`,整次调用以 `content.some is not a function` 失败。
36
+ * 那句话里既没有 `messages`,也没有 `content` 的类型要求。
37
+ * 2. **没有带 `sessionId`** → OpenCode 系的路由直接回
38
+ * `400 MissingSessionID: Request is missing x-opencode-session`。
39
+ * 这个字段在 `GenerateOptions` 里是可选的,所以类型不报错;而它在
40
+ * 「路由与缓存亲和」这件事上是必需的(`dsh-opencode-session` 插件只在
41
+ * `options.sessionId` 存在时才打那个头,没有就原样放过去)。
42
+ *
43
+ * 平台的 `RequestMessage.content` 是**内容块数组**(`[{ type: 'text', text }]`),
44
+ * 不是字符串。把这些形状固定到一个纯函数里,就有了唯一的去处,也能被测试钉住。
45
+ *
46
+ * ## `sessionId` 给什么值
47
+ *
48
+ * 知识编译不是一段对话,但它确实需要「同一批调用被路由到同一个后端」这个性质:
49
+ * 反复编译同一个知识库时,提示词里有大段的 wiki 类型定义与已有卡片清单,**亲和性直接
50
+ * 影响命中缓存的概率**。所以给一个**按知识库稳定**的值,而不是随机的 UUID。
51
+ *
52
+ * 用 `knowledge:<库 id>` 这个形状而不是裸库 id:它明确说出这不是一个会话,
53
+ * 排查的人一眼能看出这些调用是谁发的(同一个头的值还会出现在上游的日志里)。
54
+ */
55
+ export function buildModelRequest(input) {
56
+ const { provider, model, system, prompt, reasoningEffort, sessionId } = input;
57
+ return {
58
+ provider,
59
+ model,
60
+ ...(reasoningEffort ? { reasoningEffort } : {}),
61
+ ...(system ? { system } : {}),
62
+ sessionId,
63
+ messages: [{ role: 'user', content: [{ type: 'text', text: prompt }] }],
64
+ };
65
+ }
66
+ /**
67
+ * 收完一条模型流的文本。
68
+ *
69
+ * @param stream 平台 `llm.stream()` 返回的 chunk 流
70
+ * @returns 模型输出的全文(不做 trim —— 调用方可能要看空白,也方便断言)
71
+ * @throws 流以 error / aborted 结束时,抛出带 code 与 message 的错误;
72
+ * 流正常结束但一个字符都没有时,也抛 —— 「模型没说话」不是一次成功的调用。
73
+ */
74
+ export async function collectModelText(stream) {
75
+ let text = '';
76
+ /** 流怎么结束的。用来区分「正常但空」「失败」「中止」三种情况。 */
77
+ let finish;
78
+ let failure;
79
+ for await (const chunk of stream) {
80
+ if (!chunk || typeof chunk !== 'object')
81
+ continue;
82
+ if (chunk.type === 'text-delta' && typeof chunk.text === 'string') {
83
+ text += chunk.text;
84
+ continue;
85
+ }
86
+ if (chunk.type === 'finish') {
87
+ finish = chunk.reason?.kind;
88
+ if (finish === 'error' || finish === 'aborted')
89
+ failure = chunk.reason?.failure;
90
+ }
91
+ }
92
+ if (failure) {
93
+ const code = failure.code?.trim() || '未知错误码';
94
+ const message = failure.message?.trim() || '模型服务没有给出说明';
95
+ throw new Error(`模型调用失败(${code}):${message}`);
96
+ }
97
+ if (text.length === 0) {
98
+ // 走到这里说明流正常结束(或者压根没有 finish 块)却没有一个字符。
99
+ throw new Error(`模型没有返回任何文本(结束原因:${finish ?? '没有收到 finish 块'})`);
100
+ }
101
+ return text;
102
+ }
103
+ //# sourceMappingURL=model-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-text.js","sourceRoot":"","sources":["../../src/model-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AASH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAQjC;IAQC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAC7E,OAAO;QACL,QAAQ;QACR,KAAK;QACL,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,SAAS;QACT,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;KACxE,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAsC;IAC3E,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,qCAAqC;IACrC,IAAI,MAA0B,CAAA;IAC9B,IAAI,OAAwD,CAAA;IAE5D,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAQ;QACjD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAA;YAClB,SAAQ;QACV,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAA;YAC3B,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,CAAA;QACjF,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,OAAO,CAAA;QAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,YAAY,CAAA;QACvD,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,OAAO,EAAE,CAAC,CAAA;IAC/C,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,uCAAuC;QACvC,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,IAAI,eAAe,GAAG,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,239 @@
1
+ /**
2
+ * 知识工具在**对话流**里的样子(0045)。
3
+ *
4
+ * ## 为什么要有这个文件
5
+ *
6
+ * 0045 之前,这些工具的 `output.render` 统一是 `JSON.stringify(value)`,而 Web 端没有
7
+ * 给它们注册 toolview —— 于是「让 Agent 批量编译入库」在对话流里长成一条
8
+ * `import_sources` 加一坨 JSON,「召回知识库」同理。人看不到「导了几份、编出了几张卡、
9
+ * 命中了哪几条」,只能自己去右侧面板里找。
10
+ *
11
+ * 这一层做两件事,都在**纯函数**里,所以能被测试钉住:
12
+ *
13
+ * 1. `presentationMeta` —— 结构化的小账本,随 `tool/result` 落进会话日志,
14
+ * Web 端的卡片读它渲染(`src/client/KnowledgeToolRow.tsx`)。它必须
15
+ * **可 JSON 序列化**(会话日志会整份校验),所以这里不塞函数、不塞 Date;
16
+ * 2. `present*View` —— 与工具名无关的渲染意图(标题 / 分类 / 一段 Markdown),
17
+ * 给终端界面和「没有专用卡片的界面」用。
18
+ *
19
+ * ## 一条规矩:数字必须来自真实的产物
20
+ *
21
+ * 这些账本里出现的每一个数都对应一次真的写入或一次真的编译(见 `RebuildReport`
22
+ * 的注释)。**没有估算、没有占位** —— 面板与对话流是同一份诚实标准的两个出口。
23
+ */
24
+ /** 工具调用分类:影响图标与语气。与平台的 `ToolCallKind` 同词表。 */
25
+ type Kind = 'read' | 'edit' | 'delete' | 'move' | 'search' | 'execute' | 'fetch' | 'other';
26
+ export interface ImportMetaSource {
27
+ sourceId: string;
28
+ title?: string;
29
+ bytes: number;
30
+ }
31
+ export interface ImportMetaFailure {
32
+ index: number;
33
+ title?: string;
34
+ code: string;
35
+ message: string;
36
+ }
37
+ export interface ImportMetaCompile {
38
+ cardsCreated: number;
39
+ cardsUpdated: number;
40
+ cardsReused?: number;
41
+ notesReused?: number;
42
+ notesRecompiled?: number;
43
+ sourcesExtracted?: number;
44
+ sourcesSkipped?: number;
45
+ cardsRemoved?: number;
46
+ embedding?: string;
47
+ version?: number;
48
+ }
49
+ export interface ImportMeta {
50
+ kind: 'import';
51
+ attempted: number;
52
+ written: ImportMetaSource[];
53
+ failed: ImportMetaFailure[];
54
+ compile: ImportMetaCompile | null;
55
+ }
56
+ /** `import_sources` 的账本。字段逐个点名,不用展开运算符 —— 形状是契约,要看得见。 */
57
+ export declare function importMetaOf(value: {
58
+ attempted?: number;
59
+ written?: Array<{
60
+ sourceId: string;
61
+ title?: string;
62
+ bytes?: number;
63
+ }>;
64
+ failed?: ImportMetaFailure[];
65
+ compile?: ImportMetaCompile | null;
66
+ }): ImportMeta;
67
+ /** 运行中的标题:**先说清楚这一下要动多少东西**。 */
68
+ export declare function importCallView(args: {
69
+ sources?: unknown[];
70
+ compile?: boolean;
71
+ }): {
72
+ card: 'generic';
73
+ kind: Kind;
74
+ title: string;
75
+ rawInput?: unknown;
76
+ };
77
+ /** 完成后的 Markdown:终端界面与「没有专用卡片」的界面都用它。 */
78
+ export declare function importResultMarkdown(meta: ImportMeta): string;
79
+ export interface RecallMetaHit {
80
+ entityId: string;
81
+ entityType: string;
82
+ title: string;
83
+ score: number;
84
+ rerankScore?: number;
85
+ reviewScore?: number;
86
+ }
87
+ export interface RecallMeta {
88
+ kind: 'recall';
89
+ query: string;
90
+ backend: string;
91
+ recallMode: string;
92
+ recallTopK: number;
93
+ contextTopN: number;
94
+ /** 上下文里的卡片数:命中 N 张 + 1 跳扩展 M 张(0050)。 */
95
+ hitCards?: number;
96
+ expandedCards?: number;
97
+ /** 因为上下文预算没进去的卡片数(0050)。 */
98
+ omittedCards?: number;
99
+ insufficientEvidence: boolean;
100
+ rerankStatus: string;
101
+ hits: RecallMetaHit[];
102
+ /** 路由名字,按这一轮真的跑过的顺序。 */
103
+ routes: string[];
104
+ }
105
+ /**
106
+ * `recall_knowledge` 的账本。
107
+ *
108
+ * `hits` 只带前 8 条:对话流里的卡片要能一眼看完,而完整的上下文包本来就在工具返回里
109
+ * 给模型了。**不改这个数**(不四舍五入、不归一),因为大小关系就是排序依据。
110
+ */
111
+ export declare function recallMetaOf(value: {
112
+ hits?: Array<{
113
+ entityId?: string;
114
+ entityType?: string;
115
+ title?: string;
116
+ score?: number;
117
+ rerankScore?: number;
118
+ reviewScore?: number;
119
+ }>;
120
+ query?: string;
121
+ backend?: string;
122
+ recallMode?: string;
123
+ recallTopK?: number;
124
+ contextTopN?: number;
125
+ /** 上下文预算的真实账(0050):命中几张卡、扩展几张、几张超预算。 */
126
+ budget?: {
127
+ hitCards?: number;
128
+ expandedCards?: number;
129
+ omittedCards?: number;
130
+ };
131
+ insufficientEvidence?: boolean;
132
+ rerank?: {
133
+ status?: string;
134
+ };
135
+ routes?: Array<{
136
+ route?: string;
137
+ status?: string;
138
+ } | string>;
139
+ }): RecallMeta;
140
+ export declare function recallCallView(args: {
141
+ query?: string;
142
+ mode?: string;
143
+ top_k?: number;
144
+ }): {
145
+ card: 'generic';
146
+ kind: Kind;
147
+ title: string;
148
+ rawInput?: unknown;
149
+ };
150
+ export declare function recallResultMarkdown(meta: RecallMeta): string;
151
+ export interface RebuildMeta {
152
+ kind: 'rebuild';
153
+ only: string;
154
+ version?: number;
155
+ cardsCreated: number;
156
+ cardsUpdated: number;
157
+ cardsReused?: number;
158
+ notesReused?: number;
159
+ notesRecompiled?: number;
160
+ sourcesExtracted?: number;
161
+ sourcesSkipped?: number;
162
+ cardsRemoved?: number;
163
+ embedding?: string;
164
+ skipped?: boolean;
165
+ }
166
+ export declare function rebuildMetaOf(only: string, value: Partial<Omit<RebuildMeta, 'kind' | 'only'>>): RebuildMeta;
167
+ export declare function rebuildCallView(args: {
168
+ only?: string;
169
+ }): {
170
+ card: 'generic';
171
+ kind: Kind;
172
+ title: string;
173
+ };
174
+ export declare function rebuildResultMarkdown(meta: RebuildMeta): string;
175
+ export interface AddSourceMeta {
176
+ kind: 'addSource';
177
+ sourceId: string;
178
+ path: string;
179
+ title?: string;
180
+ sourceType: string;
181
+ bytes: number;
182
+ }
183
+ /**
184
+ * `value` 用偏松的类型:失败信封里的 `data` 是空壳(`{ sourceId: '', path: '' }`)。
185
+ * 呈现层宁可显示一个空 id,也不该在渲染时抛 —— 卡片渲染抛异常会把整条工具记录弄没。
186
+ */
187
+ export declare function addSourceMetaOf(args: {
188
+ source_type?: string;
189
+ title?: string;
190
+ content?: string;
191
+ }, value: {
192
+ sourceId?: string;
193
+ path?: string;
194
+ }): AddSourceMeta;
195
+ export declare function addSourceCallView(args: {
196
+ source_type?: string;
197
+ title?: string;
198
+ content?: string;
199
+ }): {
200
+ card: 'generic';
201
+ kind: Kind;
202
+ title: string;
203
+ rawInput?: unknown;
204
+ };
205
+ export declare function addSourceResultMarkdown(meta: AddSourceMeta): string;
206
+ export interface WriteCardsMeta {
207
+ kind: 'writeCards';
208
+ sourceId: string;
209
+ /**
210
+ * 落库的卡片 id。
211
+ *
212
+ * 字段名叫 `ids` 而不是 `written`:`import` 那份账本里 `written` 是**来源对象数组**
213
+ * (带标题与字符数),两个工具共用同一个 meta 类型时同名不同形状会让类型系统直接拒绝。
214
+ */
215
+ ids: string[];
216
+ rejected: Array<{
217
+ index?: number;
218
+ title?: string;
219
+ reason?: string;
220
+ code?: string;
221
+ }>;
222
+ }
223
+ export declare function writeCardsMetaOf(value: {
224
+ written?: string[];
225
+ ids?: string[];
226
+ rejected?: unknown[];
227
+ }, sourceId: string): WriteCardsMeta;
228
+ export declare function writeCardsCallView(args: {
229
+ source_id?: string;
230
+ proposals?: unknown[];
231
+ }): {
232
+ card: 'generic';
233
+ kind: Kind;
234
+ title: string;
235
+ rawInput?: unknown;
236
+ };
237
+ export declare function writeCardsResultMarkdown(meta: WriteCardsMeta): string;
238
+ export {};
239
+ //# sourceMappingURL=present.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"present.d.ts","sourceRoot":"","sources":["../../src/present.ts"],"names":[],"mappings":"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"}