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,62 @@
1
+ /**
2
+ * 出厂 act 词表。16 个动作覆盖"提问 / 让做 / 补充 / 反馈 / 终止 / 闲聊"六种交互。
3
+ *
4
+ * 记录仍是自由文本(模型可以写没配置过的 act,只给 warning),这份词表是**先验**:
5
+ * 它进 routing prompt,也进设置页与 `intent_registry_list`。
6
+ */
7
+ export const DEFAULT_ACTS = [
8
+ { id: 'query', label: '查询', description: '向数据或知识提问,要一个答案或一批结果。', enabled: true },
9
+ { id: 'request', label: '执行请求', description: '让 Agent 做一件事并产生副作用:写入、发送、导出、修改。', enabled: true },
10
+ { id: 'inform', label: '补充信息', description: '用户提供事实、参数或上下文,本身不要求动作。', enabled: true },
11
+ { id: 'confirm', label: '确认', description: '用户认可某个提议或方案,允许继续。', enabled: true },
12
+ { id: 'select', label: '选择', description: '在多个候选中指定一个。', enabled: true },
13
+ { id: 'correct', label: '纠正', description: '指出前面的理解或结果不对,要求改。', enabled: true },
14
+ { id: 'cancel', label: '取消', description: '终止或撤回正在进行的任务。', enabled: true },
15
+ { id: 'review', label: '审阅', description: '对已产出的内容做检查、评估与把关。', enabled: true },
16
+ { id: 'explain', label: '解释', description: '要求讲清原理、口径或原因,而不是要新数据。', enabled: true },
17
+ { id: 'compare', label: '对比', description: '把两个及以上对象放在一起比较差异。', enabled: true },
18
+ { id: 'recommend', label: '推荐', description: '要建议与取舍意见。', enabled: true },
19
+ { id: 'resume', label: '继续', description: '回到之前中断的任务继续做。', enabled: true },
20
+ { id: 'reject', label: '拒绝', description: '不接受某个提议或结果。', enabled: true },
21
+ { id: 'greet', label: '问候', description: '打招呼、开场。', enabled: true },
22
+ { id: 'chat', label: '闲聊', description: '非任务性的对话。', enabled: true },
23
+ { id: 'unknown', label: '未判定', description: '无法归入以上任何一类,或本轮信息不足以判断。', enabled: true },
24
+ ];
25
+ function category(id, label, route, description, examples) {
26
+ return { id, label, route, description, examples, enabled: true };
27
+ }
28
+ /**
29
+ * 出厂预置的意图分类。
30
+ *
31
+ * 每一项都**必须**带 `description` 与 `examples`:只给标签("数据分析")时模型
32
+ * 只能靠猜,同一句话在不同轮次会被分到不同类。这些文案是模型的匹配依据,全部
33
+ * 可以在「意图」页里改。
34
+ */
35
+ export const DEFAULT_CATEGORIES = [
36
+ category('data_analysis', '数据分析', 'query', '取数、算指标、拆口径的请求:给一个数或一段分析结论。', ['帮我算一下上个月的 GMV', '这个指标怎么拆', '跑个数看看环比']),
37
+ category('metadata_exploration', '元数据探索', 'query', '问"有哪些表/字段/口径"本身,要的是结构而不是数字。', ['这张表有哪些字段', '库里有几张订单表', '这些指标的口径是怎么定义的']),
38
+ category('data_validation', '数据校验', 'query', '核对数据是否可信:对不上、空值、重复、异常波动。', ['这两个数对不上,查一下', '帮我看下这列有没有重复', '空值率是不是偏高了']),
39
+ category('knowledge_consultation', '知识咨询', 'query', '问组织既有的结论、规则、流程或负责人,答案在知识库里。', ['我们去年是怎么定这个口径的', '知识库里有没有相关文档', '这个流程找谁确认']),
40
+ category('knowledge_building', '知识构建', 'request', '把材料沉淀进知识库:录入来源、写卡片、重建索引。', ['把这份文档存进知识库', '记一条:这个口径改成…', '帮我整理成一张知识卡片']),
41
+ category('document_research', '文档研究', 'query', '对一份或多份长文档做通读、归纳、对比、找证据。', ['把这份 PRD 读一遍,总结需求点', '这几篇文档有没有冲突', '从报告里找出支持这个结论的证据']),
42
+ category('message_collaboration', '消息协作', 'request', '替用户发消息、同步进度、在群里通知或拉人。', ['发条消息给张三', '在群里同步一下进度', '@一下负责人催确认']),
43
+ category('artifact_delivery', '产物交付', 'request', '要一个可交付的文件:表格、报告、周报、导出件。', ['导出一份 Excel', '生成这周的周报', '把结果做成表格发我']),
44
+ category('agent_engineering', 'Agent 工程', 'request', '改 Agent 自身:加工具、调提示词、改 skill、查它为什么这么答。', ['加一个工具', '这个 skill 怎么改', '它刚才为什么没调那个工具']),
45
+ category('tooling_operations', '工具运维', 'request', '运维动作:重启、看队列、清缓存、处理环境报错。', ['重启一下服务', '看看任务队列', '这个报错怎么修']),
46
+ category('personal_assistant', '个人助理', 'request', '个人日程与提醒类事务。', ['明天提醒我开会', '帮我约个会', '看下我今天的日程']),
47
+ category('conversation', '普通对话', 'chat', '寒暄、闲聊、对 Agent 本身的提问,没有数据或交付目标。', ['你好', '你是谁', '谢谢,先这样']),
48
+ ];
49
+ export const DEFAULT_PREDICATES = [
50
+ 'query_babel_data', 'query_knowledge', 'query_source_truth', 'query_metadata',
51
+ 'query_graph', 'add_source', 'write_knowledge_card', 'rebuild_knowledge',
52
+ 'send_message', 'export_artifact', 'unknown',
53
+ ];
54
+ export const DEFAULT_INTENT_SETTINGS = {
55
+ clarifyThreshold: 0.65,
56
+ ttlSeconds: 600,
57
+ fallbackEnabled: true,
58
+ categories: DEFAULT_CATEGORIES,
59
+ acts: DEFAULT_ACTS,
60
+ predicates: DEFAULT_PREDICATES,
61
+ };
62
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/intent/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,266 @@
1
+ /**
2
+ * 多知识库注册表(0021)。
3
+ *
4
+ * 产品参照 WeKnora:**一个知识库 = 独立配置 + 独立内容**。每个库有自己的
5
+ * `rootDir`(沿用既有的 `01_source_truth` / `02_wiki` / `03_compiled` /
6
+ * `04_memory` 布局)和一套「文件类型 → 解析引擎」规则;库下面挂文档列表、
7
+ * 文档详情与版本历史。
8
+ *
9
+ * 0029:库的 `rootDir` 不再是各写各的自由路径,而是**从 Tita Agent 根路径推出来的
10
+ * 一格**:`<agentRoot>/domain_knowledge/<库 id>`。注册表因此不再需要用户为每个库
11
+ * 挑一个目录 —— 见 `layout.ts` 的三条原理。
12
+ *
13
+ * 注册表本身只持久化**配置**(id / name / description / rootDir / sourceTypes / wikiTypes),
14
+ * 落到 `<dataHome>/knowledge-bases.json`,`dataHome =
15
+ * process.env.TITA_DATA_AGENT_HOME || ~/.tita-data-agent`。
16
+ * `sourceCount` / `cardCount` / `noteCount` / `buildVersion` 和每条分类/类型的
17
+ * 计数都是**计算字段**,缓存在同一个 JSON 里,由 `refresh()` 从真实
18
+ * runtime 重新统计;这样 `list()` / `get()` 保持同步签名(前端首屏直接用),
19
+ * 路由在返回前 `await refresh()` 拿到准确值。
20
+ *
21
+ * 默认库 id 固定为 `default`,其 `rootDir` 始终来自 `defaultRootDir()`
22
+ * (即插件设置里的 `agentRoot` 推出来的那一格),因此旧接口 / 旧工具不传 `kb`
23
+ * 时行为完全不变。
24
+ */
25
+ import { type Envelope, type KnowledgeBase, type KnowledgeConfig, type SourceTypeDef, type SourceTypeDraft, type WikiSchemaMode, type WikiTypeDef } from './types.js';
26
+ import { type WikiTypeDraft } from './wiki-types.js';
27
+ import { KnowledgeRuntime } from './runtime.js';
28
+ /**
29
+ * 默认知识库的 id。
30
+ *
31
+ * 导出成常量而不是只放在类字段上:`index.ts` 里 `runtimeOptions()` 会被
32
+ * **`bases` 构造之前**调用一次(默认库的 runtime 要先于注册表存在,因为注册表要
33
+ * 复用它),那时读 `bases.defaultId` 会撞上 TDZ。id 本身是契约的一部分,本来就
34
+ * 不该只挂在一个实例上。
35
+ */
36
+ export declare const DEFAULT_KB_ID = "default";
37
+ export interface KnowledgeBasesOptions {
38
+ /** 覆盖 `~/.tita-data-agent`;测试用临时目录,避免写用户主目录。 */
39
+ dataHome?: string;
40
+ /** 默认库的根目录来源;插件传入由 `agentRoot` 推出来的那一格。 */
41
+ defaultRootDir?: () => string;
42
+ /**
43
+ * Tita Agent 根路径来源(0029)。给了它,**新建**的知识库就落在
44
+ * `<agentRoot>/domain_knowledge/<id>`;不给则退回旧行为
45
+ * (`<dataHome>/knowledge-bases/<id>`),这样只关心注册表逻辑的单元测试
46
+ * 不必先造一个根路径。
47
+ */
48
+ agentRoot?: () => string;
49
+ /**
50
+ * 默认库已由宿主(settings 驱动)持有 runtime 时,复用它而不是另建一个,
51
+ * 否则同一个 rootDir 会被两个 runtime 同时写。
52
+ */
53
+ defaultRuntime?: () => KnowledgeRuntime;
54
+ /** 非默认库的 runtime 配置来源(embedding / rerank / topK 等跟随插件设置)。 */
55
+ config?: () => Partial<Omit<KnowledgeConfig, 'rootDir' | 'agentRoot'>>;
56
+ /**
57
+ * 覆盖注册表文件位置(默认 `<dataHome>/knowledge-bases.json`)。
58
+ *
59
+ * 可以是函数:0029 起它跟着 `agentRoot` 走(`<agentRoot>/resource/knowledge-bases.json`),
60
+ * 而 agentRoot 由设置决定、构造时还不知道。
61
+ */
62
+ registryFile?: string | (() => string);
63
+ }
64
+ export declare function defaultDataHome(): string;
65
+ export declare class KnowledgeBases {
66
+ readonly defaultId = "default";
67
+ private readonly dataHome;
68
+ /** 路径来源可以是函数(跟着 agentRoot 走),所以现算。 */
69
+ private resolveRegistry;
70
+ /**
71
+ * **实际在用**的注册表文件。
72
+ *
73
+ * 由 `repoint()` 决定,`ensureLoaded()` 与 `persist()` 都读它。之所以不能每次都现算:
74
+ * 家当搬迁失败时(跨卷等)我们要**留在旧位置**,而「留在哪」必须是一个被记住的
75
+ * 决定,不能每次重新推导 —— 否则读在旧位置、写在新的,两边就分叉了。
76
+ */
77
+ private activeRegistry;
78
+ /** 实际在用的注册表文件;`repoint()` 还没跑过时就是配置算出来的那个。 */
79
+ private get registryPath();
80
+ private readonly options;
81
+ private records;
82
+ private stats;
83
+ /** runtime 缓存按 rootDir 建键,两个库共用目录时也就共用 runtime。 */
84
+ private readonly runtimes;
85
+ private loaded;
86
+ constructor(options?: KnowledgeBasesOptions);
87
+ /**
88
+ * 注册表位置变了就重新读一遍(0029:它跟着 `agentRoot` 走)。
89
+ *
90
+ * 位置没变时是空操作。变了的场景只有一个:用户改了根路径,于是注册表要跟着
91
+ * 搬过去 —— 那时旧位置的记录必须丢掉,否则会出现「两个库列表叠在一起」。
92
+ * 缓存的 runtime 一并关掉:它们的 `rootDir` 是按旧 agentRoot 算的。
93
+ */
94
+ repoint(): Promise<void>;
95
+ list(): KnowledgeBase[];
96
+ get(id: string): KnowledgeBase | undefined;
97
+ /**
98
+ * 某个知识库的 runtime(按 rootDir 缓存)。
99
+ *
100
+ * 未知 id 抛 `BASE_NOT_FOUND`(契约签名是同步返回 runtime,没有 Envelope
101
+ * 可承载错误);路由先用 `get()` 做 404 判定。
102
+ */
103
+ runtimeOf(id: string): KnowledgeRuntime;
104
+ /**
105
+ * 设置变化后调用:关掉并丢弃非默认库的 runtime,下次 `runtimeOf` 会用新的
106
+ * embedding / rerank 配置重建。默认库由宿主自己重建,这里不动。
107
+ */
108
+ invalidate(): void;
109
+ closeAll(): void;
110
+ /**
111
+ * 从真实 runtime 重新统计一个(或全部)知识库的 sourceCount / cardCount /
112
+ * noteCount / buildVersion 与每条规则的 fileCount,并落盘缓存。
113
+ * 目录不可读时保留上一次统计,不抛错、不谎报 0。
114
+ */
115
+ refresh(id?: string): Promise<void>;
116
+ private refreshOne;
117
+ /**
118
+ * 新建知识库。名字为空时抛 `NAME_REQUIRED`(契约签名返回裸
119
+ * `KnowledgeBase`,没有 Envelope 可承载错误,路由捕获后转 400)。
120
+ * `rootDir` 缺省为 `<agentRoot>/domain_knowledge/<id>`(0029);没接根路径时
121
+ * 退回 `<dataHome>/knowledge-bases/<id>`。
122
+ */
123
+ create(input: {
124
+ name: string;
125
+ description?: string;
126
+ rootDir?: string;
127
+ }): Promise<KnowledgeBase>;
128
+ /**
129
+ * 更新名称 / 描述 / 来源类型注册表 / Wiki 类型注册表。
130
+ *
131
+ * `patch.fileTypes` 与 `patch.sourceTypes` 都是**完整的期望列表**:凡是提供了
132
+ * 列表却丢掉了某个「在用」的条目,就返回 `*_IN_USE` 并且**整体不写入**(不做
133
+ * 部分更新),这样前端不会出现「名称改了、规则没删掉」的半成品状态。
134
+ *
135
+ * `sourceTypes` 另有三条注册表专属守卫(0013):内置分类不允许删除(缺失即
136
+ * 恢复,并给出 warning)、兜底分类 `document` 不允许停用、新建自定义分类必须
137
+ * 提交完整判定文案。
138
+ */
139
+ update(id: string, patch: {
140
+ name?: string;
141
+ description?: string;
142
+ sourceTypes?: SourceTypeDef[];
143
+ wikiTypes?: WikiTypeDef[];
144
+ wikiSchemaMode?: WikiSchemaMode;
145
+ resetWikiTypes?: boolean;
146
+ }): Promise<Envelope<KnowledgeBase>>;
147
+ /** 某个知识库当前生效的分类注册表(含 `sourceCount`)。供 runtime provider 使用。 */
148
+ sourceTypesOf(id: string): SourceTypeDef[];
149
+ /**
150
+ * 新增一个自定义分类。
151
+ *
152
+ * 必须先满足判定文案要求(`validateSourceTypeDraft`)——0013 的「用户追加新
153
+ * 类型时要用文字标明怎么判断」在这里落成硬校验:没有 `description` /
154
+ * 至少 2 条 `signals` / 至少 1 条指向已知分类的 `excludes`,一律不进注册表。
155
+ */
156
+ addSourceType(id: string, draft: SourceTypeDraft): Promise<Envelope<SourceTypeDef>>;
157
+ /**
158
+ * 编辑一个分类的文案 / 启用状态。
159
+ *
160
+ * - 内置分类:可以改 `label` / `description` / `signals` / `excludes` / `enabled`;
161
+ * - 兜底分类 `document`:**不允许停用**(判定链最后一步落在它上);
162
+ * - 自定义分类:同样可以改,`id` 永远锁定。
163
+ */
164
+ updateSourceType(id: string, typeId: string, patch: SourceTypeDraft): Promise<Envelope<SourceTypeDef>>;
165
+ /**
166
+ * 删除知识库。
167
+ *
168
+ * 只删注册表条目,**不动磁盘内容**(删用户文档是不可逆的,必须先显式清空文档,
169
+ * 这也是 `BASE_IN_USE` 守卫的另一半含义)。默认库拒绝删除。
170
+ */
171
+ remove(id: string): Promise<Envelope<{
172
+ deleted: true;
173
+ }>>;
174
+ /**
175
+ * 删除一个来源分类(0013)。
176
+ *
177
+ * 三层守卫,顺序即优先级:
178
+ * 1. 内置分类**不允许删除**(只能停用);
179
+ * 2. 兜底分类**不允许删除**(它必须永远存在);
180
+ * 3. 该分类下还有来源(`sourceCount > 0`)→ `SOURCE_TYPE_IN_USE`,先迁移再删。
181
+ */
182
+ removeSourceType(id: string, typeId: string): Promise<Envelope<{
183
+ deleted: true;
184
+ }>>;
185
+ /** 某个知识库当前生效的卡片类型(含 `cardCount`)。供 runtime provider 使用。 */
186
+ wikiTypesOf(id: string): WikiTypeDef[];
187
+ /** 卡片 schema 生效方式;未知 id 回退出厂值。 */
188
+ wikiSchemaModeOf(id: string): WikiSchemaMode;
189
+ /**
190
+ * 新增一个卡片类型。
191
+ *
192
+ * 与 0013 的 source type 同一条要求:光给名字不让入库——`sections` / `fields` 会直接
193
+ * 变成"卡片该怎么写"的约束,也是模板卡的来源。
194
+ */
195
+ addWikiType(id: string, draft: WikiTypeDraft): Promise<Envelope<WikiTypeDef>>;
196
+ /** 编辑一个卡片类型的文案 / 小节 / 字段 / 启停。内置类型也可以改,但 id 与 `builtin` 锁定。 */
197
+ updateWikiType(id: string, typeId: string, patch: WikiTypeDraft & {
198
+ enabled?: boolean;
199
+ }): Promise<Envelope<WikiTypeDef>>;
200
+ /**
201
+ * 删除一个卡片类型。
202
+ *
203
+ * 两层守卫:内置类型不可删(只能停用);该类型下还有卡片时不可删(先改卡片类型)。
204
+ */
205
+ removeWikiType(id: string, typeId: string): Promise<Envelope<{
206
+ deleted: true;
207
+ }>>;
208
+ /** 切换卡片 schema 的生效方式(`report` 只标记,`strict` 拒绝不合规的写入)。 */
209
+ setWikiSchemaMode(id: string, mode: WikiSchemaMode): Promise<Envelope<{
210
+ mode: WikiSchemaMode;
211
+ }>>;
212
+ /** 把一条 draft 转成完整类型(模板卡由小节派生,不手写第二份)。 */
213
+ private wikiTypeFromDraft;
214
+ private stringList;
215
+ /**
216
+ * 把磁盘上的 `wikiTypes` 规整成**必定包含全部内置类型**的合法注册表。
217
+ *
218
+ * 与 `normalizeSourceTypes` 同一套语义:老配置(没有 `wikiTypes` 字段)升级时补齐内置,
219
+ * 缺失的内置类型被恢复(内置只允许停用,不允许删除)。
220
+ */
221
+ private normalizeWikiTypes;
222
+ /** 用一条持久化记录覆盖默认值;`builtin` / `id` 只信服务端。 */
223
+ private wikiTypeFromRecord;
224
+ /** `wikiTypes` 是否已偏离出厂定义(只看语义字段,不看计算字段)。 */
225
+ private wikiTypesDifferFromDefaults;
226
+ /**
227
+ * 把 `wikiTypes` 恢复成出厂定义(模式一并回到 `report`)。
228
+ *
229
+ * 与"整表提交里缺了某个内置类型"不同:那条路径只是**恢复缺失项**,保留了用户改过的内容;
230
+ * 这里是货真价实的重置,所以单独一个开关,语义不含糊。
231
+ */
232
+ resetWikiTypes(id: string): Promise<Envelope<KnowledgeBase>>;
233
+ private defaultRootDir;
234
+ private requireRecord;
235
+ private view;
236
+ private seedDefault;
237
+ private ensureLoaded;
238
+ private normalize;
239
+ /**
240
+ * 把磁盘上的 `sourceTypes` 规整成一个**必定包含全部内置分类**的合法注册表。
241
+ *
242
+ * 两个关键行为:
243
+ * 1. 老注册表(没有 `sourceTypes` 字段)升级时自动补上全部内置分类;
244
+ * 2. 任何缺失的内置分类都会被补回来——内置分类只允许停用,不允许删除。
245
+ */
246
+ private normalizeSourceTypes;
247
+ /** 用一条持久化记录覆盖默认值;`builtin` / `fallback` / `id` 只信服务端。 */
248
+ private sourceTypeFromRecord;
249
+ /**
250
+ * 合并前端提交的**完整**注册表列表。
251
+ *
252
+ * 返回 `error` 表示整体拒绝(不做部分写入);返回 `warnings` 表示有内容被
253
+ * 静默纠正(目前只有"试图删除内置分类"这一种),前端据此提示用户。
254
+ */
255
+ private mergeSourceTypes;
256
+ /**
257
+ * 合并前端提交的**完整**卡片类型列表。
258
+ *
259
+ * 与 `mergeSourceTypes` 同一套语义:内置类型不可删除(缺失即恢复 + warning),
260
+ * 在用类型不可删除(整体拒绝,不做部分写入),自定义类型必须能写出骨架。
261
+ */
262
+ private mergeWikiTypes;
263
+ private nextId;
264
+ private persist;
265
+ }
266
+ //# sourceMappingURL=knowledge-bases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-bases.d.ts","sourceRoot":"","sources":["../../src/knowledge-bases.ts"],"names":[],"mappings":"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"}