centient 2.20.0 → 2.21.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 (44) hide show
  1. package/dist/server.d.ts.map +1 -1
  2. package/dist/server.js +34 -1
  3. package/dist/server.js.map +1 -1
  4. package/dist/tools/trails/executeTrailScript.d.ts +19 -0
  5. package/dist/tools/trails/executeTrailScript.d.ts.map +1 -0
  6. package/dist/tools/trails/executeTrailScript.js +65 -0
  7. package/dist/tools/trails/executeTrailScript.js.map +1 -0
  8. package/dist/tools/trails/index.d.ts +9 -0
  9. package/dist/tools/trails/index.d.ts.map +1 -0
  10. package/dist/tools/trails/index.js +9 -0
  11. package/dist/tools/trails/index.js.map +1 -0
  12. package/dist/tools/trails/trailDiscoverAuto.d.ts +9 -0
  13. package/dist/tools/trails/trailDiscoverAuto.d.ts.map +1 -0
  14. package/dist/tools/trails/trailDiscoverAuto.js +76 -0
  15. package/dist/tools/trails/trailDiscoverAuto.js.map +1 -0
  16. package/dist/tools/trails/trailDiscoverConvergence.d.ts +9 -0
  17. package/dist/tools/trails/trailDiscoverConvergence.d.ts.map +1 -0
  18. package/dist/tools/trails/trailDiscoverConvergence.js +66 -0
  19. package/dist/tools/trails/trailDiscoverConvergence.js.map +1 -0
  20. package/dist/tools/trails/trailDiscoverInfluence.d.ts +9 -0
  21. package/dist/tools/trails/trailDiscoverInfluence.d.ts.map +1 -0
  22. package/dist/tools/trails/trailDiscoverInfluence.js +79 -0
  23. package/dist/tools/trails/trailDiscoverInfluence.js.map +1 -0
  24. package/dist/tools/trails/trailList.d.ts +9 -0
  25. package/dist/tools/trails/trailList.d.ts.map +1 -0
  26. package/dist/tools/trails/trailList.js +74 -0
  27. package/dist/tools/trails/trailList.js.map +1 -0
  28. package/dist/tools/trails/trailQueryByTopic.d.ts +9 -0
  29. package/dist/tools/trails/trailQueryByTopic.d.ts.map +1 -0
  30. package/dist/tools/trails/trailQueryByTopic.js +40 -0
  31. package/dist/tools/trails/trailQueryByTopic.js.map +1 -0
  32. package/dist/tools/trails/trailQueryIntersect.d.ts +9 -0
  33. package/dist/tools/trails/trailQueryIntersect.d.ts.map +1 -0
  34. package/dist/tools/trails/trailQueryIntersect.js +54 -0
  35. package/dist/tools/trails/trailQueryIntersect.js.map +1 -0
  36. package/dist/tools/trails/trailQueryTopics.d.ts +9 -0
  37. package/dist/tools/trails/trailQueryTopics.d.ts.map +1 -0
  38. package/dist/tools/trails/trailQueryTopics.js +44 -0
  39. package/dist/tools/trails/trailQueryTopics.js.map +1 -0
  40. package/dist/tools/trails/trailView.d.ts +9 -0
  41. package/dist/tools/trails/trailView.d.ts.map +1 -0
  42. package/dist/tools/trails/trailView.js +94 -0
  43. package/dist/tools/trails/trailView.js.map +1 -0
  44. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAienE,wBAAgB,YAAY,IAAI,MAAM,CAybrC;AAKD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAGlD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AA8fnE,wBAAgB,YAAY,IAAI,MAAM,CA4drC;AAKD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAGlD"}
package/dist/server.js CHANGED
@@ -85,6 +85,7 @@ import { rlvrExecuteHandler, rlvrExecuteTool, } from "./tools/rlvr/rlvrExecute.j
85
85
  import { promoteLearningHandler, promoteLearningTool, } from "./tools/knowledge/promoteLearning.js";
86
86
  import { promoteDecisionHandler, promoteDecisionTool, } from "./tools/knowledge/promoteDecision.js";
87
87
  import { searchMetaKnowledgeHandler, searchMetaKnowledgeTool, } from "./tools/knowledge/searchMetaKnowledge.js";
88
+ import { trailQueryTopicsHandler, trailQueryTopicsTool, trailQueryByTopicHandler, trailQueryByTopicTool, trailQueryIntersectHandler, trailQueryIntersectTool, trailDiscoverConvergenceHandler, trailDiscoverConvergenceTool, trailDiscoverInfluenceHandler, trailDiscoverInfluenceTool, trailDiscoverAutoHandler, trailDiscoverAutoTool, trailListHandler, trailListTool, trailViewHandler, trailViewTool, } from "./tools/trails/index.js";
88
89
  import { withToolSpan } from "./telemetry/index.js";
