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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/README.md +147 -19
  2. package/cordis.patch.yml +25 -10
  3. package/lib/client.js +6400 -3326
  4. package/lib/doc-page.js +7761 -0
  5. package/lib/types/convert/host.d.ts.map +1 -1
  6. package/lib/types/convert/host.js +63 -11
  7. package/lib/types/convert/host.js.map +1 -1
  8. package/lib/types/convert/ingest.d.ts +7 -4
  9. package/lib/types/convert/ingest.d.ts.map +1 -1
  10. package/lib/types/convert/ingest.js +52 -14
  11. package/lib/types/convert/ingest.js.map +1 -1
  12. package/lib/types/convert/types.d.ts +2 -2
  13. package/lib/types/convert/types.d.ts.map +1 -1
  14. package/lib/types/convert/types.js +2 -2
  15. package/lib/types/convert/types.js.map +1 -1
  16. package/lib/types/diagnosis/cards.d.ts +8 -7
  17. package/lib/types/diagnosis/cards.d.ts.map +1 -1
  18. package/lib/types/diagnosis/cards.js +119 -49
  19. package/lib/types/diagnosis/cards.js.map +1 -1
  20. package/lib/types/diagnosis/run.d.ts +57 -0
  21. package/lib/types/diagnosis/run.d.ts.map +1 -0
  22. package/lib/types/diagnosis/run.js +245 -0
  23. package/lib/types/diagnosis/run.js.map +1 -0
  24. package/lib/types/diagnosis/schema.d.ts +25 -2
  25. package/lib/types/diagnosis/schema.d.ts.map +1 -1
  26. package/lib/types/diagnosis/schema.js +64 -25
  27. package/lib/types/diagnosis/schema.js.map +1 -1
  28. package/lib/types/diagnosis/seed-source.d.ts +17 -2
  29. package/lib/types/diagnosis/seed-source.d.ts.map +1 -1
  30. package/lib/types/diagnosis/seed-source.js +19 -2
  31. package/lib/types/diagnosis/seed-source.js.map +1 -1
  32. package/lib/types/diagnosis/seed.d.ts +32 -42
  33. package/lib/types/diagnosis/seed.d.ts.map +1 -1
  34. package/lib/types/diagnosis/seed.js +187 -51
  35. package/lib/types/diagnosis/seed.js.map +1 -1
  36. package/lib/types/diagnosis/store.d.ts +95 -25
  37. package/lib/types/diagnosis/store.d.ts.map +1 -1
  38. package/lib/types/diagnosis/store.js +297 -166
  39. package/lib/types/diagnosis/store.js.map +1 -1
  40. package/lib/types/diagnosis/types.d.ts +168 -16
  41. package/lib/types/diagnosis/types.d.ts.map +1 -1
  42. package/lib/types/diagnosis/types.js +1 -1
  43. package/lib/types/diagnosis/types.js.map +1 -1
  44. package/lib/types/document-page.d.ts +39 -0
  45. package/lib/types/document-page.d.ts.map +1 -0
  46. package/lib/types/document-page.js +43 -0
  47. package/lib/types/document-page.js.map +1 -0
  48. package/lib/types/extract-model.d.ts +67 -27
  49. package/lib/types/extract-model.d.ts.map +1 -1
  50. package/lib/types/extract-model.js +225 -97
  51. package/lib/types/extract-model.js.map +1 -1
  52. package/lib/types/extract.d.ts +16 -0
  53. package/lib/types/extract.d.ts.map +1 -1
  54. package/lib/types/extract.js +19 -2
  55. package/lib/types/extract.js.map +1 -1
  56. package/lib/types/fs-atomic.d.ts +11 -0
  57. package/lib/types/fs-atomic.d.ts.map +1 -0
  58. package/lib/types/fs-atomic.js +41 -0
  59. package/lib/types/fs-atomic.js.map +1 -0
  60. package/lib/types/index.d.ts.map +1 -1
  61. package/lib/types/index.js +466 -63
  62. package/lib/types/index.js.map +1 -1
  63. package/lib/types/intent/types.js +1 -1
  64. package/lib/types/intent/types.js.map +1 -1
  65. package/lib/types/knowledge-bases.d.ts +23 -12
  66. package/lib/types/knowledge-bases.d.ts.map +1 -1
  67. package/lib/types/knowledge-bases.js +37 -44
  68. package/lib/types/knowledge-bases.js.map +1 -1
  69. package/lib/types/layout.d.ts +3 -3
  70. package/lib/types/layout.d.ts.map +1 -1
  71. package/lib/types/layout.js +4 -4
  72. package/lib/types/layout.js.map +1 -1
  73. package/lib/types/migrate.d.ts +1 -1
  74. package/lib/types/migrate.js +2 -2
  75. package/lib/types/migrate.js.map +1 -1
  76. package/lib/types/model-text.d.ts +99 -0
  77. package/lib/types/model-text.d.ts.map +1 -0
  78. package/lib/types/model-text.js +103 -0
  79. package/lib/types/model-text.js.map +1 -0
  80. package/lib/types/present.d.ts +239 -0
  81. package/lib/types/present.d.ts.map +1 -0
  82. package/lib/types/present.js +255 -0
  83. package/lib/types/present.js.map +1 -0
  84. package/lib/types/recall-rank.d.ts +37 -0
  85. package/lib/types/recall-rank.d.ts.map +1 -1
  86. package/lib/types/recall-rank.js +41 -1
  87. package/lib/types/recall-rank.js.map +1 -1
  88. package/lib/types/runtime.d.ts +564 -31
  89. package/lib/types/runtime.d.ts.map +1 -1
  90. package/lib/types/runtime.js +2645 -292
  91. package/lib/types/runtime.js.map +1 -1
  92. package/lib/types/settings-schema.d.ts +4 -2
  93. package/lib/types/settings-schema.d.ts.map +1 -1
  94. package/lib/types/settings-schema.js +2 -0
  95. package/lib/types/settings-schema.js.map +1 -1
  96. package/lib/types/source-images.d.ts +118 -0
  97. package/lib/types/source-images.d.ts.map +1 -0
  98. package/lib/types/source-images.js +288 -0
  99. package/lib/types/source-images.js.map +1 -0
  100. package/lib/types/types.d.ts +356 -28
  101. package/lib/types/types.d.ts.map +1 -1
  102. package/lib/types/types.js +112 -18
  103. package/lib/types/types.js.map +1 -1
  104. package/lib/types/wiki-finalize.d.ts +140 -0
  105. package/lib/types/wiki-finalize.d.ts.map +1 -0
  106. package/lib/types/wiki-finalize.js +269 -0
  107. package/lib/types/wiki-finalize.js.map +1 -0
  108. package/lib/types/wiki-types.d.ts +10 -2
  109. package/lib/types/wiki-types.d.ts.map +1 -1
  110. package/lib/types/wiki-types.js +27 -30
  111. package/lib/types/wiki-types.js.map +1 -1
  112. package/package.json +4 -3
  113. package/preset/tita-data-agent/agent.cordis.yml +25 -10
  114. package/src/client/DirectoryPicker.tsx +12 -12
  115. package/src/client/DrawerSection.tsx +18 -0
  116. package/src/client/InfoHint.tsx +21 -8
  117. package/src/client/IntentTab.tsx +20 -26
  118. package/src/client/KnowledgeBaseTab.tsx +458 -158
  119. package/src/client/KnowledgePanel.tsx +44 -10
  120. package/src/client/KnowledgeStepRail.tsx +3 -0
  121. package/src/client/KnowledgeToolRow.tsx +331 -0
  122. package/src/client/NodeSettings.tsx +20 -22
  123. package/src/client/PreviewSections.tsx +178 -43
  124. package/src/client/RecallPanel.tsx +418 -127
  125. package/src/client/TypeDefinitionDrawer.tsx +154 -54
  126. package/src/client/WikiCardReview.tsx +266 -0
  127. package/src/client/WikiFlowCard.tsx +57 -95
  128. package/src/client/WikiTypeEditor.tsx +197 -95
  129. package/src/client/arch/AgentArchitectureGraph.tsx +30 -14
  130. package/src/client/arch/NodeLogicPanel.tsx +6 -3
  131. package/src/client/arch/model.ts +164 -26
  132. package/src/client/architecture.css +25 -10
  133. package/src/client/architecture.tsx +66 -41
  134. package/src/client/asset-images.ts +125 -0
  135. package/src/client/attribution/AttributionGraph.tsx +481 -34
  136. package/src/client/attribution/AttributionTab.tsx +501 -106
  137. package/src/client/attribution/CaseView.tsx +9 -14
  138. package/src/client/attribution/GraphStage.tsx +25 -18
  139. package/src/client/attribution/RunView.tsx +27 -9
  140. package/src/client/attribution/StageChrome.tsx +280 -140
  141. package/src/client/attribution/graph-options.ts +611 -47
  142. package/src/client/attribution/model.ts +559 -30
  143. package/src/client/convert/ConvertPanel.tsx +36 -4
  144. package/src/client/doc-page.css +134 -0
  145. package/src/client/doc-page.tsx +242 -0
  146. package/src/client/index.ts +18 -0
  147. package/src/client/panel-state.ts +105 -0
  148. package/src/client/problem-domains.ts +1 -1
  149. package/src/client/request.ts +36 -0
  150. package/src/client/styles.css +397 -54
  151. package/src/client/useFitScale.ts +15 -2
  152. package/src/client/wiki-type-groups.ts +86 -0
  153. package/src/convert/host.ts +68 -9
  154. package/src/convert/ingest.ts +61 -18
  155. package/src/convert/types.ts +2 -2
  156. package/src/diagnosis/cards.ts +120 -50
  157. package/src/diagnosis/run.ts +251 -0
  158. package/src/diagnosis/schema.ts +67 -26
  159. package/src/diagnosis/seed-source.ts +29 -4
  160. package/src/diagnosis/seed.ts +187 -85
  161. package/src/diagnosis/store.ts +310 -173
  162. package/src/diagnosis/types.ts +181 -16
  163. package/src/document-page.ts +51 -0
  164. package/src/extract-model.ts +254 -99
  165. package/src/extract.ts +35 -3
  166. package/src/fs-atomic.ts +41 -0
  167. package/src/index.ts +499 -62
  168. package/src/intent/types.ts +1 -1
  169. package/src/knowledge-bases.ts +50 -49
  170. package/src/layout.ts +4 -4
  171. package/src/migrate.ts +2 -2
  172. package/src/model-text.ts +126 -0
  173. package/src/present.ts +367 -0
  174. package/src/recall-rank.ts +57 -2
  175. package/src/runtime.ts +2802 -293
  176. package/src/settings-schema.ts +2 -0
  177. package/src/source-images.ts +326 -0
  178. package/src/types.ts +446 -45
  179. package/src/wiki-finalize.ts +310 -0
  180. package/src/wiki-types.ts +28 -32
