@roarpeng/graphflow 1.7.7 → 1.7.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +66 -2
- package/README.md +266 -264
- package/dist/config/discover-workspace.d.ts +2 -0
- package/dist/config/discover-workspace.d.ts.map +1 -1
- package/dist/config/discover-workspace.js +62 -15
- package/dist/config/discover-workspace.js.map +1 -1
- package/dist/config/embedding-factory.d.ts.map +1 -1
- package/dist/config/embedding-factory.js +8 -0
- package/dist/config/embedding-factory.js.map +1 -1
- package/dist/config/workspace-root.d.ts.map +1 -1
- package/dist/config/workspace-root.js +7 -2
- package/dist/config/workspace-root.js.map +1 -1
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/graph/artifact-manager.d.ts +1 -0
- package/dist/graph/artifact-manager.d.ts.map +1 -1
- package/dist/graph/artifact-manager.js +15 -8
- package/dist/graph/artifact-manager.js.map +1 -1
- package/dist/graph/file-indexer-walker.d.ts.map +1 -1
- package/dist/graph/file-indexer-walker.js +1 -0
- package/dist/graph/file-indexer-walker.js.map +1 -1
- package/dist/graph/file-indexer.d.ts.map +1 -1
- package/dist/graph/file-indexer.js +18 -0
- package/dist/graph/file-indexer.js.map +1 -1
- package/dist/graph/file-watcher.d.ts.map +1 -1
- package/dist/graph/file-watcher.js +1 -0
- package/dist/graph/file-watcher.js.map +1 -1
- package/dist/graph/graph-compression.d.ts.map +1 -1
- package/dist/graph/graph-compression.js +2 -0
- package/dist/graph/graph-compression.js.map +1 -1
- package/dist/graph/hit-diversify.js +1 -1
- package/dist/graph/hit-diversify.js.map +1 -1
- package/dist/graph/language-indexers/dart.d.ts +9 -0
- package/dist/graph/language-indexers/dart.d.ts.map +1 -0
- package/dist/graph/language-indexers/dart.js +225 -0
- package/dist/graph/language-indexers/dart.js.map +1 -0
- package/dist/graph/language-indexers/index.d.ts.map +1 -1
- package/dist/graph/language-indexers/index.js +6 -0
- package/dist/graph/language-indexers/index.js.map +1 -1
- package/dist/graph/language-indexers/markdown.d.ts +11 -0
- package/dist/graph/language-indexers/markdown.d.ts.map +1 -0
- package/dist/graph/language-indexers/markdown.js +158 -0
- package/dist/graph/language-indexers/markdown.js.map +1 -0
- package/dist/graph/language-indexers/plcopen-xml.d.ts +16 -0
- package/dist/graph/language-indexers/plcopen-xml.d.ts.map +1 -0
- package/dist/graph/language-indexers/plcopen-xml.js +204 -0
- package/dist/graph/language-indexers/plcopen-xml.js.map +1 -0
- package/dist/graph/language-indexers/st-analyzer.d.ts +49 -0
- package/dist/graph/language-indexers/st-analyzer.d.ts.map +1 -0
- package/dist/graph/language-indexers/st-analyzer.js +439 -0
- package/dist/graph/language-indexers/st-analyzer.js.map +1 -0
- package/dist/graph/language-indexers/tree-sitter-loader.d.ts +2 -1
- package/dist/graph/language-indexers/tree-sitter-loader.d.ts.map +1 -1
- package/dist/graph/language-indexers/tree-sitter-loader.js +5 -2
- package/dist/graph/language-indexers/tree-sitter-loader.js.map +1 -1
- package/dist/integrations/agent-mcp-installer.d.ts +8 -2
- package/dist/integrations/agent-mcp-installer.d.ts.map +1 -1
- package/dist/integrations/agent-mcp-installer.js +70 -5
- package/dist/integrations/agent-mcp-installer.js.map +1 -1
- package/dist/integrations/agent-profiles/index.d.ts +2 -0
- package/dist/integrations/agent-profiles/index.d.ts.map +1 -1
- package/dist/integrations/agent-profiles/index.js +2 -0
- package/dist/integrations/agent-profiles/index.js.map +1 -1
- package/dist/integrations/agent-profiles/profiles/opencode.d.ts +2 -0
- package/dist/integrations/agent-profiles/profiles/opencode.d.ts.map +1 -0
- package/dist/integrations/agent-profiles/profiles/opencode.js +28 -0
- package/dist/integrations/agent-profiles/profiles/opencode.js.map +1 -0
- package/dist/integrations/agent-profiles/skills/opencode.d.ts +2 -0
- package/dist/integrations/agent-profiles/skills/opencode.d.ts.map +1 -0
- package/dist/integrations/agent-profiles/skills/opencode.js +13 -0
- package/dist/integrations/agent-profiles/skills/opencode.js.map +1 -0
- package/dist/integrations/agent-profiles/types.d.ts +2 -2
- package/dist/integrations/agent-profiles/types.d.ts.map +1 -1
- package/dist/integrations/skill-installer.d.ts.map +1 -1
- package/dist/integrations/skill-installer.js +7 -0
- package/dist/integrations/skill-installer.js.map +1 -1
- package/dist/learning/embedding-quality.d.ts +4 -0
- package/dist/learning/embedding-quality.d.ts.map +1 -1
- package/dist/learning/embedding-quality.js +10 -0
- package/dist/learning/embedding-quality.js.map +1 -1
- package/dist/learning/embeddings.d.ts +31 -2
- package/dist/learning/embeddings.d.ts.map +1 -1
- package/dist/learning/embeddings.js +114 -22
- package/dist/learning/embeddings.js.map +1 -1
- package/dist/learning/episodic-memory.d.ts +3 -0
- package/dist/learning/episodic-memory.d.ts.map +1 -1
- package/dist/learning/episodic-memory.js +13 -0
- package/dist/learning/episodic-memory.js.map +1 -1
- package/dist/learning/skill-flywheel.d.ts +11 -0
- package/dist/learning/skill-flywheel.d.ts.map +1 -1
- package/dist/learning/skill-flywheel.js +85 -0
- package/dist/learning/skill-flywheel.js.map +1 -1
- package/dist/learning/skill-store.d.ts.map +1 -1
- package/dist/learning/skill-store.js +1 -0
- package/dist/learning/skill-store.js.map +1 -1
- package/dist/learning/skill-types.d.ts +1 -0
- package/dist/learning/skill-types.d.ts.map +1 -1
- package/dist/learning/skill-types.js.map +1 -1
- package/dist/surfaces/cli/index.js +115 -9
- package/dist/surfaces/cli/index.js.map +1 -1
- package/dist/surfaces/cli/init.d.ts +55 -2
- package/dist/surfaces/cli/init.d.ts.map +1 -1
- package/dist/surfaces/cli/init.js +234 -56
- package/dist/surfaces/cli/init.js.map +1 -1
- package/dist/surfaces/cli/output.d.ts +6 -0
- package/dist/surfaces/cli/output.d.ts.map +1 -1
- package/dist/surfaces/cli/output.js +62 -2
- package/dist/surfaces/cli/output.js.map +1 -1
- package/dist/surfaces/cli/runtime/graph.d.ts +1 -0
- package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/graph.js.map +1 -1
- package/dist/surfaces/cli/runtime/learning.d.ts +13 -0
- package/dist/surfaces/cli/runtime/learning.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/learning.js +27 -0
- package/dist/surfaces/cli/runtime/learning.js.map +1 -1
- package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/routing.js +65 -0
- package/dist/surfaces/cli/runtime/routing.js.map +1 -1
- package/dist/surfaces/cli/runtime/types.d.ts +25 -0
- package/dist/surfaces/cli/runtime/types.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime.d.ts +1 -1
- package/dist/surfaces/cli/runtime.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime.js +5 -1
- package/dist/surfaces/cli/runtime.js.map +1 -1
- package/package.json +13 -8
- package/scripts/safe-postinstall.cjs +38 -1
- package/wasm/.grammar-version +1 -0
- package/wasm/tree-sitter-dart.wasm +0 -0
- package/wasm/tree-sitter-kotlin.wasm +0 -0
|
@@ -231,6 +231,23 @@ function getClaudeMdSourceFile() {
|
|
|
231
231
|
return null;
|
|
232
232
|
}
|
|
233
233
|
|
|
234
|
+
/**
|
|
235
|
+
* 获取 GraphFlow Rules 源文件路径(trae-rules,所有 agent rules 的单一数据源)
|
|
236
|
+
* @returns {string | null} 源文件路径,不存在则返回 null
|
|
237
|
+
*/
|
|
238
|
+
function getRulesSourceFile() {
|
|
239
|
+
const candidates = [
|
|
240
|
+
join(__dirname, "..", "dist", "surfaces", "trae-rules", "graphflow.md"),
|
|
241
|
+
join(__dirname, "..", "src", "surfaces", "trae-rules", "graphflow.md"),
|
|
242
|
+
];
|
|
243
|
+
for (const filePath of candidates) {
|
|
244
|
+
if (existsSync(filePath)) {
|
|
245
|
+
return filePath;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
250
|
+
|
|
234
251
|
/**
|
|
235
252
|
* 获取 Cursor rules 目录列表。
|
|
236
253
|
* Cursor 的 rules 目录为 ~/.cursor/rules/(跨平台一致),
|
|
@@ -341,6 +358,7 @@ function installWorkspaceLevelMcp(workspaceRoot) {
|
|
|
341
358
|
const configFiles = [
|
|
342
359
|
{ path: join(workspaceRoot, ".cursor", "mcp.json"), name: "Cursor", key: "mcpServers" },
|
|
343
360
|
{ path: join(workspaceRoot, ".vscode", "mcp.json"), name: "VS Code", key: "servers" },
|
|
361
|
+
{ path: join(workspaceRoot, ".opencode", "opencode.json"), name: "Opencode", key: "mcp", opencode: true },
|
|
344
362
|
];
|
|
345
363
|
|
|
346
364
|
const mcpEntry = {
|
|
@@ -349,6 +367,13 @@ function installWorkspaceLevelMcp(workspaceRoot) {
|
|
|
349
367
|
env: { GRAPHFLOW_MCP_STDIO: "1", GRAPHFLOW_LOG_JSON: "1" },
|
|
350
368
|
};
|
|
351
369
|
|
|
370
|
+
const opencodeMcpEntry = {
|
|
371
|
+
command: ["npx", "-y", "--package=@roarpeng/graphflow", "graphflow-mcp"],
|
|
372
|
+
enabled: true,
|
|
373
|
+
environment: { GRAPHFLOW_LOG_JSON: "1" },
|
|
374
|
+
type: "local",
|
|
375
|
+
};
|
|
376
|
+
|
|
352
377
|
for (const config of configFiles) {
|
|
353
378
|
if (!existsSync(config.path)) {
|
|
354
379
|
continue; // 该 workspace 级配置不存在,跳过
|
|
@@ -362,13 +387,14 @@ function installWorkspaceLevelMcp(workspaceRoot) {
|
|
|
362
387
|
// 配置文件为空或损坏,初始化为空对象
|
|
363
388
|
}
|
|
364
389
|
|
|
390
|
+
const entry = config.opencode ? opencodeMcpEntry : mcpEntry;
|
|
365
391
|
const servers = json[config.key] || {};
|
|
366
392
|
if (servers.graphflow) {
|
|
367
393
|
results.push({ configPath: config.path, status: "skipped", name: config.name, reason: "already configured" });
|
|
368
394
|
continue;
|
|
369
395
|
}
|
|
370
396
|
|
|
371
|
-
servers.graphflow =
|
|
397
|
+
servers.graphflow = entry;
|
|
372
398
|
json[config.key] = servers;
|
|
373
399
|
writeFileSync(config.path, JSON.stringify(json, null, 2) + "\n", "utf8");
|
|
374
400
|
results.push({ configPath: config.path, status: "created", name: config.name });
|
|
@@ -391,6 +417,7 @@ function installWorkspaceLevelSkills(workspaceRoot) {
|
|
|
391
417
|
const configFiles = [
|
|
392
418
|
join(workspaceRoot, ".cursor", "mcp.json"),
|
|
393
419
|
join(workspaceRoot, ".vscode", "mcp.json"),
|
|
420
|
+
join(workspaceRoot, ".opencode", "opencode.json"),
|
|
394
421
|
];
|
|
395
422
|
const hasWorkspaceConfig = configFiles.some((p) => existsSync(p));
|
|
396
423
|
|
|
@@ -419,6 +446,16 @@ function installWorkspaceLevelSkills(workspaceRoot) {
|
|
|
419
446
|
console.log(`[GraphFlow] Workspace 级 Cursor Rules: ${rulesResult.status}${rulesResult.reason ? ` (${rulesResult.reason})` : ""}`);
|
|
420
447
|
}
|
|
421
448
|
}
|
|
449
|
+
|
|
450
|
+
// 安装 Opencode Rules 到 workspace 级 .opencode/rules/
|
|
451
|
+
const rulesSource = getRulesSourceFile();
|
|
452
|
+
if (rulesSource && existsSync(join(workspaceRoot, ".opencode"))) {
|
|
453
|
+
const opencodeRulesDir = join(workspaceRoot, ".opencode", "rules");
|
|
454
|
+
const opencodeRulesResult = installFileToDir(rulesSource, opencodeRulesDir, "graphflow.md");
|
|
455
|
+
if (opencodeRulesResult.status !== "skipped") {
|
|
456
|
+
console.log(`[GraphFlow] Workspace 级 Opencode Rules: ${opencodeRulesResult.status}${opencodeRulesResult.reason ? ` (${opencodeRulesResult.reason})` : ""}`);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
422
459
|
}
|
|
423
460
|
|
|
424
461
|
function main() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.1.13
|
|
Binary file
|
|
Binary file
|