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

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 (117) hide show
  1. package/README.md +31 -7
  2. package/cordis.patch.yml +11 -5
  3. package/lib/client.js +5557 -3056
  4. package/lib/doc-page.js +7740 -0
  5. package/lib/types/convert/host.d.ts.map +1 -1
  6. package/lib/types/convert/host.js +36 -9
  7. package/lib/types/convert/host.js.map +1 -1
  8. package/lib/types/diagnosis/cards.d.ts +8 -7
  9. package/lib/types/diagnosis/cards.d.ts.map +1 -1
  10. package/lib/types/diagnosis/cards.js +119 -49
  11. package/lib/types/diagnosis/cards.js.map +1 -1
  12. package/lib/types/diagnosis/run.d.ts +51 -0
  13. package/lib/types/diagnosis/run.d.ts.map +1 -0
  14. package/lib/types/diagnosis/run.js +239 -0
  15. package/lib/types/diagnosis/run.js.map +1 -0
  16. package/lib/types/diagnosis/schema.d.ts +25 -2
  17. package/lib/types/diagnosis/schema.d.ts.map +1 -1
  18. package/lib/types/diagnosis/schema.js +64 -25
  19. package/lib/types/diagnosis/schema.js.map +1 -1
  20. package/lib/types/diagnosis/seed-source.d.ts +17 -2
  21. package/lib/types/diagnosis/seed-source.d.ts.map +1 -1
  22. package/lib/types/diagnosis/seed-source.js +18 -1
  23. package/lib/types/diagnosis/seed-source.js.map +1 -1
  24. package/lib/types/diagnosis/seed.d.ts +32 -42
  25. package/lib/types/diagnosis/seed.d.ts.map +1 -1
  26. package/lib/types/diagnosis/seed.js +187 -51
  27. package/lib/types/diagnosis/seed.js.map +1 -1
  28. package/lib/types/diagnosis/store.d.ts +114 -26
  29. package/lib/types/diagnosis/store.d.ts.map +1 -1
  30. package/lib/types/diagnosis/store.js +336 -167
  31. package/lib/types/diagnosis/store.js.map +1 -1
  32. package/lib/types/diagnosis/types.d.ts +168 -16
  33. package/lib/types/diagnosis/types.d.ts.map +1 -1
  34. package/lib/types/diagnosis/types.js +1 -1
  35. package/lib/types/diagnosis/types.js.map +1 -1
  36. package/lib/types/document-page.d.ts +39 -0
  37. package/lib/types/document-page.d.ts.map +1 -0
  38. package/lib/types/document-page.js +43 -0
  39. package/lib/types/document-page.js.map +1 -0
  40. package/lib/types/fs-atomic.d.ts +12 -0
  41. package/lib/types/fs-atomic.d.ts.map +1 -0
  42. package/lib/types/fs-atomic.js +42 -0
  43. package/lib/types/fs-atomic.js.map +1 -0
  44. package/lib/types/index.d.ts.map +1 -1
  45. package/lib/types/index.js +214 -24
  46. package/lib/types/index.js.map +1 -1
  47. package/lib/types/knowledge-bases.d.ts +10 -2
  48. package/lib/types/knowledge-bases.d.ts.map +1 -1
  49. package/lib/types/knowledge-bases.js +20 -18
  50. package/lib/types/knowledge-bases.js.map +1 -1
  51. package/lib/types/proposals.d.ts +166 -0
  52. package/lib/types/proposals.d.ts.map +1 -0
  53. package/lib/types/proposals.js +238 -0
  54. package/lib/types/proposals.js.map +1 -0
  55. package/lib/types/runtime.d.ts +199 -7
  56. package/lib/types/runtime.d.ts.map +1 -1
  57. package/lib/types/runtime.js +728 -145
  58. package/lib/types/runtime.js.map +1 -1
  59. package/lib/types/settings-schema.d.ts +2 -2
  60. package/lib/types/types.d.ts +61 -10
  61. package/lib/types/types.d.ts.map +1 -1
  62. package/lib/types/types.js +56 -8
  63. package/lib/types/types.js.map +1 -1
  64. package/lib/types/wiki-types.d.ts +8 -1
  65. package/lib/types/wiki-types.d.ts.map +1 -1
  66. package/lib/types/wiki-types.js +16 -25
  67. package/lib/types/wiki-types.js.map +1 -1
  68. package/package.json +4 -3
  69. package/preset/tita-data-agent/agent.cordis.yml +11 -5
  70. package/src/client/DirectoryPicker.tsx +12 -12
  71. package/src/client/InfoHint.tsx +21 -8
  72. package/src/client/IntentTab.tsx +20 -26
  73. package/src/client/KnowledgeBaseTab.tsx +190 -80
  74. package/src/client/KnowledgePanel.tsx +42 -9
  75. package/src/client/KnowledgeStepRail.tsx +3 -0
  76. package/src/client/NodeSettings.tsx +20 -22
  77. package/src/client/PreviewSections.tsx +87 -33
  78. package/src/client/ProposalReview.tsx +313 -0
  79. package/src/client/TypeDefinitionDrawer.tsx +72 -38
  80. package/src/client/WikiTypeEditor.tsx +193 -77
  81. package/src/client/arch/AgentArchitectureGraph.tsx +143 -14
  82. package/src/client/arch/NodeLogicPanel.tsx +6 -3
  83. package/src/client/arch/model.ts +164 -26
  84. package/src/client/architecture.css +29 -9
  85. package/src/client/architecture.tsx +54 -29
  86. package/src/client/attribution/AttributionGraph.tsx +481 -34
  87. package/src/client/attribution/AttributionTab.tsx +507 -106
  88. package/src/client/attribution/CaseView.tsx +9 -14
  89. package/src/client/attribution/GraphStage.tsx +25 -18
  90. package/src/client/attribution/RunView.tsx +27 -9
  91. package/src/client/attribution/StageChrome.tsx +296 -140
  92. package/src/client/attribution/graph-options.ts +611 -47
  93. package/src/client/attribution/model.ts +559 -30
  94. package/src/client/convert/ConvertPanel.tsx +6 -1
  95. package/src/client/doc-page.css +134 -0
  96. package/src/client/doc-page.tsx +263 -0
  97. package/src/client/panel-state.ts +105 -0
  98. package/src/client/request.ts +36 -0
  99. package/src/client/styles.css +317 -43
  100. package/src/client/useFitScale.ts +15 -2
  101. package/src/client/wiki-type-groups.ts +86 -0
  102. package/src/convert/host.ts +41 -7
  103. package/src/diagnosis/cards.ts +120 -50
  104. package/src/diagnosis/run.ts +245 -0
  105. package/src/diagnosis/schema.ts +67 -26
  106. package/src/diagnosis/seed-source.ts +28 -3
  107. package/src/diagnosis/seed.ts +187 -85
  108. package/src/diagnosis/store.ts +358 -174
  109. package/src/diagnosis/types.ts +181 -16
  110. package/src/document-page.ts +51 -0
  111. package/src/fs-atomic.ts +42 -0
  112. package/src/index.ts +209 -22
  113. package/src/knowledge-bases.ts +20 -18
  114. package/src/proposals.ts +337 -0
  115. package/src/runtime.ts +736 -135
  116. package/src/types.ts +113 -19
  117. package/src/wiki-types.ts +17 -27
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../src/convert/host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAOlD,OAAO,EAAsC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AACnF,OAAO,EAML,KAAK,mBAAmB,EAEzB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEnG,wEAAwE;AACxE,eAAO,MAAM,UAAU,aAAa,CAAA;AAIpC;;;;;;;;;GASG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,OAAO,IAAI,YAAY,CAAA;IACvB,+DAA+D;IAC/D,aAAa,IAAI,MAAM,CAAA;IACvB;;;;;;;OAOG;IACH,SAAS,CAAC,IAAI,MAAM,CAAA;IACpB;;;;OAIG;IACH,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/E;;;OAGG;IACH,SAAS,IAAI,MAAM,CAAA;IACnB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAA;CAC7E;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,SAAS,IAAI,IAAI,CAAA;CAClB;AAwFD,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CA+X7E"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../../src/convert/host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAOlD,OAAO,EAAsC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AACnF,OAAO,EAML,KAAK,mBAAmB,EAEzB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEnG,wEAAwE;AACxE,eAAO,MAAM,UAAU,aAAa,CAAA;AAIpC;;;;;;;;;GASG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,OAAO,IAAI,YAAY,CAAA;IACvB,+DAA+D;IAC/D,aAAa,IAAI,MAAM,CAAA;IACvB;;;;;;;OAOG;IACH,SAAS,CAAC,IAAI,MAAM,CAAA;IACpB;;;;OAIG;IACH,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/E;;;OAGG;IACH,SAAS,IAAI,MAAM,CAAA;IACnB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAA;CAC7E;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,SAAS,IAAI,IAAI,CAAA;CAClB;AA0FD,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CA+Z7E"}
@@ -78,7 +78,7 @@ function send(res, status, body) {
78
78
  res.end(JSON.stringify(body));
79
79
  }