@@ -2,7 +2,7 @@
2
2
  * Seed 的**原始材料**:一份排查手册 + 三篇复盘。
3
3
  *
4
4
  * 这一层存在的理由,正是 v0.7 修掉的那处架构缺口:排查思路如果只以 TypeScript 字面量存在,
5
- * 它就**不是 wiki 内容** —— 不会进 `01_source_truth`、不会被编译、永远召不回来。
5
+ * 它就**不是 wiki 内容** —— 不会进 `01_source_raw`、不会被编译、永远召不回来。
6
6
  * 所以 seed 也走完整条动线:
7
7
  *
8
8
  * ```
@@ -12,7 +12,8 @@
12
12
  * 手册与复盘是**人写的散文**(就是下面这些字面量),卡片是从它们编译出来的结构化提取。
13
13
  * 两者内容会有重叠 —— 那是正常的:卡片是散文的投影,不是它的替代品。
14
14
  */
15
- import { SEED_CASES } from './seed.js';
15
+ import { SEED_CASES, SEED_RUNS } from './seed.js';
16
+ import { renderRunSource } from './run.js';
16
17
  /**
17
18
  * 排查手册:**类型层知识的出处**。
18
19
  *
@@ -87,10 +88,26 @@ export function seedCaseSources() {
87
88
  ].join('\n'),
88
89
  }));
89
90
  }
91
+ /**
92
+ * 三次排查的**过程记录**。
93
+ *
94
+ * 它们不由散文手写,而是从 `SEED_RUNS` **渲染**出来(`renderRunSource`)——
95
+ * 这正是运行时那条路径:一次排查结束 → 一条 `agent_diagnosis_case` 的 SourceRaw。
96
+ * 示例走同一条路,所以它同时也是这条路的回归夹具。
97
+ */
98
+ export function seedRunSources() {
99
+ return SEED_RUNS.map(record => ({
100
+ id: record.runId,
101
+ title: `AI 诊断日志 · ${record.symptomId} · ${record.runId}`,
102
+ sourceType: 'agent_diagnosis_case',
103
+ content: renderRunSource(record),
104
+ }));
105
+ }
90
106
  export function seedSources() {
91
107
  return [
92
108
  { id: 'handbook', title: '日报指标异常排查手册(内部版)', sourceType: 'question', content: SEED_HANDBOOK },
93
109
  ...seedCaseSources(),
110
+ ...seedRunSources(),
94
111
  ];
95
112
  }
96
113
  //# sourceMappingURL=seed-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seed-source.js","sourceRoot":"","sources":["../../../src/diagnosis/seed-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAWtC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoD5B,CAAA;AAED,0DAA0D;AAC1D,MAAM,UAAU,eAAe;IAC7B,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;QACjC,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE;YACP,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;YAC5B,EAAE;YACF,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpF,QAAQ,IAAI,CAAC,eAAe,MAAM;SACnC,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC,CAAC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO;QACL,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;QAC5F,GAAG,eAAe,EAAE;KACrB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"seed-source.js","sourceRoot":"","sources":["../../../src/diagnosis/seed-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAkB1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoD5B,CAAA;AAED,0DAA0D;AAC1D,MAAM,UAAU,eAAe;IAC7B,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;QACjC,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE;YACP,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;YAC5B,EAAE;YACF,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpF,QAAQ,IAAI,CAAC,eAAe,MAAM;SACnC,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC,CAAC,CAAA;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9B,EAAE,EAAE,MAAM,CAAC,KAAK;QAChB,KAAK,EAAE,aAAa,MAAM,CAAC,SAAS,MAAM,MAAM,CAAC,KAAK,EAAE;QACxD,UAAU,EAAE,sBAA+B;QAC3C,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC;KACjC,CAAC,CAAC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO;QACL,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE;QAC5F,GAAG,eAAe,EAAE;QACpB,GAAG,cAAc,EAAE;KACpB,CAAA;AACH,CAAC"}
@@ -1,50 +1,40 @@
1
- import type { AttributionGraphData } from './types.js';
1
+ import type { AttributionCase, AttributionGraphData, DiagnosisRunRecord } from './types.js';
2
2
  /**
3
- * 案例 = **一篇 wiki 定义 + 一条有序排查路径**。
3
+ * 内置**示例**:一份排查手册 + 三篇复盘 + 三次排查日志 + 由它们编出来的那张图。
4
4
  *
5
- * 两段各有明确消费者,不能合并:
6
- * - `sections` 是给人读、给向量召回的散文(可 diff、可评审、可追溯);
7
- * - `path` 是给图和剪枝用的结构(有序、可判真假、带被否定的分支)。
5
+ * 它现在只有一重身份:**用户点了「载入内置示例」才写进去的样例,以及回归夹具**。
8
6
  *
9
- * 序和枚举一旦写进散文,归并算法就再也读不到它们了 —— 所以路径单独成段。
10
- */
11
- export interface CaseSection {
12
- heading: string;
13
- body: string;
14
- }
15
- export interface CasePathStep {
16
- nodeId: string;
17
- label: string;
18
- note: string;
19
- /** 这一步的结论是「否定」:它把某个假设置于死地,而不是坐实。 */
20
- refuted?: boolean;
21
- }
22
- export interface AttributionCase {
23
- id: string;
24
- title: string;
25
- symptomId: string;
26
- sections: CaseSection[];
27
- path: CasePathStep[];
28
- durationMinutes: number;
29
- /** 误导段:最贵的那条知识。没有它,下次还会有人在同一个假设上烧掉四十分钟。 */
30
- misleading?: {
31
- nodeId: string;
32
- label: string;
33
- wastedMinutes: number;
34
- why: string;
35
- };
36
- rootCause: string;
37
- }
38
- /**
39
- * Seed 图谱:与 0021 §11 的三个案例同源,用来说明「同一现象有多个根因、否定边有用、
40
- * 误导边昂贵」。
7
+ * 原来是两重(另一重是「首次启动的起点」,由 `DiagnosisStore.ensure()` 自动写入)。
8
+ * 实跑反馈把它去掉了:这份示例长得像真的业务文档,而它落在用户自己的
9
+ * `01_source_raw/` 与 `02_wiki/` 里 —— 新装一台机器,一打开「智能归因」就凭空多出
10
+ * 几份来源和几十张卡片,读起来像「我的知识库内容跟着包过来了」。示例没有被删除
11
+ * (它仍然是稳定夹具,`tests/diagnosis-cards.test.mjs` 逐字段对着它断言),
12
+ * 只是不再自动落盘 —— 入口是 `DiagnosisStore.loadSample()`。
13
+ *
14
+ * **两条来源分类、两个作者**(v1.1 起):
15
+ *
16
+ * | 来源分类 | 谁写 | 装什么 |
17
+ * | --- | --- | --- |
18
+ * | `question` | 人 | 手册与复盘 —— 卡片 `source_refs` 指向这里 |
19
+ * | `agent_diagnosis_case` | Agent | 一次排查的过程记录(`SEED_RUNS`) |
41
20
  *
42
- * 它现在有两重身份:
43
- * 1. **首次启动的起点** —— `DiagnosisStore.ensure()` 在 `05_diagnosis/` 为空时把它写成
44
- * 真实的 jsonl,之后用户可以手改,不会被覆盖回去;
45
- * 2. **回归样本** —— 上面那三条结论需要一个稳定的夹具,所以它不会被删除。
21
+ * `SEED_GRAPH` 里**只有卡片定义得了的东西**:类型层、引用层资产、案例桩,以及六种卡片边。
22
+ * `evidence` / `cause` 与四条执行边由 `SEED_RUNS` 读时解析出来 —— 把「上次查到什么」
23
+ * 写进卡片,等于让一份可复用的知识绑死在一次执行上。
46
24
  */
47
25
  export declare const SEED_GRAPH: AttributionGraphData;
48
- /** 三个 seed 案例,与上面图谱里的节点 id 对齐(0021 §11)。 */
26
+ /** 三个 seed 案例卡片,与上面图谱里的节点 id 对齐(0021 §11)。 */
49
27
  export declare const SEED_CASES: AttributionCase[];
28
+ /**
29
+ * 三次排查的**过程记录**(`agent_diagnosis_case`)。
30
+ *
31
+ * 它们与 `SEED_CASES` 一一对应,但**不是同一份东西**:这里是 Agent 跑出来的原始记录
32
+ * (每条检查点真跑了什么、看到什么、这个结果算不算数),`SEED_CASES` 是之后归纳出来的
33
+ * 案例卡片(要经人确认才生效)。一个回答「当时怎么走的」,一个回答「结论是什么」。
34
+ *
35
+ * `E7` 是 CASE-001 里那次**贵的否定**:T7.2 直连明细对账推翻了 H7。它不在案例的
36
+ * 主路径上(主路径早就确认了 H1),但它是这次排查最贵的一条知识 —— 40 分钟的误导段
37
+ * 正是靠它收尾的。
38
+ */
39
+ export declare const SEED_RUNS: DiagnosisRunRecord[];
50
40
  //# sourceMappingURL=seed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../src/diagnosis/seed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,IAAI,EAAE,YAAY,EAAE,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,2CAA2C;IAC3C,UAAU,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IAClF,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,EAAE,oBAsKxB,CAAA;AAED,4CAA4C;AAC5C,eAAO,MAAM,UAAU,EAAE,eAAe,EA4EvC,CAAA"}
1
+ {"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../src/diagnosis/seed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE3F;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,UAAU,EAAE,oBA4KxB,CAAA;AAED,8CAA8C;AAC9C,eAAO,MAAM,UAAU,EAAE,eAAe,EA4EvC,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,EAAE,kBAAkB,EAuGzC,CAAA"}
@@ -1,11 +1,25 @@
1
1
  /**
2
- * Seed 图谱:与 0021 §11 的三个案例同源,用来说明「同一现象有多个根因、否定边有用、
3
- * 误导边昂贵」。
2
+ * 内置**示例**:一份排查手册 + 三篇复盘 + 三次排查日志 + 由它们编出来的那张图。
4
3
  *
5
- * 它现在有两重身份:
6
- * 1. **首次启动的起点** —— `DiagnosisStore.ensure()` 在 `05_diagnosis/` 为空时把它写成
7
- * 真实的 jsonl,之后用户可以手改,不会被覆盖回去;
8
- * 2. **回归样本** —— 上面那三条结论需要一个稳定的夹具,所以它不会被删除。
4
+ * 它现在只有一重身份:**用户点了「载入内置示例」才写进去的样例,以及回归夹具**。
5
+ *
6
+ * 原来是两重(另一重是「首次启动的起点」,由 `DiagnosisStore.ensure()` 自动写入)。
7
+ * 实跑反馈把它去掉了:这份示例长得像真的业务文档,而它落在用户自己的
8
+ * `01_source_raw/` 与 `02_wiki/` 里 —— 新装一台机器,一打开「智能归因」就凭空多出
9
+ * 几份来源和几十张卡片,读起来像「我的知识库内容跟着包过来了」。示例没有被删除
10
+ * (它仍然是稳定夹具,`tests/diagnosis-cards.test.mjs` 逐字段对着它断言),
11
+ * 只是不再自动落盘 —— 入口是 `DiagnosisStore.loadSample()`。
12
+ *
13
+ * **两条来源分类、两个作者**(v1.1 起):
14
+ *
15
+ * | 来源分类 | 谁写 | 装什么 |
16
+ * | --- | --- | --- |
17
+ * | `question` | 人 | 手册与复盘 —— 卡片 `source_refs` 指向这里 |
18
+ * | `agent_diagnosis_case` | Agent | 一次排查的过程记录(`SEED_RUNS`) |
19
+ *
20
+ * `SEED_GRAPH` 里**只有卡片定义得了的东西**:类型层、引用层资产、案例桩,以及六种卡片边。
21
+ * `evidence` / `cause` 与四条执行边由 `SEED_RUNS` 读时解析出来 —— 把「上次查到什么」
22
+ * 写进卡片,等于让一份可复用的知识绑死在一次执行上。
9
23
  */
10
24
  export const SEED_GRAPH = {
11
25
  nodes: [
@@ -27,81 +41,87 @@ export const SEED_GRAPH = {
27
41
  problemClass: 'deviation', problemSubclass: 'deviation-rise-sharp',
28
42
  summary: '观测量:DAU + 单日窗口;放大 3.1 倍且只有 T-1 单日,相邻日期正常。',
29
43
  },
30
- { id: 'H1', kind: 'hypothesis', layer: 'type', title: '上游分区未产出', failureMode: 'upstream-missing', reuseCount: 12,
44
+ { id: 'H1', kind: 'hypothesis', layer: 'type', title: '上游分区未产出', failureReason: 'upstream-missing', reuseCount: 12,
31
45
  summary: '当日 dwd / ods 分区不存在 → 指标必然为 0。反例:分区在但行数为 0 时不是它。',
32
46
  discriminator: '当日 dwd / ods 分区不存在 → 指标必然为 0',
33
47
  notWhen: '分区存在但行数为 0(那是 H4);分区正常而指标仍为 0(那是口径或消费侧)' },
34
- { id: 'H2', kind: 'hypothesis', layer: 'type', title: '口径 / 版本变更', failureMode: 'spec-change', reuseCount: 5,
48
+ { id: 'H2', kind: 'hypothesis', layer: 'type', title: '口径 / 版本变更', failureReason: 'spec-change', reuseCount: 5,
35
49
  summary: '口径版本切换未同步 → 同名词指标在不同版本下口径不同。',
36
50
  discriminator: '口径版本切换后,同名词指标在两版定义下口径不一致',
37
51
  notWhen: '口径未变更时本假设不成立 —— 不要用「名字一样」当作口径一致的证据' },
38
- { id: 'H3', kind: 'hypothesis', layer: 'type', title: '维表映射丢失', failureMode: 'data-processing', reuseCount: 4,
52
+ { id: 'H3', kind: 'hypothesis', layer: 'type', title: '维表映射丢失', failureReason: 'data-processing', reuseCount: 4,
39
53
  summary: '新渠道未补录维表 → join 落 unknown 后被 where 过滤。',
40
54
  discriminator: '维表 join 后 unknown 占比显著升高,且缺口集中在新增维度成员上',
41
55
  notWhen: 'unknown 占比正常时本假设不成立;缺口若均匀分布在各维度上,应转 H4 或 H5' },
42
- { id: 'H4', kind: 'hypothesis', layer: 'type', title: '重复 / 回刷', failureMode: 'data-processing', reuseCount: 6,
56
+ { id: 'H4', kind: 'hypothesis', layer: 'type', title: '重复 / 回刷', failureReason: 'data-processing', reuseCount: 6,
43
57
  summary: '上游重跑写入重复行 → 计数类指标放大。',
44
58
  discriminator: '主键不唯一,或分区行数同比放大',
45
59
  notWhen: '主键唯一性检查通过(T4.1)时本假设不成立 —— 这是最常被误判的一条' },
46
- { id: 'H5', kind: 'hypothesis', layer: 'type', title: '时间窗口 / 时区', failureMode: 'data-processing', reuseCount: 2,
60
+ { id: 'H5', kind: 'hypothesis', layer: 'type', title: '时间窗口 / 时区', failureReason: 'data-processing', reuseCount: 2,
47
61
  summary: '跨天事件被补写进 T-1 分区 → 单日指标异常放大。',
48
62
  discriminator: '分区内事件时间跨天,且只有 T-1 单日异常',
49
63
  notWhen: '相邻日期同时异常时应转 H2;事件时间落在单日内则应转 H4' },
50
- { id: 'H6', kind: 'hypothesis', layer: 'type', title: '权限 / 过滤条件', failureMode: 'permission', reuseCount: 1,
64
+ { id: 'H6', kind: 'hypothesis', layer: 'type', title: '权限 / 过滤条件', failureReason: 'permission', reuseCount: 1,
51
65
  summary: '行级权限或 where 条件变更 → 结果集被静默收窄。',
52
66
  discriminator: '结果集被行级权限或 where 条件静默收窄',
53
67
  notWhen: '权限与过滤条件在本周期未变更时本假设不成立' },
54
- { id: 'H7', kind: 'hypothesis', layer: 'type', title: '下游 BI 缓存 / 增量', failureMode: 'consumption', reuseCount: 3,
68
+ { id: 'H7', kind: 'hypothesis', layer: 'type', title: '下游 BI 缓存 / 增量', failureReason: 'consumption', reuseCount: 3,
55
69
  summary: '缓存或增量刷新未触发 → 展示侧滞后,明细不受影响。',
56
70
  discriminator: 'BI 展示侧滞后,但直连明细的数字正常',
57
71
  notWhen: '明细对账一致(T7.2)时本假设不成立;注意 T7.1「缓存时间正常」不足以否定它' },
58
- // `code` 是这张卡片的稳定标识:假设卡片里写的是编码(`failure_mode: data-processing`),
72
+ // `code` 是这张卡片的稳定标识:假设卡片里写的是编码(`failure_reason: data-processing`),
59
73
  // 边要连到节点 —— 少了它,「编码 → 节点」就只能靠 F1..F5 的位置去猜。
60
- { id: 'F1', kind: 'failure-mode', layer: 'type', title: '上游未产出', code: 'upstream-missing' },
61
- { id: 'F2', kind: 'failure-mode', layer: 'type', title: '口径变更', code: 'spec-change' },
62
- { id: 'F3', kind: 'failure-mode', layer: 'type', title: '数据处理', code: 'data-processing' },
63
- { id: 'F4', kind: 'failure-mode', layer: 'type', title: '消费与展示', code: 'consumption' },
64
- { id: 'F5', kind: 'failure-mode', layer: 'type', title: '权限与过滤', code: 'permission' },
65
- { id: 'T1.1', kind: 'check', layer: 'type', title: '查分区存在性', costMinutes: 1, automation: 'auto', owner: '@duty',
74
+ { id: 'F1', kind: 'failure_reason', layer: 'type', title: '上游未产出', code: 'upstream-missing' },
75
+ { id: 'F2', kind: 'failure_reason', layer: 'type', title: '口径变更', code: 'spec-change' },
76
+ { id: 'F3', kind: 'failure_reason', layer: 'type', title: '数据处理', code: 'data-processing' },
77
+ { id: 'F4', kind: 'failure_reason', layer: 'type', title: '消费与展示', code: 'consumption' },
78
+ { id: 'F5', kind: 'failure_reason', layer: 'type', title: '权限与过滤', code: 'permission' },
79
+ // 检查点:`assets[]` 是 v1.3 的必填 —— 缺了它,这条检查不知道去哪查。
80
+ { id: 'T1.1', kind: 'check_point', layer: 'type', title: '查分区存在性', costMinutes: 1, automation: 'auto', owner: '@duty',
81
+ assets: ['dwd_ord_di'],
66
82
  summary: '分区 dwd_ord_di/dt 是否存在。不存在 → 支持 H1。',
67
83
  verdictTrue: '分区不存在', verdictFalse: '分区存在' },
68
- { id: 'T1.2', kind: 'check', layer: 'type', title: '查任务实例状态', costMinutes: 1, automation: 'auto', owner: '@duty',
84
+ { id: 'T1.2', kind: 'check_point', layer: 'type', title: '查任务实例状态', costMinutes: 1, automation: 'auto', owner: '@duty',
85
+ assets: ['ods_order_sync'],
69
86
  summary: '上游任务实例是否 failed。failed → 支持 H1。',
70
87
  verdictTrue: '实例状态 failed', verdictFalse: '实例状态 success / running' },
71
- { id: 'T2.1', kind: 'check', layer: 'type', title: '口径版本对比', costMinutes: 15, automation: 'manual', owner: '@metric-owner',
88
+ { id: 'T2.1', kind: 'check_point', layer: 'type', title: '口径版本对比', costMinutes: 15, automation: 'manual', owner: '@metric-owner',
89
+ assets: ['metric_daily_gmv'],
72
90
  summary: '对比近两次口径版本定义。口径变化 → 支持 H2。',
73
91
  verdictTrue: '近两次口径定义不一致', verdictFalse: '口径定义逐字一致' },
74
- { id: 'T3.1', kind: 'check', layer: 'type', title: 'unknown 占比', costMinutes: 2, automation: 'auto', owner: '@duty',
92
+ { id: 'T3.1', kind: 'check_point', layer: 'type', title: 'unknown 占比', costMinutes: 2, automation: 'auto', owner: '@duty',
93
+ assets: ['dim_channel_df'],
75
94
  summary: '维表 join 后 unknown 占比。显著升高 → 支持 H3。',
76
95
  verdictTrue: 'unknown 占比 > 5%', verdictFalse: 'unknown 占比 ≤ 5%' },
77
- { id: 'T4.1', kind: 'check', layer: 'type', title: '主键唯一性', costMinutes: 3, automation: 'auto', owner: '@duty',
96
+ { id: 'T4.1', kind: 'check_point', layer: 'type', title: '主键唯一性', costMinutes: 3, automation: 'auto', owner: '@duty',
97
+ assets: ['dwd_ord_di'],
78
98
  summary: '主键唯一性检查。通过 → 否定 H4。这是最常被误判的一条。',
79
99
  verdictTrue: '存在重复主键', verdictFalse: '主键唯一 → 否定 H4' },
80
- { id: 'T5.1', kind: 'check', layer: 'type', title: '事件时间分布', costMinutes: 8, automation: 'auto', owner: '@duty',
100
+ { id: 'T5.1', kind: 'check_point', layer: 'type', title: '事件时间分布', costMinutes: 8, automation: 'auto', owner: '@duty',
101
+ assets: ['dwd_ord_di'],
81
102
  summary: '分区内事件时间分布。跨天 → 支持 H5。',
82
103
  verdictTrue: '分区内事件时间跨出 T-1 单日窗口', verdictFalse: '事件时间全部落在 T-1 内' },
83
- { id: 'T7.1', kind: 'check', layer: 'type', title: '查缓存时间戳', costMinutes: 2, automation: 'auto', owner: '@duty',
104
+ { id: 'T7.1', kind: 'check_point', layer: 'type', title: '查缓存时间戳', costMinutes: 2, automation: 'auto', owner: '@duty',
105
+ assets: ['bi_daily_dashboard'],
84
106
  summary: '缓存时间正常并不能否定 H7 —— 便宜检查给不出结论。',
85
107
  verdictTrue: '缓存时间戳过期', verdictFalse: '缓存时间正常 —— 注意:这一条**不足以**否定 H7' },
86
- { id: 'T7.2', kind: 'check', layer: 'type', title: '直连明细对账', costMinutes: 35, automation: 'manual', owner: '@analyst',
108
+ { id: 'T7.2', kind: 'check_point', layer: 'type', title: '直连明细对账', costMinutes: 35, automation: 'manual', owner: '@analyst',
109
+ assets: ['dwd_ord_di'],
87
110
  summary: '明细对账一致 → 否定 H7。要否定它必须做这次贵检查。',
88
111
  verdictTrue: '明细与报表数字不一致', verdictFalse: '明细与报表一致 → 否定 H7' },
89
112
  // ── 引用层 ────────────────────────────────────────────────────────────
90
- { id: 'dwd_ord_di', kind: 'asset', layer: 'reference', title: 'dwd_ord_di' },
91
- { id: 'ods_order_sync', kind: 'asset', layer: 'reference', title: 'ods_order_sync' },
92
- { id: 'dim_channel_df', kind: 'asset', layer: 'reference', title: 'dim_channel_df' },
93
- // ── 实例层(默认折叠,展开后用于演示「证据与复用」) ────────────────────
94
- // 案例节点是**图上的桩**:标题必须与 `SEED_CASES[].title` 是同一个字符串,否则同一份
95
- // 知识会有两份标题(而且还真的不一致过:「只剩」vs「只有」)。画布要在标签前显示案例 id,
113
+ { id: 'dwd_ord_di', kind: 'asset', layer: 'reference', title: 'dwd_ord_di', assetType: 'table' },
114
+ { id: 'ods_order_sync', kind: 'asset', layer: 'reference', title: 'ods_order_sync', assetType: 'job' },
115
+ { id: 'dim_channel_df', kind: 'asset', layer: 'reference', title: 'dim_channel_df', assetType: 'table' },
116
+ { id: 'metric_daily_gmv', kind: 'asset', layer: 'reference', title: 'metric_daily_gmv', assetType: 'metric' },
117
+ { id: 'bi_daily_dashboard', kind: 'asset', layer: 'reference', title: 'bi_daily_dashboard', assetType: 'linkage' },
118
+ // ── 实例层:案例节点是**图上的桩**(正文与有序路径住在案例卡片里) ──────
119
+ // 标题必须与 `SEED_CASES[].title` 是同一个字符串,否则同一份知识会有两份标题
120
+ // (而且还真的不一致过:「只剩」vs「只有」)。画布要在标签前显示案例 id,
96
121
  // 那是渲染层的事(见 `nodeStyleFor` 的 labelText)。
97
122
  { id: 'CASE-001', kind: 'case', layer: 'instance', title: '日报 GMV 为 0' },
98
123
  { id: 'CASE-002', kind: 'case', layer: 'instance', title: '订单数只有昨日 12%' },
99
124
  { id: 'CASE-003', kind: 'case', layer: 'instance', title: 'DAU 突增 3.1 倍' },
100
- { id: 'C1', kind: 'cause', layer: 'instance', title: 'C1 ODS 任务失败' },
101
- { id: 'C2', kind: 'cause', layer: 'instance', title: 'C2 渠道维表未补录' },
102
- { id: 'C3', kind: 'cause', layer: 'instance', title: 'C3 跨天事件补写' },
103
- { id: 'E1', kind: 'evidence', layer: 'instance', title: 'E1 分区不存在' },
104
- { id: 'E7', kind: 'evidence', layer: 'instance', title: 'E7 明细对账一致' },
105
125
  ],
106
126
  edges: [
107
127
  // 层内:现象 → 假设(含一条僵尸边,用来演示「权重过期」)
@@ -125,7 +145,7 @@ export const SEED_GRAPH = {
125
145
  { id: 'e-s3-h4', source: 'S3', target: 'H4', kind: 'may_be_caused_by' },
126
146
  { id: 'e-s3-h5', source: 'S3', target: 'H5', kind: 'may_be_caused_by' },
127
147
  { id: 'e-s3-h7', source: 'S3', target: 'H7', kind: 'may_be_caused_by' },
128
- // 层内:假设 → 检查(H6 故意没有,它就是图上的空区)
148
+ // 层内:假设 → 检查点(H6 故意没有,它就是图上的空区)
129
149
  { id: 'e-h1-t11', source: 'H1', target: 'T1.1', kind: 'verified_by' },
130
150
  { id: 'e-h1-t12', source: 'H1', target: 'T1.2', kind: 'verified_by' },
131
151
  { id: 'e-h2-t21', source: 'H2', target: 'T2.1', kind: 'verified_by' },
@@ -134,7 +154,7 @@ export const SEED_GRAPH = {
134
154
  { id: 'e-h5-t51', source: 'H5', target: 'T5.1', kind: 'verified_by' },
135
155
  { id: 'e-h7-t71', source: 'H7', target: 'T7.1', kind: 'verified_by' },
136
156
  { id: 'e-h7-t72', source: 'H7', target: 'T7.2', kind: 'verified_by' },
137
- // 层内:假设 → 失败模式(切面)
157
+ // 层内:假设 → 失败原因(切面)
138
158
  { id: 'e-h1-f1', source: 'H1', target: 'F1', kind: 'categorized_as' },
139
159
  { id: 'e-h2-f2', source: 'H2', target: 'F2', kind: 'categorized_as' },
140
160
  { id: 'e-h3-f3', source: 'H3', target: 'F3', kind: 'categorized_as' },
@@ -142,26 +162,27 @@ export const SEED_GRAPH = {
142
162
  { id: 'e-h5-f3', source: 'H5', target: 'F3', kind: 'categorized_as' },
143
163
  { id: 'e-h6-f5', source: 'H6', target: 'F5', kind: 'categorized_as' },
144
164
  { id: 'e-h7-f4', source: 'H7', target: 'F4', kind: 'categorized_as' },
145
- // 跨层:资产反向索引
165
+ // 跨层:资产反向索引(这条假设**落在**哪个对象上)
146
166
  { id: 'e-a-dwd-h1', source: 'dwd_ord_di', target: 'H1', kind: 'indexed_from' },
147
167
  { id: 'e-a-ods-h1', source: 'ods_order_sync', target: 'H1', kind: 'indexed_from' },
148
168
  { id: 'e-a-dim-h3', source: 'dim_channel_df', target: 'H3', kind: 'indexed_from' },
149
- // 跨层:检查产出证据、证据支持或否定假设
150
- { id: 'e-t11-e1', source: 'T1.1', target: 'E1', kind: 'produces' },
151
- { id: 'e-e1-h1', source: 'E1', target: 'H1', kind: 'supports' },
152
- { id: 'e-t72-e7', source: 'T7.2', target: 'E7', kind: 'produces' },
153
- { id: 'e-e7-h7', source: 'E7', target: 'H7', kind: 'refutes' },
154
- // 跨层:假设确认成根因
155
- { id: 'e-h1-c1', source: 'H1', target: 'C1', kind: 'confirmed_as' },
156
- { id: 'e-h3-c2', source: 'H3', target: 'C2', kind: 'confirmed_as' },
157
- { id: 'e-h5-c3', source: 'H5', target: 'C3', kind: 'confirmed_as' },
169
+ // 跨层:检查点 → 资产(`queries`,v1.3)。这条检查**要去查**哪些对象 ——
170
+ // 与上面那条 `indexed_from` 是两条边:两端不同,回答的问题也不同。
171
+ { id: 'e-t11-dwd-q', source: 'T1.1', target: 'dwd_ord_di', kind: 'queries' },
172
+ { id: 'e-t12-ods-q', source: 'T1.2', target: 'ods_order_sync', kind: 'queries' },
173
+ { id: 'e-t21-metric-q', source: 'T2.1', target: 'metric_daily_gmv', kind: 'queries' },
174
+ { id: 'e-t31-dim-q', source: 'T3.1', target: 'dim_channel_df', kind: 'queries' },
175
+ { id: 'e-t41-dwd-q', source: 'T4.1', target: 'dwd_ord_di', kind: 'queries' },
176
+ { id: 'e-t51-dwd-q', source: 'T5.1', target: 'dwd_ord_di', kind: 'queries' },
177
+ { id: 'e-t71-bi-q', source: 'T7.1', target: 'bi_daily_dashboard', kind: 'queries' },
178
+ { id: 'e-t72-dwd-q', source: 'T7.2', target: 'dwd_ord_di', kind: 'queries' },
158
179
  // 跨层:案例实例化(三个案例各归各的现象,但收敛到**同一批假设**)
159
180
  { id: 'e-case1-s1', source: 'CASE-001', target: 'S1', kind: 'instance_of', count: 1 },
160
181
  { id: 'e-case2-s2', source: 'CASE-002', target: 'S2', kind: 'instance_of', count: 1 },
161
182
  { id: 'e-case3-s3', source: 'CASE-003', target: 'S3', kind: 'instance_of', count: 1 },
162
183
  ],
163
184
  };
164
- /** 三个 seed 案例,与上面图谱里的节点 id 对齐(0021 §11)。 */
185
+ /** 三个 seed 案例卡片,与上面图谱里的节点 id 对齐(0021 §11)。 */
165
186
  export const SEED_CASES = [
166
187
  {
167
188
  id: 'CASE-001',
@@ -239,4 +260,119 @@ export const SEED_CASES = [
239
260
  ],
240
261
  },
241
262
  ];
263
+ /**
264
+ * 三次排查的**过程记录**(`agent_diagnosis_case`)。
265
+ *
266
+ * 它们与 `SEED_CASES` 一一对应,但**不是同一份东西**:这里是 Agent 跑出来的原始记录
267
+ * (每条检查点真跑了什么、看到什么、这个结果算不算数),`SEED_CASES` 是之后归纳出来的
268
+ * 案例卡片(要经人确认才生效)。一个回答「当时怎么走的」,一个回答「结论是什么」。
269
+ *
270
+ * `E7` 是 CASE-001 里那次**贵的否定**:T7.2 直连明细对账推翻了 H7。它不在案例的
271
+ * 主路径上(主路径早就确认了 H1),但它是这次排查最贵的一条知识 —— 40 分钟的误导段
272
+ * 正是靠它收尾的。
273
+ */
274
+ export const SEED_RUNS = [
275
+ {
276
+ runId: 'RUN-20260811-1',
277
+ symptomId: 'S1',
278
+ startedAt: '2026-08-11T02:55:00+08:00',
279
+ durationMinutes: 65,
280
+ path: SEED_CASES[0].path,
281
+ evidence: [
282
+ {
283
+ id: 'E1', checkPointId: 'T1.1',
284
+ query: "select count(*) from dwd_ord_di where dt = '2026-08-10'",
285
+ result: '分区不存在', verdict: 'supports', hypothesisId: 'H1',
286
+ why: '与调度系统日志一致:ods_order_sync 02:40 实例 failed 且未启用重试,下游无输入',
287
+ at: '2026-08-11T02:58:00+08:00', by: '@duty', rawRef: 'scheduler://ods_order_sync/instance/20260811',
288
+ },
289
+ {
290
+ id: 'E7', checkPointId: 'T7.2',
291
+ query: "select sum(gmv) from dwd_ord_di_detail where dt = '2026-08-10'",
292
+ result: '明细与报表一致', verdict: 'refutes', hypothesisId: 'H7',
293
+ why: '明细对账一致,缓存不影响明细 —— 这一条花了 35 分钟,是唯一能否定 H7 的检查',
294
+ at: '2026-08-11T03:40:00+08:00', by: '@analyst',
295
+ },
296
+ ],
297
+ rootCause: {
298
+ hypothesisId: 'H1', id: 'C1',
299
+ text: 'ODS 任务 ods_order_sync 02:40 失败且未启用重试,dwd_ord_di/dt 分区未产出。',
300
+ fixAction: '补 dwd_ord_di 分区;给 ods_order_sync 加失败告警与自动重试;分区存在性检查加入日报前置校验。',
301
+ confirmedAt: '2026-08-11T04:00:00+08:00',
302
+ },
303
+ misleading: SEED_CASES[0].misleading ? [SEED_CASES[0].misleading] : [],
304
+ },
305
+ {
306
+ runId: 'RUN-20260812-1',
307
+ symptomId: 'S2',
308
+ startedAt: '2026-08-12T09:10:00+08:00',
309
+ durationMinutes: 22,
310
+ path: SEED_CASES[1].path,
311
+ evidence: [
312
+ {
313
+ id: 'E2a', checkPointId: 'T1.1',
314
+ query: "select count(*) from dwd_ord_di where dt = '2026-08-11'",
315
+ result: '分区存在且有数据', verdict: 'refutes', hypothesisId: 'H1',
316
+ why: '分区有数据,H1 不成立 —— 1 分钟就砍掉了一条先验最高的假设',
317
+ at: '2026-08-12T09:12:00+08:00', by: '@duty',
318
+ },
319
+ {
320
+ id: 'E2b', checkPointId: 'T4.1',
321
+ query: "select order_id, count(*) c from dwd_ord_di where dt = '2026-08-11' group by order_id having c > 1 limit 10",
322
+ result: '主键唯一,无重复', verdict: 'refutes', hypothesisId: 'H4',
323
+ why: '主键唯一性检查通过,无重复行 —— H4 被否定',
324
+ at: '2026-08-12T09:16:00+08:00', by: '@duty',
325
+ },
326
+ {
327
+ id: 'E2c', checkPointId: 'T3.1',
328
+ query: "select channel, count(*) from dwd_ord_di where dt = '2026-08-11' group by channel order by 2 desc",
329
+ result: 'unknown 占比 88%', verdict: 'supports', hypothesisId: 'H3',
330
+ why: 'unknown 占比 88%,且缺口集中在新增的两个渠道 —— 与维表未补录一致',
331
+ at: '2026-08-12T09:24:00+08:00', by: '@duty',
332
+ },
333
+ ],
334
+ rootCause: {
335
+ hypothesisId: 'H3', id: 'C2',
336
+ text: '新增渠道未补录维表,dim_channel_df join 落 unknown 后被 where channel is not null 过滤。',
337
+ fixAction: '补录渠道维表;把 unknown 占比纳入日常巡检;下游过滤改为「先报警再过滤」。',
338
+ confirmedAt: '2026-08-12T09:32:00+08:00',
339
+ },
340
+ },
341
+ {
342
+ runId: 'RUN-20260813-1',
343
+ symptomId: 'S3',
344
+ startedAt: '2026-08-13T14:05:00+08:00',
345
+ durationMinutes: 35,
346
+ path: SEED_CASES[2].path,
347
+ evidence: [
348
+ {
349
+ id: 'E3a', checkPointId: 'T4.1',
350
+ query: "select user_id, count(*) c from dwd_dau_di where dt = '2026-08-12' group by user_id having c > 1 limit 10",
351
+ result: '主键唯一,无重复', verdict: 'refutes', hypothesisId: 'H4',
352
+ why: '主键唯一性通过 —— 放大不是重复计数造成的',
353
+ at: '2026-08-13T14:10:00+08:00', by: '@duty',
354
+ },
355
+ {
356
+ id: 'E3b', checkPointId: 'T7.1',
357
+ query: 'select max(refresh_at) from bi_daily_dashboard_meta',
358
+ result: '缓存时间正常', verdict: 'inconclusive', hypothesisId: 'H7',
359
+ why: '缓存时间正常并不能否定 H7(T7.1 的 verdict_false 已经写明);要否定它必须做 35 分钟的直连明细对账 —— 这一条给不出结论',
360
+ at: '2026-08-13T14:18:00+08:00', by: '@duty',
361
+ },
362
+ {
363
+ id: 'E3c', checkPointId: 'T5.1',
364
+ query: "select event_time, count(*) from dwd_dau_di where dt = '2026-08-12' group by 1 order by 1 limit 5",
365
+ result: '分区内事件时间跨天', verdict: 'supports', hypothesisId: 'H5',
366
+ why: '事件时间跨出 T-1 单日窗口,且只有这一天异常 —— 与上游重跑补写一致',
367
+ at: '2026-08-13T14:34:00+08:00', by: '@duty',
368
+ },
369
+ ],
370
+ rootCause: {
371
+ hypothesisId: 'H5', id: 'C3',
372
+ text: '上游重跑把跨天事件补写进 T-1 分区,事件时间与处理时间边界被跨越。',
373
+ fixAction: '重跑加事件时间边界校验;分区写入前检查事件时间下界。',
374
+ confirmedAt: '2026-08-13T14:40:00+08:00',
375
+ },
376
+ },
377
+ ];
242
378
  //# sourceMappingURL=seed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/diagnosis/seed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/diagnosis/seed.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,UAAU,GAAyB;IAC9C,KAAK,EAAE;QACL,qDAAqD;QACrD,8CAA8C;QAC9C,2CAA2C;QAC3C;YACE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY;YAC7D,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc;YACxD,OAAO,EAAE,gCAAgC;SAC1C;QACD;YACE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa;YAC9D,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,sBAAsB;YAClE,OAAO,EAAE,0CAA0C;SACpD;QACD;YACE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc;YAC/D,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,sBAAsB;YAClE,OAAO,EAAE,2CAA2C;SACrD;QAED,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,EAAE;YAChH,OAAO,EAAE,iDAAiD;YAC1D,aAAa,EAAE,8BAA8B;YAC7C,OAAO,EAAE,yCAAyC,EAAE;QACtD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;YAC5G,OAAO,EAAE,8BAA8B;YACvC,aAAa,EAAE,0BAA0B;YACzC,OAAO,EAAE,oCAAoC,EAAE;QACjD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;YAC7G,OAAO,EAAE,wCAAwC;YACjD,aAAa,EAAE,wCAAwC;YACvD,OAAO,EAAE,6CAA6C,EAAE;QAC1D,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;YAC9G,OAAO,EAAE,sBAAsB;YAC/B,aAAa,EAAE,iBAAiB;YAChC,OAAO,EAAE,sCAAsC,EAAE;QACnD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;YAChH,OAAO,EAAE,6BAA6B;YACtC,aAAa,EAAE,wBAAwB;YACvC,OAAO,EAAE,gCAAgC,EAAE;QAC7C,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;YAC3G,OAAO,EAAE,8BAA8B;YACvC,aAAa,EAAE,wBAAwB;YACvC,OAAO,EAAE,uBAAuB,EAAE;QACpC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;YAChH,OAAO,EAAE,4BAA4B;YACrC,aAAa,EAAE,qBAAqB;YACpC,OAAO,EAAE,2CAA2C,EAAE;QAExD,mEAAmE;QACnE,4CAA4C;QAC5C,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE;QAC7F,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;QACvF,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE;QAC3F,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;QACxF,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;QAEvF,+CAA+C;QAC/C,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;YACnH,MAAM,EAAE,CAAC,YAAY,CAAC;YACtB,OAAO,EAAE,oCAAoC;YAC7C,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE;QAC9C,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;YACpH,MAAM,EAAE,CAAC,gBAAgB,CAAC;YAC1B,OAAO,EAAE,iCAAiC;YAC1C,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,wBAAwB,EAAE;QACtE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe;YAC9H,MAAM,EAAE,CAAC,kBAAkB,CAAC;YAC5B,OAAO,EAAE,2BAA2B;YACpC,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE;QACvD,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;YACvH,MAAM,EAAE,CAAC,gBAAgB,CAAC;YAC1B,OAAO,EAAE,oCAAoC;YAC7C,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE;QACnE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;YAClH,MAAM,EAAE,CAAC,YAAY,CAAC;YACtB,OAAO,EAAE,gCAAgC;YACzC,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE;QACvD,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;YACnH,MAAM,EAAE,CAAC,YAAY,CAAC;YACtB,OAAO,EAAE,uBAAuB;YAChC,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAE,gBAAgB,EAAE;QACrE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;YACnH,MAAM,EAAE,CAAC,oBAAoB,CAAC;YAC9B,OAAO,EAAE,8BAA8B;YACvC,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,8BAA8B,EAAE;QACxE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU;YACzH,MAAM,EAAE,CAAC,YAAY,CAAC;YACtB,OAAO,EAAE,8BAA8B;YACvC,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE;QAE9D,sEAAsE;QACtE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE;QAChG,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE;QACtG,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE;QACxG,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE;QAC7G,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,SAAS,EAAE;QAElH,8CAA8C;QAC9C,mDAAmD;QACnD,yCAAyC;QACzC,yCAAyC;QACzC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE;QACxE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE;QACzE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE;KAC3E;IACD,KAAK,EAAE;QACL,gCAAgC;QAChC,EAAE;QACF,+CAA+C;QAC/C,6CAA6C;QAC7C,kDAAkD;QAClD,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;QACvE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,EAAE,EAAE;QACtF,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;QACvE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;QACvE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;QACvE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;QACvE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;QAEvE,2CAA2C;QAC3C,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;QACvE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;QACvE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;QACvE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;QAEvE,8CAA8C;QAC9C,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;QACvE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;QACvE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;QAEvE,gCAAgC;QAChC,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;QACrE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;QACrE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;QACrE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;QACrE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;QACrE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;QACrE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;QACrE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;QAErE,mBAAmB;QACnB,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACrE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACrE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACrE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACrE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACrE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACrE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;QAErE,6BAA6B;QAC7B,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE;QAC9E,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE;QAClF,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE;QAElF,iDAAiD;QACjD,2CAA2C;QAC3C,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5E,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;QAChF,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE;QACrF,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;QAChF,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5E,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5E,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE;QACnF,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;QAE5E,qCAAqC;QACrC,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE;QACrF,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE;QACrF,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE;KACtF;CACF,CAAA;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,UAAU,GAAsB;IAC3C;QACE,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,YAAY;QACnB,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,SAAS,EAAE,2DAA2D;QACtE,QAAQ,EAAE;YACR,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,mDAAmD,EAAE;YAC5E,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,sCAAsC,EAAE;YAChE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,4DAA4D,EAAE;YACvF,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,mDAAmD,EAAE;YAC5E,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,8DAA8D,EAAE;SAC5F;QACD,IAAI,EAAE;YACJ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE;YACpD,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE;YAClD,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE;YACzD,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE;YACjD,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;SAC5C;QACD,UAAU,EAAE;YACV,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,aAAa;YACpB,aAAa,EAAE,EAAE;YACjB,GAAG,EAAE,8GAA8G;SACpH;KACF;IACD;QACE,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,aAAa;QACpB,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,SAAS,EAAE,0EAA0E;QACrF,QAAQ,EAAE;YACR,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,8BAA8B,EAAE;YACvD,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,2CAA2C,EAAE;YACrE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,0GAA0G,EAAE;YACrI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,sCAAsC,EAAE;YAC/D,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,2CAA2C,EAAE;SACzE;QACD,IAAI,EAAE;YACJ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE;YACnD,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;YACvD,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE;YACvE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7C,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE;YAC1E,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7C,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE;YACzD,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;SAC5C;KACF;IACD;QACE,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,cAAc;QACrB,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,SAAS,EAAE,qCAAqC;QAChD,QAAQ,EAAE;YACR,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,6BAA6B,EAAE;YACtD,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,6CAA6C,EAAE;YACvE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,sFAAsF,EAAE;YACjH,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE;YAC/C,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,EAAE;SAC1D;QACD,IAAI,EAAE;YACJ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;YACrD,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;YACvD,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE;YAC1E,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE;YAC5C,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE;YAC/D,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7C,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjD,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;SAC5C;KACF;CACF,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,SAAS,GAAyB;IAC7C;QACE,KAAK,EAAE,gBAAgB;QACvB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,2BAA2B;QACtC,eAAe,EAAE,EAAE;QACnB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI;QACzB,QAAQ,EAAE;YACR;gBACE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM;gBAC9B,KAAK,EAAE,yDAAyD;gBAChE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI;gBACxD,GAAG,EAAE,uDAAuD;gBAC5D,EAAE,EAAE,2BAA2B,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,8CAA8C;aACrG;YACD;gBACE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM;gBAC9B,KAAK,EAAE,gEAAgE;gBACvE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI;gBACzD,GAAG,EAAE,6CAA6C;gBAClD,EAAE,EAAE,2BAA2B,EAAE,EAAE,EAAE,UAAU;aAChD;SACF;QACD,SAAS,EAAE;YACT,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI;YAC5B,IAAI,EAAE,2DAA2D;YACjE,SAAS,EAAE,8DAA8D;YACzE,WAAW,EAAE,2BAA2B;SACzC;QACD,UAAU,EAAE,UAAU,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;KACzE;IACD;QACE,KAAK,EAAE,gBAAgB;QACvB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,2BAA2B;QACtC,eAAe,EAAE,EAAE;QACnB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI;QACzB,QAAQ,EAAE;YACR;gBACE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM;gBAC/B,KAAK,EAAE,yDAAyD;gBAChE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI;gBAC1D,GAAG,EAAE,mCAAmC;gBACxC,EAAE,EAAE,2BAA2B,EAAE,EAAE,EAAE,OAAO;aAC7C;YACD;gBACE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM;gBAC/B,KAAK,EAAE,6GAA6G;gBACpH,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI;gBAC1D,GAAG,EAAE,0BAA0B;gBAC/B,EAAE,EAAE,2BAA2B,EAAE,EAAE,EAAE,OAAO;aAC7C;YACD;gBACE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM;gBAC/B,KAAK,EAAE,mGAAmG;gBAC1G,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI;gBACjE,GAAG,EAAE,0CAA0C;gBAC/C,EAAE,EAAE,2BAA2B,EAAE,EAAE,EAAE,OAAO;aAC7C;SACF;QACD,SAAS,EAAE;YACT,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI;YAC5B,IAAI,EAAE,0EAA0E;YAChF,SAAS,EAAE,2CAA2C;YACtD,WAAW,EAAE,2BAA2B;SACzC;KACF;IACD;QACE,KAAK,EAAE,gBAAgB;QACvB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,2BAA2B;QACtC,eAAe,EAAE,EAAE;QACnB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI;QACzB,QAAQ,EAAE;YACR;gBACE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM;gBAC/B,KAAK,EAAE,2GAA2G;gBAClH,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI;gBAC1D,GAAG,EAAE,wBAAwB;gBAC7B,EAAE,EAAE,2BAA2B,EAAE,EAAE,EAAE,OAAO;aAC7C;YACD;gBACE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM;gBAC/B,KAAK,EAAE,qDAAqD;gBAC5D,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI;gBAC7D,GAAG,EAAE,4EAA4E;gBACjF,EAAE,EAAE,2BAA2B,EAAE,EAAE,EAAE,OAAO;aAC7C;YACD;gBACE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM;gBAC/B,KAAK,EAAE,mGAAmG;gBAC1G,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI;gBAC5D,GAAG,EAAE,uCAAuC;gBAC5C,EAAE,EAAE,2BAA2B,EAAE,EAAE,EAAE,OAAO;aAC7C;SACF;QACD,SAAS,EAAE;YACT,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI;YAC5B,IAAI,EAAE,qCAAqC;YAC3C,SAAS,EAAE,4BAA4B;YACvC,WAAW,EAAE,2BAA2B;SACzC;KACF;CACF,CAAA"}