dsh-data-domain-knowledge 0.1.0-alpha.1

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 (231) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +360 -0
  3. package/cordis.patch.yml +410 -0
  4. package/eval/README.md +76 -0
  5. package/eval/evaluate-retrieval.mjs +121 -0
  6. package/eval/queries.example.jsonl +2 -0
  7. package/lib/client.js +111415 -0
  8. package/lib/types/config-schema.d.ts +35 -0
  9. package/lib/types/config-schema.d.ts.map +1 -0
  10. package/lib/types/config-schema.js +34 -0
  11. package/lib/types/config-schema.js.map +1 -0
  12. package/lib/types/convert/core-loader.d.ts +32 -0
  13. package/lib/types/convert/core-loader.d.ts.map +1 -0
  14. package/lib/types/convert/core-loader.js +60 -0
  15. package/lib/types/convert/core-loader.js.map +1 -0
  16. package/lib/types/convert/host.d.ts +88 -0
  17. package/lib/types/convert/host.d.ts.map +1 -0
  18. package/lib/types/convert/host.js +479 -0
  19. package/lib/types/convert/host.js.map +1 -0
  20. package/lib/types/convert/ingest.d.ts +125 -0
  21. package/lib/types/convert/ingest.d.ts.map +1 -0
  22. package/lib/types/convert/ingest.js +228 -0
  23. package/lib/types/convert/ingest.js.map +1 -0
  24. package/lib/types/convert/settings-schema.d.ts +18 -0
  25. package/lib/types/convert/settings-schema.d.ts.map +1 -0
  26. package/lib/types/convert/settings-schema.js +26 -0
  27. package/lib/types/convert/settings-schema.js.map +1 -0
  28. package/lib/types/convert/types.d.ts +46 -0
  29. package/lib/types/convert/types.d.ts.map +1 -0
  30. package/lib/types/convert/types.js +41 -0
  31. package/lib/types/convert/types.js.map +1 -0
  32. package/lib/types/diagnosis/cards.d.ts +71 -0
  33. package/lib/types/diagnosis/cards.d.ts.map +1 -0
  34. package/lib/types/diagnosis/cards.js +482 -0
  35. package/lib/types/diagnosis/cards.js.map +1 -0
  36. package/lib/types/diagnosis/problem-classes.d.ts +51 -0
  37. package/lib/types/diagnosis/problem-classes.d.ts.map +1 -0
  38. package/lib/types/diagnosis/problem-classes.js +66 -0
  39. package/lib/types/diagnosis/problem-classes.js.map +1 -0
  40. package/lib/types/diagnosis/schema.d.ts +65 -0
  41. package/lib/types/diagnosis/schema.d.ts.map +1 -0
  42. package/lib/types/diagnosis/schema.js +208 -0
  43. package/lib/types/diagnosis/schema.js.map +1 -0
  44. package/lib/types/diagnosis/seed-source.d.ts +20 -0
  45. package/lib/types/diagnosis/seed-source.d.ts.map +1 -0
  46. package/lib/types/diagnosis/seed-source.js +96 -0
  47. package/lib/types/diagnosis/seed-source.js.map +1 -0
  48. package/lib/types/diagnosis/seed.d.ts +50 -0
  49. package/lib/types/diagnosis/seed.d.ts.map +1 -0
  50. package/lib/types/diagnosis/seed.js +242 -0
  51. package/lib/types/diagnosis/seed.js.map +1 -0
  52. package/lib/types/diagnosis/store.d.ts +81 -0
  53. package/lib/types/diagnosis/store.d.ts.map +1 -0
  54. package/lib/types/diagnosis/store.js +409 -0
  55. package/lib/types/diagnosis/store.js.map +1 -0
  56. package/lib/types/diagnosis/types.d.ts +124 -0
  57. package/lib/types/diagnosis/types.d.ts.map +1 -0
  58. package/lib/types/diagnosis/types.js +13 -0
  59. package/lib/types/diagnosis/types.js.map +1 -0
  60. package/lib/types/directory-picker.d.ts +94 -0
  61. package/lib/types/directory-picker.d.ts.map +1 -0
  62. package/lib/types/directory-picker.js +110 -0
  63. package/lib/types/directory-picker.js.map +1 -0
  64. package/lib/types/extract-model.d.ts +76 -0
  65. package/lib/types/extract-model.d.ts.map +1 -0
  66. package/lib/types/extract-model.js +193 -0
  67. package/lib/types/extract-model.js.map +1 -0
  68. package/lib/types/extract.d.ts +121 -0
  69. package/lib/types/extract.d.ts.map +1 -0
  70. package/lib/types/extract.js +549 -0
  71. package/lib/types/extract.js.map +1 -0
  72. package/lib/types/fts.d.ts +96 -0
  73. package/lib/types/fts.d.ts.map +1 -0
  74. package/lib/types/fts.js +184 -0
  75. package/lib/types/fts.js.map +1 -0
  76. package/lib/types/index.d.ts +39 -0
  77. package/lib/types/index.d.ts.map +1 -0
  78. package/lib/types/index.js +1112 -0
  79. package/lib/types/index.js.map +1 -0
  80. package/lib/types/intent/engine.d.ts +108 -0
  81. package/lib/types/intent/engine.d.ts.map +1 -0
  82. package/lib/types/intent/engine.js +501 -0
  83. package/lib/types/intent/engine.js.map +1 -0
  84. package/lib/types/intent/host.d.ts +88 -0
  85. package/lib/types/intent/host.d.ts.map +1 -0
  86. package/lib/types/intent/host.js +389 -0
  87. package/lib/types/intent/host.js.map +1 -0
  88. package/lib/types/intent/preset-tools.d.ts +37 -0
  89. package/lib/types/intent/preset-tools.d.ts.map +1 -0
  90. package/lib/types/intent/preset-tools.js +45 -0
  91. package/lib/types/intent/preset-tools.js.map +1 -0
  92. package/lib/types/intent/settings-schema.d.ts +59 -0
  93. package/lib/types/intent/settings-schema.d.ts.map +1 -0
  94. package/lib/types/intent/settings-schema.js +57 -0
  95. package/lib/types/intent/settings-schema.js.map +1 -0
  96. package/lib/types/intent/store.d.ts +75 -0
  97. package/lib/types/intent/store.d.ts.map +1 -0
  98. package/lib/types/intent/store.js +139 -0
  99. package/lib/types/intent/store.js.map +1 -0
  100. package/lib/types/intent/tools.d.ts +63 -0
  101. package/lib/types/intent/tools.d.ts.map +1 -0
  102. package/lib/types/intent/tools.js +108 -0
  103. package/lib/types/intent/tools.js.map +1 -0
  104. package/lib/types/intent/types.d.ts +189 -0
  105. package/lib/types/intent/types.d.ts.map +1 -0
  106. package/lib/types/intent/types.js +62 -0
  107. package/lib/types/intent/types.js.map +1 -0
  108. package/lib/types/knowledge-bases.d.ts +266 -0
  109. package/lib/types/knowledge-bases.d.ts.map +1 -0
  110. package/lib/types/knowledge-bases.js +1107 -0
  111. package/lib/types/knowledge-bases.js.map +1 -0
  112. package/lib/types/layout.d.ts +262 -0
  113. package/lib/types/layout.d.ts.map +1 -0
  114. package/lib/types/layout.js +312 -0
  115. package/lib/types/layout.js.map +1 -0
  116. package/lib/types/migrate.d.ts +110 -0
  117. package/lib/types/migrate.d.ts.map +1 -0
  118. package/lib/types/migrate.js +280 -0
  119. package/lib/types/migrate.js.map +1 -0
  120. package/lib/types/recall-rank.d.ts +158 -0
  121. package/lib/types/recall-rank.d.ts.map +1 -0
  122. package/lib/types/recall-rank.js +261 -0
  123. package/lib/types/recall-rank.js.map +1 -0
  124. package/lib/types/runtime.d.ts +568 -0
  125. package/lib/types/runtime.d.ts.map +1 -0
  126. package/lib/types/runtime.js +3045 -0
  127. package/lib/types/runtime.js.map +1 -0
  128. package/lib/types/settings-schema.d.ts +117 -0
  129. package/lib/types/settings-schema.d.ts.map +1 -0
  130. package/lib/types/settings-schema.js +92 -0
  131. package/lib/types/settings-schema.js.map +1 -0
  132. package/lib/types/settings-volatile.d.ts +102 -0
  133. package/lib/types/settings-volatile.d.ts.map +1 -0
  134. package/lib/types/settings-volatile.js +114 -0
  135. package/lib/types/settings-volatile.js.map +1 -0
  136. package/lib/types/types.d.ts +799 -0
  137. package/lib/types/types.d.ts.map +1 -0
  138. package/lib/types/types.js +387 -0
  139. package/lib/types/types.js.map +1 -0
  140. package/lib/types/wiki-types.d.ts +68 -0
  141. package/lib/types/wiki-types.d.ts.map +1 -0
  142. package/lib/types/wiki-types.js +322 -0
  143. package/lib/types/wiki-types.js.map +1 -0
  144. package/package.json +101 -0
  145. package/preset/tita-data-agent/agent.cordis.yml +376 -0
  146. package/preset/tita-data-agent/preset.yml +3 -0
  147. package/python/requirements.txt +8 -0
  148. package/scripts/doctor.mjs +70 -0
  149. package/scripts/e2e-pipeline.mjs +355 -0
  150. package/scripts/install-agent-preset.mjs +92 -0
  151. package/scripts/setup-embedding.sh +34 -0
  152. package/scripts/sync-agent-preset.mjs +188 -0
  153. package/src/client/AgentPresetCard.tsx +247 -0
  154. package/src/client/DirectoryPicker.tsx +357 -0
  155. package/src/client/InfoHint.tsx +65 -0
  156. package/src/client/IntentLogicTab.tsx +185 -0
  157. package/src/client/IntentTab.tsx +715 -0
  158. package/src/client/KnowledgeBaseTab.tsx +1454 -0
  159. package/src/client/KnowledgeGraphView.tsx +306 -0
  160. package/src/client/KnowledgePanel.tsx +381 -0
  161. package/src/client/KnowledgeStepRail.tsx +60 -0
  162. package/src/client/NodeSettings.tsx +392 -0
  163. package/src/client/PreviewSections.tsx +116 -0
  164. package/src/client/RecallPanel.tsx +399 -0
  165. package/src/client/TypeDefinitionDrawer.tsx +215 -0
  166. package/src/client/WikiFlowCard.tsx +226 -0
  167. package/src/client/WikiTypeEditor.tsx +332 -0
  168. package/src/client/agent-preset.ts +121 -0
  169. package/src/client/arch/AgentArchitectureGraph.tsx +219 -0
  170. package/src/client/arch/NodeLogicPanel.tsx +133 -0
  171. package/src/client/arch/ProblemDetailPanel.tsx +88 -0
  172. package/src/client/arch/model.ts +691 -0
  173. package/src/client/architecture.css +191 -0
  174. package/src/client/architecture.tsx +530 -0
  175. package/src/client/attribution/AttributionGraph.tsx +104 -0
  176. package/src/client/attribution/AttributionTab.tsx +332 -0
  177. package/src/client/attribution/CaseView.tsx +102 -0
  178. package/src/client/attribution/GraphStage.tsx +87 -0
  179. package/src/client/attribution/RunView.tsx +184 -0
  180. package/src/client/attribution/StageChrome.tsx +403 -0
  181. package/src/client/attribution/ViewSwitch.tsx +107 -0
  182. package/src/client/attribution/graph-options.ts +381 -0
  183. package/src/client/attribution/model.ts +462 -0
  184. package/src/client/config-scope.ts +119 -0
  185. package/src/client/convert/ConvertPanel.tsx +594 -0
  186. package/src/client/convert/styles.css +138 -0
  187. package/src/client/convert/styles.ts +49 -0
  188. package/src/client/format.ts +39 -0
  189. package/src/client/graph/layout.ts +181 -0
  190. package/src/client/graph.css +113 -0
  191. package/src/client/index.ts +98 -0
  192. package/src/client/problem-domains.ts +114 -0
  193. package/src/client/styles.css +940 -0
  194. package/src/client/styles.ts +11 -0
  195. package/src/client/useFitScale.ts +68 -0
  196. package/src/config-schema.ts +45 -0
  197. package/src/convert/core-loader.ts +68 -0
  198. package/src/convert/host.ts +579 -0
  199. package/src/convert/ingest.ts +367 -0
  200. package/src/convert/settings-schema.ts +27 -0
  201. package/src/convert/types.ts +65 -0
  202. package/src/diagnosis/cards.ts +498 -0
  203. package/src/diagnosis/problem-classes.ts +117 -0
  204. package/src/diagnosis/schema.ts +260 -0
  205. package/src/diagnosis/seed-source.ts +107 -0
  206. package/src/diagnosis/seed.ts +291 -0
  207. package/src/diagnosis/store.ts +432 -0
  208. package/src/diagnosis/types.ts +152 -0
  209. package/src/directory-picker.ts +164 -0
  210. package/src/extract-model.ts +227 -0
  211. package/src/extract.ts +632 -0
  212. package/src/fts.ts +203 -0
  213. package/src/index.ts +1091 -0
  214. package/src/intent/README.md +63 -0
  215. package/src/intent/engine.ts +527 -0
  216. package/src/intent/host.ts +462 -0
  217. package/src/intent/preset-tools.ts +48 -0
  218. package/src/intent/settings-schema.ts +63 -0
  219. package/src/intent/store.ts +143 -0
  220. package/src/intent/tools.ts +139 -0
  221. package/src/intent/types.ts +245 -0
  222. package/src/knowledge-bases.ts +1160 -0
  223. package/src/layout.ts +350 -0
  224. package/src/migrate.ts +262 -0
  225. package/src/python/embedding_worker.py +471 -0
  226. package/src/recall-rank.ts +299 -0
  227. package/src/runtime.ts +3069 -0
  228. package/src/settings-schema.ts +94 -0
  229. package/src/settings-volatile.ts +122 -0
  230. package/src/types.ts +1140 -0
  231. package/src/wiki-types.ts +357 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,387 @@