80
80
  /** Compact task view for tools — the full ingest payload never enters context. */
81
- function taskView(task) {
81
+ function taskView(kernel, task) {
82
82
  const manifest = task.manifest;
83
83
  return {
84
84
  taskId: task.id,
@@ -93,6 +93,8 @@ function taskView(task) {
93
93
  error: task.error ?? null,
94
94
  warnings: task.warnings.map(warning => warning.code),
95
95
  attempts: task.attempts,
96
+ /** 与服务端 retry() 的守卫同源(`canRetryTask`):Agent 不该去点一枚注定失败的按钮。 */
97
+ canRetry: kernel.canRetry(task).ok,
96
98
  deliveryDir: task.deliveryDir,
97
99
  assetCount: manifest?.assets.length ?? 0,
98
100
  wordCount: manifest?.wordCount ?? 0,
@@ -222,10 +224,24 @@ export function applyConvert(ctx, deps) {
222
224
  const readConfig = () => (typeof deps.config === 'function' ? deps.config() : deps.config) ?? {};
223
225
  config = { ...DEFAULT_CONVERT_CONFIG, ...readConfig() };
224
226
  void resetService();
227
+ /**
228
+ * 写操作要用户点头。
229
+ *
230
+ * `convert_task` 是**一个混合工具**:`list` / `get` / `markdown` / `manifest` 只读,
231
+ * `cancel` / `retry` 会改队列。所以它不能整只进 `WRITE_TOOLS`(那会让「看一眼队列」
232
+ * 也要审批),也不能整只留在外面 —— 那样一个自称只读的工具就能取消别人的任务。
233
+ * 判据落在 `action` 上。
234
+ */
225
235
  ctx.on('tools/pre-execute', (exec, next) => {
226
236
  if (WRITE_TOOLS.includes(exec.name)) {
227
237
  return Promise.resolve({ kind: 'ask', reason: '该操作会转换本地内容,并写入 Tita Knowledge Store,需要本轮用户审批。' });
228
238
  }
239
+ if (exec.name === 'convert_task') {
240
+ const action = exec.arguments?.action;
241
+ if (action === 'cancel' || action === 'retry') {
242
+ return Promise.resolve({ kind: 'ask', reason: `convert_task 的 ${String(action)} 会改动转换队列,需要本轮用户审批。` });
243
+ }
244
+ }
229
245
  return next();
230
246
  });
231
247
  // ---------------------------------------------------------------- tools
@@ -308,14 +324,14 @@ export function applyConvert(ctx, deps) {
308
324
  const submitted = await kernel.submit(request);
309
325
  const shouldWait = args.wait !== false;
310
326
  const finished = shouldWait ? await waitForTask(kernel, submitted.id, config.toolWaitMs) : submitted;
311
- const view = taskView(finished ?? submitted);
327
+ const view = taskView(kernel, finished ?? submitted);
312
328
  return success({
313
329
  ...view,
314
330
  waited: shouldWait,
315
331
  ingestHint: '调用 convert_ingest 把该任务写入知识库;它会把 Markdown 与图片一起落地,并返回 cardHints。',
316
332
  });
317
333
  }));
318
- ctx.tools.register(tool('convert_task', 'Inspect the conversion queue: list, get, cancel, retry, or read the delivered Markdown/manifest of a task. Read-only.', {
334
+ ctx.tools.register(tool('convert_task', 'Inspect and steer the conversion queue. list / get / markdown / manifest are read-only; cancel and retry change the queue (both need user approval). retry only works on a failed or cancelled task whose staged input is still in tmp/ — a delivered task cannot be retried, because its input is cleaned up when it is delivered; submit the file again instead.', {
319
335
  action: { type: 'string', enum: ['list', 'get', 'cancel', 'retry', 'markdown', 'manifest'], required: true },
320
336
  task_id: { type: 'string' },
321
337
  limit: { type: 'integer' },
@@ -326,15 +342,26 @@ export function applyConvert(ctx, deps) {
326
342
  const action = String(args.action);
327
343
  if (action === 'list') {
328
344
  const limit = Number.isFinite(args.limit) ? Math.max(1, Math.min(100, Number(args.limit))) : 20;
329
- return success({ tasks: kernel.list().slice(0, limit).map(taskView) });
345
+ return success({ tasks: kernel.list().slice(0, limit).map(task => taskView(kernel, task)) });
330
346
  }
331
347
  const taskId = typeof args.task_id === 'string' ? args.task_id.trim() : '';
332
348
  if (!taskId)
333
349
  return failure({ taskId: null }, 'TASK_ID_REQUIRED', `${action} 需要 task_id。`);
334
- if (action === 'cancel')
335
- return success(taskView(kernel.cancel(taskId)));
336
- if (action === 'retry')
337
- return success(taskView(await kernel.retry(taskId)));
350
+ /*
351
+ * `cancel` / `retry` **会改队列**,所以它们不把 `AdapterError` 抛出去让宿主兜,
352
+ * 而是把 code 与 suggestion 如实放进 envelope:Agent 读到的应该是「为什么不能」
353
+ * 与「那该怎么办」(例如:已交付的任务要**重新提交文件**,而不是重试 ——
354
+ * 它的输入在交付后就清理了)。
355
+ */
356
+ if (action === 'cancel' || action === 'retry') {
357
+ try {
358
+ return success(taskView(kernel, action === 'cancel' ? kernel.cancel(taskId) : await kernel.retry(taskId)));
359
+ }
360
+ catch (cause) {
361
+ const error = cause;
362
+ return failure({ taskId }, typeof error.code === 'string' ? error.code : 'CONVERT_TASK_FAILED', typeof error.message === 'string' ? error.message : String(cause), false, typeof error.suggestion === 'string' ? error.suggestion : undefined);
363
+ }
364
+ }
338
365
  if (action === 'markdown') {
339
366
  const file = await kernel.readDeliveryFile(taskId, 'index.md');
340
367
  if (!file)
@@ -350,7 +377,7 @@ export function applyConvert(ctx, deps) {
350
377
  const task = kernel.get(taskId);
351
378
  if (!task)
352
379
  return failure({ taskId }, 'TASK_NOT_FOUND', `任务不存在:${taskId}`);
353
- return success(taskView(task));
380
+ return success(taskView(kernel, task));
354
381
  }));
355
382
  ctx.tools.register(tool('convert_ingest', 'Ingest a delivered conversion into the knowledge store: copies images into the knowledge root, rewrites local image references, writes the SourceRaw document in-process, and returns cardHints so a wiki card can carry the images into multimodal recall. Write operation: DSH asks the user once before execution. Set plan_only=true for a dry run.', {
356
383
  convert_task_id: { type: 'string', required: true },
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../src/convert/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../src/convert/host.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { type DiagnosisEntityType } from './schema.js';
2
- import type { AttributionCase } from './seed.js';
3
- import type { AttributionEdgeKind, AttributionGraphData, AttributionNodeKind } from './types.js';
2
+ import type { AttributionCase, AttributionEdgeKind, AttributionGraphData, AttributionNodeKind } from './types.js';
4
3
  export interface DiagnosisCardSection {
5
4
  heading: string;
6
5
  body: string;
@@ -39,11 +38,13 @@ export declare const RUN_EDGE_KINDS: AttributionEdgeKind[];
39
38
  */
40
39
  export declare function serializeCard(card: DiagnosisCard): string;
41
40
  export declare function parseCard(source: string): DiagnosisCard | undefined;
41
+ /** 改名之前的 `entity_type` 按别名认,而不是判为未知类型然后静默丢掉这张卡片。 */
42
+ export declare function normalizeEntityType(value: string): DiagnosisEntityType | undefined;
42
43
  /**
43
44
  * 类型层与案例 → 卡片。
44
45
  *
45
- * `asset` / `evidence` / `cause` 节点**不产出卡片**:它们不是手写的知识(§6.4)。
46
- * 被假设引用的资产会在反序列化时按 id 补一个最小节点回来。
46
+ * `asset` / `evidence` / `cause` 节点**不产出卡片**:它们不是手确认过的知识(§6.4)。
47
+ * 被引用的资产会在反序列化时按 id 补一个最小节点回来。
47
48
  */
48
49
  export declare function graphToCards(graph: AttributionGraphData, cases?: AttributionCase[]): DiagnosisCard[];
49
50
  export interface CompiledDiagnosis {
@@ -55,9 +56,9 @@ export interface CompiledDiagnosis {
55
56
  /**
56
57
  * 卡片 → 图。
57
58
  *
58
- * 只产出「卡片定义得了」的那部分(类型层 + 引用层的资产 + 案例,以及五种卡片边);
59
- * `evidence` / `cause` 与四条执行边由一次排查写入,不在这里合成 —— 否则一次执行的结果
60
- * 会被伪装成可复用的知识。
59
+ * 只产出「卡片定义得了」的那部分(类型层 + 引用层的资产 + 案例,以及六种卡片边);
60
+ * `evidence` / `cause` 与四条执行边由一次排查写入(`agent_diagnosis_case` 的 SourceRaw),
61
+ * 不在这里合成 —— 否则一次执行的结果会被伪装成可复用的知识。
61
62
  */
62
63
  export declare function cardsToGraph(cards: DiagnosisCard[]): CompiledDiagnosis;
63
64
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"cards.d.ts","sourceRoot":"","sources":["../../../src/diagnosis/cards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,KAAK,EACO,mBAAmB,EAAE,oBAAoB,EAAmB,mBAAmB,EAEjG,MAAM,YAAY,CAAA;AAwCnB,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,mBAAmB,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qBAAqB;IACrB,QAAQ,EAAE,oBAAoB,EAAE,CAAA;IAChC,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED,wCAAwC;AACxC,eAAO,MAAM,mBAAmB,aAAa,CAAA;AAgC7C,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,SAAS,CAEvF;AAED,6DAA6D;AAC7D,eAAO,MAAM,eAAe,EAAE,mBAAmB,EAA8C,CAAA;AAE/F,6BAA6B;AAC7B,eAAO,MAAM,eAAe,EAAE,mBAAmB,EAEhD,CAAA;AAED,mCAAmC;AACnC,eAAO,MAAM,cAAc,EAAE,mBAAmB,EAAwD,CAAA;AAQxG;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAiBzD;AAID,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CA+BnE;AAoDD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,GAAE,eAAe,EAAO,GAAG,aAAa,EAAE,CA8ExG;AAID,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,oBAAoB,CAAA;IAC3B,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,iBAAiB,CA+HtE;AA2BD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAEtD"}
1
+ {"version":3,"file":"cards.d.ts","sourceRoot":"","sources":["../../../src/diagnosis/cards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACpH,OAAO,KAAK,EAEV,eAAe,EACE,mBAAmB,EAAE,oBAAoB,EAAmB,mBAAmB,EAEjG,MAAM,YAAY,CAAA;AAuCnB,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,mBAAmB,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qBAAqB;IACrB,QAAQ,EAAE,oBAAoB,EAAE,CAAA;IAChC,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED,wCAAwC;AACxC,eAAO,MAAM,mBAAmB,aAAa,CAAA;AAiC7C,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,SAAS,CAEvF;AAED,6DAA6D;AAC7D,eAAO,MAAM,eAAe,EAAE,mBAAmB,EAA8C,CAAA;AAE/F,6BAA6B;AAC7B,eAAO,MAAM,eAAe,EAAE,mBAAmB,EAEhD,CAAA;AAED,mCAAmC;AACnC,eAAO,MAAM,cAAc,EAAE,mBAAmB,EAAwD,CAAA;AAQxG;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAiBzD;AAID,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CA+BnE;AAED,oDAAoD;AACpD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAGlF;AA0DD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,GAAE,eAAe,EAAO,GAAG,aAAa,EAAE,CA0FxG;AAID,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,oBAAoB,CAAA;IAC3B,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAiJtE;AAsDD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAEtD"}
@@ -1,16 +1,15 @@
1
- import { DIAGNOSIS_ENTITIES } from './schema.js';
1
+ import { DIAGNOSIS_ENTITIES, LEGACY_BLOCK_FIELDS, LEGACY_ENTITY_TYPES } from './schema.js';
2
2
  /**
3
3
  * 诊断卡片的**编解码**:markdown 卡片 ⇄ 图上的节点与边(0021 §6.3)。
4
4
  *
5
5
  * ## 为什么这一层必须存在
6
6
  *
7
- * 在它之前,智能归因的图只有一条来源:`seed.ts` 里的 TypeScript 字面量,被
8
- * `DiagnosisStore.ensure()` 直接写成 `05_diagnosis/*.jsonl`。那意味着**排查思路从来没有
9
- * 进过 wiki**:它不在 `01_source_truth` 里、不是 `02_wiki` 的卡片、编译器连
10
- * `diagnosis/hypothesis` 这个 entity_type 都不认 —— 于是它既不会被 wikiNote 化,
7
+ * 在它之前,智能归因的图只有一条来源:`seed.ts` 里的 TypeScript 字面量。那意味着
8
+ * **排查思路从来没有进过 wiki**:它不在 `01_source_truth` 里、不是 `02_wiki` 的卡片、
9
+ * 编译器连 `diagnosis/hypothesis` 这个 entity_type 都不认 —— 于是它既不会被 wikiNote 化,
11
10
  * 也不会进向量索引,**召回永远召不到它**。而「遇到类似问题先召回」正是这个产品的主张。
12
11
  *
13
- * 这一层把图变成卡片的**投影**:卡片是手写的(人写、Agent 写、从 SourceRaw 编译而来),
12
+ * 这一层把图变成卡片的**投影**:卡片是手写的(人写、Agent 提议后由人确认),
14
13
  * 图是算出来的。§4「存图、显树」讲的是同一件事 —— 存的是知识,图是它的一种读法。
15
14
  *
16
15
  * ## 卡片三段式与「谁由卡片定义」的边界
@@ -25,10 +24,10 @@ import { DIAGNOSIS_ENTITIES } from './schema.js';
25
24
  *
26
25
  * | 图上的东西 | 谁定义 | 为什么 |
27
26
  * | --- | --- | --- |
28
- * | symptom / hypothesis / check / failure-mode / case 节点 | **卡片** | 这五类是人写的知识(§6.4) |
27
+ * | symptom / hypothesis / check_point / failure_reason / case 节点 | **卡片** | 这五类是人确认过的知识(§6.4) |
29
28
  * | asset 节点 | 引用反推 | 它随数据目录同步,不手写;卡片里只留 id |
30
- * | 现象→假设 / 假设→检查 / 假设→失败模式 / 资产→假设 / 案例→现象 边 | **卡片** | 都是卡片字段的确定性投影 |
31
- * | evidence / cause 节点,produces / supports / refutes / confirmed_as 边 | **一次排查** | 它们是一次执行的结果,不是知识;由排查自动写入(§6.4) |
29
+ * | 现象→假设 / 假设→检查点 / 假设→失败原因 / 检查点→资产 / 资产→假设 / 案例→现象 边 | **卡片** | 都是卡片字段的确定性投影 |
30
+ * | evidence / cause 节点,produces / supports / refutes / confirmed_as 边 | **一次排查** | 它们是一次执行的结果,不是知识;由 `01_source_truth/agent_diagnosis_case/` 那条 SourceRaw 读时解析出来 |
32
31
  *
33
32
  * 最后一行不是妥协,是分层:把「上次查到什么」写进卡片,等于让一份可复用的知识
34
33
  * 绑死在一次具体的执行上。
@@ -50,14 +49,15 @@ const CARD_LAYOUT = {
50
49
  summaryFrom: 'observable',
51
50
  },
52
51
  'diagnosis/hypothesis': {
53
- block: ['discriminator', 'not_when', 'failure_mode', 'verified_by', 'assets', 'reuse_count', 'stale'],
52
+ block: ['discriminator', 'not_when', 'failure_reason', 'verified_by', 'assets', 'reuse_count', 'stale'],
54
53
  summaryFrom: 'summary',
55
54
  },
56
- 'diagnosis/check': {
57
- block: ['cost_minutes', 'automation', 'verdict_true', 'verdict_false', 'stale'],
55
+ 'diagnosis/check-point': {
56
+ // `assets` 是 v1.3 新增的**查询依据**:它承载「检查点 → 资产」这条 `queries` 边。
57
+ block: ['cost_minutes', 'automation', 'verdict_true', 'verdict_false', 'runbook', 'side_effect', 'assets', 'stale'],
58
58
  summaryFrom: 'summary',
59
59
  },
60
- 'diagnosis/failure-mode': {
60
+ 'diagnosis/failure-reason': {
61
61
  block: ['code', 'label', 'boundary'],
62
62
  summaryFrom: 'summary',
63
63
  },
@@ -74,7 +74,7 @@ export function entityTypeOf(kind) {
74
74
  export const CARD_NODE_KINDS = DIAGNOSIS_ENTITIES.map(spec => spec.kind);
75
75
  /** 卡片能定义的边:全部是卡片字段的确定性投影。 */
76
76
  export const CARD_EDGE_KINDS = [
77
- 'may_be_caused_by', 'verified_by', 'categorized_as', 'indexed_from', 'instance_of',
77
+ 'may_be_caused_by', 'verified_by', 'categorized_as', 'queries', 'indexed_from', 'instance_of',
78
78
  ];
79
79
  /** 一次排查写下的边。它们不属于任何卡片,见文件头的边界表。 */
80
80
  export const RUN_EDGE_KINDS = ['produces', 'supports', 'refutes', 'confirmed_as'];
@@ -111,8 +111,8 @@ export function serializeCard(card) {
111
111
  export function parseCard(source) {
112
112
  // 复用运行时的 front matter 解析(同一个 yaml 子集),不另写一套。
113
113
  const parsed = parseFrontmatter(source);
114
- const entityType = String(parsed.frontmatter.entity_type ?? '');
115
- if (!isEntityType(entityType))
114
+ const entityType = normalizeEntityType(String(parsed.frontmatter.entity_type ?? ''));
115
+ if (!entityType)
116
116
  return undefined;
117
117
  const entityId = String(parsed.frontmatter.entity_id ?? '').trim();
118
118
  if (!entityId)
@@ -123,7 +123,7 @@ export function parseCard(source) {
123
123
  try {
124
124
  const value = JSON.parse(match[1]);
125
125
  if (value && typeof value === 'object' && !Array.isArray(value))
126
- block = value;
126
+ block = normalizeBlock(value);
127
127
  }
128
128
  catch { /* 块坏了不静默降级成空对象:留空之后由三层校验的「格式层」报缺字段。 */ }
129
129
  }
@@ -142,6 +142,21 @@ export function parseCard(source) {
142
142
  block,
143
143
  };
144
144
  }
145
+ /** 改名之前的 `entity_type` 按别名认,而不是判为未知类型然后静默丢掉这张卡片。 */
146
+ export function normalizeEntityType(value) {
147
+ const mapped = LEGACY_ENTITY_TYPES[value] ?? value;
148
+ return DIAGNOSIS_ENTITIES.some(spec => spec.entityType === mapped) ? mapped : undefined;
149
+ }
150
+ /** 结构化块里的旧字段名(`failure_mode`)搬到新名字上。 */
151
+ function normalizeBlock(block) {
152
+ const next = { ...block };
153
+ for (const [from, to] of Object.entries(LEGACY_BLOCK_FIELDS)) {
154
+ if (next[to] === undefined && next[from] !== undefined)
155
+ next[to] = next[from];
156
+ delete next[from];
157
+ }
158
+ return next;
159
+ }
145
160
  /**
146
161
  * 只解析 front matter 与正文。
147
162
  *
@@ -204,18 +219,21 @@ function splitSections(body) {
204
219
  flush();
205
220
  return sections.filter(section => section.body !== '');
206
221
  }
207
- function isEntityType(value) {
208
- return DIAGNOSIS_ENTITIES.some(spec => spec.entityType === value);
209
- }
210
222
  /* ─────────────────────────────────────────────── 图 → 卡片 ── */
211
223
  /**
212
224
  * 类型层与案例 → 卡片。
213
225
  *
214
- * `asset` / `evidence` / `cause` 节点**不产出卡片**:它们不是手写的知识(§6.4)。
215
- * 被假设引用的资产会在反序列化时按 id 补一个最小节点回来。
226
+ * `asset` / `evidence` / `cause` 节点**不产出卡片**:它们不是手确认过的知识(§6.4)。
227
+ * 被引用的资产会在反序列化时按 id 补一个最小节点回来。
216
228
  */
217
229
  export function graphToCards(graph, cases = []) {
218
230
  const cards = [];
231
+ /** 资产 id → 卡片声明过的种类。它写在**引用它的那张卡片**上,不写在资产节点自己身上。 */
232
+ const assetTypeById = new Map();
233
+ for (const node of graph.nodes) {
234
+ if (node.kind === 'asset' && node.assetType)
235
+ assetTypeById.set(node.id, node.assetType);
236
+ }
219
237
  for (const node of graph.nodes) {
220
238
  // 案例节点只是图上的**桩**:它的正文与有序路径住在 `cases` 里(§6.4)。图上的桩不单独成卡,
221
239
  // 否则同一个 CASE-001 会有两张卡 —— 一张带路径、一张空壳,读图时看谁先被遍历到。
@@ -243,22 +261,29 @@ export function graphToCards(graph, cases = []) {
243
261
  else if (node.kind === 'hypothesis') {
244
262
  block.discriminator = node.discriminator ?? '';
245
263
  block.not_when = node.notWhen ?? '';
246
- block.failure_mode = node.failureMode ?? null;
264
+ block.failure_reason = node.failureReason ?? null;
247
265
  block.verified_by = graph.edges.filter(edge => edge.kind === 'verified_by' && edge.source === node.id).map(edge => edge.target);
248
- block.assets = graph.edges.filter(edge => edge.kind === 'indexed_from' && edge.target === node.id).map(edge => edge.source);
266
+ block.assets = graph.edges
267
+ .filter(edge => edge.kind === 'indexed_from' && edge.target === node.id)
268
+ .map(edge => assetEntryOf(edge.source, assetTypeById));
249
269
  block.reuse_count = node.reuseCount ?? 0;
250
270
  if (node.stale !== undefined)
251
271
  block.stale = node.stale;
252
272
  }
253
- else if (node.kind === 'check') {
273
+ else if (node.kind === 'check_point') {
254
274
  block.cost_minutes = node.costMinutes ?? null;
255
275
  block.automation = node.automation ?? null;
256
276
  block.verdict_true = node.verdictTrue ?? '';
257
277
  block.verdict_false = node.verdictFalse ?? '';
278
+ // 检查点 → 资产:`queries` 边。它和假设上的 `assets`(`indexed_from`)是两条边,
279
+ // 两端与回答的问题都不同,所以各读各的,不共用一份。
280
+ block.assets = graph.edges
281
+ .filter(edge => edge.kind === 'queries' && edge.source === node.id)
282
+ .map(edge => assetEntryOf(edge.target, assetTypeById));
258
283
  if (node.stale !== undefined)
259
284
  block.stale = node.stale;
260
285
  }
261
- else if (node.kind === 'failure-mode') {
286
+ else if (node.kind === 'failure_reason') {
262
287
  block.code = node.code ?? null;
263
288
  block.label = node.title;
264
289
  block.boundary = '';
@@ -298,9 +323,9 @@ export function graphToCards(graph, cases = []) {
298
323
  /**
299
324
  * 卡片 → 图。
300
325
  *
301
- * 只产出「卡片定义得了」的那部分(类型层 + 引用层的资产 + 案例,以及五种卡片边);
302
- * `evidence` / `cause` 与四条执行边由一次排查写入,不在这里合成 —— 否则一次执行的结果
303
- * 会被伪装成可复用的知识。
326
+ * 只产出「卡片定义得了」的那部分(类型层 + 引用层的资产 + 案例,以及六种卡片边);
327
+ * `evidence` / `cause` 与四条执行边由一次排查写入(`agent_diagnosis_case` 的 SourceRaw),
328
+ * 不在这里合成 —— 否则一次执行的结果会被伪装成可复用的知识。
304
329
  */
305
330
  export function cardsToGraph(cards) {
306
331
  const nodes = [];
@@ -313,16 +338,25 @@ export function cardsToGraph(cards) {
313
338
  problems.push(`卡片 ${card.entityId} 被定义了多次 —— 同一份知识只能有一张卡片`);
314
339
  seen.add(card.entityId);
315
340
  }
316
- /** 资产节点按引用反推:引用层随数据目录同步,卡片里只留 id。 */
341
+ /**
342
+ * 资产节点按引用反推:引用层随数据目录同步,卡片里只留 id。
343
+ *
344
+ * `assets[]` 的每一项可以是 `"dwd_ord_di"`,也可以是 `{ id, type }` —— 后者顺带声明
345
+ * 资产的种类,它只影响「查询依据」那一段怎么分组(§7.7 ④),不改变边的两端。
346
+ */
317
347
  const assetIds = new Set();
318
- const modeIdByCode = new Map();
348
+ const assetTypes = new Map();
349
+ const reasonIdByCode = new Map();
319
350
  for (const card of cards) {
320
- if (card.entityType === 'diagnosis/failure-mode' && typeof card.block.code === 'string') {
321
- modeIdByCode.set(card.block.code, card.entityId);
351
+ if (card.entityType === 'diagnosis/failure-reason' && typeof card.block.code === 'string') {
352
+ reasonIdByCode.set(card.block.code, card.entityId);
322
353
  }
323
- if (card.entityType === 'diagnosis/hypothesis' && Array.isArray(card.block.assets)) {
324
- for (const id of card.block.assets)
325
- assetIds.add(String(id));
354
+ if (card.entityType === 'diagnosis/hypothesis' || card.entityType === 'diagnosis/check-point') {
355
+ for (const ref of assetRefsOf(card.block.assets)) {
356
+ assetIds.add(ref.id);
357
+ if (ref.type)
358
+ assetTypes.set(ref.id, ref.type);
359
+ }
326
360
  }
327
361
  }
328
362
  for (const card of cards) {
@@ -368,9 +402,9 @@ export function cardsToGraph(cards) {
368
402
  const notWhen = stringOf(card.block.not_when);
369
403
  if (notWhen)
370
404
  node.notWhen = notWhen;
371
- const failureMode = stringOf(card.block.failure_mode);
372
- if (failureMode)
373
- node.failureMode = failureMode;
405
+ const failureReason = stringOf(card.block.failure_reason);
406
+ if (failureReason)
407
+ node.failureReason = failureReason;
374
408
  const reuse = numberOf(card.block.reuse_count);
375
409
  if (reuse !== undefined)
376
410
  node.reuseCount = reuse;
@@ -379,18 +413,18 @@ export function cardsToGraph(cards) {
379
413
  for (const [index, target] of listOf(card.block.verified_by).entries()) {
380
414
  edges.push({ id: `e-${card.entityId.toLowerCase()}-${String(target).toLowerCase()}-${index}`, source: card.entityId, target: String(target), kind: 'verified_by' });
381
415
  }
382
- for (const [index, asset] of listOf(card.block.assets).entries()) {
383
- edges.push({ id: `e-${String(asset).toLowerCase()}-${card.entityId.toLowerCase()}-${index}`, source: String(asset), target: card.entityId, kind: 'indexed_from' });
416
+ for (const [index, asset] of assetRefsOf(card.block.assets).entries()) {
417
+ edges.push({ id: `e-${asset.id.toLowerCase()}-${card.entityId.toLowerCase()}-${index}`, source: asset.id, target: card.entityId, kind: 'indexed_from' });
384
418
  }
385
- if (failureMode) {
386
- const modeNode = modeIdByCode.get(failureMode);
387
- if (modeNode)
388
- edges.push({ id: `e-${card.entityId.toLowerCase()}-${modeNode.toLowerCase()}`, source: card.entityId, target: modeNode, kind: 'categorized_as' });
419
+ if (failureReason) {
420
+ const reasonNode = reasonIdByCode.get(failureReason);
421
+ if (reasonNode)
422
+ edges.push({ id: `e-${card.entityId.toLowerCase()}-${reasonNode.toLowerCase()}`, source: card.entityId, target: reasonNode, kind: 'categorized_as' });
389
423
  else
390
- problems.push(`${card.entityId} 的 failure_mode=${failureMode} 找不到对应的失败模式卡片 —— categorized_as 边无从建立`);
424
+ problems.push(`${card.entityId} 的 failure_reason=${failureReason} 找不到对应的失败原因卡片 —— categorized_as 边无从建立`);
391
425
  }
392
426
  }
393
- else if (card.entityType === 'diagnosis/check') {
427
+ else if (card.entityType === 'diagnosis/check-point') {
394
428
  const cost = numberOf(card.block.cost_minutes);
395
429
  if (cost !== undefined)
396
430
  node.costMinutes = cost;
@@ -403,10 +437,18 @@ export function cardsToGraph(cards) {
403
437
  const verdictFalse = stringOf(card.block.verdict_false);
404
438
  if (verdictFalse)
405
439
  node.verdictFalse = verdictFalse;
440
+ const assets = assetRefsOf(card.block.assets).map(ref => ref.id);
441
+ if (assets.length > 0)
442
+ node.assets = assets;
406
443
  if (typeof card.block.stale === 'boolean')
407
444
  node.stale = card.block.stale;
445
+ // 检查点 → 资产(`queries`):这条检查要去查哪些对象。与假设上的
446
+ // `indexed_from`(这条假设落在哪个对象上)是两条边,方向和语义都不同。
447
+ for (const [index, asset] of assets.entries()) {
448
+ edges.push({ id: `e-${card.entityId.toLowerCase()}-${asset.toLowerCase()}-q${index}`, source: card.entityId, target: asset, kind: 'queries' });
449
+ }
408
450
  }
409
- else if (card.entityType === 'diagnosis/failure-mode') {
451
+ else if (card.entityType === 'diagnosis/failure-reason') {
410
452
  const code = stringOf(card.block.code);
411
453
  if (code)
412
454
  node.code = code;
@@ -435,7 +477,8 @@ export function cardsToGraph(cards) {
435
477
  for (const id of assetIds) {
436
478
  if (nodes.some(node => node.id === id))
437
479
  continue;
438
- nodes.push({ id, kind: 'asset', layer: 'reference', title: id });
480
+ const assetType = assetTypes.get(id);
481
+ nodes.push({ id, kind: 'asset', layer: 'reference', title: id, ...(assetType ? { assetType } : {}) });
439
482
  }
440
483
  // 引用完整性:卡片引用了不存在的卡片时,必须报出来(否则图上会出现悬空边,
441
484
  // 而 `validateDiagnosis` 只在读图之后才看得到)。
@@ -448,6 +491,33 @@ export function cardsToGraph(cards) {
448
491
  }
449
492
  return { graph: { nodes, edges }, cases, problems };
450
493
  }
494
+ /**
495
+ * `assets[]` 的一项 → `{ id, type? }`。
496
+ *
497
+ * 两种写法都认:`"dwd_ord_di"`(只留 id,资产随数据目录同步)与
498
+ * `{ id: "dwd_ord_di", type: "table" }`(顺带声明种类,供「查询依据」那一段分组)。
499
+ * 认不出来的项直接丢掉 —— 造一个 id 是 `[object Object]` 的资产节点,比少一条边难解释。
500
+ */
501
+ function assetRefsOf(value) {
502
+ return listOf(value).flatMap((entry) => {
503
+ if (typeof entry === 'string')
504
+ return entry.trim() ? [{ id: entry.trim() }] : [];
505
+ if (entry && typeof entry === 'object') {
506
+ const record = entry;
507
+ const id = stringOf(record.id);
508
+ if (!id)
509
+ return [];
510
+ const type = stringOf(record.type);
511
+ return [{ id, ...(type ? { type } : {}) }];
512
+ }
513
+ return [];
514
+ });
515
+ }
516
+ /** 写回卡片时用同一条规则:声明过种类就写成对象,否则保持一行一个 id 的短写法。 */
517
+ function assetEntryOf(id, types) {
518
+ const type = types.get(id);
519
+ return type ? { id, type } : id;
520
+ }
451
521
  function stringOf(value) {
452
522
  return typeof value === 'string' && value.trim() !== '' ? value : undefined;
453
523
  }