@mingyuxu/check 0.1.0

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 (237) hide show
  1. package/README.md +7 -0
  2. package/dist/critic/critique.d.ts +31 -0
  3. package/dist/critic/critique.d.ts.map +1 -0
  4. package/dist/critic/critique.js +68 -0
  5. package/dist/critic/critique.js.map +1 -0
  6. package/dist/critic/observe.d.ts +48 -0
  7. package/dist/critic/observe.d.ts.map +1 -0
  8. package/dist/critic/observe.js +62 -0
  9. package/dist/critic/observe.js.map +1 -0
  10. package/dist/domain/actions.d.ts +67 -0
  11. package/dist/domain/actions.d.ts.map +1 -0
  12. package/dist/domain/actions.js +123 -0
  13. package/dist/domain/actions.js.map +1 -0
  14. package/dist/domain/invalidation.d.ts +18 -0
  15. package/dist/domain/invalidation.d.ts.map +1 -0
  16. package/dist/domain/invalidation.js +44 -0
  17. package/dist/domain/invalidation.js.map +1 -0
  18. package/dist/domain/registers.d.ts +45 -0
  19. package/dist/domain/registers.d.ts.map +1 -0
  20. package/dist/domain/registers.js +121 -0
  21. package/dist/domain/registers.js.map +1 -0
  22. package/dist/domain/view.d.ts +48 -0
  23. package/dist/domain/view.d.ts.map +1 -0
  24. package/dist/domain/view.js +70 -0
  25. package/dist/domain/view.js.map +1 -0
  26. package/dist/forge/attribution.d.ts +18 -0
  27. package/dist/forge/attribution.d.ts.map +1 -0
  28. package/dist/forge/attribution.js +83 -0
  29. package/dist/forge/attribution.js.map +1 -0
  30. package/dist/forge/bakeoff.d.ts +35 -0
  31. package/dist/forge/bakeoff.d.ts.map +1 -0
  32. package/dist/forge/bakeoff.js +48 -0
  33. package/dist/forge/bakeoff.js.map +1 -0
  34. package/dist/forge/contracts.d.ts +67 -0
  35. package/dist/forge/contracts.d.ts.map +1 -0
  36. package/dist/forge/contracts.js +70 -0
  37. package/dist/forge/contracts.js.map +1 -0
  38. package/dist/forge/evaluate-scenario.d.ts +17 -0
  39. package/dist/forge/evaluate-scenario.d.ts.map +1 -0
  40. package/dist/forge/evaluate-scenario.js +93 -0
  41. package/dist/forge/evaluate-scenario.js.map +1 -0
  42. package/dist/forge/evaluate.d.ts +25 -0
  43. package/dist/forge/evaluate.d.ts.map +1 -0
  44. package/dist/forge/evaluate.js +81 -0
  45. package/dist/forge/evaluate.js.map +1 -0
  46. package/dist/forge/feedback.d.ts +21 -0
  47. package/dist/forge/feedback.d.ts.map +1 -0
  48. package/dist/forge/feedback.js +41 -0
  49. package/dist/forge/feedback.js.map +1 -0
  50. package/dist/forge/reflect.d.ts +35 -0
  51. package/dist/forge/reflect.d.ts.map +1 -0
  52. package/dist/forge/reflect.js +72 -0
  53. package/dist/forge/reflect.js.map +1 -0
  54. package/dist/forge/scorer.d.ts +67 -0
  55. package/dist/forge/scorer.d.ts.map +1 -0
  56. package/dist/forge/scorer.js +99 -0
  57. package/dist/forge/scorer.js.map +1 -0
  58. package/dist/forge/trace.d.ts +25 -0
  59. package/dist/forge/trace.d.ts.map +1 -0
  60. package/dist/forge/trace.js +51 -0
  61. package/dist/forge/trace.js.map +1 -0
  62. package/dist/index.d.ts +78 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +47 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/knowledge/loader.d.ts +19 -0
  67. package/dist/knowledge/loader.d.ts.map +1 -0
  68. package/dist/knowledge/loader.js +76 -0
  69. package/dist/knowledge/loader.js.map +1 -0
  70. package/dist/knowledge/retrieval.d.ts +23 -0
  71. package/dist/knowledge/retrieval.d.ts.map +1 -0
  72. package/dist/knowledge/retrieval.js +100 -0
  73. package/dist/knowledge/retrieval.js.map +1 -0
  74. package/dist/knowledge/skill.d.ts +22 -0
  75. package/dist/knowledge/skill.d.ts.map +1 -0
  76. package/dist/knowledge/skill.js +112 -0
  77. package/dist/knowledge/skill.js.map +1 -0
  78. package/dist/knowledge/write.d.ts +35 -0
  79. package/dist/knowledge/write.d.ts.map +1 -0
  80. package/dist/knowledge/write.js +84 -0
  81. package/dist/knowledge/write.js.map +1 -0
  82. package/dist/manage.d.ts +7 -0
  83. package/dist/manage.d.ts.map +1 -0
  84. package/dist/manage.js +36 -0
  85. package/dist/manage.js.map +1 -0
  86. package/dist/methods/loader.d.ts +18 -0
  87. package/dist/methods/loader.d.ts.map +1 -0
  88. package/dist/methods/loader.js +65 -0
  89. package/dist/methods/loader.js.map +1 -0
  90. package/dist/nodes/aggregate.d.ts +2 -0
  91. package/dist/nodes/aggregate.d.ts.map +1 -0
  92. package/dist/nodes/aggregate.js +101 -0
  93. package/dist/nodes/aggregate.js.map +1 -0
  94. package/dist/nodes/base.d.ts +31 -0
  95. package/dist/nodes/base.d.ts.map +1 -0
  96. package/dist/nodes/base.js +44 -0
  97. package/dist/nodes/base.js.map +1 -0
  98. package/dist/nodes/cognition.d.ts +2 -0
  99. package/dist/nodes/cognition.d.ts.map +1 -0
  100. package/dist/nodes/cognition.js +263 -0
  101. package/dist/nodes/cognition.js.map +1 -0
  102. package/dist/nodes/confidence.d.ts +9 -0
  103. package/dist/nodes/confidence.d.ts.map +1 -0
  104. package/dist/nodes/confidence.js +19 -0
  105. package/dist/nodes/confidence.js.map +1 -0
  106. package/dist/nodes/deliver.d.ts +2 -0
  107. package/dist/nodes/deliver.d.ts.map +1 -0
  108. package/dist/nodes/deliver.js +37 -0
  109. package/dist/nodes/deliver.js.map +1 -0
  110. package/dist/nodes/evidence.d.ts +2 -0
  111. package/dist/nodes/evidence.d.ts.map +1 -0
  112. package/dist/nodes/evidence.js +118 -0
  113. package/dist/nodes/evidence.js.map +1 -0
  114. package/dist/nodes/ground.d.ts +2 -0
  115. package/dist/nodes/ground.d.ts.map +1 -0
  116. package/dist/nodes/ground.js +22 -0
  117. package/dist/nodes/ground.js.map +1 -0
  118. package/dist/nodes/parse.d.ts +2 -0
  119. package/dist/nodes/parse.d.ts.map +1 -0
  120. package/dist/nodes/parse.js +72 -0
  121. package/dist/nodes/parse.js.map +1 -0
  122. package/dist/nodes/scope.d.ts +4 -0
  123. package/dist/nodes/scope.d.ts.map +1 -0
  124. package/dist/nodes/scope.js +63 -0
  125. package/dist/nodes/scope.js.map +1 -0
  126. package/dist/nodes/shape.d.ts +2 -0
  127. package/dist/nodes/shape.d.ts.map +1 -0
  128. package/dist/nodes/shape.js +111 -0
  129. package/dist/nodes/shape.js.map +1 -0
  130. package/dist/ontology/checkskill.d.ts +26 -0
  131. package/dist/ontology/checkskill.d.ts.map +1 -0
  132. package/dist/ontology/checkskill.js +89 -0
  133. package/dist/ontology/checkskill.js.map +1 -0
  134. package/dist/ontology/functions.d.ts +29 -0
  135. package/dist/ontology/functions.d.ts.map +1 -0
  136. package/dist/ontology/functions.js +143 -0
  137. package/dist/ontology/functions.js.map +1 -0
  138. package/dist/ontology/loader.d.ts +44 -0
  139. package/dist/ontology/loader.d.ts.map +1 -0
  140. package/dist/ontology/loader.js +254 -0
  141. package/dist/ontology/loader.js.map +1 -0
  142. package/dist/ontology/runtime-graph.d.ts +22 -0
  143. package/dist/ontology/runtime-graph.d.ts.map +1 -0
  144. package/dist/ontology/runtime-graph.js +111 -0
  145. package/dist/ontology/runtime-graph.js.map +1 -0
  146. package/dist/ontology/store.d.ts +65 -0
  147. package/dist/ontology/store.d.ts.map +1 -0
  148. package/dist/ontology/store.js +179 -0
  149. package/dist/ontology/store.js.map +1 -0
  150. package/dist/parsers/exec.d.ts +9 -0
  151. package/dist/parsers/exec.d.ts.map +1 -0
  152. package/dist/parsers/exec.js +41 -0
  153. package/dist/parsers/exec.js.map +1 -0
  154. package/dist/parsers/runner.d.ts +2 -0
  155. package/dist/parsers/runner.d.ts.map +1 -0
  156. package/dist/parsers/runner.js +26 -0
  157. package/dist/parsers/runner.js.map +1 -0
  158. package/dist/parsers/store.d.ts +32 -0
  159. package/dist/parsers/store.d.ts.map +1 -0
  160. package/dist/parsers/store.js +64 -0
  161. package/dist/parsers/store.js.map +1 -0
  162. package/dist/parsers/synthesize.d.ts +26 -0
  163. package/dist/parsers/synthesize.d.ts.map +1 -0
  164. package/dist/parsers/synthesize.js +63 -0
  165. package/dist/parsers/synthesize.js.map +1 -0
  166. package/dist/planner.d.ts +89 -0
  167. package/dist/planner.d.ts.map +1 -0
  168. package/dist/planner.js +785 -0
  169. package/dist/planner.js.map +1 -0
  170. package/dist/project.d.ts +4 -0
  171. package/dist/project.d.ts.map +1 -0
  172. package/dist/project.js +42 -0
  173. package/dist/project.js.map +1 -0
  174. package/dist/scenario-builder.d.ts +56 -0
  175. package/dist/scenario-builder.d.ts.map +1 -0
  176. package/dist/scenario-builder.js +366 -0
  177. package/dist/scenario-builder.js.map +1 -0
  178. package/dist/schemas/index.d.ts +12 -0
  179. package/dist/schemas/index.d.ts.map +1 -0
  180. package/dist/schemas/index.js +8 -0
  181. package/dist/schemas/index.js.map +1 -0
  182. package/dist/schemas/judgment.d.ts +38 -0
  183. package/dist/schemas/judgment.d.ts.map +1 -0
  184. package/dist/schemas/judgment.js +45 -0
  185. package/dist/schemas/judgment.js.map +1 -0
  186. package/dist/schemas/payloads.d.ts +53 -0
  187. package/dist/schemas/payloads.d.ts.map +1 -0
  188. package/dist/schemas/payloads.js +54 -0
  189. package/dist/schemas/payloads.js.map +1 -0
  190. package/dist/schemas/result.d.ts +36 -0
  191. package/dist/schemas/result.d.ts.map +1 -0
  192. package/dist/schemas/result.js +26 -0
  193. package/dist/schemas/result.js.map +1 -0
  194. package/dist/schemas/spec.d.ts +40 -0
  195. package/dist/schemas/spec.d.ts.map +1 -0
  196. package/dist/schemas/spec.js +82 -0
  197. package/dist/schemas/spec.js.map +1 -0
  198. package/dist/schemas/target.d.ts +28 -0
  199. package/dist/schemas/target.d.ts.map +1 -0
  200. package/dist/schemas/target.js +36 -0
  201. package/dist/schemas/target.js.map +1 -0
  202. package/dist/schemas/workflow.d.ts +21 -0
  203. package/dist/schemas/workflow.d.ts.map +1 -0
  204. package/dist/schemas/workflow.js +100 -0
  205. package/dist/schemas/workflow.js.map +1 -0
  206. package/dist/skills/judge-runner.d.ts +2 -0
  207. package/dist/skills/judge-runner.d.ts.map +1 -0
  208. package/dist/skills/judge-runner.js +29 -0
  209. package/dist/skills/judge-runner.js.map +1 -0
  210. package/dist/skills/judge-synth.d.ts +31 -0
  211. package/dist/skills/judge-synth.d.ts.map +1 -0
  212. package/dist/skills/judge-synth.js +87 -0
  213. package/dist/skills/judge-synth.js.map +1 -0
  214. package/dist/subagents/worker.d.ts +5 -0
  215. package/dist/subagents/worker.d.ts.map +1 -0
  216. package/dist/subagents/worker.js +58 -0
  217. package/dist/subagents/worker.js.map +1 -0
  218. package/dist/workflows/context.d.ts +26 -0
  219. package/dist/workflows/context.d.ts.map +1 -0
  220. package/dist/workflows/context.js +23 -0
  221. package/dist/workflows/context.js.map +1 -0
  222. package/dist/workflows/executor.d.ts +44 -0
  223. package/dist/workflows/executor.d.ts.map +1 -0
  224. package/dist/workflows/executor.js +146 -0
  225. package/dist/workflows/executor.js.map +1 -0
  226. package/dist/workflows/merge.d.ts +4 -0
  227. package/dist/workflows/merge.d.ts.map +1 -0
  228. package/dist/workflows/merge.js +21 -0
  229. package/dist/workflows/merge.js.map +1 -0
  230. package/dist/workflows/run.d.ts +20 -0
  231. package/dist/workflows/run.d.ts.map +1 -0
  232. package/dist/workflows/run.js +66 -0
  233. package/dist/workflows/run.js.map +1 -0
  234. package/knowledge/methods/prose-rule.method.md +21 -0
  235. package/knowledge/methods/ratio-limit.method.md +31 -0
  236. package/knowledge/ontology/verification.yaml +268 -0
  237. package/package.json +36 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/knowledge/skill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ export declare const KINDS: readonly ["concept", "relation", "glossary", "regulation"];