1
+ import { DIAGNOSIS_ENTITY_TYPES } from './diagnosis/schema.js';
2
+ import { homedir } from 'node:os';
3
+ import { join, resolve } from 'node:path';
4
+ /**
5
+ * 旧的「家当」目录(0029 之前模型与虚拟环境住在这里)。
6
+ *
7
+ * 现在它们是**兜底**:路径解析优先看 `<agentRoot>/resource/`,找不到再回这里,
8
+ * 最后才退回裸的模型名(从 HuggingFace 拉)。这样搬完家当、或还没搬完家当,
9
+ * 行为都对;而 `TITA_DATA_AGENT_HOME` 仍然是覆盖它的入口。
10
+ */
11
+ export const legacyResourceHome = () => resolve(process.env.TITA_DATA_AGENT_HOME || join(homedir(), '.tita-data-agent'));
12
+ /** 本地模型目录名。与 `layout.ts` 的 `resourceModels()` 拼在一起就是主位置。 */
13
+ export const LOCAL_EMBEDDING_MODEL_DIR = 'WeMM-Embedding-2B-Quantized';
14
+ export const LOCAL_RERANK_MODEL_DIR = 'bge-reranker-base';
15
+ /** 裸模型名:本地没有时从 HuggingFace 拉。 */
16
+ export const FALLBACK_EMBEDDING_MODEL = 'ewin-reg/WeMM-Embedding-2B-Quantized';
17
+ export const FALLBACK_RERANK_MODEL = 'BAAI/bge-reranker-base';
18
+ /**
19
+ * 除两个路径字段以外的全部默认值。
20
+ *
21
+ * `agentRoot` / `rootDir` 由 `index.ts` 用 `layout.ts` 算出来再合进来 —— 它们是
22
+ * 环境与磁盘事实(桌面在哪、旧树在不在),不是这张常量表能自己回答的。
23
+ */
24
+ export const DEFAULT_KNOWLEDGE_CONFIG = {
25
+ // 智能归因的五类在这里一并默认开启:没有它们,排查思路写不进 wiki、召不回来(见 SchemaType)。
26
+ schemaTypes: ['concept', 'metric', 'table', 'event', 'playbook', 'case', ...DIAGNOSIS_ENTITY_TYPES],
27
+ sourceAppendTypes: ['chat_message', 'ai_chat_message', 'document'],
28
+ allowSourceTruth: true,
29
+ // 0029 撤掉了 `maxSourceBytes`:单条来源**没有**字符数上限。见
30
+ // `runtime.ts` 的 `addSource` —— 真正的边界是转换内核的 `maxInputBytes`
31
+ // 与嵌入分批,不是存储层的一个配额。
32
+ // 只有显式写 `false` / `0` 才关;空值、其他任何写法都按默认「开」处理,
33
+ // 免得一个打错的 env 值把整条 Pass 0 悄悄关掉。
34
+ extractCandidates: !['false', '0'].includes((process.env.DSH_KNOWLEDGE_EXTRACT_CANDIDATES ?? '').trim().toLowerCase()),
35
+ // #3b:模型抽取默认**关**。它会真花钱、也依赖模型可用,所以由用户显式打开;
36
+ // 关着时链路与以前完全一致(纯规则 Pass 0)。
37
+ extractWithModel: ['true', '1'].includes((process.env.DSH_KNOWLEDGE_EXTRACT_WITH_MODEL ?? '').trim().toLowerCase()),
38
+ // 0029:三个「家当」路径的默认值是**空串 = 自动**。它们跟着 `<agentRoot>/resource/`
39
+ // 走,而 agentRoot 由设置决定、模块加载时还不知道 —— 所以在运行时解析
40
+ // (`runtime.ts` 的 `resolveResources`)。环境变量仍然优先。
41
+ python: process.env.DSH_PYTHON || '',
42
+ embeddingProvider: 'wemm-python',
43
+ embeddingBaseUrl: process.env.DSH_EMBEDDING_BASE_URL || 'http://127.0.0.1:11434',
44
+ embeddingModel: process.env.DSH_EMBEDDING_MODEL || process.env.DSH_EMBEDDING_MODEL_PATH || '',
45
+ embeddingDimension: Number(process.env.DSH_EMBEDDING_DIM || 1024),
46
+ embeddingBatchSize: 8,
47
+ embeddingTimeoutMs: 120000,
48
+ embeddingDevice: process.env.DSH_EMBEDDING_DEVICE || 'auto',
49
+ recallTopK: Number(process.env.DSH_KNOWLEDGE_RECALL_TOP_K || 10),
50
+ recallCandidatePool: Number(process.env.DSH_KNOWLEDGE_CANDIDATE_POOL || 50),
51
+ recallMode: process.env.DSH_KNOWLEDGE_RECALL_MODE || 'hybrid',
52
+ // 阈值初值:关键词与重排沿用 WeKnora 的出厂值(0.3 / 0.2),**向量阈值必须改** ——
53
+ // 见下。
54
+ keywordThreshold: Number(process.env.DSH_KNOWLEDGE_KEYWORD_THRESHOLD || 0.3),
55
+ /**
56
+ * 向量阈值:**0.5,不是 WeKnora 的 0.15**。
57
+ *
58
+ * WeKnora 的 0.15 是给它自己那个 embedding 模型的;照搬到 WeMM 上,阈值就形同虚设 ——
59
+ * 实测(真实知识库,44 条 note,默认 WeMM):
60
+ * - 无关查询(`完全无关的词汇zzz` / `zzzzz`)的最高余弦:**0.42 / 0.32**
61
+ * - 相关查询(`怎么排查指标异常` / `DAU 突增的原因` / `日报 GMV 为 0` / `口径变更怎么处理` /
62
+ * `订单数下降`)的最高余弦:**0.60 / 0.70 / 0.83 / 0.67 / 0.74**
63
+ *
64
+ * 两簇之间有一条 0.42–0.59 的空带,0.5 落在带内。用 0.15 时无关查询会召回 43/44 条、
65
+ * `insufficientEvidence` 永远是 false —— 「弃答」就是一句空话(实测过)。
66
+ *
67
+ * 这个值**必须按模型与语料校准**:`diagnostics.routes[vector].topScore` 就是每次召回
68
+ * 的真实最高余弦,用它看自己的分布,而不是照抄别人的常数。
69
+ */
70
+ vectorThreshold: Number(process.env.DSH_KNOWLEDGE_VECTOR_THRESHOLD || 0.5),
71
+ contextTopN: Number(process.env.DSH_KNOWLEDGE_CONTEXT_TOP_N || 5),
72
+ rerankThreshold: Number(process.env.DSH_KNOWLEDGE_RERANK_THRESHOLD || 0.2),
73
+ rerankProvider: process.env.DSH_RERANK_PROVIDER || 'bert-python',
74
+ rerankModel: process.env.DSH_RERANK_MODEL || '',
75
+ rerankTimeoutMs: Number(process.env.DSH_RERANK_TIMEOUT_MS || 60000),
76
+ };
77
+ /** 默认「文件类型 → 解析引擎」规则的内容,不含 `fileCount`。 */
78
+ /**
79
+ * 从 SourceRaw 的 `metadata` 推导文档扩展名。
80
+ *
81
+ * **这个推导是有损的。** SourceRaw 只保存正文与 metadata,并不保存原始文件名;
82
+ * 因此只有上游(`src/convert/ingest.ts`)显式写了 `metadata.source_path` 时才能拿到
83
+ * 真实扩展名。回退链是启发式的:
84
+ *
85
+ * 1. `metadata.source_path` 的 basename 扩展名(最可信);
86
+ * 2. `metadata.source_format === 'markdown'` → `.md`;
87
+ * 3. `metadata.source_format === 'office'` → `.docx`(office 是容器格式的粗粒度标记,
88
+ * 真实的 .doc/.xls/.ppt 会被误报为 `.docx`);
89
+ * 4. 其余 `source_format` → `.` + source_format(当它本身就是一个扩展名时才对);
90
+ * 5. 都没有 → `.md`(知识库里最常见的形态)。
91
+ *
92
+ * 因此 `fileCount` 与按扩展名过滤都只是近似值;要精确统计需要在入库时写 `source_path`。
93
+ */
94
+ export function deriveSourceExt(metadata) {
95
+ const sourcePath = metadata && typeof metadata.source_path === 'string' ? metadata.source_path.trim() : '';
96
+ if (sourcePath) {
97
+ const base = sourcePath.split(/[\\/]/).pop() ?? '';
98
+ const dot = base.lastIndexOf('.');
99
+ if (dot > 0 && dot < base.length - 1)
100
+ return base.slice(dot).toLowerCase();
101
+ }
102
+ const format = metadata && typeof metadata.source_format === 'string' ? metadata.source_format.trim().toLowerCase() : '';
103
+ if (format === 'markdown')
104
+ return '.md';
105
+ if (format === 'office')
106
+ return '.docx';
107
+ if (format)
108
+ return `.${format}`;
109
+ return '.md';
110
+ }
111
+ /** 分类 id 的形状约束;与 0013 规范第 1 节一致。 */
112
+ export const SOURCE_TYPE_ID_PATTERN = /^[a-z][a-z0-9_]{1,40}$/;
113
+ /** 兜底分类 id;判定链全不命中时落它,因此它不可停用、不可删除。 */
114
+ export const FALLBACK_SOURCE_TYPE = 'document';
115
+ /** 单库自定义分类数量上限,防止注册表无界膨胀。 */
116
+ export const MAX_SOURCE_TYPES = 50;
117
+ /**
118
+ * 内置分类的出厂默认值(0013 规范第 7 节的 `source-types.json` 内容)。
119
+ *
120
+ * 这些值**可以改**(label / description / signals / excludes / enabled),
121
+ * 但条目本身不可删除——`normalizeSourceTypes()` 会把缺失的内置条目补回来。
122
+ */
123
+ export const BUILTIN_SOURCE_TYPES = [
124
+ {
125
+ id: 'chat_message',
126
+ label: '聊天日志',
127
+ description: '人与人之间在日常沟通中产生的消息记录,以对话往返为主要形态。',
128
+ signals: ['有发言人与时间戳的短消息流', '多话题跳转、口语化、缩写多', '常见 @提及、表情、附件'],
129
+ excludes: ['与 AI 的对话归 ai_chat_message', '整理后的会议纪要归 document', '已成问题—根因—方案的记录归 question'],
130
+ enabled: true,
131
+ builtin: true,
132
+ fallback: false,
133
+ },
134
+ {
135
+ id: 'ai_chat_message',
136
+ label: 'AI 对话日志',
137
+ description: '用户与 AI 助手之间的完整对话记录,包含双方往返消息。',
138
+ signals: ['user / assistant 角色交替', '提示词与回答成对出现', '代码块密集、常与会话 id 或模型名同现'],
139
+ excludes: ['人在群里转贴 AI 回答归 chat_message', '由 AI 对话整理出的方法论文档归 document 或 article'],
140
+ enabled: true,
141
+ builtin: true,
142
+ fallback: false,
143
+ },
144
+ {
145
+ id: 'document',
146
+ label: '企业内部文档',
147
+ description: '组织内部产生、用于内部协作与沉淀的文档;也是全不命中时的兜底分类。',
148
+ signals: ['内部作者、团队或编号、密级', '提到内部系统与组织名', '结构完整但非出版形态'],
149
+ excludes: ['面向功能与验收的需求文档归 prd', '以排查具体问题为中心归 question', '组织外部产出归 article', '正式出版物归 book'],
150
+ enabled: true,
151
+ builtin: true,
152
+ fallback: true,
153
+ },
154
+ {
155
+ id: 'book',
156
+ label: '书籍',
157
+ description: '正式出版或成体系的整书内容。',
158
+ signals: ['ISBN、出版社、版次或丛书名', '目录、章节、页码、前言、参考文献齐备', '按章拆分为多份录入'],
159
+ excludes: ['单篇论文、博客、报告归 article', '内部系统性手册归 document'],
160
+ enabled: true,
161
+ builtin: true,
162
+ fallback: false,
163
+ },
164
+ {
165
+ id: 'article',
166
+ label: '业界文章',
167
+ description: '来自组织外部或对外发布的单篇文献。',
168
+ signals: ['外链 URL、外部作者或媒体署名、发布时间', '面向公开读者', '带原文链接或转载字样'],
169
+ excludes: ['正式出版物整书归 book', '内部未对外发布的资料归 document', '排查本组织具体问题归 question'],
170
+ enabled: true,
171
+ builtin: true,
172
+ fallback: false,
173
+ },
174
+ {
175
+ id: 'prd',
176
+ label: '产品需求文档',
177
+ description: '描述要做什么产品功能、为谁做、为什么做、怎么算做完的需求文档。',
178
+ signals: ['需求背景、目标用户、用户故事', '功能列表、验收标准、上线计划、优先级', '版本号与评审状态'],
179
+ excludes: ['技术实现方案归 document', '缺陷与线上问题排查归 question', '产品使用说明归 document 或 article'],
180
+ enabled: true,
181
+ builtin: true,
182
+ fallback: false,
183
+ },
184
+ {
185
+ id: 'question',
186
+ label: '问题排查文档',
187
+ description: '以某个具体问题或故障为中心的记录:现象、影响、排查过程、根因、解决方案与后续动作。',
188
+ signals: ['错误码、堆栈或日志片段', '复现步骤、临时规避、根因、修复版本', '时间线、一问一答或一问题多方案'],
189
+ excludes: ['一般性经验总结归 document', '产品需求归 prd', '外部作者的公开分析归 article'],
190
+ enabled: true,
191
+ builtin: true,
192
+ fallback: false,
193
+ },
194
+ /**
195
+ * 以下四类是**数据域**的分类(0030)。
196
+ *
197
+ * 前七类描述的是「文档长什么样」,而数据 Agent 的日常是另一套东西:表结构、
198
+ * 指标口径、跑批脚本、一次取数的问答。它们混进 `document` 的后果最实际 ——
199
+ * 「销售额怎么算」要靠 `metric` 的公式,而不是一篇内部文档的正文;没有这一层,
200
+ * 召回就只能靠词面。
201
+ *
202
+ * 四类的边界是**它们各自回答的问题**:
203
+ * - `table`:这份数据存在哪、长什么样(字段 / 类型 / 分区 / 更新频率)。
204
+ * - `metric`:这个数字怎么算(口径、公式、维度、粒度)。
205
+ * - `data_dev_script`:这张表/这个指标是怎么被生产出来的(SQL / 调度 / 依赖)。
206
+ * - `query_case`:有人问过什么问题、当时怎么取、结果是多少(可复用的问答)。
207
+ *
208
+ * `table` 与 `data_dev_script` 最容易混:判据是**主语**——在建表和描述字段的是
209
+ * `table`,在加工数据、产出某张表的是脚本。`metric` 与 `query_case` 同理:定义
210
+ * 口径的是前者,记录“这一问是怎么答的”是后者。
211
+ */
212
+ {
213
+ id: 'table',
214
+ label: '表',
215
+ description: '一张表或一个数据集的元数据:字段清单、类型、分区、主键、更新频率与负责人。',
216
+ signals: ['CREATE TABLE / DDL,或字段名与类型成列成行', '分区字段、主键、存储格式、生命周期', '常带库名.表名与上下游说明'],
217
+ excludes: ['加工或产出这张表的 SQL / 调度归 data_dev_script', '指标口径与计算公式归 metric', '针对这张表的一次取数问答归 query_case'],
218
+ enabled: true,
219
+ builtin: true,
220
+ fallback: false,
221
+ },
222
+ {
223
+ id: 'metric',
224
+ label: '指标',
225
+ description: '一个可计算、可归属的量化口径:它是什么、怎么算、按什么维度和粒度统计、谁负责。',
226
+ signals: ['指标名 + 口径定义 + 计算公式', '统计周期、维度、粒度、负责人、目标值', '常与同比 / 环比、分层口径、口径变更历史同现'],
227
+ excludes: ['底层表的字段清单归 table', '指标异常的线上排查过程归 question', '一次具体的取数问答归 query_case'],
228
+ enabled: true,
229
+ builtin: true,
230
+ fallback: false,
231
+ },
232
+ {
233
+ id: 'data_dev_script',
234
+ label: '数据开发脚本',
235
+ description: '生产数据用的加工逻辑:SQL、PySpark、Shell 或调度定义,说明它读什么、写什么、什么时候跑。',
236
+ signals: ['SELECT … FROM / INSERT OVERWRITE / DAG 定义等可执行代码块', '调度周期、依赖、参数模板、临时表', '注明产出表名与跑批窗口'],
237
+ excludes: ['在建表并描述字段的是 table', '定义指标口径的是 metric', '只讲怎么取一次数的是 query_case'],
238
+ enabled: true,
239
+ builtin: true,
240
+ fallback: false,
241
+ },
242
+ {
243
+ id: 'query_case',
244
+ label: '数据查询案例',
245
+ description: '一次取数问答的完整记录:被问的是什么、口径怎么理解、查了哪张表、用了什么 SQL、结果对不对。',
246
+ signals: ['「问题 → 口径 → SQL → 结果」的成对结构', '带样例输出、校验数字或与预期不符的说明', '常被当作同类问题的复用模板'],
247
+ excludes: ['指标本身的定义与公式归 metric', '线上指标异常的排查记录归 question', '底层表结构归 table'],
248
+ enabled: true,
249
+ builtin: true,
250
+ fallback: false,
251
+ },
252
+ ];
253
+ const BUILTIN_SOURCE_TYPE_IDS = new Set(BUILTIN_SOURCE_TYPES.map(def => def.id));
254
+ export function isBuiltinSourceType(id) {
255
+ return BUILTIN_SOURCE_TYPE_IDS.has(id);
256
+ }
257
+ /** 出厂默认注册表(全部启用,`sourceCount` 待算)。 */
258
+ export function defaultSourceTypes() {
259
+ return BUILTIN_SOURCE_TYPES.map(def => ({
260
+ ...def,
261
+ signals: [...def.signals],
262
+ excludes: [...def.excludes],
263
+ sourceCount: 0,
264
+ }));
265
+ }
266
+ /**
267
+ * 深冻结:把「内置、不允许修改」从口头约定变成运行时可验证的事实。
268
+ *
269
+ * 冻结失败不会让进程崩溃——ESM 是严格模式,任何写入尝试会抛 `TypeError`,
270
+ * 于是"有人偷偷改提示词"会在第一次写入时就炸掉,而不是静默漂移。
271
+ */
272
+ function deepFreeze(value) {
273
+ if (value !== null && typeof value === 'object' && !Object.isFrozen(value)) {
274
+ Object.freeze(value);
275
+ for (const nested of Object.values(value))
276
+ deepFreeze(nested);
277
+ }
278
+ return value;
279
+ }
280
+ export const SOURCE_CLASSIFIER_PROMPT = deepFreeze({
281
+ readonly: true,
282
+ version: 2,
283
+ title: '来源业务分类判定规则',
284
+ priority: [
285
+ { type: 'user', rule: '用户显式指定分类 → 直接用,记 source_type_source: user。' },
286
+ { type: 'ai_chat_message', rule: '内容是人与 AI 的对话记录(含 AI 回复)→ ai_chat_message。' },
287
+ { type: 'chat_message', rule: '内容是人与人之间的消息流(IM / 会议聊天 / 客服会话)→ chat_message。' },
288
+ // 数据域四类排在通用文档之前:它们的形状(DDL、公式、SQL、问答)比
289
+ // 「像不像一篇内部文档」更特征化,落到 document 之后再想捞回来就晚了。
290
+ // 四类之间的次序按「定义的确定性」排:口径与表结构有明确文本特征,脚本次之,
291
+ // 取数问答最接近泛化的对话记录。
292
+ { type: 'metric', rule: '内容在定义一个可计算的量化口径(指标名 + 公式 + 维度 / 粒度 / 负责人)→ metric。' },
293
+ { type: 'table', rule: '内容在描述一张表或数据集本身(字段清单、类型、分区、主键、更新频率)→ table。' },
294
+ { type: 'data_dev_script', rule: '内容是生产数据的加工逻辑(SQL / PySpark / Shell / 调度定义,读什么写什么)→ data_dev_script。' },
295
+ { type: 'question', rule: '内容以某个具体问题或故障为中心(现象 → 排查 → 根因 → 措施)→ question。' },
296
+ { type: 'query_case', rule: '内容是一次取数问答的完整记录(问题 → 口径 → SQL → 结果)→ query_case。' },
297
+ { type: 'prd', rule: '内容面向「要做什么功能、给谁用、怎么算做完」→ prd。' },
298
+ { type: 'book', rule: '内容是正式出版物或成体系的整书 → book。' },
299
+ { type: 'article', rule: '内容是组织外部产出或对外发布的单篇文献 → article。' },
300
+ { type: 'document', rule: '以上都不是的企业内部协作文档 → document。' },
301
+ ],
302
+ confidenceRule: '每一步都要求高置信才落定;同时命中两类且无法用优先级化解时不得自行决断,也不允许静默落 document。',
303
+ fallback: { type: FALLBACK_SOURCE_TYPE, note: '全不命中时的唯一兜底分类;该分类必须存在且不可停用。' },
304
+ escalation: {
305
+ code: 'SOURCE_TYPE_REQUIRED',
306
+ note: '返回 SOURCE_TYPE_REQUIRED 并附 2–3 个候选(含理由)交给用户在录入向导里选;用户也判不了时要求其显式确认一个暂定分类,并标记 needs_review。',
307
+ },
308
+ extensionRule: '自定义分类的 description / signals / excludes 由用户撰写并拼进本提示词参与判定:description 必须写清「是什么」,signals 至少 2 条,excludes 至少 1 条且必须指向一个已存在的分类。',
309
+ });
310
+ /**
311
+ * 展开成"每步带 label / enabled / exists"的视图。
312
+ *
313
+ * `priority` 直接复用被冻结的原数组(不复制),所以视图也无法被就地改写;
314
+ * 每次调用只新建 `steps`,并把它一并冻结。注册表怎么改,提示词骨架都不变。
315
+ */
316
+ export function classifierPromptView(defs) {
317
+ const byId = new Map(defs.map(def => [def.id, def]));
318
+ const steps = SOURCE_CLASSIFIER_PROMPT.priority.map(step => {
319
+ const def = byId.get(step.type);
320
+ return Object.freeze({ ...step, label: def?.label ?? step.type, enabled: def?.enabled ?? false, exists: def !== undefined });
321
+ });
322
+ return Object.freeze({ ...SOURCE_CLASSIFIER_PROMPT, steps: Object.freeze(steps) });
323
+ }
324
+ export function buildSourceTypeCatalog(defs) {
325
+ return {
326
+ types: defs,
327
+ classifierPrompt: classifierPromptView(defs),
328
+ fallbackTypeId: FALLBACK_SOURCE_TYPE,
329
+ builtinIds: BUILTIN_SOURCE_TYPES.map(def => def.id),
330
+ };
331
+ }
332
+ const EXTENSION_HINT = /\.(pdf|docx?|xlsx?|pptx?|md|markdown|txt|csv|json|tsv|html?|png|jpe?g|gif|webp|zip)\b/i;
333
+ /**
334
+ * 校验一份自定义分类草稿。
335
+ *
336
+ * 这是在守「用户追加新类型时,必须用文字标明怎么判断」这条要求:光给个名字
337
+ * 是不允许入库的——入库的 `description` 会直接变成 Agent 的判定依据。
338
+ */
339
+ export function validateSourceTypeDraft(draft, knownIds) {
340
+ const id = typeof draft.id === 'string' ? draft.id.trim() : '';
341
+ if (!SOURCE_TYPE_ID_PATTERN.test(id)) {
342
+ return { ok: false, code: 'SOURCE_TYPE_ID_INVALID', field: 'id', message: '分类 id 必须是小写字母开头的 2–41 位小写字母 / 数字 / 下划线', suggestion: '例如 test_unit、design_review;id 创建后不可修改。' };
343
+ }
344
+ if (isBuiltinSourceType(id)) {
345
+ return { ok: false, code: 'SOURCE_TYPE_BUILTIN_LOCKED', field: 'id', message: `内置分类 id 不可占用或修改: ${id}`, suggestion: '内置分类只能改文案或停用;新场景请另起 id。' };
346
+ }
347
+ return validateSourceTypeText(draft, knownIds);
348
+ }
349
+ /**
350
+ * 只校验判定文案(label / description / signals / excludes),不碰 id。
351
+ *
352
+ * 内置分类改文案走这里:id 锁定,但「必须写得能判」的标准一样严。
353
+ */
354
+ export function validateSourceTypeText(draft, knownIds) {
355
+ const label = typeof draft.label === 'string' ? draft.label.trim() : '';
356
+ if (!label)
357
+ return { ok: false, code: 'SOURCE_TYPE_LABEL_REQUIRED', field: 'label', message: 'label 不能为空' };
358
+ const description = typeof draft.description === 'string' ? draft.description.trim() : '';
359
+ if (description.length < 8) {
360
+ return { ok: false, code: 'SOURCE_TYPE_DESCRIPTION_REQUIRED', field: 'description', message: 'description 必填,且要写清这个分类「是什么」', suggestion: '一句话定义,至少 8 个字;它是 Agent 判定该分类的主要依据。' };
361
+ }
362
+ if (EXTENSION_HINT.test(description)) {
363
+ return { ok: false, code: 'SOURCE_TYPE_DESCRIPTION_BY_FORMAT', field: 'description', message: 'description 描述的是业务场景,不能写成载体 / 文件格式', suggestion: '例如不要写「包含 .xlsx 和 .csv 文件」,要写「用于跟踪测试用例执行结果的记录」。载体请走 source_format。' };
364
+ }
365
+ const signals = Array.isArray(draft.signals) ? draft.signals.map(item => String(item).trim()).filter(Boolean) : [];
366
+ if (signals.length < 2) {
367
+ return { ok: false, code: 'SOURCE_TYPE_SIGNALS_REQUIRED', field: 'signals', message: 'signals 至少 2 条', suggestion: '写清「看到什么就说明是这一类」,每条一个特征。' };
368
+ }
369
+ const excludes = Array.isArray(draft.excludes) ? draft.excludes.map(item => String(item).trim()).filter(Boolean) : [];
370
+ if (excludes.length < 1) {
371
+ return { ok: false, code: 'SOURCE_TYPE_EXCLUDES_REQUIRED', field: 'excludes', message: 'excludes 至少 1 条', suggestion: '写清「看起来像但其实不是」的情况,并指明它该归到哪个分类。' };
372
+ }
373
+ // 每条排除项都必须指向一个已存在的分类,否则边界是悬空的。
374
+ const known = [...new Set([...knownIds, draft.id ?? ''])].filter(Boolean);
375
+ const dangling = excludes.filter(text => !known.some(knownId => text.includes(knownId)));
376
+ if (dangling.length > 0) {
377
+ return {
378
+ ok: false, code: 'SOURCE_TYPE_EXCLUDE_DANGLING', field: 'excludes',
379
+ message: `排除项没有指向任何已存在的分类: ${dangling[0]}`,
380
+ suggestion: `每条排除项都要写出「归到哪个分类」,用 id 或标签都行。可用分类: ${known.join(' / ')}`,
381
+ };
382
+ }
383
+ return { ok: true };
384
+ }
385
+ /** 卡片类型 id 的形状;允许 `diagnosis/symptom` 这类带命名空间的 id。 */
386
+ export const WIKI_TYPE_ID_PATTERN = /^[a-z][a-z0-9_/-]{1,60}$/;
387
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import type { CardSchemaIssue, WikiFieldSpec, WikiSectionSpec, WikiTypeDef } from './types.js';
2
+ /** 由小节派生模板卡。**没有第二份手写模板**:改了 sections,模板跟着变。 */
3
+ export declare function templateCardFor(sections: WikiSectionSpec[], fields?: WikiFieldSpec[]): string;
4
+ /**
5
+ * 出厂注册表:6 个通用类型 + diagnosis 的 5 个类型族。
6
+ *
7
+ * diagnosis 的部分**从 `diagnosis/schema.ts` 取**——0021 明确要求那张清单只有一个定义处,
8
+ * 抄第二份的下场是"校验通过了但编译器不认"。
9
+ */
10
+ export declare const DEFAULT_WIKI_TYPES: WikiTypeDef[];
11
+ export declare function isBuiltinWikiType(id: string): boolean;
12
+ /** 出厂注册表副本(全部启用,`cardCount` 待算)。 */
13
+ export declare function defaultWikiTypes(): WikiTypeDef[];
14
+ /**
15
+ * 内置只读的判定规则:模型该按什么顺序挑类型。
16
+ *
17
+ * 与 0013 的 `classifierPrompt` 同构——**不允许修改,但必须暴露**。
18
+ */
19
+ export declare const WIKI_TYPE_RULES: string;
20
+ /** 新增 / 编辑类型时提交的草稿。 */
21
+ export interface WikiTypeDraft {
22
+ id?: string;
23
+ label?: string;
24
+ description?: string;
25
+ layer?: string;
26
+ sections?: unknown;
27
+ fields?: unknown;
28
+ sourceTypes?: unknown;
29
+ examples?: unknown;
30
+ }
31
+ export interface WikiTypeDraftProblem {
32
+ ok: false;
33
+ code: string;
34
+ message: string;
35
+ suggestion?: string;
36
+ field: 'id' | 'label' | 'description' | 'sections' | 'fields';
37
+ }
38
+ /** 解析「每行一条」的小节草稿:`名称` 或 `名称*`(`*` = 必填)。 */
39
+ export declare function parseSectionLines(value: unknown): WikiSectionSpec[];
40
+ /** 解析字段草稿:`name` / `name|说明` / `name|说明|可选`。 */
41
+ export declare function parseFieldLines(value: unknown): WikiFieldSpec[];
42
+ /**
43
+ * 校验一份类型草稿。
44
+ *
45
+ * 与 0013 的 source type 一样:光给个名字不让入库——入库的 `sections` / `fields` 会直接
46
+ * 变成"卡片该怎么写"的约束。
47
+ */
48
+ export declare function validateWikiTypeDraft(draft: WikiTypeDraft, knownIds: ReadonlySet<string>): {
49
+ ok: true;
50
+ } | WikiTypeDraftProblem;
51
+ /** 只校验文案与小节 / 字段,不碰 id(内置类型改内容走这里)。 */
52
+ export declare function validateWikiTypeText(draft: WikiTypeDraft): {
53
+ ok: true;
54
+ } | WikiTypeDraftProblem;
55
+ /**
56
+ * 三层校验:format / reference / semantic。
57
+ *
58
+ * 只报问题,不决定是否写入——是否拦截由 `wikiSchemaMode` 决定(strict 拒绝 / report 标记)。
59
+ */
60
+ export declare function validateCardAgainstType(type: WikiTypeDef, card: {
61
+ title: string;
62
+ content: string;
63
+ sourceRefs: string[];
64
+ metadata: Record<string, unknown>;
65
+ owner?: string;
66
+ summary?: string;
67
+ }): CardSchemaIssue[];
68
+ //# sourceMappingURL=wiki-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-types.d.ts","sourceRoot":"","sources":["../../src/wiki-types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAgI9F,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,MAAM,GAAE,aAAa,EAAO,GAAG,MAAM,CAMjG;AAQD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,EAY3C,CAAA;AAID,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,oCAAoC;AACpC,wBAAgB,gBAAgB,IAAI,WAAW,EAAE,CAShD;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAMhB,CAAA;AAEZ,uBAAuB;AACvB,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,KAAK,CAAA;IACT,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,IAAI,GAAG,OAAO,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,CAAA;CAC9D;AAED,4CAA4C;AAC5C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,EAAE,CAanE;AAED,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,EAAE,CAgB/D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG,oBAAoB,CAU9H;AAED,uCAAuC;AACvC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG,oBAAoB,CAqB9F;AAUD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAClI,eAAe,EAAE,CAgDnB"}