89
90
  function getToolModule(toolName) {
90
91
  const moduleMap = {
@@ -171,13 +172,21 @@ function getToolModule(toolName) {
171
172
  promote_learning: "knowledge",
172
173
  promote_decision: "knowledge",
173
174
  search_meta_knowledge: "knowledge",
175
+ trail_query_topics: "trails",
176
+ trail_query_by_topic: "trails",
177
+ trail_query_intersect: "trails",
178
+ trail_discover_convergence: "trails",
179
+ trail_discover_influence: "trails",
180
+ trail_discover_auto: "trails",
181
+ trail_list: "trails",
182
+ trail_view: "trails",
174
183
  };
175
184
  return moduleMap[toolName] || "unknown";
176
185
  }
177
186
  export function createServer() {
178
187
  const server = new Server({
179
188
  name: "centient",
180
- version: "2.15.0",
189
+ version: "2.16.0",
181
190
  }, {
182
191
  capabilities: {
183
192
  tools: {},
@@ -268,6 +277,14 @@ export function createServer() {
268
277
  promoteLearningTool,
269
278
  promoteDecisionTool,
270
279
  searchMetaKnowledgeTool,
280
+ trailQueryTopicsTool,
281
+ trailQueryByTopicTool,
282
+ trailQueryIntersectTool,
283
+ trailDiscoverConvergenceTool,
284
+ trailDiscoverInfluenceTool,
285
+ trailDiscoverAutoTool,
286
+ trailListTool,
287
+ trailViewTool,
271
288
  ];
272
289
  server.setRequestHandler(ListToolsRequestSchema, async () => {
273
290
  return { tools };
@@ -447,6 +464,22 @@ export function createServer() {
447
464
  return await promoteDecisionHandler(args);
448
465
  case "search_meta_knowledge":
449
466
  return await searchMetaKnowledgeHandler(args);
467
+ case "trail_query_topics":
468
+ return await trailQueryTopicsHandler(args);
469
+ case "trail_query_by_topic":
470
+ return await trailQueryByTopicHandler(args);
471
+ case "trail_query_intersect":
472
+ return await trailQueryIntersectHandler(args);
473
+ case "trail_discover_convergence":
474
+ return await trailDiscoverConvergenceHandler(args);
475
+ case "trail_discover_influence":
476
+ return await trailDiscoverInfluenceHandler(args);
477
+ case "trail_discover_auto":
478
+ return await trailDiscoverAutoHandler(args);
479
+ case "trail_list":
480
+ return await trailListHandler(args);
481
+ case "trail_view":
482
+ return await trailViewHandler(args);
450
483
  default:
451
484
  throw new Error(`Unknown tool: ${name}`);
452
485
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ interface ScriptResult {
2
+ success: boolean;
3
+ output?: string;
4
+ error?: string;
5
+ exitCode: number;
6
+ }
7
+ export declare function executeTrailScript(script: "trail-query" | "trail-discover" | "trail-tools", args: string[]): ScriptResult;
8
+ export declare function parseJsonOutput<T>(output: string): T | null;
9
+ export declare function formatMcpResponse(success: boolean, data: unknown, metadata: {
10
+ tokensUsed?: number;
11
+ duration: number;
12
+ }): {
13
+ content: Array<{
14
+ type: string;
15
+ text: string;
16
+ }>;
17
+ };
18
+ export {};
19
+ //# sourceMappingURL=executeTrailScript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeTrailScript.d.ts","sourceRoot":"","sources":["../../../src/tools/trails/executeTrailScript.ts"],"names":[],"mappings":"AAaA,UAAU,YAAY;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,GAAG,gBAAgB,GAAG,aAAa,EACxD,IAAI,EAAE,MAAM,EAAE,GACb,YAAY,CA+Bd;AAaD,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAW3D;AAKD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAapD"}
@@ -0,0 +1,65 @@
1
+ import { execSync } from "child_process";
2
+ import * as path from "path";
3
+ const DEVLEX_PATH = process.env.DEVLEX_PATH || "/Users/stephenszermer/Dev/DevLex";
4
+ export function executeTrailScript(script, args) {
5
+ const scriptPath = path.join(DEVLEX_PATH, "scripts", "intelligence", `${script}.sh`);
6
+ const command = `"${scriptPath}" ${args.map(a => `"${a}"`).join(" ")}`;
7
+ try {
8
+ const output = execSync(command, {
9
+ encoding: "utf-8",
10
+ maxBuffer: 10 * 1024 * 1024,
11
+ cwd: DEVLEX_PATH,
12
+ env: {
13
+ ...process.env,
14
+ NO_COLOR: "1",
15
+ TERM: "dumb"
16
+ }
17
+ });
18
+ return {
19
+ success: true,
20
+ output: stripAnsiCodes(output),
21
+ exitCode: 0
22
+ };
23
+ }
24
+ catch (error) {
25
+ const execError = error;
26
+ return {
27
+ success: false,
28
+ output: execError.stdout?.toString() || "",
29
+ error: execError.stderr?.toString() || String(error),
30
+ exitCode: execError.status || 1
31
+ };
32
+ }
33
+ }
34
+ function stripAnsiCodes(str) {
35
+ return str.replace(/\x1B\[[0-9;]*[a-zA-Z]/g, "");
36
+ }
37
+ export function parseJsonOutput(output) {
38
+ try {
39
+ const jsonMatch = output.match(/\{[\s\S]*\}|\[[\s\S]*\]/);
40
+ if (jsonMatch) {
41
+ return JSON.parse(jsonMatch[0]);
42
+ }
43
+ return null;
44
+ }
45
+ catch {
46
+ return null;
47
+ }
48
+ }
49
+ export function formatMcpResponse(success, data, metadata) {
50
+ const response = {
51
+ success,
52
+ data,
53
+ metadata: {
54
+ tokensUsed: metadata.tokensUsed || estimateTokens(JSON.stringify(data)),
55
+ duration: metadata.duration
56
+ }
57
+ };
58
+ return {
59
+ content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
60
+ };
61
+ }
62
+ function estimateTokens(text) {
63
+ return Math.ceil(text.length / 4);
64
+ }
65
+ //# sourceMappingURL=executeTrailScript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeTrailScript.js","sourceRoot":"","sources":["../../../src/tools/trails/executeTrailScript.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,kCAAkC,CAAC;AAYlF,MAAM,UAAU,kBAAkB,CAChC,MAAwD,EACxD,IAAc;IAEd,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,KAAK,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,IAAI,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAEvE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE;YAC/B,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;YAC3B,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBAEd,QAAQ,EAAE,GAAG;gBACb,IAAI,EAAE,MAAM;aACb;SACF,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;YAC9B,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,KAA8D,CAAC;QACjF,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1C,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC;YACpD,QAAQ,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC;SAChC,CAAC;IACJ,CAAC;AACH,CAAC;AAKD,SAAS,cAAc,CAAC,GAAW;IAEjC,OAAO,GAAG,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC;AAKD,MAAM,UAAU,eAAe,CAAI,MAAc;IAC/C,IAAI,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC1D,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAM,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAKD,MAAM,UAAU,iBAAiB,CAC/B,OAAgB,EAChB,IAAa,EACb,QAAmD;IAEnD,MAAM,QAAQ,GAAG;QACf,OAAO;QACP,IAAI;QACJ,QAAQ,EAAE;YACR,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACvE,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B;KACF,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC;AAKD,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { trailQueryTopicsTool, trailQueryTopicsHandler } from "./trailQueryTopics.js";
2
+ export { trailQueryByTopicTool, trailQueryByTopicHandler } from "./trailQueryByTopic.js";
3
+ export { trailQueryIntersectTool, trailQueryIntersectHandler } from "./trailQueryIntersect.js";
4
+ export { trailDiscoverConvergenceTool, trailDiscoverConvergenceHandler } from "./trailDiscoverConvergence.js";
5
+ export { trailDiscoverInfluenceTool, trailDiscoverInfluenceHandler } from "./trailDiscoverInfluence.js";
6
+ export { trailDiscoverAutoTool, trailDiscoverAutoHandler } from "./trailDiscoverAuto.js";
7
+ export { trailListTool, trailListHandler } from "./trailList.js";
8
+ export { trailViewTool, trailViewHandler } from "./trailView.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/trails/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAG/F,OAAO,EAAE,4BAA4B,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAC9G,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGzF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { trailQueryTopicsTool, trailQueryTopicsHandler } from "./trailQueryTopics.js";
2
+ export { trailQueryByTopicTool, trailQueryByTopicHandler } from "./trailQueryByTopic.js";
3
+ export { trailQueryIntersectTool, trailQueryIntersectHandler } from "./trailQueryIntersect.js";
4
+ export { trailDiscoverConvergenceTool, trailDiscoverConvergenceHandler } from "./trailDiscoverConvergence.js";
5
+ export { trailDiscoverInfluenceTool, trailDiscoverInfluenceHandler } from "./trailDiscoverInfluence.js";
6
+ export { trailDiscoverAutoTool, trailDiscoverAutoHandler } from "./trailDiscoverAuto.js";
7
+ export { trailListTool, trailListHandler } from "./trailList.js";
8
+ export { trailViewTool, trailViewHandler } from "./trailView.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/trails/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAG/F,OAAO,EAAE,4BAA4B,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAC9G,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGzF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const trailDiscoverAutoTool: Tool;
3
+ export declare function trailDiscoverAutoHandler(args: unknown): Promise<{
4
+ content: Array<{
5
+ type: string;
6
+ text: string;
7
+ }>;
8
+ }>;
9
+ //# sourceMappingURL=trailDiscoverAuto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailDiscoverAuto.d.ts","sourceRoot":"","sources":["../../../src/tools/trails/trailDiscoverAuto.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,eAAO,MAAM,qBAAqB,EAAE,IAyBnC,CAAC;AAgBF,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA+D7D"}
@@ -0,0 +1,76 @@
1
+ import { executeTrailScript, formatMcpResponse } from "./executeTrailScript.js";
2
+ export const trailDiscoverAutoTool = {
3
+ name: "trail_discover_auto",
4
+ description: "Automatically discover trails in DevLex using multiple engines. Explores convergence, influence, and contradiction patterns within a budget constraint.",
5
+ inputSchema: {
6
+ type: "object",
7
+ properties: {
8
+ budget: {
9
+ type: "number",
10
+ description: "Maximum number of trails to discover (default: 3)",
11
+ default: 3
12
+ },
13
+ type: {
14
+ type: "string",
15
+ description: "Focus on specific trail type",
16
+ enum: ["convergence", "influence", "contradiction", "all"],
17
+ default: "all"
18
+ },
19
+ minQuality: {
20
+ type: "number",
21
+ description: "Minimum quality score for discovered trails (0-1, default: 0.5)",
22
+ default: 0.5
23
+ }
24
+ }
25
+ }
26
+ };
27
+ export async function trailDiscoverAutoHandler(args) {
28
+ const startTime = Date.now();
29
+ const input = args;
30
+ const scriptArgs = ["auto"];
31
+ if (input.budget) {
32
+ scriptArgs.push("--budget", String(input.budget));
33
+ }
34
+ if (input.type && input.type !== "all") {
35
+ scriptArgs.push("--type", input.type);
36
+ }
37
+ const result = executeTrailScript("trail-discover", scriptArgs);
38
+ if (!result.success) {
39
+ return formatMcpResponse(false, { error: result.error }, { duration: Date.now() - startTime });
40
+ }
41
+ const output = result.output || "";
42
+ const trails = [];
43
+ const trailMatches = output.matchAll(/TRAIL-(\d+)[^\n]*\n[^|]*\|([^|]*)\|([^|]*)\|([^|]*)\|([^|]*)/g);
44
+ for (const match of trailMatches) {
45
+ const quality = parseFloat(match[5]?.trim() || "0");
46
+ if (quality >= (input.minQuality || 0.5)) {
47
+ trails.push({
48
+ id: `TRAIL-${match[1]}`,
49
+ type: match[2]?.trim() || "unknown",
50
+ title: match[3]?.trim() || "Untitled",
51
+ nodeCount: parseInt(match[4]?.trim() || "0", 10),
52
+ quality
53
+ });
54
+ }
55
+ }
56
+ if (trails.length === 0) {
57
+ const simpleMatches = output.matchAll(/TRAIL-(\d+)/g);
58
+ for (const match of simpleMatches) {
59
+ trails.push({
60
+ id: `TRAIL-${match[1]}`,
61
+ type: input.type || "auto",
62
+ title: "Auto-discovered trail",
63
+ nodeCount: 0,
64
+ quality: 0.5
65
+ });
66
+ }
67
+ }
68
+ return formatMcpResponse(true, {
69
+ budget: input.budget || 3,
70
+ typeFilter: input.type || "all",
71
+ discoveredTrails: trails,
72
+ trailCount: trails.length,
73
+ rawOutput: output.substring(0, 2000)
74
+ }, { duration: Date.now() - startTime });
75
+ }
76
+ //# sourceMappingURL=trailDiscoverAuto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailDiscoverAuto.js","sourceRoot":"","sources":["../../../src/tools/trails/trailDiscoverAuto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const trailDiscoverConvergenceTool: Tool;
3
+ export declare function trailDiscoverConvergenceHandler(args: unknown): Promise<{
4
+ content: Array<{
5
+ type: string;
6
+ text: string;
7
+ }>;
8
+ }>;
9
+ //# sourceMappingURL=trailDiscoverConvergence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailDiscoverConvergence.d.ts","sourceRoot":"","sources":["../../../src/tools/trails/trailDiscoverConvergence.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,eAAO,MAAM,4BAA4B,EAAE,IAsB1C,CAAC;AAcF,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA6D7D"}
@@ -0,0 +1,66 @@
1
+ import { executeTrailScript, formatMcpResponse } from "./executeTrailScript.js";
2
+ export const trailDiscoverConvergenceTool = {
3
+ name: "trail_discover_convergence",
4
+ description: "Discover convergent insights in DevLex - find multiple independent sources that arrived at the same conclusion. This is the strongest form of knowledge validation.",
5
+ inputSchema: {
6
+ type: "object",
7
+ properties: {
8
+ topic: {
9
+ type: "string",
10
+ description: "Topic path to search for convergence. E.g., 'Architecture/Memory-Systems'"
11
+ },
12
+ principle: {
13
+ type: "string",
14
+ description: "PL principle to find external validation for. E.g., 'P14', 'P6'"
15
+ },
16
+ minSources: {
17
+ type: "number",
18
+ description: "Minimum number of independent sources required (default: 3)",
19
+ default: 3
20
+ }
21
+ }
22
+ }
23
+ };
24
+ export async function trailDiscoverConvergenceHandler(args) {
25
+ const startTime = Date.now();
26
+ const input = args;
27
+ if (!input.topic && !input.principle) {
28
+ return formatMcpResponse(false, { error: "Either topic or principle is required" }, { duration: Date.now() - startTime });
29
+ }
30
+ const scriptArgs = ["convergence"];
31
+ if (input.topic) {
32
+ scriptArgs.push("--topic", input.topic);
33
+ }
34
+ if (input.principle) {
35
+ scriptArgs.push("--principle", input.principle);
36
+ }
37
+ if (input.minSources) {
38
+ scriptArgs.push("--min-sources", String(input.minSources));
39
+ }
40
+ const result = executeTrailScript("trail-discover", scriptArgs);
41
+ if (!result.success) {
42
+ return formatMcpResponse(false, { error: result.error }, { duration: Date.now() - startTime });
43
+ }
44
+ const output = result.output || "";
45
+ const candidates = [];
46
+ const candidateBlocks = output.split(/(?=Convergence Candidate|CANDIDATE)/i);
47
+ for (const block of candidateBlocks) {
48
+ if (block.includes("article-") || block.includes("session-")) {
49
+ const sourceMatches = block.match(/(article-\d+|session-[\w-]+)/g) || [];
50
+ if (sourceMatches.length >= (input.minSources || 3)) {
51
+ candidates.push({
52
+ insight: block.split("\n")[0]?.trim() || "Convergent insight found",
53
+ sources: [...new Set(sourceMatches)],
54
+ confidence: sourceMatches.length / 5
55
+ });
56
+ }
57
+ }
58
+ }
59
+ return formatMcpResponse(true, {
60
+ searchCriteria: input.topic || input.principle,
61
+ candidates,
62
+ candidateCount: candidates.length,
63
+ rawOutput: output.substring(0, 2000)
64
+ }, { duration: Date.now() - startTime });
65
+ }
66
+ //# sourceMappingURL=trailDiscoverConvergence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailDiscoverConvergence.js","sourceRoot":"","sources":["../../../src/tools/trails/trailDiscoverConvergence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const trailDiscoverInfluenceTool: Tool;
3
+ export declare function trailDiscoverInfluenceHandler(args: unknown): Promise<{
4
+ content: Array<{
5
+ type: string;
6
+ text: string;
7
+ }>;
8
+ }>;
9
+ //# sourceMappingURL=trailDiscoverInfluence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailDiscoverInfluence.d.ts","sourceRoot":"","sources":["../../../src/tools/trails/trailDiscoverInfluence.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,eAAO,MAAM,0BAA0B,EAAE,IAmBxC,CAAC;AAoBF,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAgF7D"}
@@ -0,0 +1,79 @@
1
+ import { executeTrailScript, formatMcpResponse } from "./executeTrailScript.js";
2
+ export const trailDiscoverInfluenceTool = {
3
+ name: "trail_discover_influence",
4
+ description: "Trace influence chains in DevLex - discover how an article or session influenced subsequent decisions, patterns, or insights. Shows knowledge transfer through the system.",
5
+ inputSchema: {
6
+ type: "object",
7
+ properties: {
8
+ seed: {
9
+ type: "string",
10
+ description: "Starting article or session ID. E.g., 'article-123' or 'session-2025-12-01'"
11
+ },
12
+ depth: {
13
+ type: "number",
14
+ description: "How many levels of influence to trace (default: 5)",
15
+ default: 5
16
+ }
17
+ },
18
+ required: ["seed"]
19
+ }
20
+ };
21
+ export async function trailDiscoverInfluenceHandler(args) {
22
+ const startTime = Date.now();
23
+ const input = args;
24
+ if (!input.seed) {
25
+ return formatMcpResponse(false, { error: "seed is required. Provide an article-ID or session-ID to trace from." }, { duration: Date.now() - startTime });
26
+ }
27
+ const scriptArgs = ["influence", "--seed", input.seed];
28
+ if (input.depth) {
29
+ scriptArgs.push("--depth", String(input.depth));
30
+ }
31
+ const result = executeTrailScript("trail-discover", scriptArgs);
32
+ if (!result.success) {
33
+ return formatMcpResponse(false, { error: result.error }, { duration: Date.now() - startTime });
34
+ }
35
+ const output = result.output || "";
36
+ const nodes = [];
37
+ const edges = [];
38
+ const nodeMatches = output.matchAll(/(article-\d+|session-[\w-]+|pattern-[\w-]+)/g);
39
+ const seenNodes = new Set();
40
+ let level = 0;
41
+ for (const match of nodeMatches) {
42
+ const id = match[0];
43
+ if (!seenNodes.has(id)) {
44
+ seenNodes.add(id);
45
+ nodes.push({
46
+ id,
47
+ type: id.split("-")[0] || "unknown",
48
+ level: Math.floor(level / 3)
49
+ });
50
+ level++;
51
+ }
52
+ }
53
+ const relationshipPatterns = [
54
+ /influenced by/gi,
55
+ /referenced in/gi,
56
+ /led to/gi,
57
+ /validated by/gi
58
+ ];
59
+ for (const pattern of relationshipPatterns) {
60
+ const matches = output.matchAll(pattern);
61
+ for (const match of matches) {
62
+ const targetNode = nodes[edges.length + 1];
63
+ edges.push({
64
+ from: input.seed,
65
+ to: targetNode?.id ?? "unknown",
66
+ relationship: match[0].toLowerCase()
67
+ });
68
+ }
69
+ }
70
+ return formatMcpResponse(true, {
71
+ seed: input.seed,
72
+ depth: input.depth || 5,
73
+ nodes,
74
+ edges: edges.slice(0, 20),
75
+ nodeCount: nodes.length,
76
+ rawOutput: output.substring(0, 2000)
77
+ }, { duration: Date.now() - startTime });
78
+ }
79
+ //# sourceMappingURL=trailDiscoverInfluence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailDiscoverInfluence.js","sourceRoot":"","sources":["../../../src/tools/trails/trailDiscoverInfluence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const trailListTool: Tool;
3
+ export declare function trailListHandler(args: unknown): Promise<{
4
+ content: Array<{
5
+ type: string;
6
+ text: string;
7
+ }>;
8
+ }>;
9
+ //# sourceMappingURL=trailList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailList.d.ts","sourceRoot":"","sources":["../../../src/tools/trails/trailList.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,eAAO,MAAM,aAAa,EAAE,IAyB3B,CAAC;AAiBF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA+D7D"}
@@ -0,0 +1,74 @@
1
+ import { executeTrailScript, formatMcpResponse } from "./executeTrailScript.js";
2
+ export const trailListTool = {
3
+ name: "trail_list",
4
+ description: "List all discovered trails in DevLex. Shows trail IDs, types, titles, node counts, and quality scores.",
5
+ inputSchema: {
6
+ type: "object",
7
+ properties: {
8
+ type: {
9
+ type: "string",
10
+ description: "Filter by trail type",
11
+ enum: ["influence_chain", "convergent_discovery", "contradiction", "all"],
12
+ default: "all"
13
+ },
14
+ minQuality: {
15
+ type: "number",
16
+ description: "Minimum quality score (0-1)",
17
+ default: 0
18
+ },
19
+ limit: {
20
+ type: "number",
21
+ description: "Maximum number of trails to return",
22
+ default: 20
23
+ }
24
+ }
25
+ }
26
+ };
27
+ export async function trailListHandler(args) {
28
+ const startTime = Date.now();
29
+ const input = args;
30
+ const scriptArgs = ["list"];
31
+ if (input.type && input.type !== "all") {
32
+ scriptArgs.push("--type", input.type);
33
+ }
34
+ const result = executeTrailScript("trail-tools", scriptArgs);
35
+ if (!result.success) {
36
+ return formatMcpResponse(false, { error: result.error }, { duration: Date.now() - startTime });
37
+ }
38
+ const output = result.output || "";
39
+ const trails = [];
40
+ const lines = output.split("\n");
41
+ for (const line of lines) {
42
+ const match = line.match(/\|\s*(TRAIL-\d+)\s*\|\s*(\w+)\s*\|\s*([^|]+)\s*\|\s*(\d+)\s*\|\s*([\d.]+)\s*\|?/);
43
+ if (match && match[1] && match[2] && match[3] && match[4] && match[5]) {
44
+ const quality = parseFloat(match[5]);
45
+ if (quality >= (input.minQuality || 0)) {
46
+ trails.push({
47
+ id: match[1],
48
+ type: match[2],
49
+ title: match[3].trim(),
50
+ nodeCount: parseInt(match[4], 10),
51
+ quality
52
+ });
53
+ }
54
+ }
55
+ }
56
+ const limitedTrails = trails.slice(0, input.limit || 20);
57
+ const stats = {
58
+ total: trails.length,
59
+ byType: trails.reduce((acc, t) => {
60
+ acc[t.type] = (acc[t.type] || 0) + 1;
61
+ return acc;
62
+ }, {}),
63
+ avgQuality: trails.length > 0
64
+ ? trails.reduce((sum, t) => sum + t.quality, 0) / trails.length
65
+ : 0
66
+ };
67
+ return formatMcpResponse(true, {
68
+ trails: limitedTrails,
69
+ displayed: limitedTrails.length,
70
+ stats,
71
+ rawOutput: output.substring(0, 1000)
72
+ }, { duration: Date.now() - startTime });
73
+ }
74
+ //# sourceMappingURL=trailList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailList.js","sourceRoot":"","sources":["../../../src/tools/trails/trailList.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const trailQueryByTopicTool: Tool;
3
+ export declare function trailQueryByTopicHandler(args: unknown): Promise<{
4
+ content: Array<{
5
+ type: string;
6
+ text: string;
7
+ }>;
8
+ }>;
9
+ //# sourceMappingURL=trailQueryByTopic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailQueryByTopic.d.ts","sourceRoot":"","sources":["../../../src/tools/trails/trailQueryByTopic.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,eAAO,MAAM,qBAAqB,EAAE,IAcnC,CAAC;AAWF,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAsC7D"}
@@ -0,0 +1,40 @@
1
+ import { executeTrailScript, formatMcpResponse } from "./executeTrailScript.js";
2
+ export const trailQueryByTopicTool = {
3
+ name: "trail_query_by_topic",
4
+ description: "Find DevLex articles within a specific topic path. Returns article IDs and titles. Use trail_query_topics first to discover available topics.",
5
+ inputSchema: {
6
+ type: "object",
7
+ properties: {
8
+ topicPath: {
9
+ type: "string",
10
+ description: "Topic path in format 'Domain/Subdomain'. E.g., 'Architecture/Memory-Systems', 'Theory/Cognitive-Science'"
11
+ }
12
+ },
13
+ required: ["topicPath"]
14
+ }
15
+ };
16
+ export async function trailQueryByTopicHandler(args) {
17
+ const startTime = Date.now();
18
+ const input = args;
19
+ if (!input.topicPath) {
20
+ return formatMcpResponse(false, { error: "topicPath is required. Format: 'Domain/Subdomain'" }, { duration: Date.now() - startTime });
21
+ }
22
+ const result = executeTrailScript("trail-query", ["by-topic", input.topicPath]);
23
+ if (!result.success) {
24
+ return formatMcpResponse(false, { error: result.error }, { duration: Date.now() - startTime });
25
+ }
26
+ const articles = [];
27
+ const lines = result.output?.split("\n") || [];
28
+ for (const line of lines) {
29
+ const match = line.match(/^\s*(article-\d+):\s*(.+)$/);
30
+ if (match && match[1] && match[2]) {
31
+ articles.push({ id: match[1], title: match[2].trim() });
32
+ }
33
+ }
34
+ return formatMcpResponse(true, {
35
+ topicPath: input.topicPath,
36
+ articles,
37
+ count: articles.length
38
+ }, { duration: Date.now() - startTime });
39
+ }
40
+ //# sourceMappingURL=trailQueryByTopic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailQueryByTopic.js","sourceRoot":"","sources":["../../../src/tools/trails/trailQueryByTopic.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,MAAM,CAAC,MAAM,qBAAqB,GAAS;IACzC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,+IAA+I;IACjJ,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0GAA0G;aACxH;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;CACF,CAAC;AAWF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAa;IAEb,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,IAA8B,CAAC;IAE7C,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,iBAAiB,CACtB,KAAK,EACL,EAAE,KAAK,EAAE,mDAAmD,EAAE,EAC9D,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CACrC,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,iBAAiB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IACjG,CAAC;IAGD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAE/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACvD,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CACtB,IAAI,EACJ;QACE,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ;QACR,KAAK,EAAE,QAAQ,CAAC,MAAM;KACvB,EACD,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CACrC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const trailQueryIntersectTool: Tool;
3
+ export declare function trailQueryIntersectHandler(args: unknown): Promise<{
4
+ content: Array<{
5
+ type: string;
6
+ text: string;
7
+ }>;
8
+ }>;
9
+ //# sourceMappingURL=trailQueryIntersect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailQueryIntersect.d.ts","sourceRoot":"","sources":["../../../src/tools/trails/trailQueryIntersect.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,eAAO,MAAM,uBAAuB,EAAE,IAuBrC,CAAC;AAaF,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA4C7D"}
@@ -0,0 +1,54 @@
1
+ import { executeTrailScript, formatMcpResponse } from "./executeTrailScript.js";
2
+ export const trailQueryIntersectTool = {
3
+ name: "trail_query_intersect",
4
+ description: "Find DevLex articles that appear in multiple topics. Essential for discovering cross-domain connections that form trails.",
5
+ inputSchema: {
6
+ type: "object",
7
+ properties: {
8
+ topic1: {
9
+ type: "string",
10
+ description: "First topic path. E.g., 'Architecture/Memory-Systems'"
11
+ },
12
+ topic2: {
13
+ type: "string",
14
+ description: "Second topic path. E.g., 'Theory/Cognitive-Science'"
15
+ },
16
+ minArticles: {
17
+ type: "number",
18
+ description: "Minimum number of articles in intersection (default: 1)",
19
+ default: 1
20
+ }
21
+ },
22
+ required: ["topic1", "topic2"]
23
+ }
24
+ };
25
+ export async function trailQueryIntersectHandler(args) {
26
+ const startTime = Date.now();
27
+ const input = args;
28
+ if (!input.topic1 || !input.topic2) {
29
+ return formatMcpResponse(false, { error: "Both topic1 and topic2 are required" }, { duration: Date.now() - startTime });
30
+ }
31
+ const scriptArgs = ["intersect", input.topic1, input.topic2];
32
+ if (input.minArticles) {
33
+ scriptArgs.push("--min-articles", String(input.minArticles));
34
+ }
35
+ const result = executeTrailScript("trail-query", scriptArgs);
36
+ if (!result.success) {
37
+ return formatMcpResponse(false, { error: result.error }, { duration: Date.now() - startTime });
38
+ }
39
+ const articles = [];
40
+ const lines = result.output?.split("\n") || [];
41
+ for (const line of lines) {
42
+ const match = line.match(/^\s*(article-\d+):\s*(.+)$/);
43
+ if (match && match[1] && match[2]) {
44
+ articles.push({ id: match[1], title: match[2].trim() });
45
+ }
46
+ }
47
+ return formatMcpResponse(true, {
48
+ topic1: input.topic1,
49
+ topic2: input.topic2,
50
+ intersection: articles,
51
+ count: articles.length
52
+ }, { duration: Date.now() - startTime });
53
+ }
54
+ //# sourceMappingURL=trailQueryIntersect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailQueryIntersect.js","sourceRoot":"","sources":["../../../src/tools/trails/trailQueryIntersect.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,MAAM,CAAC,MAAM,uBAAuB,GAAS;IAC3C,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,2HAA2H;IAC7H,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uDAAuD;aACrE;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qDAAqD;aACnE;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yDAAyD;gBACtE,OAAO,EAAE,CAAC;aACX;SACF;QACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;KAC/B;CACF,CAAC;AAaF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,IAAa;IAEb,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAgC,CAAC;IAE/C,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO,iBAAiB,CACtB,KAAK,EACL,EAAE,KAAK,EAAE,qCAAqC,EAAE,EAChD,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CACrC,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAE7D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,iBAAiB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IACjG,CAAC;IAGD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAE/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACvD,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CACtB,IAAI,EACJ;QACE,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,YAAY,EAAE,QAAQ;QACtB,KAAK,EAAE,QAAQ,CAAC,MAAM;KACvB,EACD,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CACrC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const trailQueryTopicsTool: Tool;
3
+ export declare function trailQueryTopicsHandler(args: unknown): Promise<{
4
+ content: Array<{
5
+ type: string;
6
+ text: string;
7
+ }>;
8
+ }>;
9
+ //# sourceMappingURL=trailQueryTopics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailQueryTopics.d.ts","sourceRoot":"","sources":["../../../src/tools/trails/trailQueryTopics.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,eAAO,MAAM,oBAAoB,EAAE,IAmBlC,CAAC;AAOF,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAgC7D"}
@@ -0,0 +1,44 @@
1
+ import { executeTrailScript, formatMcpResponse } from "./executeTrailScript.js";
2
+ export const trailQueryTopicsTool = {
3
+ name: "trail_query_topics",
4
+ description: "Browse the DevLex topic hierarchy for trail discovery. Level 1 shows domains (Architecture, Theory, etc.), Level 2 shows subdomains under a domain.",
5
+ inputSchema: {
6
+ type: "object",
7
+ properties: {
8
+ level: {
9
+ type: "number",
10
+ description: "Topic level: 1 for domains, 2 for subdomains",
11
+ enum: [1, 2],
12
+ default: 1
13
+ },
14
+ domain: {
15
+ type: "string",
16
+ description: "Filter to specific domain (only for level 2). E.g., 'Architecture', 'Theory'"
17
+ }
18
+ }
19
+ }
20
+ };
21
+ export async function trailQueryTopicsHandler(args) {
22
+ const startTime = Date.now();
23
+ const input = args;
24
+ const scriptArgs = ["topics"];
25
+ if (input.level) {
26
+ scriptArgs.push("--level", String(input.level));
27
+ }
28
+ if (input.domain) {
29
+ scriptArgs.push("--domain", input.domain);
30
+ }
31
+ const result = executeTrailScript("trail-query", scriptArgs);
32
+ if (!result.success) {
33
+ return formatMcpResponse(false, { error: result.error }, { duration: Date.now() - startTime });
34
+ }
35
+ const lines = result.output?.split("\n").filter(l => l.trim() && !l.startsWith("=")) || [];
36
+ const topics = lines.filter(l => !l.includes("Topics (Level"));
37
+ return formatMcpResponse(true, {
38
+ level: input.level || 1,
39
+ domain: input.domain,
40
+ topics,
41
+ count: topics.length
42
+ }, { duration: Date.now() - startTime });
43
+ }
44
+ //# sourceMappingURL=trailQueryTopics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailQueryTopics.js","sourceRoot":"","sources":["../../../src/tools/trails/trailQueryTopics.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,MAAM,CAAC,MAAM,oBAAoB,GAAS;IACxC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,qJAAqJ;IACvJ,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8CAA8C;gBAC3D,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACZ,OAAO,EAAE,CAAC;aACX;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8EAA8E;aAC5F;SACF;KACF;CACF,CAAC;AAOF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAa;IAEb,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,IAA6B,CAAC;IAE5C,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAE7D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,iBAAiB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IACjG,CAAC;IAGD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3F,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;IAE/D,OAAO,iBAAiB,CACtB,IAAI,EACJ;QACE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;QACvB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM;QACN,KAAK,EAAE,MAAM,CAAC,MAAM;KACrB,EACD,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CACrC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const trailViewTool: Tool;
3
+ export declare function trailViewHandler(args: unknown): Promise<{
4
+ content: Array<{
5
+ type: string;
6
+ text: string;
7
+ }>;
8
+ }>;
9
+ //# sourceMappingURL=trailView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailView.d.ts","sourceRoot":"","sources":["../../../src/tools/trails/trailView.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,eAAO,MAAM,aAAa,EAAE,IAmB3B,CAAC;AA0BF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA8E7D"}
@@ -0,0 +1,94 @@
1
+ import { executeTrailScript, formatMcpResponse } from "./executeTrailScript.js";
2
+ export const trailViewTool = {
3
+ name: "trail_view",
4
+ description: "View detailed information about a specific DevLex trail. Shows all nodes, connections, quality metrics, and the narrative thread.",
5
+ inputSchema: {
6
+ type: "object",
7
+ properties: {
8
+ trailId: {
9
+ type: "string",
10
+ description: "Trail ID to view. E.g., 'TRAIL-001'"
11
+ },
12
+ includeExcerpts: {
13
+ type: "boolean",
14
+ description: "Include article/session excerpts (more verbose)",
15
+ default: false
16
+ }
17
+ },
18
+ required: ["trailId"]
19
+ }
20
+ };
21
+ export async function trailViewHandler(args) {
22
+ const startTime = Date.now();
23
+ const input = args;
24
+ if (!input.trailId) {
25
+ return formatMcpResponse(false, { error: "trailId is required. E.g., 'TRAIL-001'" }, { duration: Date.now() - startTime });
26
+ }
27
+ const scriptArgs = ["view", input.trailId];
28
+ const result = executeTrailScript("trail-tools", scriptArgs);
29
+ if (!result.success) {
30
+ return formatMcpResponse(false, { error: result.error }, { duration: Date.now() - startTime });
31
+ }
32
+ const output = result.output || "";
33
+ const details = {
34
+ id: input.trailId,
35
+ type: extractField(output, "Type") || "unknown",
36
+ title: extractField(output, "Title") || "Untitled",
37
+ thread: extractField(output, "Thread") || extractField(output, "Narrative") || "",
38
+ nodes: [],
39
+ quality: parseFloat(extractField(output, "Quality") || "0"),
40
+ created: extractField(output, "Created") || extractField(output, "Date") || "",
41
+ discoveryMethod: extractField(output, "Discovery Method") || extractField(output, "Method") || "manual"
42
+ };
43
+ const nodeMatches = output.matchAll(/(\d+)\.\s*(article-\d+|session-[\w-]+|pattern-[\w-]+):\s*([^\n]+)/g);
44
+ for (const match of nodeMatches) {
45
+ const id = match[2];
46
+ const posStr = match[1];
47
+ const title = match[3];
48
+ if (id && posStr && title) {
49
+ details.nodes.push({
50
+ id,
51
+ type: id.split("-")[0] || "unknown",
52
+ title: title.trim(),
53
+ position: parseInt(posStr, 10)
54
+ });
55
+ }
56
+ }
57
+ if (details.nodes.length === 0) {
58
+ const simpleMatches = output.matchAll(/(article-\d+|session-[\w-]+|pattern-[\w-]+)/g);
59
+ let pos = 1;
60
+ const seen = new Set();
61
+ for (const match of simpleMatches) {
62
+ const id = match[1];
63
+ if (id && !seen.has(id)) {
64
+ seen.add(id);
65
+ details.nodes.push({
66
+ id,
67
+ type: id.split("-")[0] || "unknown",
68
+ title: "",
69
+ position: pos++
70
+ });
71
+ }
72
+ }
73
+ }
74
+ return formatMcpResponse(true, {
75
+ trail: details,
76
+ nodeCount: details.nodes.length,
77
+ rawOutput: output.substring(0, 3000)
78
+ }, { duration: Date.now() - startTime });
79
+ }
80
+ function extractField(text, fieldName) {
81
+ const patterns = [
82
+ new RegExp(`${fieldName}:\\s*(.+)`, "i"),
83
+ new RegExp(`\\*\\*${fieldName}\\*\\*:\\s*(.+)`, "i"),
84
+ new RegExp(`${fieldName}\\s*\\|\\s*(.+)`, "i")
85
+ ];
86
+ for (const pattern of patterns) {
87
+ const match = text.match(pattern);
88
+ if (match && match[1]) {
89
+ return match[1].trim();
90
+ }
91
+ }
92
+ return null;
93
+ }
94
+ //# sourceMappingURL=trailView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailView.js","sourceRoot":"","sources":["../../../src/tools/trails/trailView.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "centient",
3
- "version": "2.20.0",
3
+ "version": "2.21.0",
4
4
  "description": "MCP server for context engineering operations with handoff protocol, health monitoring, session branching with visualization, and query-based artifact loading",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",