2
+ export type Kind = (typeof KINDS)[number];
3
+ export interface Delta {
4
+ id: string;
5
+ ts: number;
6
+ status: string;
7
+ kind: string;
8
+ name: string;
9
+ scope: string;
10
+ slug: string;
11
+ target_rel: string;
12
+ supersedes: string | null;
13
+ provenance: Record<string, unknown>;
14
+ markdown: string;
15
+ }
16
+ export declare function proposeKnowledgeDelta(projectRoot: string, opts: {
17
+ kind: string;
18
+ name: string;
19
+ scope?: string;
20
+ body?: string;
21
+ sections?: Record<string, string>;
22
+ provenance?: Record<string, unknown>;
23
+ now: number;
24
+ }): Delta;
25
+ export declare function listPending(projectRoot: string): Delta[];
26
+ export declare function applyDelta(projectRoot: string, deltaId: string, opts: {
27
+ now: number;
28
+ }): {
29
+ applied: string;
30
+ superseded: string | null;
31
+ id: string;
32
+ kind: string;
33
+ name: string;
34
+ };
35
+ //# sourceMappingURL=write.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/knowledge/write.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,KAAK,4DAA6D,CAAC;AAChF,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAe1C,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACxJ,KAAK,CAsBP;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,EAAE,CAIxD;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAoB9K"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * 知识写入闭环(P7)—— 确认的知识沉淀进 domain/,带版本、可追溯、被回归门守。
3
+ * 权限单向:只产 delta 进 pending,经【人确认】applyDelta 才写入(人类专属)。
4
+ * 从 Python write.py 忠实移植(file_lock 简化为同步写)。
5
+ */
6
+ import { existsSync, readFileSync, writeFileSync, appendFileSync, mkdirSync } from "node:fs";
7
+ import { join, dirname } from "node:path";
8
+ export const KINDS = ["concept", "relation", "glossary", "regulation"];
9
+ const TEMPLATES = {
10
+ concept: ["定义", "常见形式", "与近义概念的区别", "例外", "关联概念"],
11
+ relation: ["关系陈述", "成立条件", "反例"],
12
+ glossary: ["释义", "别名"],
13
+ regulation: ["允许集", "禁止集", "阈值", "例外条件"],
14
+ };
15
+ function slug(name) {
16
+ const s = name.replace(/[^\w一-鿿]+/g, "_").replace(/^_+|_+$/g, "");
17
+ return s || "entry";
18
+ }
19
+ const kdir = (root) => join(root, "knowledge");
20
+ export function proposeKnowledgeDelta(projectRoot, opts) {
21
+ if (!KINDS.includes(opts.kind))
22
+ throw new Error(`kind 必须是 ${KINDS.join("/")} 之一`);
23
+ const kd = kdir(projectRoot);
24
+ const pend = join(kd, ".pending");
25
+ mkdirSync(pend, { recursive: true });
26
+ const scope = opts.scope ?? "finance";
27
+ const sl = slug(opts.name);
28
+ const targetRel = `domain/${scope}/${opts.kind}/${sl}.md`;
29
+ const superseded = existsSync(join(kd, targetRel)) ? targetRel : null;
30
+ const sections = { ...(opts.sections ?? {}) };
31
+ for (const sec of TEMPLATES[opts.kind])
32
+ if (!(sec in sections))
33
+ sections[sec] = "(待补充)";
34
+ const md = render(opts.name, opts.kind, scope, sections, opts.body ?? "");
35
+ const existing = listPending(projectRoot);
36
+ const delta = {
37
+ id: `kd-${String(existing.length + 1).padStart(3, "0")}`, ts: opts.now, status: "pending",
38
+ kind: opts.kind, name: opts.name, scope, slug: sl, target_rel: targetRel,
39
+ supersedes: superseded, provenance: opts.provenance ?? {}, markdown: md,
40
+ };
41
+ appendFileSync(join(pend, "queue.jsonl"), JSON.stringify(delta) + "\n", "utf-8");
42
+ return delta;
43
+ }
44
+ export function listPending(projectRoot) {
45
+ const q = join(kdir(projectRoot), ".pending", "queue.jsonl");
46
+ if (!existsSync(q))
47
+ return [];
48
+ return readFileSync(q, "utf-8").split("\n").filter((l) => l.trim()).map((l) => JSON.parse(l)).filter((d) => d.status === "pending");
49
+ }
50
+ export function applyDelta(projectRoot, deltaId, opts) {
51
+ const kd = kdir(projectRoot);
52
+ const q = join(kd, ".pending", "queue.jsonl");
53
+ if (!existsSync(q))
54
+ throw new Error("没有待处理知识 delta");
55
+ const rows = readFileSync(q, "utf-8").split("\n").filter((l) => l.trim()).map((l) => JSON.parse(l));
56
+ const match = rows.find((r) => r.id === deltaId && r.status === "pending");
57
+ if (!match)
58
+ throw new Error(`没有待处理 delta ${deltaId}`);
59
+ const dest = join(kd, match.target_rel);
60
+ mkdirSync(dirname(dest), { recursive: true });
61
+ if (match.supersedes && existsSync(dest)) {
62
+ const arch = join(kd, ".versions", match.slug);
63
+ mkdirSync(arch, { recursive: true });
64
+ writeFileSync(join(arch, `${Math.floor(opts.now)}.md`), readFileSync(dest, "utf-8"), "utf-8");
65
+ }
66
+ writeFileSync(dest, match.markdown, "utf-8");
67
+ for (const r of rows)
68
+ if (r.id === deltaId) {
69
+ r.status = "applied";
70
+ r.applied_at = opts.now;
71
+ r.applied_to = dest;
72
+ }
73
+ writeFileSync(q, rows.map((r) => JSON.stringify(r)).join("\n") + "\n", "utf-8");
74
+ return { applied: dest, superseded: match.supersedes, id: deltaId, kind: match.kind, name: match.name };
75
+ }
76
+ function render(name, kind, scope, sections, body) {
77
+ const out = ["---", `name: ${name}`, `kind: ${kind}`, `scope: ${scope}`, "version: 1.0.0", "---", `# ${name}`];
78
+ if (body.trim())
79
+ out.push(body.trim());
80
+ for (const [sec, content] of Object.entries(sections))
81
+ out.push(`\n## ${sec}\n${String(content).trim() || "无"}`);
82
+ return out.join("\n") + "\n";
83
+ }
84
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/knowledge/write.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /** 归档场景目录,返回归档位置。之后 build 同名场景 = 从零重建。 */
2
+ export declare function resetScenario(workspace: string, scenarioKey: string, o?: {
3
+ keepPack?: boolean;
4
+ now?: number;
5
+ }): string;
6
+ export declare function listArchives(workspace: string, scenarioKey?: string): string[];
7
+ //# sourceMappingURL=manage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../src/manage.ts"],"names":[],"mappings":"AAaA,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CAY1H;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAO9E"}
package/dist/manage.js ADDED
@@ -0,0 +1,36 @@
1
+ /**
2
+ * workspace 管理 —— 场景归档与重建。纪律:重建 = 归档后重来,从不销毁。
3
+ * 从 Python manage.py 忠实移植。
4
+ */
5
+ import { existsSync, mkdirSync, renameSync, cpSync, readdirSync, statSync } from "node:fs";
6
+ import { join } from "node:path";
7
+ function stamp(now) {
8
+ const d = new Date(now * 1000);
9
+ const p = (n) => String(n).padStart(2, "0");
10
+ return `${d.getFullYear()}${p(d.getMonth() + 1)}${p(d.getDate())}-${p(d.getHours())}${p(d.getMinutes())}${p(d.getSeconds())}`;
11
+ }
12
+ /** 归档场景目录,返回归档位置。之后 build 同名场景 = 从零重建。 */
13
+ export function resetScenario(workspace, scenarioKey, o = {}) {
14
+ const home = join(workspace, scenarioKey);
15
+ if (!existsSync(join(home, ".session", "state.json")))
16
+ throw new Error(`场景 ${scenarioKey} 不存在(${home})——无可重建。`);
17
+ const archiveRoot = join(workspace, ".archive");
18
+ mkdirSync(archiveRoot, { recursive: true });
19
+ const dest = join(archiveRoot, `${scenarioKey}-${stamp(o.now ?? Date.now() / 1000)}`);
20
+ renameSync(home, dest);
21
+ if (o.keepPack && existsSync(join(dest, "pack", "pack.json"))) {
22
+ mkdirSync(home, { recursive: true });
23
+ cpSync(join(dest, "pack"), join(home, "pack"), { recursive: true });
24
+ }
25
+ return dest;
26
+ }
27
+ export function listArchives(workspace, scenarioKey) {
28
+ const archiveRoot = join(workspace, ".archive");
29
+ if (!existsSync(archiveRoot))
30
+ return [];
31
+ return readdirSync(archiveRoot)
32
+ .filter((n) => statSync(join(archiveRoot, n)).isDirectory() && (!scenarioKey || n.startsWith(`${scenarioKey}-`)))
33
+ .sort()
34
+ .map((n) => join(archiveRoot, n));
35
+ }
36
+ //# sourceMappingURL=manage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage.js","sourceRoot":"","sources":["../src/manage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,SAAS,KAAK,CAAC,GAAW;IACxB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;AAChI,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,WAAmB,EAAE,IAA0C,EAAE;IAChH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,WAAW,QAAQ,IAAI,UAAU,CAAC,CAAC;IAChH,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAChD,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IACtF,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvB,IAAI,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;QAC9D,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,WAAoB;IAClE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,WAAW,CAAC,WAAW,CAAC;SAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;SAChH,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,18 @@
1
+ export interface Method {
2
+ method_id: string;
3
+ version: string;
4
+ applies_to_rule_kind: string;
5
+ produces: string[];
6
+ emits_function?: string;
7
+ body: string;
8
+ source: string;
9
+ }
10
+ /** 方法目录:<root>/knowledge/methods → 包内回落。 */
11
+ export declare function methodsDirs(root?: string): string[];
12
+ /** 加载所有 Method(后出现目录同名覆盖)。 */
13
+ export declare function loadMethods(root?: string): Method[];
14
+ /** 按 rule_kind 选方法(同类取版本号最大的);没有专用方法时回落到通用 Method(*)。 */
15
+ export declare function selectMethod(methods: Method[], ruleKind: string): Method | null;
16
+ /** 方法 id@版本,用于 CheckSkill.provenance.built_by_method。 */
17
+ export declare const methodRef: (m: Method) => string;
18
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/methods/loader.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAmBD,4CAA4C;AAC5C,wBAAgB,WAAW,CAAC,IAAI,GAAE,MAAsB,GAAG,MAAM,EAAE,CAOlE;AAED,8BAA8B;AAC9B,wBAAgB,WAAW,CAAC,IAAI,GAAE,MAAsB,GAAG,MAAM,EAAE,CAWlE;AAED,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK/E;AAED,yDAAyD;AACzD,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,KAAG,MAAwC,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Method(方法论 / meta-skill)寄存器 —— 读 knowledge/methods/*.method.md。
3
+ * Method 是「怎么造 CheckSkill」的配方:构建期由 Build Loop 消费,产出 ontology 对象(v5)。
4
+ * 与运行期 CheckSkill 严格分层:Method 不进冻结包,是工厂不是产品。
5
+ */
6
+ import { existsSync, readFileSync, readdirSync } from "node:fs";
7
+ import { join, dirname, basename } from "node:path";
8
+ import { fileURLToPath } from "node:url";
9
+ import { parseYaml } from "../ontology/loader.js";
10
+ /** 拆 frontmatter(--- yaml ---)+ body。 */
11
+ function parseMethodFile(text, source) {
12
+ const m = /^---\n([\s\S]*?)\n---\n?([\s\S]*)$/.exec(text);
13
+ if (!m)
14
+ return null;
15
+ const fm = parseYaml(m[1]);
16
+ if (!fm.method_id)
17
+ return null;
18
+ return {
19
+ method_id: String(fm.method_id),
20
+ version: String(fm.version ?? "1"),
21
+ applies_to_rule_kind: String(fm.applies_to_rule_kind ?? ""),
22
+ produces: Array.isArray(fm.produces) ? fm.produces.map(String) : [],
23
+ emits_function: fm.emits_function ? String(fm.emits_function) : undefined,
24
+ body: (m[2] ?? "").trim(),
25
+ source,
26
+ };
27
+ }
28
+ /** 方法目录:<root>/knowledge/methods → 包内回落。 */
29
+ export function methodsDirs(root = process.cwd()) {
30
+ const dirs = [join(root, "knowledge", "methods")]; // 项目自定义优先
31
+ try {
32
+ const here = dirname(fileURLToPath(import.meta.url)); // <pkg>/{src|dist}/methods
33
+ for (const up of ["../..", "../../..", "../../../.."])
34
+ dirs.push(join(here, up, "knowledge", "methods"));
35
+ }
36
+ catch { /* ignore */ }
37
+ return dirs;
38
+ }
39
+ /** 加载所有 Method(后出现目录同名覆盖)。 */
40
+ export function loadMethods(root = process.cwd()) {
41
+ const byId = new Map();
42
+ for (const dir of methodsDirs(root)) {
43
+ if (!existsSync(dir))
44
+ continue;
45
+ for (const name of readdirSync(dir)) {
46
+ if (!name.endsWith(".method.md"))
47
+ continue;
48
+ const mth = parseMethodFile(readFileSync(join(dir, name), "utf-8"), basename(name));
49
+ if (mth)
50
+ byId.set(mth.method_id, mth);
51
+ }
52
+ }
53
+ return [...byId.values()];
54
+ }
55
+ /** 按 rule_kind 选方法(同类取版本号最大的);没有专用方法时回落到通用 Method(*)。 */
56
+ export function selectMethod(methods, ruleKind) {
57
+ const exact = methods.filter((m) => m.applies_to_rule_kind === ruleKind);
58
+ const cands = exact.length ? exact : methods.filter((m) => m.applies_to_rule_kind === "*");
59
+ if (!cands.length)
60
+ return null;
61
+ return cands.sort((a, b) => Number(b.version) - Number(a.version))[0];
62
+ }
63
+ /** 方法 id@版本,用于 CheckSkill.provenance.built_by_method。 */
64
+ export const methodRef = (m) => `${m.method_id}@v${m.version}`;
65
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/methods/loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAYlD,yCAAyC;AACzC,SAAS,eAAe,CAAC,IAAY,EAAE,MAAc;IACnD,MAAM,CAAC,GAAG,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAQ,CAAC;IAClC,IAAI,CAAC,EAAE,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC;QAC/B,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,GAAG,CAAC;QAClC,oBAAoB,EAAE,MAAM,CAAC,EAAE,CAAC,oBAAoB,IAAI,EAAE,CAAC;QAC3D,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QACnE,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;QACzE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACzB,MAAM;KACP,CAAC;AACJ,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,WAAW,CAAC,OAAe,OAAO,CAAC,GAAG,EAAE;IACtD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAU,UAAU;IACtE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAK,2BAA2B;QACrF,KAAK,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3G,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,WAAW,CAAC,OAAe,OAAO,CAAC,GAAG,EAAE;IACtD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/B,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAAE,SAAS;YAC3C,MAAM,GAAG,GAAG,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACpF,IAAI,GAAG;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,YAAY,CAAC,OAAiB,EAAE,QAAgB;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,KAAK,QAAQ,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,KAAK,GAAG,CAAC,CAAC;IAC3F,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=aggregate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../src/nodes/aggregate.ts"],"names":[],"mappings":""}
@@ -0,0 +1,101 @@
1
+ /** ⑦ 汇总 Aggregate — 把 checks 汇成目标判决;升级(L2 有界循环)。从 Python aggregate.py 移植。 */
2
+ import { component } from "./base.js";
3
+ import { makeConfidence, makeOutcome, makeResult } from "../schemas/result.js";
4
+ import * as conf from "./confidence.js";
5
+ function confidence(ctx, sourcePresent) {
6
+ const prior = ctx.scratch.method_prior ?? 0.75;
7
+ const historical = ctx.scratch.historical ?? 1.0;
8
+ const corner = ctx.scratch.corner_case_proximity ?? 0.0;
9
+ const score = conf.compute(prior, sourcePresent ? 1.0 : 0.6, historical, corner);
10
+ return makeConfidence({ score, method_prior: prior, historical, corner_case_proximity: corner, band: conf.band(score) });
11
+ }
12
+ component("Aggregate", "verdict_policy", (ctx, params) => {
13
+ const t = ctx.target;
14
+ const mode = t.postprocess.verdict_policy ?? params.mode ?? "any_fail";
15
+ const checks = ctx.checks;
16
+ const statuses = checks.map((c) => c.status);
17
+ const has = (s) => statuses.includes(s);
18
+ let verdict;
19
+ if (!checks.length)
20
+ verdict = "missing";
21
+ else if (mode === "all_pass")
22
+ verdict = statuses.every((s) => s === "pass" || s === "not_applicable") ? "pass" : has("fail") ? "fail" : "review_required";
23
+ else if (mode === "threshold")
24
+ verdict = statuses.filter((s) => s === "fail").length >= Number(params.fail_if_failed_gte ?? 2) ? "fail" : "pass";
25
+ else {
26
+ if (has("fail"))
27
+ verdict = "fail";
28
+ else if (has("uncertain"))
29
+ verdict = "review_required";
30
+ else if (statuses.every((s) => s === "missing"))
31
+ verdict = "missing";
32
+ else if (statuses.every((s) => s === "pass" || s === "not_applicable"))
33
+ verdict = "pass";
34
+ else
35
+ verdict = "review_required";
36
+ }
37
+ const evidence = [];
38
+ for (const c of checks) {
39
+ for (const r of c.supporting_evidence_refs ?? []) {
40
+ const blk = ctx.document.get(r);
41
+ evidence.push({ quote: blk ? blk.text : "", block_id: r, grounded: true });
42
+ }
43
+ }
44
+ ctx.result = makeResult(t.target_id, {
45
+ unit: { doc: ctx.document.document_id },
46
+ outcome: makeOutcome({ kind: "verdict", verdict }),
47
+ status: "ok",
48
+ checks: [...checks],
49
+ evidence,
50
+ confidence: confidence(ctx, evidence.length > 0),
51
+ provenance: { workflow: ctx.scratch.workflow_id ?? "" },
52
+ });
53
+ }, { costHint: "free" });
54
+ component("Aggregate", "value_result", (ctx) => {
55
+ const t = ctx.target;
56
+ const ext = ctx.scratch.extraction ?? {};
57
+ const value = ext.value;
58
+ const status = ctx.scratch.extract_status ?? (value != null ? "extracted" : "confirmed_no_match");
59
+ const ref = ext.evidence_ref;
60
+ const evidence = [];
61
+ if (value != null && ref) {
62
+ const blk = ctx.document.get(ref);
63
+ evidence.push({ quote: blk ? blk.text : ext.原文 ?? "", block_id: ref, grounded: true });
64
+ }
65
+ const prov = { workflow: ctx.scratch.workflow_id ?? "", 依据: ext.依据 ?? "" };
66
+ if (ctx.scratch.override_log)
67
+ prov.overrides = ctx.scratch.override_log;
68
+ ctx.result = makeResult(t.target_id, {
69
+ unit: { doc: ctx.document.document_id },
70
+ outcome: makeOutcome({ kind: "value", value }),
71
+ status, evidence, confidence: confidence(ctx, evidence.length > 0),
72
+ provenance: prov, derived: { ...(ctx.scratch.derived ?? {}) }, sub_results: [...(ctx.scratch.sub_results ?? [])],
73
+ });
74
+ }, { costHint: "free" });
75
+ component("Aggregate", "comparison_result", (ctx) => {
76
+ const t = ctx.target;
77
+ const ext = ctx.scratch.extraction ?? {};
78
+ const cmp = ctx.scratch.comparison;
79
+ const value = ext.value;
80
+ const ref = ext.evidence_ref;
81
+ const evidence = [];
82
+ if (value != null && ref) {
83
+ const blk = ctx.document.get(ref);
84
+ evidence.push({ quote: blk ? blk.text : ext.原文 ?? "", block_id: ref, grounded: true });
85
+ }
86
+ let status, outcome;
87
+ if (cmp == null) {
88
+ status = value == null ? "confirmed_no_match" : "extracted";
89
+ outcome = makeOutcome({ kind: "value", value });
90
+ }
91
+ else {
92
+ status = "extracted";
93
+ outcome = makeOutcome({ kind: "comparison", comparison: cmp });
94
+ }
95
+ ctx.result = makeResult(t.target_id, {
96
+ unit: { doc: ctx.document.document_id, case: ctx.scratch.case_id ?? "" },
97
+ outcome, status, evidence, confidence: confidence(ctx, value != null),
98
+ provenance: { workflow: ctx.scratch.workflow_id ?? "", reference: t.reference.source ?? "" },
99
+ });
100
+ }, { costHint: "free" });
101
+ //# sourceMappingURL=aggregate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../src/nodes/aggregate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * 组件注册表:按 (NodeType, method) 键索引的类型化积木。
3
+ * 新能力 = 在这里加一个受控、带契约的组件(评审+注册门)。执行面永不自由代码。
4
+ * 从 Python nodes/base.py 忠实移植(装饰器 → component() 注册函数)。
5
+ */
6
+ import type { RunContext } from "../workflows/context.js";
7
+ /** NodeType -> 属于八段中的哪一段。 */
8
+ export declare const STAGE_OF_TYPE: Record<string, string>;
9
+ export declare const AUTONOMY: readonly ["L0", "L1", "L2", "L3"];
10
+ export type Autonomy = (typeof AUTONOMY)[number];
11
+ export type NodeFn = (ctx: RunContext, params: Record<string, unknown>) => void | Promise<void>;
12
+ export interface ComponentSpec {
13
+ nodeType: string;
14
+ method: string;
15
+ fn: NodeFn;
16
+ autonomy: Autonomy;
17
+ costHint?: string;
18
+ qualityHint?: string;
19
+ whenToUse?: string;
20
+ }
21
+ export declare function component(nodeType: string, method: string, fn: NodeFn, opts?: {
22
+ autonomy?: Autonomy;
23
+ costHint?: string;
24
+ qualityHint?: string;
25
+ whenToUse?: string;
26
+ }): void;
27
+ export declare function getComponent(nodeType: string, method: string): ComponentSpec;
28
+ export declare function registry(): Set<string>;
29
+ /** 触发各节点模块的 component() 注册(幂等)。 */
30
+ export declare function loadBuiltinComponents(): Promise<void>;
31
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/nodes/base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,6BAA6B;AAC7B,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAShD,CAAC;AAEF,eAAO,MAAM,QAAQ,mCAAoC,CAAC;AAC1D,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhG,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,EACV,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9F,IAAI,CAKN;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAI5E;AAED,wBAAgB,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,CAEtC;AAGD,mCAAmC;AACnC,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ3D"}
@@ -0,0 +1,44 @@
1
+ /** NodeType -> 属于八段中的哪一段。 */
2
+ export const STAGE_OF_TYPE = {
3
+ Parse: "parse", SectionTree: "parse", Chunk: "parse",
4
+ Profile: "scope", Applicability: "scope",
5
+ Locate: "evidence", Filter: "evidence", Score: "evidence", Pack: "evidence", Join: "evidence",
6
+ Extract: "cognition", Judge: "cognition",
7
+ Ground: "ground",
8
+ Normalize: "shape", Standardize: "shape", Derive: "shape", Reconcile: "shape", Compare: "shape",
9
+ Aggregate: "aggregate", Vote: "aggregate", Escalate: "aggregate",
10
+ Report: "deliver",
11
+ };
12
+ export const AUTONOMY = ["L0", "L1", "L2", "L3"];
13
+ const REGISTRY = new Map();
14
+ const key = (t, m) => `${t}.${m}`;
15
+ export function component(nodeType, method, fn, opts = {}) {
16
+ if (!(nodeType in STAGE_OF_TYPE))
17
+ throw new Error(`unknown node_type ${nodeType}`);
18
+ const autonomy = opts.autonomy ?? "L0";
19
+ if (!AUTONOMY.includes(autonomy))
20
+ throw new Error(`unknown autonomy ${autonomy}`);
21
+ REGISTRY.set(key(nodeType, method), { nodeType, method, fn, autonomy, ...opts });
22
+ }
23
+ export function getComponent(nodeType, method) {
24
+ const c = REGISTRY.get(key(nodeType, method));
25
+ if (!c)
26
+ throw new Error(`no component ${nodeType}.${method}`);
27
+ return c;
28
+ }
29
+ export function registry() {
30
+ return new Set(REGISTRY.keys());
31
+ }
32
+ let loaded = false;
33
+ /** 触发各节点模块的 component() 注册(幂等)。 */
34
+ export async function loadBuiltinComponents() {
35
+ if (loaded)
36
+ return;
37
+ await Promise.all([
38
+ import("./parse.js"), import("./scope.js"), import("./evidence.js"),
39
+ import("./cognition.js"), import("./ground.js"), import("./shape.js"),
40
+ import("./aggregate.js"), import("./deliver.js"),
41
+ ]);
42
+ loaded = true;
43
+ }
44
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/nodes/base.ts"],"names":[],"mappings":"AAOA,6BAA6B;AAC7B,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;IACpD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO;IACxC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU;IAC7F,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW;IACxC,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC/F,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW;IAChE,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAe1D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;AAClD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AAElD,MAAM,UAAU,SAAS,CACvB,QAAgB,EAChB,MAAc,EACd,EAAU,EACV,OAA6F,EAAE;IAE/F,IAAI,CAAC,CAAC,QAAQ,IAAI,aAAa,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;IAClF,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,MAAc;IAC3D,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,MAAM,GAAG,KAAK,CAAC;AACnB,mCAAmC;AACnC,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,IAAI,MAAM;QAAE,OAAO;IACnB,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;QACnE,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC;QACrE,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;KACjD,CAAC,CAAC;IACH,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cognition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cognition.d.ts","sourceRoot":"","sources":["../../src/nodes/cognition.ts"],"names":[],"mappings":""}