@roarpeng/graphflow 0.6.6 → 0.6.14

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 (118) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/README.md +166 -303
  3. package/dist/config/defaults.d.ts +6 -0
  4. package/dist/config/defaults.d.ts.map +1 -1
  5. package/dist/config/defaults.js +20 -7
  6. package/dist/config/defaults.js.map +1 -1
  7. package/dist/config/loader.d.ts +8 -0
  8. package/dist/config/loader.d.ts.map +1 -1
  9. package/dist/config/loader.js +42 -9
  10. package/dist/config/loader.js.map +1 -1
  11. package/dist/config/paths.d.ts.map +1 -1
  12. package/dist/config/paths.js +6 -5
  13. package/dist/config/paths.js.map +1 -1
  14. package/dist/config/resolve.d.ts +3 -0
  15. package/dist/config/resolve.d.ts.map +1 -1
  16. package/dist/config/resolve.js +58 -24
  17. package/dist/config/resolve.js.map +1 -1
  18. package/dist/config/secrets.d.ts +6 -1
  19. package/dist/config/secrets.d.ts.map +1 -1
  20. package/dist/config/secrets.js +9 -1
  21. package/dist/config/secrets.js.map +1 -1
  22. package/dist/core/errors.d.ts +28 -1
  23. package/dist/core/errors.d.ts.map +1 -1
  24. package/dist/core/errors.js +55 -2
  25. package/dist/core/errors.js.map +1 -1
  26. package/dist/graph/file-indexer.d.ts +2 -0
  27. package/dist/graph/file-indexer.d.ts.map +1 -1
  28. package/dist/graph/file-indexer.js +65 -36
  29. package/dist/graph/file-indexer.js.map +1 -1
  30. package/dist/graph/graph-utils.d.ts +4 -0
  31. package/dist/graph/graph-utils.d.ts.map +1 -0
  32. package/dist/graph/graph-utils.js +29 -0
  33. package/dist/graph/graph-utils.js.map +1 -0
  34. package/dist/graph/graphify-client.d.ts +2 -1
  35. package/dist/graph/graphify-client.d.ts.map +1 -1
  36. package/dist/graph/graphify-client.js +6 -17
  37. package/dist/graph/graphify-client.js.map +1 -1
  38. package/dist/graph/graphify-file-client.js +3 -3
  39. package/dist/graph/graphify-file-client.js.map +1 -1
  40. package/dist/graph/snapshot-view.d.ts +26 -0
  41. package/dist/graph/snapshot-view.d.ts.map +1 -0
  42. package/dist/graph/snapshot-view.js +228 -0
  43. package/dist/graph/snapshot-view.js.map +1 -0
  44. package/dist/index.d.ts +3 -2
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +3 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/integrations/agent-mcp-installer.d.ts +3 -0
  49. package/dist/integrations/agent-mcp-installer.d.ts.map +1 -1
  50. package/dist/integrations/agent-mcp-installer.js +7 -5
  51. package/dist/integrations/agent-mcp-installer.js.map +1 -1
  52. package/dist/learning/episodic-memory.d.ts.map +1 -1
  53. package/dist/learning/episodic-memory.js +2 -8
  54. package/dist/learning/episodic-memory.js.map +1 -1
  55. package/dist/learning/reflector.d.ts.map +1 -1
  56. package/dist/learning/reflector.js +2 -8
  57. package/dist/learning/reflector.js.map +1 -1
  58. package/dist/learning/skill-evolution.d.ts +16 -0
  59. package/dist/learning/skill-evolution.d.ts.map +1 -0
  60. package/dist/learning/skill-evolution.js +154 -0
  61. package/dist/learning/skill-evolution.js.map +1 -0
  62. package/dist/learning/skill-flywheel.d.ts +4 -47
  63. package/dist/learning/skill-flywheel.d.ts.map +1 -1
  64. package/dist/learning/skill-flywheel.js +44 -337
  65. package/dist/learning/skill-flywheel.js.map +1 -1
  66. package/dist/learning/skill-store.d.ts +20 -0
  67. package/dist/learning/skill-store.d.ts.map +1 -0
  68. package/dist/learning/skill-store.js +170 -0
  69. package/dist/learning/skill-store.js.map +1 -0
  70. package/dist/learning/skill-types.d.ts +43 -0
  71. package/dist/learning/skill-types.d.ts.map +1 -0
  72. package/dist/learning/skill-types.js +6 -0
  73. package/dist/learning/skill-types.js.map +1 -0
  74. package/dist/surfaces/cli/init.d.ts.map +1 -1
  75. package/dist/surfaces/cli/init.js +25 -39
  76. package/dist/surfaces/cli/init.js.map +1 -1
  77. package/dist/surfaces/cli/runtime/env.d.ts +8 -0
  78. package/dist/surfaces/cli/runtime/env.d.ts.map +1 -0
  79. package/dist/surfaces/cli/runtime/env.js +134 -0
  80. package/dist/surfaces/cli/runtime/env.js.map +1 -0
  81. package/dist/surfaces/cli/runtime/facade.d.ts +45 -0
  82. package/dist/surfaces/cli/runtime/facade.d.ts.map +1 -0
  83. package/dist/surfaces/cli/runtime/facade.js +34 -0
  84. package/dist/surfaces/cli/runtime/facade.js.map +1 -0
  85. package/dist/surfaces/cli/runtime/graph.d.ts +25 -0
  86. package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -0
  87. package/dist/surfaces/cli/runtime/graph.js +416 -0
  88. package/dist/surfaces/cli/runtime/graph.js.map +1 -0
  89. package/dist/surfaces/cli/runtime/helpers.d.ts +30 -0
  90. package/dist/surfaces/cli/runtime/helpers.d.ts.map +1 -0
  91. package/dist/surfaces/cli/runtime/helpers.js +159 -0
  92. package/dist/surfaces/cli/runtime/helpers.js.map +1 -0
  93. package/dist/surfaces/cli/runtime/panel.d.ts +5 -0
  94. package/dist/surfaces/cli/runtime/panel.d.ts.map +1 -0
  95. package/dist/surfaces/cli/runtime/panel.js +91 -0
  96. package/dist/surfaces/cli/runtime/panel.js.map +1 -0
  97. package/dist/surfaces/cli/runtime/routing.d.ts +11 -0
  98. package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -0
  99. package/dist/surfaces/cli/runtime/routing.js +233 -0
  100. package/dist/surfaces/cli/runtime/routing.js.map +1 -0
  101. package/dist/surfaces/cli/runtime/settings.d.ts +6 -0
  102. package/dist/surfaces/cli/runtime/settings.d.ts.map +1 -0
  103. package/dist/surfaces/cli/runtime/settings.js +334 -0
  104. package/dist/surfaces/cli/runtime/settings.js.map +1 -0
  105. package/dist/surfaces/cli/runtime/types.d.ts +218 -0
  106. package/dist/surfaces/cli/runtime/types.d.ts.map +1 -0
  107. package/dist/surfaces/cli/runtime/types.js +3 -0
  108. package/dist/surfaces/cli/runtime/types.js.map +1 -0
  109. package/dist/surfaces/cli/runtime.d.ts +8 -257
  110. package/dist/surfaces/cli/runtime.d.ts.map +1 -1
  111. package/dist/surfaces/cli/runtime.js +52 -1264
  112. package/dist/surfaces/cli/runtime.js.map +1 -1
  113. package/dist/utils/hash.d.ts +11 -0
  114. package/dist/utils/hash.d.ts.map +1 -0
  115. package/dist/utils/hash.js +27 -0
  116. package/dist/utils/hash.js.map +1 -0
  117. package/package.json +3 -1
  118. package/scripts/safe-postinstall.cjs +6 -0
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sanitizeAtom = sanitizeAtom;
4
+ exports.skillNodeId = skillNodeId;
5
+ exports.serializeAtomic = serializeAtomic;
6
+ exports.serializeComposite = serializeComposite;
7
+ exports.parseSkillState = parseSkillState;
8
+ exports.parseCompositeState = parseCompositeState;
9
+ exports.parseEvolutionState = parseEvolutionState;
10
+ exports.readSkillState = readSkillState;
11
+ exports.loadCompositeSkill = loadCompositeSkill;
12
+ exports.loadEvolutionSkill = loadEvolutionSkill;
13
+ exports.composeSkillId = composeSkillId;
14
+ exports.compositeGateMet = compositeGateMet;
15
+ exports.boundedScore = boundedScore;
16
+ exports.dedup = dedup;
17
+ exports.dedupNodes = dedupNodes;
18
+ exports.dedupEdges = dedupEdges;
19
+ const logger_1 = require("../utils/logger");
20
+ const skill_types_1 = require("./skill-types");
21
+ function sanitizeAtom(skill) {
22
+ return skill.replace(/[^a-z0-9]+/g, "-");
23
+ }
24
+ function skillNodeId(skill) {
25
+ return `skill:${sanitizeAtom(skill)}`;
26
+ }
27
+ function serializeAtomic(state) {
28
+ return JSON.stringify({ kind: "atomic", ...state });
29
+ }
30
+ function serializeComposite(state) {
31
+ return JSON.stringify({ kind: "composite", ...state });
32
+ }
33
+ function parseSkillState(content) {
34
+ try {
35
+ const parsed = JSON.parse(content);
36
+ if (!parsed.id || !parsed.name) {
37
+ return undefined;
38
+ }
39
+ if (parsed.kind && parsed.kind !== "atomic") {
40
+ return undefined;
41
+ }
42
+ return {
43
+ id: parsed.id,
44
+ name: parsed.name,
45
+ score: parsed.score ?? 0,
46
+ uses: parsed.uses ?? 0,
47
+ lastOutcome: parsed.lastOutcome === "fail" ? "fail" : "pass",
48
+ updatedAt: parsed.updatedAt ?? 0,
49
+ };
50
+ }
51
+ catch (error) {
52
+ logger_1.logger.error({ error }, "Caught error");
53
+ return undefined;
54
+ }
55
+ }
56
+ function parseCompositeState(content) {
57
+ try {
58
+ const parsed = JSON.parse(content);
59
+ if (parsed.kind !== "composite" || !parsed.id || !parsed.name || !parsed.parents) {
60
+ return undefined;
61
+ }
62
+ const parents = parsed.parents;
63
+ if (!Array.isArray(parents) || parents.length !== 2) {
64
+ return undefined;
65
+ }
66
+ return {
67
+ id: parsed.id,
68
+ name: parsed.name,
69
+ parents: [parents[0], parents[1]],
70
+ coOccurCount: parsed.coOccurCount ?? 0,
71
+ successCount: parsed.successCount ?? 0,
72
+ failureCount: parsed.failureCount ?? 0,
73
+ score: parsed.score ?? 0,
74
+ uses: parsed.uses ?? 0,
75
+ lastOutcome: parsed.lastOutcome === "fail" ? "fail" : "pass",
76
+ updatedAt: parsed.updatedAt ?? 0,
77
+ };
78
+ }
79
+ catch (error) {
80
+ logger_1.logger.error({ error }, "Caught error");
81
+ return undefined;
82
+ }
83
+ }
84
+ function parseEvolutionState(content) {
85
+ try {
86
+ const parsed = JSON.parse(content);
87
+ if (parsed.kind !== "evolution" || !parsed.id || !parsed.name || !parsed.parents) {
88
+ return undefined;
89
+ }
90
+ const parents = parsed.parents;
91
+ if (!Array.isArray(parents) || parents.length !== 2) {
92
+ return undefined;
93
+ }
94
+ return {
95
+ id: parsed.id,
96
+ name: parsed.name,
97
+ parents: [parents[0], parents[1]],
98
+ domain: parsed.domain || "",
99
+ description: parsed.description || "",
100
+ score: parsed.score ?? 0,
101
+ uses: parsed.uses ?? 0,
102
+ updatedAt: parsed.updatedAt ?? 0,
103
+ canaryUses: parsed.canaryUses ?? 0,
104
+ canaryPasses: parsed.canaryPasses ?? 0,
105
+ canaryStatus: parsed.canaryStatus ?? 'probation',
106
+ };
107
+ }
108
+ catch (error) {
109
+ logger_1.logger.error({ error }, "Caught error");
110
+ return undefined;
111
+ }
112
+ }
113
+ async function readSkillState(client, id) {
114
+ const hits = await client.queryByKeyword(id);
115
+ const direct = hits.find((node) => node.id === id && node.type === "Skill");
116
+ return direct ? parseSkillState(direct.content) : undefined;
117
+ }
118
+ async function loadCompositeSkill(client, id) {
119
+ const hits = await client.queryByKeyword(id);
120
+ const direct = hits.find((node) => node.id === id && node.type === "Skill");
121
+ return direct ? parseCompositeState(direct.content) : undefined;
122
+ }
123
+ async function loadEvolutionSkill(client, id) {
124
+ const hits = await client.queryByKeyword(id);
125
+ const direct = hits.find((node) => node.id === id && node.type === "Skill");
126
+ return direct ? parseEvolutionState(direct.content) : undefined;
127
+ }
128
+ function composeSkillId(atomA, atomB) {
129
+ const [first, second] = [atomA, atomB].sort();
130
+ return `skill:composite:${sanitizeAtom(first)}__${sanitizeAtom(second)}`;
131
+ }
132
+ function compositeGateMet(composite) {
133
+ const minCoOccur = Number(process.env.GRAPHFLOW_SKILL_EVOLVE_MIN_COOCCUR ?? skill_types_1.DEFAULT_COMPOSITE_MIN_COOCCUR);
134
+ const minSuccess = Number(process.env.GRAPHFLOW_SKILL_EVOLVE_MIN_SUCCESS ?? skill_types_1.DEFAULT_COMPOSITE_MIN_SUCCESS);
135
+ return (composite.coOccurCount >= (Number.isFinite(minCoOccur) ? minCoOccur : skill_types_1.DEFAULT_COMPOSITE_MIN_COOCCUR) &&
136
+ composite.successCount >= (Number.isFinite(minSuccess) ? minSuccess : skill_types_1.DEFAULT_COMPOSITE_MIN_SUCCESS) &&
137
+ composite.successCount > composite.failureCount);
138
+ }
139
+ function boundedScore(score) {
140
+ if (score > 20) {
141
+ return 20;
142
+ }
143
+ if (score < -20) {
144
+ return -20;
145
+ }
146
+ return score;
147
+ }
148
+ function dedup(values) {
149
+ return Array.from(new Set(values));
150
+ }
151
+ function dedupNodes(nodes) {
152
+ const map = new Map();
153
+ for (const node of nodes) {
154
+ map.set(node.id, node);
155
+ }
156
+ return Array.from(map.values());
157
+ }
158
+ function dedupEdges(edges) {
159
+ const seen = new Set();
160
+ const result = [];
161
+ for (const edge of edges) {
162
+ const key = `${edge.from}|${edge.relation}|${edge.to}`;
163
+ if (!seen.has(key)) {
164
+ seen.add(key);
165
+ result.push(edge);
166
+ }
167
+ }
168
+ return result;
169
+ }
170
+ //# sourceMappingURL=skill-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-store.js","sourceRoot":"","sources":["../../src/learning/skill-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { GraphEdge } from "../core/types";
2
+ export interface EvolutionarySkillNode {
3
+ id: string;
4
+ name: string;
5
+ parents: [string, string];
6
+ domain: string;
7
+ description: string;
8
+ score: number;
9
+ uses: number;
10
+ updatedAt: number;
11
+ canaryUses: number;
12
+ canaryPasses: number;
13
+ canaryStatus: 'probation' | 'verified' | 'demoted';
14
+ }
15
+ export interface SkillState {
16
+ id: string;
17
+ name: string;
18
+ score: number;
19
+ uses: number;
20
+ lastOutcome: "pass" | "fail";
21
+ updatedAt: number;
22
+ }
23
+ export interface CompositeSkillState {
24
+ id: string;
25
+ name: string;
26
+ parents: [string, string];
27
+ coOccurCount: number;
28
+ successCount: number;
29
+ failureCount: number;
30
+ score: number;
31
+ uses: number;
32
+ lastOutcome: "pass" | "fail";
33
+ updatedAt: number;
34
+ }
35
+ export type EdgeRelation = GraphEdge["relation"];
36
+ export type SkillEdge = {
37
+ from: string;
38
+ to: string;
39
+ relation: EdgeRelation;
40
+ };
41
+ export declare const DEFAULT_COMPOSITE_MIN_COOCCUR = 2;
42
+ export declare const DEFAULT_COMPOSITE_MIN_SUCCESS = 2;
43
+ //# sourceMappingURL=skill-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-types.d.ts","sourceRoot":"","sources":["../../src/learning/skill-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;CACpD;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC;AAE7E,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,6BAA6B,IAAI,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_COMPOSITE_MIN_SUCCESS = exports.DEFAULT_COMPOSITE_MIN_COOCCUR = void 0;
4
+ exports.DEFAULT_COMPOSITE_MIN_COOCCUR = 2;
5
+ exports.DEFAULT_COMPOSITE_MIN_SUCCESS = 2;
6
+ //# sourceMappingURL=skill-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-types.js","sourceRoot":"","sources":["../../src/learning/skill-types.ts"],"names":[],"mappings":";;;AAyCa,QAAA,6BAA6B,GAAG,CAAC,CAAC;AAClC,QAAA,6BAA6B,GAAG,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/surfaces/cli/init.ts"],"names":[],"mappings":"AAqEA,wBAAgB,OAAO,SAuDtB"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/surfaces/cli/init.ts"],"names":[],"mappings":"AA6DA,wBAAgB,OAAO,SAiDtB"}
@@ -2,39 +2,40 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runInit = runInit;
4
4
  const node_fs_1 = require("node:fs");
