@roarpeng/graphflow 1.9.15 → 1.12.1
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 +65 -1
- package/README.md +9 -8
- package/README.zh.md +3 -2
- package/dist/config/resolve.d.ts +13 -1
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +29 -3
- package/dist/config/resolve.js.map +1 -1
- package/dist/config/workspace-root.d.ts +6 -0
- package/dist/config/workspace-root.d.ts.map +1 -1
- package/dist/config/workspace-root.js +3 -2
- package/dist/config/workspace-root.js.map +1 -1
- package/dist/graph/graphify-file-client.d.ts +49 -0
- package/dist/graph/graphify-file-client.d.ts.map +1 -1
- package/dist/graph/graphify-file-client.js +113 -15
- package/dist/graph/graphify-file-client.js.map +1 -1
- package/dist/graph/knowledge-extraction.d.ts +43 -0
- package/dist/graph/knowledge-extraction.d.ts.map +1 -0
- package/dist/graph/knowledge-extraction.js +274 -0
- package/dist/graph/knowledge-extraction.js.map +1 -0
- package/dist/graph/token-savings.d.ts +39 -0
- package/dist/graph/token-savings.d.ts.map +1 -1
- package/dist/graph/token-savings.js +138 -0
- package/dist/graph/token-savings.js.map +1 -1
- package/dist/integrations/skill-installer.d.ts.map +1 -1
- package/dist/integrations/skill-installer.js +9 -2
- package/dist/integrations/skill-installer.js.map +1 -1
- package/dist/learning/canary-gate.d.ts +5 -1
- package/dist/learning/canary-gate.d.ts.map +1 -1
- package/dist/learning/canary-gate.js +5 -2
- package/dist/learning/canary-gate.js.map +1 -1
- package/dist/learning/dialogue-thread.d.ts +15 -0
- package/dist/learning/dialogue-thread.d.ts.map +1 -1
- package/dist/learning/dialogue-thread.js +58 -1
- package/dist/learning/dialogue-thread.js.map +1 -1
- package/dist/learning/episodic-memory.d.ts.map +1 -1
- package/dist/learning/episodic-memory.js +19 -3
- package/dist/learning/episodic-memory.js.map +1 -1
- package/dist/learning/skill-admission.d.ts +55 -10
- package/dist/learning/skill-admission.d.ts.map +1 -1
- package/dist/learning/skill-admission.js +177 -35
- package/dist/learning/skill-admission.js.map +1 -1
- package/dist/learning/skill-flywheel.d.ts +24 -6
- package/dist/learning/skill-flywheel.d.ts.map +1 -1
- package/dist/learning/skill-flywheel.js +99 -19
- package/dist/learning/skill-flywheel.js.map +1 -1
- package/dist/learning/skill-markdown.d.ts +12 -0
- package/dist/learning/skill-markdown.d.ts.map +1 -0
- package/dist/learning/skill-markdown.js +226 -0
- package/dist/learning/skill-markdown.js.map +1 -0
- package/dist/learning/skill-store.d.ts.map +1 -1
- package/dist/learning/skill-store.js +23 -4
- package/dist/learning/skill-store.js.map +1 -1
- package/dist/learning/skill-types.d.ts +10 -0
- package/dist/learning/skill-types.d.ts.map +1 -1
- package/dist/learning/skill-types.js.map +1 -1
- package/dist/learning/turn-distillation.d.ts +16 -0
- package/dist/learning/turn-distillation.d.ts.map +1 -0
- package/dist/learning/turn-distillation.js +161 -0
- package/dist/learning/turn-distillation.js.map +1 -0
- package/dist/learning/workflow-skill.d.ts +2 -0
- package/dist/learning/workflow-skill.d.ts.map +1 -1
- package/dist/learning/workflow-skill.js +15 -0
- package/dist/learning/workflow-skill.js.map +1 -1
- package/dist/surfaces/cli/index.js +108 -31
- package/dist/surfaces/cli/index.js.map +1 -1
- package/dist/surfaces/cli/output.d.ts.map +1 -1
- package/dist/surfaces/cli/output.js +4 -0
- package/dist/surfaces/cli/output.js.map +1 -1
- package/dist/surfaces/cli/runtime/dialogue.d.ts +36 -0
- package/dist/surfaces/cli/runtime/dialogue.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/dialogue.js +80 -2
- package/dist/surfaces/cli/runtime/dialogue.js.map +1 -1
- package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/graph.js +14 -10
- package/dist/surfaces/cli/runtime/graph.js.map +1 -1
- package/dist/surfaces/cli/runtime/knowledge.d.ts +37 -0
- package/dist/surfaces/cli/runtime/knowledge.d.ts.map +1 -0
- package/dist/surfaces/cli/runtime/knowledge.js +162 -0
- package/dist/surfaces/cli/runtime/knowledge.js.map +1 -0
- package/dist/surfaces/cli/runtime/routing.js +3 -3
- package/dist/surfaces/cli/runtime/routing.js.map +1 -1
- package/dist/surfaces/cli/runtime/types.d.ts +6 -0
- package/dist/surfaces/cli/runtime/types.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime.d.ts +2 -1
- package/dist/surfaces/cli/runtime.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime.js +7 -1
- package/dist/surfaces/cli/runtime.js.map +1 -1
- package/dist/surfaces/mcp/server.d.ts +24 -0
- package/dist/surfaces/mcp/server.d.ts.map +1 -1
- package/dist/surfaces/mcp/server.js +265 -1
- package/dist/surfaces/mcp/server.js.map +1 -1
- package/dist/surfaces/mcp/tool-definitions.d.ts +1 -0
- package/dist/surfaces/mcp/tool-definitions.d.ts.map +1 -1
- package/dist/surfaces/mcp/tool-definitions.js +9 -1
- package/dist/surfaces/mcp/tool-definitions.js.map +1 -1
- package/dist/surfaces/mcp/tool-handlers.d.ts +4 -1
- package/dist/surfaces/mcp/tool-handlers.d.ts.map +1 -1
- package/dist/surfaces/mcp/tool-handlers.js +69 -19
- package/dist/surfaces/mcp/tool-handlers.js.map +1 -1
- package/dsh/client.js +431 -0
- package/dsh/plugin.mjs +927 -2
- package/package.json +14 -3
- package/plugin.json +1 -1
- package/web/README.md +36 -0
- package/web/plugin.mjs +448 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/surfaces/cli/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,uBAAuB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACnG,cAAc,oBAAoB,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,OAAO,EACP,aAAa,EACb,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACX,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACjH,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,aAAa,EACb,aAAa,EACb,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/surfaces/cli/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,uBAAuB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACnG,cAAc,oBAAoB,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,OAAO,EACP,aAAa,EACb,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACX,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACjH,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,aAAa,EACb,aAAa,EACb,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,iCAAiC,GACvC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,wCAAwC,CAAC"}
|
|
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.runSkillPrune = exports.runSkillReset = exports.runSkillDecay = exports.runLearningNightlyResult = exports.runLearningNightly = exports.assertGraphFlowRuntime = exports.testRoutingAndIndexGraph = exports.indexGraphFromSettings = exports.getSettingsPanelStatus = exports.mergeAgentInsightResult = exports.submitAgentInsightResult = exports.planInsight = exports.planInsightResult = exports.planAndBrainstormResult = exports.planAndBrainstorm = exports.diagnoseRoutingResult = exports.diagnoseRouting = exports.reportOutcome = exports.runTaskResult = exports.runTask = exports.startFileWatcherIfEnabled = exports.resetTokenSavingsStats = exports.getTokenSavingsStats = exports.getFlywheelReport = exports.syncSkillPackageRuntime = exports.importSkillPackageRuntime = exports.exportSkillPackageRuntime = exports.importArtifact = exports.exportExperienceMemory = exports.exportArtifact = exports.getSkillInsights = exports.inspectGraph = exports.rebuildGraph = exports.indexFile = exports.indexGraph = exports.listWorkbenchOutline = exports.captureAssistantReply = exports.expandAnchor = exports.previewContext = exports.validateSettingsForRouting = exports.validateSettingsForGraphIndex = exports.saveGraphFlowSettings = exports.getGraphFlowSettings = exports.resolveWritableConfigPath = exports.resolveConfigPath = exports.resolveConfig = exports.resolveGlobalConfigPath = exports.ensureWorkspaceGraphFlowConfig = exports.ensureGlobalGraphFlowConfig = exports.getDefaultConfig = void 0;
|
|
18
|
-
exports.repairStaleGraphFlowMcpLaunchers = exports.repairUnsafeWindowsMcpCommands = exports.installMcpToDetectedAgents = exports.formatModelConfigGuide = exports.detectInstalledAgents = exports.recordDialogueTurnRuntime = exports.listDialogueTurnsRuntime = exports.forgetEpisode = exports.searchEpisodes = exports.listEpisodes = exports.runLearnForget = exports.runSkillConsolidate = exports.runSkillConsolidatePlan = void 0;
|
|
18
|
+
exports.repairStaleGraphFlowMcpLaunchers = exports.repairUnsafeWindowsMcpCommands = exports.installMcpToDetectedAgents = exports.formatModelConfigGuide = exports.detectInstalledAgents = exports.extractDialogueKnowledgeRuntime = exports.importSkillsFromMarkdownRuntime = exports.exportSkillsToMarkdownRuntime = exports.distillDialogueTurnsRuntime = exports.resolveDialogueRecordInput = exports.recordDialogueTurnRuntime = exports.listDialogueTurnsRuntime = exports.forgetEpisode = exports.searchEpisodes = exports.listEpisodes = exports.runLearnForget = exports.runSkillConsolidate = exports.runSkillConsolidatePlan = void 0;
|
|
19
19
|
var defaults_1 = require("../../config/defaults");
|
|
20
20
|
Object.defineProperty(exports, "getDefaultConfig", { enumerable: true, get: function () { return defaults_1.getDefaultConfig; } });
|
|
21
21
|
var scaffold_1 = require("../../config/scaffold");
|
|
@@ -86,6 +86,12 @@ Object.defineProperty(exports, "forgetEpisode", { enumerable: true, get: functio
|
|
|
86
86
|
var dialogue_js_1 = require("./runtime/dialogue.js");
|
|
87
87
|
Object.defineProperty(exports, "listDialogueTurnsRuntime", { enumerable: true, get: function () { return dialogue_js_1.listDialogueTurnsRuntime; } });
|
|
88
88
|
Object.defineProperty(exports, "recordDialogueTurnRuntime", { enumerable: true, get: function () { return dialogue_js_1.recordDialogueTurnRuntime; } });
|
|
89
|
+
Object.defineProperty(exports, "resolveDialogueRecordInput", { enumerable: true, get: function () { return dialogue_js_1.resolveDialogueRecordInput; } });
|
|
90
|
+
Object.defineProperty(exports, "distillDialogueTurnsRuntime", { enumerable: true, get: function () { return dialogue_js_1.distillDialogueTurnsRuntime; } });
|
|
91
|
+
var knowledge_js_1 = require("./runtime/knowledge.js");
|
|
92
|
+
Object.defineProperty(exports, "exportSkillsToMarkdownRuntime", { enumerable: true, get: function () { return knowledge_js_1.exportSkillsToMarkdownRuntime; } });
|
|
93
|
+
Object.defineProperty(exports, "importSkillsFromMarkdownRuntime", { enumerable: true, get: function () { return knowledge_js_1.importSkillsFromMarkdownRuntime; } });
|
|
94
|
+
Object.defineProperty(exports, "extractDialogueKnowledgeRuntime", { enumerable: true, get: function () { return knowledge_js_1.extractDialogueKnowledgeRuntime; } });
|
|
89
95
|
var agent_mcp_installer_1 = require("../../integrations/agent-mcp-installer");
|
|
90
96
|
Object.defineProperty(exports, "detectInstalledAgents", { enumerable: true, get: function () { return agent_mcp_installer_1.detectInstalledAgents; } });
|
|
91
97
|
Object.defineProperty(exports, "formatModelConfigGuide", { enumerable: true, get: function () { return agent_mcp_installer_1.formatModelConfigGuide; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/surfaces/cli/runtime.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,kDAAyD;AAAhD,4GAAA,gBAAgB,OAAA;AACzB,kDAK+B;AAJ7B,uHAAA,2BAA2B,OAAA;AAC3B,0HAAA,8BAA8B,OAAA;AAC9B,mHAAA,uBAAuB,OAAA;AAGzB,gDAAmG;AAA1F,wGAAA,aAAa,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAAE,oHAAA,yBAAyB,OAAA;AACpE,qDAAmC;AACnC,qDAK+B;AAJ7B,mHAAA,oBAAoB,OAAA;AACpB,oHAAA,qBAAqB,OAAA;AACrB,4HAAA,6BAA6B,OAAA;AAC7B,yHAAA,0BAA0B,OAAA;AAE5B,+CAoB4B;AAnB1B,0GAAA,cAAc,OAAA;AACd,wGAAA,YAAY,OAAA;AACZ,iHAAA,qBAAqB,OAAA;AACrB,gHAAA,oBAAoB,OAAA;AACpB,sGAAA,UAAU,OAAA;AACV,qGAAA,SAAS,OAAA;AACT,wGAAA,YAAY,OAAA;AACZ,wGAAA,YAAY,OAAA;AACZ,4GAAA,gBAAgB,OAAA;AAChB,0GAAA,cAAc,OAAA;AACd,kHAAA,sBAAsB,OAAA;AACtB,0GAAA,cAAc,OAAA;AACd,qHAAA,yBAAyB,OAAA;AACzB,qHAAA,yBAAyB,OAAA;AACzB,mHAAA,uBAAuB,OAAA;AACvB,6GAAA,iBAAiB,OAAA;AACjB,gHAAA,oBAAoB,OAAA;AACpB,kHAAA,sBAAsB,OAAA;AACtB,qHAAA,yBAAyB,OAAA;AAE3B,mDAY8B;AAX5B,qGAAA,OAAO,OAAA;AACP,2GAAA,aAAa,OAAA;AACb,2GAAA,aAAa,OAAA;AACb,6GAAA,eAAe,OAAA;AACf,mHAAA,qBAAqB,OAAA;AACrB,+GAAA,iBAAiB,OAAA;AACjB,qHAAA,uBAAuB,OAAA;AACvB,+GAAA,iBAAiB,OAAA;AACjB,yGAAA,WAAW,OAAA;AACX,sHAAA,wBAAwB,OAAA;AACxB,qHAAA,uBAAuB,OAAA;AAEzB,+CAI4B;AAH1B,kHAAA,sBAAsB,OAAA;AACtB,kHAAA,sBAAsB,OAAA;AACtB,oHAAA,wBAAwB,OAAA;AAE1B,iDAAiH;AAAxG,mHAAA,sBAAsB,OAAA;AAC/B,qDAS+B;AAR7B,iHAAA,kBAAkB,OAAA;AAClB,uHAAA,wBAAwB,OAAA;AACxB,4GAAA,aAAa,OAAA;AACb,4GAAA,aAAa,OAAA;AACb,4GAAA,aAAa,OAAA;AACb,sHAAA,uBAAuB,OAAA;AACvB,kHAAA,mBAAmB,OAAA;AACnB,6GAAA,cAAc,OAAA;AAEhB,iDAQ6B;AAP3B,yGAAA,YAAY,OAAA;AACZ,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AAMf,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/surfaces/cli/runtime.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,kDAAyD;AAAhD,4GAAA,gBAAgB,OAAA;AACzB,kDAK+B;AAJ7B,uHAAA,2BAA2B,OAAA;AAC3B,0HAAA,8BAA8B,OAAA;AAC9B,mHAAA,uBAAuB,OAAA;AAGzB,gDAAmG;AAA1F,wGAAA,aAAa,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAAE,oHAAA,yBAAyB,OAAA;AACpE,qDAAmC;AACnC,qDAK+B;AAJ7B,mHAAA,oBAAoB,OAAA;AACpB,oHAAA,qBAAqB,OAAA;AACrB,4HAAA,6BAA6B,OAAA;AAC7B,yHAAA,0BAA0B,OAAA;AAE5B,+CAoB4B;AAnB1B,0GAAA,cAAc,OAAA;AACd,wGAAA,YAAY,OAAA;AACZ,iHAAA,qBAAqB,OAAA;AACrB,gHAAA,oBAAoB,OAAA;AACpB,sGAAA,UAAU,OAAA;AACV,qGAAA,SAAS,OAAA;AACT,wGAAA,YAAY,OAAA;AACZ,wGAAA,YAAY,OAAA;AACZ,4GAAA,gBAAgB,OAAA;AAChB,0GAAA,cAAc,OAAA;AACd,kHAAA,sBAAsB,OAAA;AACtB,0GAAA,cAAc,OAAA;AACd,qHAAA,yBAAyB,OAAA;AACzB,qHAAA,yBAAyB,OAAA;AACzB,mHAAA,uBAAuB,OAAA;AACvB,6GAAA,iBAAiB,OAAA;AACjB,gHAAA,oBAAoB,OAAA;AACpB,kHAAA,sBAAsB,OAAA;AACtB,qHAAA,yBAAyB,OAAA;AAE3B,mDAY8B;AAX5B,qGAAA,OAAO,OAAA;AACP,2GAAA,aAAa,OAAA;AACb,2GAAA,aAAa,OAAA;AACb,6GAAA,eAAe,OAAA;AACf,mHAAA,qBAAqB,OAAA;AACrB,+GAAA,iBAAiB,OAAA;AACjB,qHAAA,uBAAuB,OAAA;AACvB,+GAAA,iBAAiB,OAAA;AACjB,yGAAA,WAAW,OAAA;AACX,sHAAA,wBAAwB,OAAA;AACxB,qHAAA,uBAAuB,OAAA;AAEzB,+CAI4B;AAH1B,kHAAA,sBAAsB,OAAA;AACtB,kHAAA,sBAAsB,OAAA;AACtB,oHAAA,wBAAwB,OAAA;AAE1B,iDAAiH;AAAxG,mHAAA,sBAAsB,OAAA;AAC/B,qDAS+B;AAR7B,iHAAA,kBAAkB,OAAA;AAClB,uHAAA,wBAAwB,OAAA;AACxB,4GAAA,aAAa,OAAA;AACb,4GAAA,aAAa,OAAA;AACb,4GAAA,aAAa,OAAA;AACb,sHAAA,uBAAuB,OAAA;AACvB,kHAAA,mBAAmB,OAAA;AACnB,6GAAA,cAAc,OAAA;AAEhB,iDAQ6B;AAP3B,yGAAA,YAAY,OAAA;AACZ,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AAMf,qDAO+B;AAN7B,uHAAA,wBAAwB,OAAA;AACxB,wHAAA,yBAAyB,OAAA;AACzB,yHAAA,0BAA0B,OAAA;AAC1B,0HAAA,2BAA2B,OAAA;AAI7B,uDAOgC;AAN9B,6HAAA,6BAA6B,OAAA;AAC7B,+HAAA,+BAA+B,OAAA;AAC/B,+HAAA,+BAA+B,OAAA;AAKjC,8EAMgD;AAL9C,4HAAA,qBAAqB,OAAA;AACrB,6HAAA,sBAAsB,OAAA;AACtB,iIAAA,0BAA0B,OAAA;AAC1B,qIAAA,8BAA8B,OAAA;AAC9B,uIAAA,gCAAgC,OAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import type { Readable, Writable } from "node:stream";
|
|
3
|
+
import { type Server as HttpServer } from "node:http";
|
|
3
4
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
4
5
|
import { type LoggingLevel } from "@modelcontextprotocol/sdk/types.js";
|
|
5
6
|
import { type ToolDefinition } from "./tool-definitions.js";
|
|
@@ -40,7 +41,30 @@ export interface McpServer {
|
|
|
40
41
|
/** Emit a notifications/message log entry (no-op when not connected). */
|
|
41
42
|
sendLogNotification(level: LoggingLevel, message: string): void;
|
|
42
43
|
}
|
|
44
|
+
export interface McpHttpServerOptions {
|
|
45
|
+
/** Defaults to loopback. Non-loopback binds require explicit allowedHosts. */
|
|
46
|
+
host?: string;
|
|
47
|
+
port?: number;
|
|
48
|
+
endpoint?: string;
|
|
49
|
+
/** false keeps every HTTP request independent (MCP stateless core). */
|
|
50
|
+
stateful?: boolean;
|
|
51
|
+
enableJsonResponse?: boolean;
|
|
52
|
+
allowedHosts?: string[];
|
|
53
|
+
allowedOrigins?: string[];
|
|
54
|
+
signal?: AbortSignal;
|
|
55
|
+
}
|
|
56
|
+
export interface StartedMcpHttpServer {
|
|
57
|
+
httpServer: HttpServer;
|
|
58
|
+
url: string;
|
|
59
|
+
endpoint: string;
|
|
60
|
+
host: string;
|
|
61
|
+
port: number;
|
|
62
|
+
stateful: boolean;
|
|
63
|
+
close(): Promise<void>;
|
|
64
|
+
}
|
|
43
65
|
export declare function executeToolCall(call: ToolCall, server?: McpServer): Promise<ToolCallResponse>;
|
|
44
66
|
export declare function createMcpServer(_emitNotification?: (notification: JsonRpcNotification) => void): McpServer;
|
|
45
67
|
export declare function startStdioServer(server?: McpServer, input?: Readable, output?: Writable): Promise<void>;
|
|
68
|
+
export declare function startStreamableHttpServer(createServerInstance?: () => McpServer, options?: McpHttpServerOptions): Promise<StartedMcpHttpServer>;
|
|
69
|
+
export declare function readMcpHttpOptionsFromArgv(argv?: string[]): McpHttpServerOptions | undefined;
|
|
46
70
|
//# sourceMappingURL=server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/surfaces/mcp/server.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/surfaces/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,15 @@ exports.getToolDefinitions = void 0;
|
|
|
5
5
|
exports.executeToolCall = executeToolCall;
|
|
6
6
|
exports.createMcpServer = createMcpServer;
|
|
7
7
|
exports.startStdioServer = startStdioServer;
|
|
8
|
+
exports.startStreamableHttpServer = startStreamableHttpServer;
|
|
9
|
+
exports.readMcpHttpOptionsFromArgv = readMcpHttpOptionsFromArgv;
|
|
8
10
|
process.env.GRAPHFLOW_MCP_STDIO ??= "1";
|
|
9
11
|
process.env.GRAPHFLOW_LOG_JSON ??= "1";
|
|
12
|
+
const node_http_1 = require("node:http");
|
|
13
|
+
const node_crypto_1 = require("node:crypto");
|
|
10
14
|
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
11
15
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
16
|
+
const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/server/streamableHttp.js");
|
|
12
17
|
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
13
18
|
const runtime_1 = require("../cli/runtime");
|
|
14
19
|
const cancellation_1 = require("../../core/cancellation");
|
|
@@ -25,6 +30,12 @@ const DIAGNOSE_RESOURCE_URI = "graphflow://diagnose";
|
|
|
25
30
|
const STATS_RESOURCE_URI = "graphflow://stats";
|
|
26
31
|
const FLYWHEEL_RESOURCE_URI = "graphflow://flywheel";
|
|
27
32
|
const ATP_IR_RESOURCE_URI = "graphflow://atp-ir";
|
|
33
|
+
/**
|
|
34
|
+
* SDK 1.30 ships the draft stateless spec types while its runtime still
|
|
35
|
+
* negotiates the stable handshake protocol. Keep both paths explicit until the
|
|
36
|
+
* SDK promotes the draft runtime constants.
|
|
37
|
+
*/
|
|
38
|
+
const STATELESS_DISCOVERY_PROTOCOL_VERSION = "DRAFT-2026-v1";
|
|
28
39
|
/**
|
|
29
40
|
* 资源面注册表(P2-1):在 graphflow://diagnose 基础上新增 stats / flywheel /
|
|
30
41
|
* atp-ir 三个只读资源。资源面与工具面相互独立,10 个工具定义保持零改动;
|
|
@@ -161,6 +172,23 @@ function createMcpServer(_emitNotification) {
|
|
|
161
172
|
resources: {},
|
|
162
173
|
},
|
|
163
174
|
});
|
|
175
|
+
// SDK transports dispatch protocol requests directly to the low-level
|
|
176
|
+
// Server, so the draft stateless discovery method must live beside the
|
|
177
|
+
// initialized handshake handlers rather than only in the stdio JSON-RPC shim.
|
|
178
|
+
sdkServer.fallbackRequestHandler = async (request) => {
|
|
179
|
+
if (request.method === "server/discover") {
|
|
180
|
+
return {
|
|
181
|
+
protocolVersion: STATELESS_DISCOVERY_PROTOCOL_VERSION,
|
|
182
|
+
capabilities: {
|
|
183
|
+
tools: {},
|
|
184
|
+
logging: {},
|
|
185
|
+
resources: {},
|
|
186
|
+
},
|
|
187
|
+
serverInfo: wrapper.serverInfo,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
throw new types_js_1.McpError(types_js_1.ErrorCode.MethodNotFound, `Method not found: ${request.method}`);
|
|
191
|
+
};
|
|
164
192
|
const wrapper = {
|
|
165
193
|
serverInfo: {
|
|
166
194
|
name: "graphflow",
|
|
@@ -200,6 +228,16 @@ function createMcpServer(_emitNotification) {
|
|
|
200
228
|
}
|
|
201
229
|
try {
|
|
202
230
|
switch (request.method) {
|
|
231
|
+
case "server/discover":
|
|
232
|
+
return respond(request.id ?? null, {
|
|
233
|
+
protocolVersion: STATELESS_DISCOVERY_PROTOCOL_VERSION,
|
|
234
|
+
capabilities: {
|
|
235
|
+
tools: {},
|
|
236
|
+
logging: {},
|
|
237
|
+
resources: {},
|
|
238
|
+
},
|
|
239
|
+
serverInfo: wrapper.serverInfo,
|
|
240
|
+
});
|
|
203
241
|
case "initialize":
|
|
204
242
|
return respond(request.id ?? null, {
|
|
205
243
|
protocolVersion: types_js_1.LATEST_PROTOCOL_VERSION,
|
|
@@ -273,6 +311,216 @@ async function startStdioServer(server = createMcpServer(), input = process.stdi
|
|
|
273
311
|
await server.sdkServer.connect(transport);
|
|
274
312
|
connectedServers.add(server);
|
|
275
313
|
}
|
|
314
|
+
function normalizeHttpEndpoint(endpoint) {
|
|
315
|
+
const value = endpoint?.trim() || "/mcp";
|
|
316
|
+
if (!value.startsWith("/"))
|
|
317
|
+
throw new Error("MCP HTTP endpoint must begin with '/'");
|
|
318
|
+
if (value.includes("*") || value.includes("?"))
|
|
319
|
+
throw new Error("MCP HTTP endpoint must be an exact path");
|
|
320
|
+
return value.endsWith("/") && value !== "/" ? value.slice(0, -1) : value;
|
|
321
|
+
}
|
|
322
|
+
function isLoopbackHost(host) {
|
|
323
|
+
const normalized = host.trim().toLowerCase().replace(/^\[|\]$/g, "");
|
|
324
|
+
return normalized === "localhost" || normalized === "127.0.0.1" || normalized === "::1";
|
|
325
|
+
}
|
|
326
|
+
function writeHttpJsonError(res, status, code, message, requestId = null) {
|
|
327
|
+
res.statusCode = status;
|
|
328
|
+
res.setHeader("Content-Type", "application/json");
|
|
329
|
+
res.end(JSON.stringify({
|
|
330
|
+
jsonrpc: "2.0",
|
|
331
|
+
id: requestId,
|
|
332
|
+
error: { code, message },
|
|
333
|
+
}));
|
|
334
|
+
}
|
|
335
|
+
function validateHttpOrigin(req, allowedOrigins) {
|
|
336
|
+
const origin = req.headers.origin;
|
|
337
|
+
// No Origin means a non-browser MCP client. Browser clients must be explicitly allowed.
|
|
338
|
+
if (typeof origin !== "string" || origin.length === 0)
|
|
339
|
+
return true;
|
|
340
|
+
return Boolean(allowedOrigins?.some((allowed) => allowed.toLowerCase() === origin.toLowerCase()));
|
|
341
|
+
}
|
|
342
|
+
function validateHttpHost(req, host, allowedHosts) {
|
|
343
|
+
const header = req.headers.host;
|
|
344
|
+
if (!header)
|
|
345
|
+
return false;
|
|
346
|
+
if (!allowedHosts?.length) {
|
|
347
|
+
const hostname = header.split(":", 2)[0] ?? "";
|
|
348
|
+
return isLoopbackHost(host) && isLoopbackHost(hostname);
|
|
349
|
+
}
|
|
350
|
+
const normalized = header.toLowerCase();
|
|
351
|
+
return allowedHosts.some((allowed) => {
|
|
352
|
+
const value = allowed.toLowerCase();
|
|
353
|
+
return value === normalized || (value === "*" && false);
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
async function handleWithHttpMcpSession(req, res, session, options) {
|
|
357
|
+
connectedServers.add(session.server);
|
|
358
|
+
let disposed = false;
|
|
359
|
+
const dispose = () => {
|
|
360
|
+
if (disposed)
|
|
361
|
+
return;
|
|
362
|
+
disposed = true;
|
|
363
|
+
connectedServers.delete(session.server);
|
|
364
|
+
if (options?.sessions && session.id)
|
|
365
|
+
options.sessions.delete(session.id);
|
|
366
|
+
void session.transport.close().catch(() => undefined);
|
|
367
|
+
};
|
|
368
|
+
const stateful = options?.stateful === true;
|
|
369
|
+
session.transport.onclose = dispose;
|
|
370
|
+
// Stateful sessions survive the HTTP response; DELETE or transport close owns
|
|
371
|
+
// their lifecycle. Uninitialized stateful attempts are cleaned with the response.
|
|
372
|
+
res.once("close", () => {
|
|
373
|
+
// The predicate is checked when the response closes because an initialize
|
|
374
|
+
// request assigns its stateful session id while the response is open.
|
|
375
|
+
if (!stateful || !session.id)
|
|
376
|
+
dispose();
|
|
377
|
+
});
|
|
378
|
+
try {
|
|
379
|
+
await session.transport.handleRequest(req, res);
|
|
380
|
+
}
|
|
381
|
+
catch (error) {
|
|
382
|
+
if (!res.headersSent) {
|
|
383
|
+
writeHttpJsonError(res, 500, types_js_1.ErrorCode.InternalError, "Internal GraphFlow MCP HTTP error");
|
|
384
|
+
}
|
|
385
|
+
else {
|
|
386
|
+
res.destroy();
|
|
387
|
+
}
|
|
388
|
+
session.server.sendLogNotification("error", `GraphFlow MCP HTTP request failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
async function startStreamableHttpServer(createServerInstance = () => createMcpServer(), options = {}) {
|
|
392
|
+
const host = options.host ?? "127.0.0.1";
|
|
393
|
+
const requestedPort = options.port ?? Number(process.env.GRAPHFLOW_MCP_HTTP_PORT ?? 0);
|
|
394
|
+
const stateful = options.stateful ?? process.env.GRAPHFLOW_MCP_HTTP_STATEFUL === "1";
|
|
395
|
+
const enableJsonResponse = options.enableJsonResponse ?? process.env.GRAPHFLOW_MCP_HTTP_JSON_RESPONSE !== "0";
|
|
396
|
+
const endpoint = normalizeHttpEndpoint(options.endpoint ?? process.env.GRAPHFLOW_MCP_HTTP_ENDPOINT);
|
|
397
|
+
const sessions = new Map();
|
|
398
|
+
if (!isLoopbackHost(host) && !options.allowedHosts?.length) {
|
|
399
|
+
throw new Error(`Refusing to bind MCP HTTP to non-loopback ${host} without explicit allowedHosts`);
|
|
400
|
+
}
|
|
401
|
+
const httpServer = (0, node_http_1.createServer)((req, res) => {
|
|
402
|
+
void (async () => {
|
|
403
|
+
if (!validateHttpHost(req, host, options.allowedHosts)) {
|
|
404
|
+
writeHttpJsonError(res, 403, types_js_1.ErrorCode.InvalidRequest, "Invalid GraphFlow MCP HTTP Host");
|
|
405
|
+
return;
|
|
406
|
+
}
|
|
407
|
+
if (!validateHttpOrigin(req, options.allowedOrigins)) {
|
|
408
|
+
writeHttpJsonError(res, 403, types_js_1.ErrorCode.InvalidRequest, "Origin is not allowed by GraphFlow MCP HTTP");
|
|
409
|
+
return;
|
|
410
|
+
}
|
|
411
|
+
// Host was validated above; use a trusted base solely to parse pathname/search.
|
|
412
|
+
const url = new URL(req.url ?? "/", "http://graphflow.invalid");
|
|
413
|
+
if (url.pathname !== endpoint) {
|
|
414
|
+
writeHttpJsonError(res, 404, types_js_1.ErrorCode.InvalidRequest, `Unknown GraphFlow MCP HTTP endpoint: ${url.pathname}`);
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
417
|
+
const sessionIdHeader = req.headers["mcp-session-id"];
|
|
418
|
+
const sessionId = Array.isArray(sessionIdHeader) ? sessionIdHeader[0] : sessionIdHeader;
|
|
419
|
+
if (stateful && typeof sessionId === "string" && sessionId.length > 0) {
|
|
420
|
+
const existing = sessions.get(sessionId);
|
|
421
|
+
if (!existing) {
|
|
422
|
+
writeHttpJsonError(res, 404, -32001, "GraphFlow MCP session not found", null);
|
|
423
|
+
return;
|
|
424
|
+
}
|
|
425
|
+
await handleWithHttpMcpSession(req, res, existing, { sessions, stateful });
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
428
|
+
let session;
|
|
429
|
+
const transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
|
|
430
|
+
...(stateful
|
|
431
|
+
? {
|
|
432
|
+
sessionIdGenerator: () => (0, node_crypto_1.randomUUID)(),
|
|
433
|
+
onsessioninitialized: (initializedId) => {
|
|
434
|
+
session.id = initializedId;
|
|
435
|
+
sessions.set(initializedId, session);
|
|
436
|
+
},
|
|
437
|
+
}
|
|
438
|
+
: {}),
|
|
439
|
+
enableJsonResponse,
|
|
440
|
+
...(options.allowedHosts ? { allowedHosts: options.allowedHosts } : {}),
|
|
441
|
+
...(options.allowedOrigins ? { allowedOrigins: options.allowedOrigins } : {}),
|
|
442
|
+
});
|
|
443
|
+
const serverInstance = createServerInstance();
|
|
444
|
+
session = { server: serverInstance, transport };
|
|
445
|
+
await serverInstance.sdkServer.connect(transport);
|
|
446
|
+
await handleWithHttpMcpSession(req, res, session, { sessions, stateful });
|
|
447
|
+
})().catch((error) => {
|
|
448
|
+
console.error("[GraphFlow MCP] Unexpected HTTP error:", error);
|
|
449
|
+
if (!res.headersSent) {
|
|
450
|
+
writeHttpJsonError(res, 500, types_js_1.ErrorCode.InternalError, "Unexpected GraphFlow MCP HTTP error");
|
|
451
|
+
}
|
|
452
|
+
else {
|
|
453
|
+
res.destroy();
|
|
454
|
+
}
|
|
455
|
+
});
|
|
456
|
+
});
|
|
457
|
+
if (options.signal) {
|
|
458
|
+
options.signal.addEventListener("abort", () => {
|
|
459
|
+
void httpServer.close();
|
|
460
|
+
}, { once: true });
|
|
461
|
+
}
|
|
462
|
+
await new Promise((resolve, reject) => {
|
|
463
|
+
httpServer.once("error", reject);
|
|
464
|
+
httpServer.listen(requestedPort, host, resolve);
|
|
465
|
+
});
|
|
466
|
+
const address = httpServer.address();
|
|
467
|
+
if (!address || typeof address === "string") {
|
|
468
|
+
throw new Error("GraphFlow MCP HTTP listener did not return a TCP address");
|
|
469
|
+
}
|
|
470
|
+
return {
|
|
471
|
+
httpServer,
|
|
472
|
+
url: `http://${host === "::1" ? `[${host}]` : host}:${address.port}${endpoint}`,
|
|
473
|
+
endpoint,
|
|
474
|
+
host,
|
|
475
|
+
port: address.port,
|
|
476
|
+
stateful,
|
|
477
|
+
async close() {
|
|
478
|
+
for (const session of [...sessions.values()]) {
|
|
479
|
+
connectedServers.delete(session.server);
|
|
480
|
+
await session.transport.close().catch(() => undefined);
|
|
481
|
+
}
|
|
482
|
+
sessions.clear();
|
|
483
|
+
await new Promise((resolve) => httpServer.close(() => resolve()));
|
|
484
|
+
},
|
|
485
|
+
};
|
|
486
|
+
}
|
|
487
|
+
function readMcpHttpOptionsFromArgv(argv = process.argv.slice(2)) {
|
|
488
|
+
if (!argv.includes("--http"))
|
|
489
|
+
return undefined;
|
|
490
|
+
const readFlag = (name) => {
|
|
491
|
+
const index = argv.indexOf(name);
|
|
492
|
+
return index >= 0 ? argv[index + 1]?.trim() : undefined;
|
|
493
|
+
};
|
|
494
|
+
const collectFlags = (name) => {
|
|
495
|
+
const values = [];
|
|
496
|
+
for (let index = 0; index < argv.length; index += 1) {
|
|
497
|
+
if (argv[index] === name) {
|
|
498
|
+
const value = argv[index + 1]?.trim();
|
|
499
|
+
if (value)
|
|
500
|
+
values.push(value);
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
return values;
|
|
504
|
+
};
|
|
505
|
+
const rawPort = readFlag("--port");
|
|
506
|
+
const port = rawPort ? Number.parseInt(rawPort, 10) : undefined;
|
|
507
|
+
const hostFlag = readFlag("--host");
|
|
508
|
+
const endpointFlag = readFlag("--endpoint");
|
|
509
|
+
const allowedHostsFlag = readFlag("--allow-host");
|
|
510
|
+
const allowedOriginsFlag = readFlag("--allow-origin");
|
|
511
|
+
if (port !== undefined && (!Number.isInteger(port) || port < 0 || port > 65535)) {
|
|
512
|
+
throw new Error("--port must be an integer between 0 and 65535");
|
|
513
|
+
}
|
|
514
|
+
return {
|
|
515
|
+
...(hostFlag ? { host: hostFlag } : {}),
|
|
516
|
+
...(port !== undefined ? { port } : {}),
|
|
517
|
+
...(endpointFlag ? { endpoint: endpointFlag } : {}),
|
|
518
|
+
stateful: argv.includes("--stateful"),
|
|
519
|
+
enableJsonResponse: !argv.includes("--sse-only"),
|
|
520
|
+
...(allowedHostsFlag ? { allowedHosts: collectFlags("--allow-host") } : {}),
|
|
521
|
+
...(allowedOriginsFlag ? { allowedOrigins: collectFlags("--allow-origin") } : {}),
|
|
522
|
+
};
|
|
523
|
+
}
|
|
276
524
|
function installMcpProcessGuards(server) {
|
|
277
525
|
process.on("uncaughtException", (error) => {
|
|
278
526
|
console.error("[GraphFlow MCP] uncaughtException:", error);
|
|
@@ -300,7 +548,9 @@ function installMcpProcessGuards(server) {
|
|
|
300
548
|
process.on("SIGTERM", () => shutdown("SIGTERM"));
|
|
301
549
|
process.on("SIGINT", () => shutdown("SIGINT"));
|
|
302
550
|
}
|
|
303
|
-
|
|
551
|
+
function runMcpServerCli() {
|
|
552
|
+
const argv = process.argv.slice(2);
|
|
553
|
+
const httpOptions = readMcpHttpOptionsFromArgv(argv);
|
|
304
554
|
const server = createMcpServer();
|
|
305
555
|
installMcpProcessGuards(server);
|
|
306
556
|
(0, logger_js_1.attachMcpLogSink)((level, message) => server.sendLogNotification(level, message));
|
|
@@ -339,10 +589,24 @@ if (require.main === module) {
|
|
|
339
589
|
server.sendLogNotification("error", message);
|
|
340
590
|
}
|
|
341
591
|
})();
|
|
592
|
+
if (httpOptions) {
|
|
593
|
+
void startStreamableHttpServer(() => server, httpOptions)
|
|
594
|
+
.then((started) => {
|
|
595
|
+
console.error(`[GraphFlow MCP] Streamable HTTP listening on ${started.url} (${started.stateful ? "stateful" : "stateless"})`);
|
|
596
|
+
})
|
|
597
|
+
.catch((error) => {
|
|
598
|
+
console.error("[GraphFlow MCP] Failed to start Streamable HTTP server:", error);
|
|
599
|
+
process.exit(1);
|
|
600
|
+
});
|
|
601
|
+
return;
|
|
602
|
+
}
|
|
342
603
|
// Respond to initialize immediately; watcher is background-only.
|
|
343
604
|
void startStdioServer(server).catch((error) => {
|
|
344
605
|
console.error("[GraphFlow MCP] Failed to start stdio server:", error);
|
|
345
606
|
process.exit(1);
|
|
346
607
|
});
|
|
347
608
|
}
|
|
609
|
+
if (require.main === module) {
|
|
610
|
+
runMcpServerCli();
|
|
611
|
+
}
|
|
348
612
|
//# sourceMappingURL=server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/surfaces/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/surfaces/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-definitions.d.ts","sourceRoot":"","sources":["../../../src/surfaces/mcp/tool-definitions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;CACH;AAED,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-definitions.d.ts","sourceRoot":"","sources":["../../../src/surfaces/mcp/tool-definitions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;CACH;AAED,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAiNrD"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getToolDefinitions = getToolDefinitions;
|
|
4
4
|
function getToolDefinitions() {
|
|
5
|
-
|
|
5
|
+
const tools = [
|
|
6
6
|
{
|
|
7
7
|
name: "graphflow_run",
|
|
8
8
|
description: "[Core] Plan and package a task with compressed context, returning a structured execution descriptor for external coding agents (Cursor, Claude Code) to execute. Bridge mode by default. CALL graphflow_report_outcome AFTER executing the plan to close the learning loop.",
|
|
@@ -116,6 +116,10 @@ function getToolDefinitions() {
|
|
|
116
116
|
rootDir: { type: "string", description: "Optional workspace path to index." },
|
|
117
117
|
filePath: { type: "string", description: "Absolute or workspace-relative path to a single file to index. When provided, only this file is indexed." },
|
|
118
118
|
mode: { type: "string", enum: ["incremental", "full"], description: "Indexing mode: 'incremental' (default) for incremental re-index, 'full' for full rebuild (clear cache and re-index everything)." },
|
|
119
|
+
knowledgeExtract: {
|
|
120
|
+
type: "boolean",
|
|
121
|
+
description: "Optional: also extract deterministic Concept/Requirement nodes from stored dialogue turns (v1.12 Engineering KG).",
|
|
122
|
+
},
|
|
119
123
|
configPath: { type: "string", description: "Optional path to graphflow.config.json." },
|
|
120
124
|
},
|
|
121
125
|
additionalProperties: false,
|
|
@@ -194,5 +198,9 @@ function getToolDefinitions() {
|
|
|
194
198
|
},
|
|
195
199
|
},
|
|
196
200
|
];
|
|
201
|
+
return tools.map((tool) => ({
|
|
202
|
+
...tool,
|
|
203
|
+
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
204
|
+
}));
|
|
197
205
|
}
|
|
198
206
|
//# sourceMappingURL=tool-definitions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-definitions.js","sourceRoot":"","sources":["../../../src/surfaces/mcp/tool-definitions.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"tool-definitions.js","sourceRoot":"","sources":["../../../src/surfaces/mcp/tool-definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,11 +10,14 @@ export type ToolCallResponse = {
|
|
|
10
10
|
type: "text";
|
|
11
11
|
text: string;
|
|
12
12
|
}>;
|
|
13
|
+
structuredContent?: unknown;
|
|
13
14
|
};
|
|
14
15
|
export interface ExecutionHooks {
|
|
15
16
|
}
|
|
16
17
|
export declare const MAX_STRING_FIELD_LENGTH = 100000;
|
|
17
|
-
export declare function executeToolCall(call: ToolCall, server?: McpServer, _hooks?: ExecutionHooks): Promise<ToolCallResponse
|
|
18
|
+
export declare function executeToolCall(call: ToolCall, server?: McpServer, _hooks?: ExecutionHooks): Promise<ToolCallResponse & {
|
|
19
|
+
structuredContent: Record<string, unknown>;
|
|
20
|
+
}>;
|
|
18
21
|
export declare function readRequiredString(value: unknown, field: string): string;
|
|
19
22
|
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
20
23
|
export declare function readProgressToken(params: Record<string, unknown>): string | number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-handlers.d.ts","sourceRoot":"","sources":["../../../src/surfaces/mcp/tool-handlers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-handlers.d.ts","sourceRoot":"","sources":["../../../src/surfaces/mcp/tool-handlers.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,wFAAwF;IACxF,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,cAAc;CAC9B;AAED,eAAO,MAAM,uBAAuB,SAAU,CAAC;AAE/C,wBAAsB,eAAe,CACnC,IAAI,EAAE,QAAQ,EACd,MAAM,CAAC,EAAE,SAAS,EAClB,MAAM,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,gBAAgB,GAAG;IAAE,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAmO5E;AAqJD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAWxE;AA2DD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAW9F"}
|