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.
- package/LICENSE +21 -0
- package/README.md +360 -0
- package/cordis.patch.yml +410 -0
- package/eval/README.md +76 -0
- package/eval/evaluate-retrieval.mjs +121 -0
- package/eval/queries.example.jsonl +2 -0
- package/lib/client.js +111415 -0
- package/lib/types/config-schema.d.ts +35 -0
- package/lib/types/config-schema.d.ts.map +1 -0
- package/lib/types/config-schema.js +34 -0
- package/lib/types/config-schema.js.map +1 -0
- package/lib/types/convert/core-loader.d.ts +32 -0
- package/lib/types/convert/core-loader.d.ts.map +1 -0
- package/lib/types/convert/core-loader.js +60 -0
- package/lib/types/convert/core-loader.js.map +1 -0
- package/lib/types/convert/host.d.ts +88 -0
- package/lib/types/convert/host.d.ts.map +1 -0
- package/lib/types/convert/host.js +479 -0
- package/lib/types/convert/host.js.map +1 -0
- package/lib/types/convert/ingest.d.ts +125 -0
- package/lib/types/convert/ingest.d.ts.map +1 -0
- package/lib/types/convert/ingest.js +228 -0
- package/lib/types/convert/ingest.js.map +1 -0
- package/lib/types/convert/settings-schema.d.ts +18 -0
- package/lib/types/convert/settings-schema.d.ts.map +1 -0
- package/lib/types/convert/settings-schema.js +26 -0
- package/lib/types/convert/settings-schema.js.map +1 -0
- package/lib/types/convert/types.d.ts +46 -0
- package/lib/types/convert/types.d.ts.map +1 -0
- package/lib/types/convert/types.js +41 -0
- package/lib/types/convert/types.js.map +1 -0
- package/lib/types/diagnosis/cards.d.ts +71 -0
- package/lib/types/diagnosis/cards.d.ts.map +1 -0
- package/lib/types/diagnosis/cards.js +482 -0
- package/lib/types/diagnosis/cards.js.map +1 -0
- package/lib/types/diagnosis/problem-classes.d.ts +51 -0
- package/lib/types/diagnosis/problem-classes.d.ts.map +1 -0
- package/lib/types/diagnosis/problem-classes.js +66 -0
- package/lib/types/diagnosis/problem-classes.js.map +1 -0
- package/lib/types/diagnosis/schema.d.ts +65 -0
- package/lib/types/diagnosis/schema.d.ts.map +1 -0
- package/lib/types/diagnosis/schema.js +208 -0
- package/lib/types/diagnosis/schema.js.map +1 -0
- package/lib/types/diagnosis/seed-source.d.ts +20 -0
- package/lib/types/diagnosis/seed-source.d.ts.map +1 -0
- package/lib/types/diagnosis/seed-source.js +96 -0
- package/lib/types/diagnosis/seed-source.js.map +1 -0
- package/lib/types/diagnosis/seed.d.ts +50 -0
- package/lib/types/diagnosis/seed.d.ts.map +1 -0
- package/lib/types/diagnosis/seed.js +242 -0
- package/lib/types/diagnosis/seed.js.map +1 -0
- package/lib/types/diagnosis/store.d.ts +81 -0
- package/lib/types/diagnosis/store.d.ts.map +1 -0
- package/lib/types/diagnosis/store.js +409 -0
- package/lib/types/diagnosis/store.js.map +1 -0
- package/lib/types/diagnosis/types.d.ts +124 -0
- package/lib/types/diagnosis/types.d.ts.map +1 -0
- package/lib/types/diagnosis/types.js +13 -0
- package/lib/types/diagnosis/types.js.map +1 -0
- package/lib/types/directory-picker.d.ts +94 -0
- package/lib/types/directory-picker.d.ts.map +1 -0
- package/lib/types/directory-picker.js +110 -0
- package/lib/types/directory-picker.js.map +1 -0
- package/lib/types/extract-model.d.ts +76 -0
- package/lib/types/extract-model.d.ts.map +1 -0
- package/lib/types/extract-model.js +193 -0
- package/lib/types/extract-model.js.map +1 -0
- package/lib/types/extract.d.ts +121 -0
- package/lib/types/extract.d.ts.map +1 -0
- package/lib/types/extract.js +549 -0
- package/lib/types/extract.js.map +1 -0
- package/lib/types/fts.d.ts +96 -0
- package/lib/types/fts.d.ts.map +1 -0
- package/lib/types/fts.js +184 -0
- package/lib/types/fts.js.map +1 -0
- package/lib/types/index.d.ts +39 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +1112 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/intent/engine.d.ts +108 -0
- package/lib/types/intent/engine.d.ts.map +1 -0
- package/lib/types/intent/engine.js +501 -0
- package/lib/types/intent/engine.js.map +1 -0
- package/lib/types/intent/host.d.ts +88 -0
- package/lib/types/intent/host.d.ts.map +1 -0
- package/lib/types/intent/host.js +389 -0
- package/lib/types/intent/host.js.map +1 -0
- package/lib/types/intent/preset-tools.d.ts +37 -0
- package/lib/types/intent/preset-tools.d.ts.map +1 -0
- package/lib/types/intent/preset-tools.js +45 -0
- package/lib/types/intent/preset-tools.js.map +1 -0
- package/lib/types/intent/settings-schema.d.ts +59 -0
- package/lib/types/intent/settings-schema.d.ts.map +1 -0
- package/lib/types/intent/settings-schema.js +57 -0
- package/lib/types/intent/settings-schema.js.map +1 -0
- package/lib/types/intent/store.d.ts +75 -0
- package/lib/types/intent/store.d.ts.map +1 -0
- package/lib/types/intent/store.js +139 -0
- package/lib/types/intent/store.js.map +1 -0
- package/lib/types/intent/tools.d.ts +63 -0
- package/lib/types/intent/tools.d.ts.map +1 -0
- package/lib/types/intent/tools.js +108 -0
- package/lib/types/intent/tools.js.map +1 -0
- package/lib/types/intent/types.d.ts +189 -0
- package/lib/types/intent/types.d.ts.map +1 -0
- package/lib/types/intent/types.js +62 -0
- package/lib/types/intent/types.js.map +1 -0
- package/lib/types/knowledge-bases.d.ts +266 -0
- package/lib/types/knowledge-bases.d.ts.map +1 -0
- package/lib/types/knowledge-bases.js +1107 -0
- package/lib/types/knowledge-bases.js.map +1 -0
- package/lib/types/layout.d.ts +262 -0
- package/lib/types/layout.d.ts.map +1 -0
- package/lib/types/layout.js +312 -0
- package/lib/types/layout.js.map +1 -0
- package/lib/types/migrate.d.ts +110 -0
- package/lib/types/migrate.d.ts.map +1 -0
- package/lib/types/migrate.js +280 -0
- package/lib/types/migrate.js.map +1 -0
- package/lib/types/recall-rank.d.ts +158 -0
- package/lib/types/recall-rank.d.ts.map +1 -0
- package/lib/types/recall-rank.js +261 -0
- package/lib/types/recall-rank.js.map +1 -0
- package/lib/types/runtime.d.ts +568 -0
- package/lib/types/runtime.d.ts.map +1 -0
- package/lib/types/runtime.js +3045 -0
- package/lib/types/runtime.js.map +1 -0
- package/lib/types/settings-schema.d.ts +117 -0
- package/lib/types/settings-schema.d.ts.map +1 -0
- package/lib/types/settings-schema.js +92 -0
- package/lib/types/settings-schema.js.map +1 -0
- package/lib/types/settings-volatile.d.ts +102 -0
- package/lib/types/settings-volatile.d.ts.map +1 -0
- package/lib/types/settings-volatile.js +114 -0
- package/lib/types/settings-volatile.js.map +1 -0
- package/lib/types/types.d.ts +799 -0
- package/lib/types/types.d.ts.map +1 -0
- package/lib/types/types.js +387 -0
- package/lib/types/types.js.map +1 -0
- package/lib/types/wiki-types.d.ts +68 -0
- package/lib/types/wiki-types.d.ts.map +1 -0
- package/lib/types/wiki-types.js +322 -0
- package/lib/types/wiki-types.js.map +1 -0
- package/package.json +101 -0
- package/preset/tita-data-agent/agent.cordis.yml +376 -0
- package/preset/tita-data-agent/preset.yml +3 -0
- package/python/requirements.txt +8 -0
- package/scripts/doctor.mjs +70 -0
- package/scripts/e2e-pipeline.mjs +355 -0
- package/scripts/install-agent-preset.mjs +92 -0
- package/scripts/setup-embedding.sh +34 -0
- package/scripts/sync-agent-preset.mjs +188 -0
- package/src/client/AgentPresetCard.tsx +247 -0
- package/src/client/DirectoryPicker.tsx +357 -0
- package/src/client/InfoHint.tsx +65 -0
- package/src/client/IntentLogicTab.tsx +185 -0
- package/src/client/IntentTab.tsx +715 -0
- package/src/client/KnowledgeBaseTab.tsx +1454 -0
- package/src/client/KnowledgeGraphView.tsx +306 -0
- package/src/client/KnowledgePanel.tsx +381 -0
- package/src/client/KnowledgeStepRail.tsx +60 -0
- package/src/client/NodeSettings.tsx +392 -0
- package/src/client/PreviewSections.tsx +116 -0
- package/src/client/RecallPanel.tsx +399 -0
- package/src/client/TypeDefinitionDrawer.tsx +215 -0
- package/src/client/WikiFlowCard.tsx +226 -0
- package/src/client/WikiTypeEditor.tsx +332 -0
- package/src/client/agent-preset.ts +121 -0
- package/src/client/arch/AgentArchitectureGraph.tsx +219 -0
- package/src/client/arch/NodeLogicPanel.tsx +133 -0
- package/src/client/arch/ProblemDetailPanel.tsx +88 -0
- package/src/client/arch/model.ts +691 -0
- package/src/client/architecture.css +191 -0
- package/src/client/architecture.tsx +530 -0
- package/src/client/attribution/AttributionGraph.tsx +104 -0
- package/src/client/attribution/AttributionTab.tsx +332 -0
- package/src/client/attribution/CaseView.tsx +102 -0
- package/src/client/attribution/GraphStage.tsx +87 -0
- package/src/client/attribution/RunView.tsx +184 -0
- package/src/client/attribution/StageChrome.tsx +403 -0
- package/src/client/attribution/ViewSwitch.tsx +107 -0
- package/src/client/attribution/graph-options.ts +381 -0
- package/src/client/attribution/model.ts +462 -0
- package/src/client/config-scope.ts +119 -0
- package/src/client/convert/ConvertPanel.tsx +594 -0
- package/src/client/convert/styles.css +138 -0
- package/src/client/convert/styles.ts +49 -0
- package/src/client/format.ts +39 -0
- package/src/client/graph/layout.ts +181 -0
- package/src/client/graph.css +113 -0
- package/src/client/index.ts +98 -0
- package/src/client/problem-domains.ts +114 -0
- package/src/client/styles.css +940 -0
- package/src/client/styles.ts +11 -0
- package/src/client/useFitScale.ts +68 -0
- package/src/config-schema.ts +45 -0
- package/src/convert/core-loader.ts +68 -0
- package/src/convert/host.ts +579 -0
- package/src/convert/ingest.ts +367 -0
- package/src/convert/settings-schema.ts +27 -0
- package/src/convert/types.ts +65 -0
- package/src/diagnosis/cards.ts +498 -0
- package/src/diagnosis/problem-classes.ts +117 -0
- package/src/diagnosis/schema.ts +260 -0
- package/src/diagnosis/seed-source.ts +107 -0
- package/src/diagnosis/seed.ts +291 -0
- package/src/diagnosis/store.ts +432 -0
- package/src/diagnosis/types.ts +152 -0
- package/src/directory-picker.ts +164 -0
- package/src/extract-model.ts +227 -0
- package/src/extract.ts +632 -0
- package/src/fts.ts +203 -0
- package/src/index.ts +1091 -0
- package/src/intent/README.md +63 -0
- package/src/intent/engine.ts +527 -0
- package/src/intent/host.ts +462 -0
- package/src/intent/preset-tools.ts +48 -0
- package/src/intent/settings-schema.ts +63 -0
- package/src/intent/store.ts +143 -0
- package/src/intent/tools.ts +139 -0
- package/src/intent/types.ts +245 -0
- package/src/knowledge-bases.ts +1160 -0
- package/src/layout.ts +350 -0
- package/src/migrate.ts +262 -0
- package/src/python/embedding_worker.py +471 -0
- package/src/recall-rank.ts +299 -0
- package/src/runtime.ts +3069 -0
- package/src/settings-schema.ts +94 -0
- package/src/settings-volatile.ts +122 -0
- package/src/types.ts +1140 -0
- 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"}
|