5
+ const node_os_1 = require("node:os");
5
6
  const node_path_1 = require("node:path");
6
- const defaults_1 = require("../../config/defaults");
7
7
  const scaffold_1 = require("../../config/scaffold");
8
8
  const agent_mcp_installer_1 = require("../../integrations/agent-mcp-installer");
9
9
  const CONFIG_DIR = ".graphflow";
10
- const CONFIG_FILE = (0, node_path_1.join)(CONFIG_DIR, "config.json");
11
10
  const README_FILE = (0, node_path_1.join)(CONFIG_DIR, "README.md");
12
- function buildReadmeContent(workspaceRoot, installResults) {
11
+ function buildReadmeContent(installResults) {
13
12
  const detectedAgents = (0, agent_mcp_installer_1.detectInstalledAgents)().map((agent) => agent.name).join(", ") || "未检测到";
14
13
  const installedLines = installResults.length > 0
15
14
  ? installResults
16
- .filter((result) => result.status === "injected" || result.status === "created")
15
+ .filter((result) => result.status === "injected" || result.status === "created" || result.status === "updated")
17
16
  .map((result) => `- ${result.agentName} (${result.scope}): ${result.configPath}`)
18
17
  .join("\n")
19
18
  : "- 无";
19
+ const globalConfigPath = (0, scaffold_1.resolveGlobalConfigPath)();
20
20
  return `# GraphFlow 配置文件说明
21
21
 
22
- 欢迎使用 GraphFlow!本目录下包含 GraphFlow 的核心配置。
23
-
24
- ## 1. 配置文件 (\`config.json\`)
25
- 由于标准的 JSON 格式不支持注释,因此所有关于参数的详细说明都在这里:
22
+ 欢迎使用 GraphFlow!模型与路由配置默认保存在用户全局文件中,新开项目无需重复配置。
26
23
 
24
+ ## 1. 全局配置文件
25
+ - 路径:\`${globalConfigPath}\`
27
26
  - **\`providers\`**: 配置各个大模型厂商的 API Key 和 Base URL。例如,如果你使用 DeepSeek,可以在 \`openai\` 字段中配置 Base URL 为 \`https://api.deepseek.com\` 并填入 \`apiKey\`。
28
- - **\`tiers\`**(建议在项目根目录的 \`graphflow.config.json\` 中配置):
27
+ - **\`tiers\`**:
29
28
  - \`smart\`: 核心大脑模型(用于规划器 Planner 和验证器 Validator)。建议配置为能力最强的模型(如 \`deepseek-v4-pro\`)。
30
29
  - \`economy\`: 经济型干活模型(用于执行器 Worker)。建议配置为速度快、成本低的模型(如 \`deepseek-v4-flash\`)。
31
30
  - **\`embeddingPolicy\`**: 嵌入式向量模型,用于语义召回。默认使用本地 \`Xenova/bge-base-zh-v1.5\`;也可改为 \`openai\` 或轻量 \`hash\` 模式。
32
- - **\`graphPolicy\`**: 控制图谱的生成和索引行为。如果你想让其分析整个仓库,确保 \`workspaceRoot\` 正确指向你的代码根目录。
31
+ - **\`graphPolicy\`**: 控制图谱的生成和索引行为。
33
32
  - \`autoIndexOnPreview\` / \`autoIndexOnRun\`: 在预览上下文或执行任务前自动索引(默认开启)。
34
33
  - \`semanticEnrichment\`: 知识图谱 Symbol 节点的 LLM 语义摘要;\`provider\`/\`model\` 可留空以继承 Economy 层;\`autoRunOnIndex\` 在索引后静默小批量富化。
35
34
 
35
+ 如需仅对某个项目覆盖配置,可在项目根目录创建 \`graphflow.config.json\` 或 \`.graphflow/config.json\`。
36
+
36
37
  ## 2. MCP (Model Context Protocol) 自动注入
37
- 安装时已自动嗅探本机 Agent 工具,并将 GraphFlow MCP 写入检测到的配置。
38
+ 安装时已自动嗅探本机 Agent 工具,并将 GraphFlow MCP 写入**用户级**配置(所有项目共享)。
38
39
 
39
40
  **已嗅探到的 Agent:** ${detectedAgents}
40
41
 
@@ -47,17 +48,8 @@ ${installedLines}
47
48
  或者
48
49
  > "使用 graphflow 为我输出当前项目架构的预览上下文"
49
50
 
50
- 如果有任何 MCP 找不到的情况,请确保在 IDE 的 MCP 配置中包含如下 JSON 节点:
51
- \`\`\`json
52
- "graphflow": {
53
- "command": "npx",
54
- "args": ["-y", "--package=@roarpeng/graphflow", "graphflow-mcp"],
55
- "cwd": "${workspaceRoot.replace(/\\/g, "\\\\")}"
56
- }
57
- \`\`\`
58
-
59
51
  ## 3. 模型配置
60
- ${(0, agent_mcp_installer_1.formatModelConfigGuide)(workspaceRoot)}
52
+ ${(0, agent_mcp_installer_1.formatModelConfigGuide)()}
61
53
  `;
62
54
  }
63
55
  function runInit() {
@@ -66,7 +58,7 @@ function runInit() {
66
58
  return;
67
59
  }
68
60
  const workspaceRoot = process.cwd();
69
- console.log("[START] Initializing GraphFlow project config...");
61
+ console.log("[START] Initializing GraphFlow global config...");
70
62
  const globalConfig = (0, scaffold_1.ensureGlobalGraphFlowConfig)();
71
63
  if (globalConfig.status === "created") {
72
64
  console.log(`[CREATED] Global config: ${globalConfig.path}`);
@@ -74,21 +66,12 @@ function runInit() {
74
66
  else {
75
67
  console.log(`[SKIP] Global config already exists: ${globalConfig.path}`);
76
68
  }
77
- if (!(0, node_fs_1.existsSync)(CONFIG_DIR)) {
78
- (0, node_fs_1.mkdirSync)(CONFIG_DIR, { recursive: true });
79
- console.log(`[CREATED] Directory: ${CONFIG_DIR}`);
80
- }
81
- if (!(0, node_fs_1.existsSync)(CONFIG_FILE)) {
82
- (0, node_fs_1.writeFileSync)(CONFIG_FILE, JSON.stringify((0, defaults_1.getDefaultOverlayConfig)(), null, 2) + "\n", "utf8");
83
- console.log(`[CREATED] Config file: ${CONFIG_FILE}`);
84
- }
85
- else {
86
- console.log(`[SKIP] Config already exists: ${CONFIG_FILE}`);
87
- }
88
69
  const installResults = (0, agent_mcp_installer_1.installMcpToDetectedAgents)({
89
70
  strategy: (0, node_fs_1.existsSync)((0, node_path_1.join)(workspaceRoot, "package.json")) ? "npm-script" : "npx",
90
- workspaceRoot,
91
- npmScriptCwd: workspaceRoot,
71
+ installScope: "user",
72
+ ...((0, node_fs_1.existsSync)((0, node_path_1.join)(workspaceRoot, "package.json"))
73
+ ? { npmScriptCwd: workspaceRoot }
74
+ : {}),
92
75
  });
93
76
  for (const result of installResults) {
94
77
  if (result.status === "error") {
@@ -101,18 +84,21 @@ function runInit() {
101
84
  }
102
85
  console.log(`[SUCCESS] ${result.status === "created" ? "Created" : "Updated"} GraphFlow MCP for ${result.agentName}: ${result.configPath}`);
103
86
  }
104
- (0, node_fs_1.writeFileSync)(README_FILE, buildReadmeContent(workspaceRoot, installResults), "utf8");
87
+ if (!(0, node_fs_1.existsSync)(CONFIG_DIR)) {
88
+ (0, node_fs_1.mkdirSync)(CONFIG_DIR, { recursive: true });
89
+ }
90
+ (0, node_fs_1.writeFileSync)(README_FILE, buildReadmeContent(installResults), "utf8");
105
91
  console.log(`[CREATED] Documentation: ${README_FILE}`);
106
92
  void bootstrapGraphIndex(workspaceRoot).catch((error) => {
107
93
  const message = error instanceof Error ? error.message : String(error);
108
94
  console.warn(`[WARN] Bootstrap graph index skipped: ${message}`);
109
95
  });
110
- console.log("[FINISH] Initialization complete! Please check .graphflow/README.md for MCP and model configuration.");
96
+ console.log(`[FINISH] Initialization complete! Global config: ${(0, node_path_1.join)((0, node_os_1.homedir)(), ".graphflow.config.json")}`);
97
+ console.log("[HINT] To run init on npm install, set GRAPHFLOW_ENABLE_POSTINSTALL=1");
111
98
  }
112
99
  async function bootstrapGraphIndex(workspaceRoot) {
113
100
  const { indexGraph } = await import("./runtime.js");
114
- const configPath = (0, node_fs_1.existsSync)(CONFIG_FILE) ? CONFIG_FILE : undefined;
115
- const result = await indexGraph(workspaceRoot, configPath);
101
+ const result = await indexGraph(workspaceRoot);
116
102
  console.log(`[INDEX] Bootstrap complete: indexedFiles=${result.indexedFiles}; indexedSymbols=${result.indexedSymbols}`);
117
103
  }
118
104
  if (require.main === module) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/surfaces/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/surfaces/cli/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { GraphFlowConfig } from "../../../config/schema";
2
+ export declare function resolveEnrichmentBackend(policy: GraphFlowConfig["graphPolicy"]["semanticEnrichment"]): "network" | "local" | "inherit";
3
+ export declare function buildEmbeddingOptions(config: GraphFlowConfig): {};
4
+ /** Apply enrichment-specific cloud credentials over generic provider env (network backend only). */
5
+ export declare function prepareSemanticEnrichmentRuntime(configPath?: string): void;
6
+ export declare function applyEnrichmentProviderEnv(config: GraphFlowConfig): void;
7
+ export declare function applyOpenBmbRuntimeEnv(config: GraphFlowConfig): void;
8
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/cli/runtime/env.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,GAC3D,SAAS,GAAG,OAAO,GAAG,SAAS,CAWjC;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,MAa5D;AAED,oGAAoG;AACpG,wBAAgB,gCAAgC,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAO1E;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAiBxE;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAwEpE"}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveEnrichmentBackend = resolveEnrichmentBackend;
4
+ exports.buildEmbeddingOptions = buildEmbeddingOptions;
5
+ exports.prepareSemanticEnrichmentRuntime = prepareSemanticEnrichmentRuntime;
6
+ exports.applyEnrichmentProviderEnv = applyEnrichmentProviderEnv;
7
+ exports.applyOpenBmbRuntimeEnv = applyOpenBmbRuntimeEnv;
8
+ const secrets_1 = require("../../../config/secrets");
9
+ const resolve_1 = require("../../../config/resolve");
10
+ const embedding_factory_1 = require("../../../config/embedding-factory");
11
+ function resolveEnrichmentBackend(policy) {
12
+ if (policy?.backend === "network" || policy?.backend === "local" || policy?.backend === "inherit") {
13
+ return policy.backend;
14
+ }
15
+ if (policy?.provider === "openbmb") {
16
+ return "local";
17
+ }
18
+ if (policy?.model || policy?.provider || policy?.apiKey || policy?.baseUrl) {
19
+ return "network";
20
+ }
21
+ return "inherit";
22
+ }
23
+ function buildEmbeddingOptions(config) {
24
+ const embeddingProvider = (0, embedding_factory_1.createEmbeddingProviderFromConfig)(config);
25
+ if (!embeddingProvider) {
26
+ return {};
27
+ }
28
+ return {
29
+ embeddingProvider,
30
+ enableVectorRecall: true,
31
+ ...(config.embeddingPolicy?.topK !== undefined ? { vectorTopK: config.embeddingPolicy.topK } : {}),
32
+ ...(config.embeddingPolicy?.minSimilarity !== undefined
33
+ ? { vectorMinSimilarity: config.embeddingPolicy.minSimilarity }
34
+ : {}),
35
+ };
36
+ }
37
+ /** Apply enrichment-specific cloud credentials over generic provider env (network backend only). */
38
+ function prepareSemanticEnrichmentRuntime(configPath) {
39
+ if (!configPath) {
40
+ return;
41
+ }
42
+ const config = (0, resolve_1.resolveConfig)(configPath);
43
+ applyOpenBmbRuntimeEnv(config);
44
+ applyEnrichmentProviderEnv(config);
45
+ }
46
+ function applyEnrichmentProviderEnv(config) {
47
+ const policy = config.graphPolicy.semanticEnrichment;
48
+ const backend = resolveEnrichmentBackend(policy);
49
+ if (backend === "local") {
50
+ return;
51
+ }
52
+ const providerName = (policy?.provider ?? config.tiers.economy.provider).toUpperCase();
53
+ const providerCfg = config.providers[providerName.toLowerCase()] ?? {};
54
+ const apiKey = (0, secrets_1.resolveConfigSecret)(policy?.apiKey) ?? (0, secrets_1.resolveConfigSecret)(providerCfg.apiKey);
55
+ const baseUrl = policy?.baseUrl ?? providerCfg.baseUrl;
56
+ if (apiKey) {
57
+ process.env[`${providerName}_API_KEY`] = apiKey;
58
+ }
59
+ if (baseUrl) {
60
+ process.env[`${providerName}_BASE_URL`] = baseUrl;
61
+ }
62
+ }
63
+ function applyOpenBmbRuntimeEnv(config) {
64
+ const genericProviders = ["openai", "anthropic", "bailian", "doubao"];
65
+ for (const name of genericProviders) {
66
+ const cfg = config.providers[name];
67
+ if (!cfg) {
68
+ continue;
69
+ }
70
+ const envPrefix = name.toUpperCase();
71
+ const apiKey = (0, secrets_1.resolveConfigSecret)(cfg.apiKey);
72
+ if (apiKey) {
73
+ process.env[`${envPrefix}_API_KEY`] = apiKey;
74
+ }
75
+ if (cfg.baseUrl) {
76
+ process.env[`${envPrefix}_BASE_URL`] = cfg.baseUrl;
77
+ }
78
+ }
79
+ const openbmb = config.providers.openbmb;
80
+ if (!openbmb) {
81
+ return;
82
+ }
83
+ if (openbmb.mode) {
84
+ process.env.GRAPHFLOW_OPENBMB_MODE = openbmb.mode;
85
+ }
86
+ if (openbmb.baseUrl) {
87
+ process.env.GRAPHFLOW_OPENBMB_BASE_URL = openbmb.baseUrl;
88
+ }
89
+ const openbmbApiKey = (0, secrets_1.resolveConfigSecret)(openbmb.apiKey);
90
+ if (openbmbApiKey) {
91
+ process.env.GRAPHFLOW_OPENBMB_API_KEY = openbmbApiKey;
92
+ }
93
+ const modelPath = (0, secrets_1.resolveConfigSecret)(openbmb.modelPath);
94
+ if (modelPath) {
95
+ process.env.GRAPHFLOW_OPENBMB_MODEL_PATH = modelPath;
96
+ }
97
+ const commandPath = (0, secrets_1.resolveConfigSecret)(openbmb.commandPath);
98
+ if (commandPath) {
99
+ process.env.GRAPHFLOW_MINICPM_COMMAND = commandPath;
100
+ }
101
+ if (openbmb.modelUrl) {
102
+ process.env.GRAPHFLOW_MINICPM_MODEL_URL = openbmb.modelUrl;
103
+ }
104
+ if (openbmb.modelSha256) {
105
+ process.env.GRAPHFLOW_MINICPM_MODEL_SHA256 = openbmb.modelSha256;
106
+ }
107
+ if (openbmb.autoDownloadModel !== undefined) {
108
+ process.env.GRAPHFLOW_OPENBMB_AUTO_DOWNLOAD = openbmb.autoDownloadModel ? "1" : "0";
109
+ }
110
+ if (openbmb.engine) {
111
+ process.env.GRAPHFLOW_MINICPM_ENGINE = openbmb.engine;
112
+ }
113
+ if (openbmb.timeoutMs !== undefined) {
114
+ process.env.GRAPHFLOW_OPENBMB_TIMEOUT_MS = String(openbmb.timeoutMs);
115
+ }
116
+ if (openbmb.maxTokens !== undefined) {
117
+ process.env.GRAPHFLOW_OPENBMB_MAX_TOKENS = String(openbmb.maxTokens);
118
+ }
119
+ if (openbmb.temperature !== undefined) {
120
+ process.env.GRAPHFLOW_OPENBMB_TEMPERATURE = String(openbmb.temperature);
121
+ }
122
+ const evolution = config.learningPolicy.skillEvolution;
123
+ if (evolution?.model) {
124
+ process.env.GRAPHFLOW_SKILL_EVOLVE_MODEL = evolution.model;
125
+ }
126
+ if (evolution?.minCoOccur !== undefined) {
127
+ process.env.GRAPHFLOW_SKILL_EVOLVE_MIN_COOCCUR = String(evolution.minCoOccur);
128
+ }
129
+ if (evolution?.minSuccess !== undefined) {
130
+ process.env.GRAPHFLOW_SKILL_EVOLVE_MIN_SUCCESS = String(evolution.minSuccess);
131
+ }
132
+ process.env.GRAPHFLOW_SKILL_TRIPLE_FUSION = evolution?.enableTripleFusion === false ? "0" : "1";
133
+ }
134
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../../src/surfaces/cli/runtime/env.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { buildMcpServerNode, detectInstalledAgents, formatModelConfigGuide, installMcpToDetectedAgents } from "../../../integrations/agent-mcp-installer";
2
+ import type { ensureGlobalGraphFlowConfig, ensureWorkspaceGraphFlowConfig } from "../../../config/scaffold";
3
+ import type { downloadOpenBmbModel, enrichSemanticsSilent, getSkillInsights, indexGraph, inspectGraph, previewContext, rebuildGraph } from "./graph.js";
4
+ import type { getSettingsPanelStatus, indexGraphFromSettings, testRoutingAndIndexGraph } from "./panel.js";
5
+ import type { diagnoseRouting, diagnoseRoutingResult, planAndBrainstorm, planAndBrainstormResult, runLearningNightly, runLearningNightlyResult, runTask, runTaskResult } from "./routing.js";
6
+ import type { applyEnrichmentProviderEnv, applyOpenBmbRuntimeEnv, prepareSemanticEnrichmentRuntime } from "./env.js";
7
+ import type { getGraphFlowSettings, saveGraphFlowSettings, validateSettingsForGraphIndex, validateSettingsForRouting } from "./settings.js";
8
+ /** Bundled runtime module shape used by VS Code extension and other dynamic importers. */
9
+ export interface GraphFlowRuntimeModule {
10
+ runTask: typeof runTask;
11
+ runTaskResult: typeof runTaskResult;
12
+ planAndBrainstorm: typeof planAndBrainstorm;
13
+ planAndBrainstormResult: typeof planAndBrainstormResult;
14
+ previewContext: typeof previewContext;
15
+ indexGraph: typeof indexGraph;
16
+ rebuildGraph: typeof rebuildGraph;
17
+ enrichSemanticsSilent: typeof enrichSemanticsSilent;
18
+ diagnoseRouting: typeof diagnoseRouting;
19
+ diagnoseRoutingResult: typeof diagnoseRoutingResult;
20
+ runLearningNightly: typeof runLearningNightly;
21
+ runLearningNightlyResult: typeof runLearningNightlyResult;
22
+ inspectGraph: typeof inspectGraph;
23
+ getSkillInsights: typeof getSkillInsights;
24
+ getGraphFlowSettings: typeof getGraphFlowSettings;
25
+ getSettingsPanelStatus: typeof getSettingsPanelStatus;
26
+ saveGraphFlowSettings: typeof saveGraphFlowSettings;
27
+ indexGraphFromSettings: typeof indexGraphFromSettings;
28
+ testRoutingAndIndexGraph: typeof testRoutingAndIndexGraph;
29
+ validateSettingsForGraphIndex: typeof validateSettingsForGraphIndex;
30
+ validateSettingsForRouting: typeof validateSettingsForRouting;
31
+ detectInstalledAgents: typeof detectInstalledAgents;
32
+ ensureGlobalGraphFlowConfig: typeof ensureGlobalGraphFlowConfig;
33
+ ensureWorkspaceGraphFlowConfig: typeof ensureWorkspaceGraphFlowConfig;
34
+ installMcpToDetectedAgents: typeof installMcpToDetectedAgents;
35
+ formatModelConfigGuide: typeof formatModelConfigGuide;
36
+ downloadOpenBmbModel: typeof downloadOpenBmbModel;
37
+ prepareSemanticEnrichmentRuntime: typeof prepareSemanticEnrichmentRuntime;
38
+ applyEnrichmentProviderEnv: typeof applyEnrichmentProviderEnv;
39
+ applyOpenBmbRuntimeEnv: typeof applyOpenBmbRuntimeEnv;
40
+ buildMcpServerNode: typeof buildMcpServerNode;
41
+ }
42
+ export declare function assertGraphFlowRuntime(module: unknown): GraphFlowRuntimeModule;
43
+ /** Alias for consumers that refer to the bundled runtime as GraphFlowRuntime. */
44
+ export type GraphFlowRuntime = GraphFlowRuntimeModule;
45
+ //# sourceMappingURL=facade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facade.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/cli/runtime/facade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC3B,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EACV,2BAA2B,EAC3B,8BAA8B,EAC/B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxJ,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAC3G,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,EACxB,OAAO,EACP,aAAa,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AACrH,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC3B,MAAM,eAAe,CAAC;AAEvB,0FAA0F;AAC1F,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,wBAAwB,EAAE,OAAO,wBAAwB,CAAC;IAC1D,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,wBAAwB,EAAE,OAAO,wBAAwB,CAAC;IAC1D,6BAA6B,EAAE,OAAO,6BAA6B,CAAC;IACpE,0BAA0B,EAAE,OAAO,0BAA0B,CAAC;IAC9D,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,2BAA2B,EAAE,OAAO,2BAA2B,CAAC;IAChE,8BAA8B,EAAE,OAAO,8BAA8B,CAAC;IACtE,0BAA0B,EAAE,OAAO,0BAA0B,CAAC;IAC9D,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,gCAAgC,EAAE,OAAO,gCAAgC,CAAC;IAC1E,0BAA0B,EAAE,OAAO,0BAA0B,CAAC;IAC9D,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;CAC/C;AAyBD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,sBAAsB,CAQ9E;AAED,iFAAiF;AACjF,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertGraphFlowRuntime = assertGraphFlowRuntime;
4
+ const REQUIRED_EXPORTS = [
5
+ "runTask",
6
+ "planAndBrainstorm",
7
+ "previewContext",
8
+ "indexGraph",
9
+ "enrichSemanticsSilent",
10
+ "diagnoseRouting",
11
+ "runLearningNightly",
12
+ "inspectGraph",
13
+ "getSkillInsights",
14
+ "getGraphFlowSettings",
15
+ "getSettingsPanelStatus",
16
+ "indexGraphFromSettings",
17
+ "testRoutingAndIndexGraph",
18
+ "saveGraphFlowSettings",
19
+ "detectInstalledAgents",
20
+ "ensureGlobalGraphFlowConfig",
21
+ "ensureWorkspaceGraphFlowConfig",
22
+ "installMcpToDetectedAgents",
23
+ "formatModelConfigGuide",
24
+ "downloadOpenBmbModel",
25
+ ];
26
+ function assertGraphFlowRuntime(module) {
27
+ const candidate = module;
28
+ const missing = REQUIRED_EXPORTS.filter((key) => typeof candidate[key] !== "function");
29
+ if (missing.length > 0) {
30
+ throw new Error(`Bundled GraphFlow runtime is missing required exports: ${missing.join(", ")}`);
31
+ }
32
+ return candidate;
33
+ }
34
+ //# sourceMappingURL=facade.js.map