@sudosandwich/limps 2.12.0 → 2.13.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 (191) hide show
  1. package/README.md +184 -73
  2. package/dist/cli/config-cmd.d.ts.map +1 -1
  3. package/dist/cli/config-cmd.js +3 -3
  4. package/dist/cli/config-cmd.js.map +1 -1
  5. package/dist/cli/graph-check.d.ts +15 -0
  6. package/dist/cli/graph-check.d.ts.map +1 -0
  7. package/dist/cli/graph-check.js +36 -0
  8. package/dist/cli/graph-check.js.map +1 -0
  9. package/dist/cli/graph-db.d.ts +4 -0
  10. package/dist/cli/graph-db.d.ts.map +1 -0
  11. package/dist/cli/graph-db.js +14 -0
  12. package/dist/cli/graph-db.js.map +1 -0
  13. package/dist/cli/graph-entity.d.ts +11 -0
  14. package/dist/cli/graph-entity.d.ts.map +1 -0
  15. package/dist/cli/graph-entity.js +18 -0
  16. package/dist/cli/graph-entity.js.map +1 -0
  17. package/dist/cli/graph-health.d.ts +19 -0
  18. package/dist/cli/graph-health.d.ts.map +1 -0
  19. package/dist/cli/graph-health.js +59 -0
  20. package/dist/cli/graph-health.js.map +1 -0
  21. package/dist/cli/graph-overlap.d.ts +12 -0
  22. package/dist/cli/graph-overlap.d.ts.map +1 -0
  23. package/dist/cli/graph-overlap.js +21 -0
  24. package/dist/cli/graph-overlap.js.map +1 -0
  25. package/dist/cli/graph-reindex.d.ts +14 -0
  26. package/dist/cli/graph-reindex.d.ts.map +1 -0
  27. package/dist/cli/graph-reindex.js +49 -0
  28. package/dist/cli/graph-reindex.js.map +1 -0
  29. package/dist/cli/graph-search.d.ts +15 -0
  30. package/dist/cli/graph-search.d.ts.map +1 -0
  31. package/dist/cli/graph-search.js +37 -0
  32. package/dist/cli/graph-search.js.map +1 -0
  33. package/dist/cli/graph-suggest.d.ts +12 -0
  34. package/dist/cli/graph-suggest.d.ts.map +1 -0
  35. package/dist/cli/graph-suggest.js +35 -0
  36. package/dist/cli/graph-suggest.js.map +1 -0
  37. package/dist/cli/graph-trace.d.ts +17 -0
  38. package/dist/cli/graph-trace.d.ts.map +1 -0
  39. package/dist/cli/graph-trace.js +30 -0
  40. package/dist/cli/graph-trace.js.map +1 -0
  41. package/dist/cli/graph-watch.d.ts +10 -0
  42. package/dist/cli/graph-watch.d.ts.map +1 -0
  43. package/dist/cli/graph-watch.js +18 -0
  44. package/dist/cli/graph-watch.js.map +1 -0
  45. package/dist/cli/mcp-client-adapter.d.ts +14 -5
  46. package/dist/cli/mcp-client-adapter.d.ts.map +1 -1
  47. package/dist/cli/mcp-client-adapter.js +14 -3
  48. package/dist/cli/mcp-client-adapter.js.map +1 -1
  49. package/dist/cli/mcp-clients.d.ts +2 -2
  50. package/dist/cli/mcp-clients.d.ts.map +1 -1
  51. package/dist/cli/mcp-clients.js +15 -0
  52. package/dist/cli/mcp-clients.js.map +1 -1
  53. package/dist/cli/plan-repair.d.ts +26 -0
  54. package/dist/cli/plan-repair.d.ts.map +1 -1
  55. package/dist/cli/plan-repair.js +84 -0
  56. package/dist/cli/plan-repair.js.map +1 -1
  57. package/dist/commands/config/sync-mcp.d.ts +1 -0
  58. package/dist/commands/config/sync-mcp.d.ts.map +1 -1
  59. package/dist/commands/config/sync-mcp.js +2 -2
  60. package/dist/commands/config/sync-mcp.js.map +1 -1
  61. package/dist/commands/graph/check.d.ts +16 -0
  62. package/dist/commands/graph/check.d.ts.map +1 -0
  63. package/dist/commands/graph/check.js +88 -0
  64. package/dist/commands/graph/check.js.map +1 -0
  65. package/dist/commands/graph/entity.d.ts +16 -0
  66. package/dist/commands/graph/entity.d.ts.map +1 -0
  67. package/dist/commands/graph/entity.js +83 -0
  68. package/dist/commands/graph/entity.js.map +1 -0
  69. package/dist/commands/graph/health.d.ts +16 -0
  70. package/dist/commands/graph/health.d.ts.map +1 -0
  71. package/dist/commands/graph/health.js +78 -0
  72. package/dist/commands/graph/health.js.map +1 -0
  73. package/dist/commands/graph/index.d.ts +3 -0
  74. package/dist/commands/graph/index.d.ts.map +1 -0
  75. package/dist/commands/graph/index.js +33 -0
  76. package/dist/commands/graph/index.js.map +1 -0
  77. package/dist/commands/graph/overlap.d.ts +18 -0
  78. package/dist/commands/graph/overlap.d.ts.map +1 -0
  79. package/dist/commands/graph/overlap.js +88 -0
  80. package/dist/commands/graph/overlap.js.map +1 -0
  81. package/dist/commands/graph/reindex.d.ts +18 -0
  82. package/dist/commands/graph/reindex.d.ts.map +1 -0
  83. package/dist/commands/graph/reindex.js +92 -0
  84. package/dist/commands/graph/reindex.js.map +1 -0
  85. package/dist/commands/graph/search.d.ts +18 -0
  86. package/dist/commands/graph/search.d.ts.map +1 -0
  87. package/dist/commands/graph/search.js +105 -0
  88. package/dist/commands/graph/search.js.map +1 -0
  89. package/dist/commands/graph/suggest.d.ts +16 -0
  90. package/dist/commands/graph/suggest.d.ts.map +1 -0
  91. package/dist/commands/graph/suggest.js +88 -0
  92. package/dist/commands/graph/suggest.js.map +1 -0
  93. package/dist/commands/graph/trace.d.ts +22 -0
  94. package/dist/commands/graph/trace.d.ts.map +1 -0
  95. package/dist/commands/graph/trace.js +97 -0
  96. package/dist/commands/graph/trace.js.map +1 -0
  97. package/dist/commands/graph/watch.d.ts +17 -0
  98. package/dist/commands/graph/watch.d.ts.map +1 -0
  99. package/dist/commands/graph/watch.js +48 -0
  100. package/dist/commands/graph/watch.js.map +1 -0
  101. package/dist/commands/index.d.ts.map +1 -1
  102. package/dist/commands/index.js +1 -1
  103. package/dist/commands/index.js.map +1 -1
  104. package/dist/commands/repair-plans.d.ts.map +1 -1
  105. package/dist/commands/repair-plans.js +74 -10
  106. package/dist/commands/repair-plans.js.map +1 -1
  107. package/dist/config.d.ts +23 -0
  108. package/dist/config.d.ts.map +1 -1
  109. package/dist/config.js +49 -0
  110. package/dist/config.js.map +1 -1
  111. package/dist/graph/conflict-detector.d.ts +27 -0
  112. package/dist/graph/conflict-detector.d.ts.map +1 -0
  113. package/dist/graph/conflict-detector.js +168 -0
  114. package/dist/graph/conflict-detector.js.map +1 -0
  115. package/dist/graph/extractor.d.ts +10 -0
  116. package/dist/graph/extractor.d.ts.map +1 -0
  117. package/dist/graph/extractor.js +266 -0
  118. package/dist/graph/extractor.js.map +1 -0
  119. package/dist/graph/notifier.d.ts +16 -0
  120. package/dist/graph/notifier.d.ts.map +1 -0
  121. package/dist/graph/notifier.js +61 -0
  122. package/dist/graph/notifier.js.map +1 -0
  123. package/dist/graph/parser.d.ts +10 -0
  124. package/dist/graph/parser.d.ts.map +1 -0
  125. package/dist/graph/parser.js +54 -0
  126. package/dist/graph/parser.js.map +1 -0
  127. package/dist/graph/patterns.d.ts +16 -0
  128. package/dist/graph/patterns.d.ts.map +1 -0
  129. package/dist/graph/patterns.js +23 -0
  130. package/dist/graph/patterns.js.map +1 -0
  131. package/dist/graph/resolver.d.ts +23 -0
  132. package/dist/graph/resolver.d.ts.map +1 -0
  133. package/dist/graph/resolver.js +98 -0
  134. package/dist/graph/resolver.js.map +1 -0
  135. package/dist/graph/similarity.d.ts +38 -0
  136. package/dist/graph/similarity.d.ts.map +1 -0
  137. package/dist/graph/similarity.js +74 -0
  138. package/dist/graph/similarity.js.map +1 -0
  139. package/dist/graph/storage.js +2 -2
  140. package/dist/graph/watcher.d.ts +23 -0
  141. package/dist/graph/watcher.d.ts.map +1 -0
  142. package/dist/graph/watcher.js +94 -0
  143. package/dist/graph/watcher.js.map +1 -0
  144. package/dist/resources/plans-summary.d.ts.map +1 -1
  145. package/dist/resources/plans-summary.js +7 -5
  146. package/dist/resources/plans-summary.js.map +1 -1
  147. package/dist/retrieval/bfs.d.ts +27 -0
  148. package/dist/retrieval/bfs.d.ts.map +1 -0
  149. package/dist/retrieval/bfs.js +77 -0
  150. package/dist/retrieval/bfs.js.map +1 -0
  151. package/dist/retrieval/hybrid.d.ts +25 -0
  152. package/dist/retrieval/hybrid.d.ts.map +1 -0
  153. package/dist/retrieval/hybrid.js +84 -0
  154. package/dist/retrieval/hybrid.js.map +1 -0
  155. package/dist/retrieval/recipes.d.ts +20 -0
  156. package/dist/retrieval/recipes.d.ts.map +1 -0
  157. package/dist/retrieval/recipes.js +123 -0
  158. package/dist/retrieval/recipes.js.map +1 -0
  159. package/dist/retrieval/router.d.ts +7 -0
  160. package/dist/retrieval/router.d.ts.map +1 -0
  161. package/dist/retrieval/router.js +51 -0
  162. package/dist/retrieval/router.js.map +1 -0
  163. package/dist/retrieval/rrf.d.ts +21 -0
  164. package/dist/retrieval/rrf.d.ts.map +1 -0
  165. package/dist/retrieval/rrf.js +27 -0
  166. package/dist/retrieval/rrf.js.map +1 -0
  167. package/dist/retrieval/types.d.ts +60 -0
  168. package/dist/retrieval/types.d.ts.map +1 -0
  169. package/dist/retrieval/types.js +18 -0
  170. package/dist/retrieval/types.js.map +1 -0
  171. package/dist/rlm/sandbox.d.ts.map +1 -1
  172. package/dist/rlm/sandbox.js +8 -1
  173. package/dist/rlm/sandbox.js.map +1 -1
  174. package/dist/tools/configure-scoring.d.ts.map +1 -1
  175. package/dist/tools/configure-scoring.js +3 -0
  176. package/dist/tools/configure-scoring.js.map +1 -1
  177. package/dist/tools/graph.d.ts +32 -0
  178. package/dist/tools/graph.d.ts.map +1 -0
  179. package/dist/tools/graph.js +105 -0
  180. package/dist/tools/graph.js.map +1 -0
  181. package/dist/tools/index.d.ts +1 -1
  182. package/dist/tools/index.d.ts.map +1 -1
  183. package/dist/tools/index.js +21 -0
  184. package/dist/tools/index.js.map +1 -1
  185. package/dist/tools/process-doc.d.ts.map +1 -1
  186. package/dist/tools/process-doc.js +14 -0
  187. package/dist/tools/process-doc.js.map +1 -1
  188. package/dist/tools/process-docs.d.ts.map +1 -1
  189. package/dist/tools/process-docs.js +14 -0
  190. package/dist/tools/process-docs.js.map +1 -1
  191. package/package.json +2 -1
@@ -0,0 +1,123 @@
1
+ import { RECIPE_CONSTRAINTS } from './types.js';
2
+ /**
3
+ * Built-in search recipes inspired by Graphiti's retrieval strategies.
4
+ */
5
+ export const BUILT_IN_RECIPES = {
6
+ /**
7
+ * Graph-first with semantic fallback (1-hop).
8
+ * Best for: Relationship queries, dependency tracking.
9
+ * Example: "what blocks agent 003"
10
+ */
11
+ EDGE_HYBRID_RRF: {
12
+ name: 'EDGE_HYBRID_RRF',
13
+ description: 'Graph-first with semantic fallback for relationship queries',
14
+ weights: { lexical: 0.2, semantic: 0.3, graph: 0.5 },
15
+ graphConfig: { maxDepth: 1, hopDecay: 0.5 },
16
+ },
17
+ /**
18
+ * Semantic-first with graph support (1-hop).
19
+ * Best for: Conceptual queries with entity context.
20
+ * Example: "explain authentication in plan 42"
21
+ */
22
+ NODE_HYBRID_RRF: {
23
+ name: 'NODE_HYBRID_RRF',
24
+ description: 'Semantic-first with graph support for conceptual queries',
25
+ weights: { lexical: 0.2, semantic: 0.5, graph: 0.3 },
26
+ graphConfig: { maxDepth: 1, hopDecay: 0.5 },
27
+ similarityThreshold: 0.6,
28
+ },
29
+ /**
30
+ * Deep graph traversal (3-hop with hop decay).
31
+ * Best for: Impact analysis, transitive dependencies.
32
+ * Example: "trace dependencies of plan 41"
33
+ */
34
+ BFS_EXPANSION: {
35
+ name: 'BFS_EXPANSION',
36
+ description: 'Deep multi-hop graph traversal for impact analysis',
37
+ weights: { lexical: 0.1, semantic: 0.2, graph: 0.7 },
38
+ graphConfig: { maxDepth: 3, hopDecay: 0.5 },
39
+ },
40
+ /**
41
+ * Lexical-first for exact entity lookups.
42
+ * Best for: Direct entity references by ID.
43
+ * Example: "plan 0042", "agent #003"
44
+ */
45
+ LEXICAL_FIRST: {
46
+ name: 'LEXICAL_FIRST',
47
+ description: 'Exact entity lookups by ID or name',
48
+ weights: { lexical: 0.6, semantic: 0.2, graph: 0.2 },
49
+ graphConfig: { maxDepth: 1, hopDecay: 0.5 },
50
+ },
51
+ /**
52
+ * Semantic-first for conceptual queries.
53
+ * Best for: Understanding concepts, exploring similar ideas.
54
+ * Example: "how does authentication work"
55
+ */
56
+ SEMANTIC_FIRST: {
57
+ name: 'SEMANTIC_FIRST',
58
+ description: 'Conceptual exploration via embeddings',
59
+ weights: { lexical: 0.2, semantic: 0.6, graph: 0.2 },
60
+ graphConfig: { maxDepth: 1, hopDecay: 0.5 },
61
+ similarityThreshold: 0.7,
62
+ },
63
+ /**
64
+ * Balanced 3-way fusion with 2-hop expansion.
65
+ * Best for: Ambiguous or exploratory queries.
66
+ * Example: "search something"
67
+ */
68
+ HYBRID_BALANCED: {
69
+ name: 'HYBRID_BALANCED',
70
+ description: 'Balanced fusion for exploratory queries',
71
+ weights: { lexical: 0.33, semantic: 0.34, graph: 0.33 },
72
+ graphConfig: { maxDepth: 2, hopDecay: 0.6 },
73
+ },
74
+ };
75
+ /**
76
+ * Validate a search recipe's parameters.
77
+ * @throws Error if recipe is invalid
78
+ */
79
+ export function validateRecipe(recipe) {
80
+ // Validate weight sum (with floating point tolerance)
81
+ const weightSum = recipe.weights.lexical + recipe.weights.semantic + recipe.weights.graph;
82
+ if (Math.abs(weightSum - 1.0) > RECIPE_CONSTRAINTS.WEIGHT_SUM_TOLERANCE) {
83
+ throw new Error(`Recipe "${recipe.name}": weights must sum to 1.0 (got ${weightSum.toFixed(3)})`);
84
+ }
85
+ // Validate similarity threshold at recipe level
86
+ if (recipe.similarityThreshold !== undefined &&
87
+ (recipe.similarityThreshold < 0 || recipe.similarityThreshold > 1)) {
88
+ throw new Error(`Recipe "${recipe.name}": similarityThreshold must be between 0 and 1 (got ${recipe.similarityThreshold})`);
89
+ }
90
+ // Validate graph config if present
91
+ if (recipe.graphConfig) {
92
+ const { maxDepth, hopDecay } = recipe.graphConfig;
93
+ if (maxDepth < 1) {
94
+ throw new Error(`Recipe "${recipe.name}": maxDepth must be at least 1 (got ${maxDepth})`);
95
+ }
96
+ if (maxDepth > RECIPE_CONSTRAINTS.MAX_DEPTH) {
97
+ throw new Error(`Recipe "${recipe.name}": maxDepth cannot exceed ${RECIPE_CONSTRAINTS.MAX_DEPTH} (got ${maxDepth})`);
98
+ }
99
+ if (hopDecay < RECIPE_CONSTRAINTS.MIN_HOP_DECAY ||
100
+ hopDecay > RECIPE_CONSTRAINTS.MAX_HOP_DECAY) {
101
+ throw new Error(`Recipe "${recipe.name}": hopDecay must be between ${RECIPE_CONSTRAINTS.MIN_HOP_DECAY.toFixed(1)} and ${RECIPE_CONSTRAINTS.MAX_HOP_DECAY.toFixed(1)} (got ${hopDecay})`);
102
+ }
103
+ }
104
+ }
105
+ /**
106
+ * Retrieve a recipe by name.
107
+ * @throws Error if recipe not found
108
+ */
109
+ export function getRecipe(name) {
110
+ const recipe = BUILT_IN_RECIPES[name];
111
+ if (!recipe) {
112
+ throw new Error(`Unknown recipe: ${name}`);
113
+ }
114
+ // Return a deep copy to prevent modification
115
+ return structuredClone(recipe);
116
+ }
117
+ /**
118
+ * List all available recipe names.
119
+ */
120
+ export function listRecipes() {
121
+ return Object.keys(BUILT_IN_RECIPES);
122
+ }
123
+ //# sourceMappingURL=recipes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../src/retrieval/recipes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { SearchRecipe } from './types.js';
2
+ /**
3
+ * Route query to retrieval recipe using deterministic regex patterns.
4
+ * Order matters: specific intent patterns checked before generic entity lookups.
5
+ */
6
+ export declare function routeQuery(query: string): SearchRecipe;
7
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/retrieval/router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAa/C;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CA6CtD"}
@@ -0,0 +1,51 @@
1
+ import { getRecipe } from './recipes.js';
2
+ const ENTITY_QUERY = /plan\s*\d+|agent\s*#?\d+|\d{4}[-#]\d{3}/i;
3
+ const RELATION_QUERY = /depends|blocks|modifies|what.*blocking|related|overlap|contention|trace/i;
4
+ const QUESTION_RELATION = /(what|which|show|find|check).*\b(depends|blocks|modifies|blocking|related|overlap|contention)/i;
5
+ const CONCEPT_QUERY = /\b(how|why|explain|describe|similar|like)\b|what is|tell me about/i;
6
+ const CONCEPT_WITH_ENTITY = /\b(similar|like|explain|describe|how|why).*\b(plan|agent|to\s+\d)/i;
7
+ const STATUS_QUERY = /status|progress|completion|blocked|wip|gap|pass|done|remaining/i;
8
+ const QUESTION_STATUS = /(what|which|show|status).*\b(of|for|on|is).*\b(plan|agent|blocked|wip|gap|pass|progress|completion)/i;
9
+ const FILE_QUERY = /file|\.ts|\.js|\.md|modif|touch|change/i;
10
+ /**
11
+ * Route query to retrieval recipe using deterministic regex patterns.
12
+ * Order matters: specific intent patterns checked before generic entity lookups.
13
+ */
14
+ export function routeQuery(query) {
15
+ const q = query.toLowerCase();
16
+ // 1a. Question-based relational queries → EDGE_HYBRID_RRF
17
+ if (QUESTION_RELATION.test(q)) {
18
+ return getRecipe('EDGE_HYBRID_RRF');
19
+ }
20
+ // 1b. Question-based status queries → EDGE_HYBRID_RRF
21
+ if (QUESTION_STATUS.test(q)) {
22
+ return getRecipe('EDGE_HYBRID_RRF');
23
+ }
24
+ // 1c. Conceptual queries with entities → NODE_HYBRID_RRF
25
+ if (CONCEPT_WITH_ENTITY.test(q)) {
26
+ return getRecipe('NODE_HYBRID_RRF');
27
+ }
28
+ // 2. Exact entity references → LEXICAL_FIRST
29
+ if (ENTITY_QUERY.test(query)) {
30
+ return getRecipe('LEXICAL_FIRST');
31
+ }
32
+ // 3. Relational queries → EDGE_HYBRID_RRF
33
+ if (RELATION_QUERY.test(q)) {
34
+ return getRecipe('EDGE_HYBRID_RRF');
35
+ }
36
+ // 4. Conceptual queries → SEMANTIC_FIRST
37
+ if (CONCEPT_QUERY.test(q)) {
38
+ return getRecipe('SEMANTIC_FIRST');
39
+ }
40
+ // 5. Status queries → EDGE_HYBRID_RRF
41
+ if (STATUS_QUERY.test(q)) {
42
+ return getRecipe('EDGE_HYBRID_RRF');
43
+ }
44
+ // 6. File queries → LEXICAL_FIRST
45
+ if (FILE_QUERY.test(q)) {
46
+ return getRecipe('LEXICAL_FIRST');
47
+ }
48
+ // 7. Default: HYBRID_BALANCED
49
+ return getRecipe('HYBRID_BALANCED');
50
+ }
51
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/retrieval/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,MAAM,YAAY,GAAG,0CAA0C,CAAC;AAChE,MAAM,cAAc,GAAG,0EAA0E,CAAC;AAClG,MAAM,iBAAiB,GACrB,gGAAgG,CAAC;AACnG,MAAM,aAAa,GAAG,oEAAoE,CAAC;AAC3F,MAAM,mBAAmB,GAAG,oEAAoE,CAAC;AACjG,MAAM,YAAY,GAAG,iEAAiE,CAAC;AACvF,MAAM,eAAe,GACnB,sGAAsG,CAAC;AACzG,MAAM,UAAU,GAAG,yCAAyC,CAAC;AAE7D;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAE9B,0DAA0D;IAC1D,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACtC,CAAC;IAED,sDAAsD;IACtD,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACtC,CAAC;IAED,yDAAyD;IACzD,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACtC,CAAC;IAED,6CAA6C;IAC7C,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC;IAED,0CAA0C;IAC1C,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACtC,CAAC;IAED,yCAAyC;IACzC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACrC,CAAC;IAED,sCAAsC;IACtC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACtC,CAAC;IAED,kCAAkC;IAClC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC;IAED,8BAA8B;IAC9B,OAAO,SAAS,CAAC,iBAAiB,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { RetrievalSource } from './types.js';
2
+ export type { RetrievalSource };
3
+ export interface RankedItem {
4
+ id: string;
5
+ score: number;
6
+ source: RetrievalSource;
7
+ }
8
+ export interface FusedRankedItem {
9
+ id: string;
10
+ score: number;
11
+ source: 'hybrid';
12
+ }
13
+ /**
14
+ * Fuse multiple rankings using Reciprocal Rank Fusion.
15
+ */
16
+ export declare function rrf(rankings: Map<string, RankedItem[]>, weights: {
17
+ lexical: number;
18
+ semantic: number;
19
+ graph: number;
20
+ }, k?: number): FusedRankedItem[];
21
+ //# sourceMappingURL=rrf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rrf.d.ts","sourceRoot":"","sources":["../../src/retrieval/rrf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,GAAG,CACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EACnC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAC7D,CAAC,SAAK,GACL,eAAe,EAAE,CAyBnB"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Fuse multiple rankings using Reciprocal Rank Fusion.
3
+ */
4
+ export function rrf(rankings, weights, k = 60) {
5
+ const scores = new Map();
6
+ const safeK = k <= 0 ? 60 : k;
7
+ for (const [source, items] of rankings.entries()) {
8
+ const weight = weights[source] ?? 0;
9
+ if (weight <= 0) {
10
+ continue;
11
+ }
12
+ for (let rank = 0; rank < items.length; rank++) {
13
+ const item = items[rank];
14
+ if (!item) {
15
+ continue;
16
+ }
17
+ // RRF formula: weight * 1/(k + rank + 1)
18
+ // Note: rank-based, NOT score-based (item.score is ignored)
19
+ const contribution = weight * (1 / (safeK + rank + 1));
20
+ scores.set(item.id, (scores.get(item.id) ?? 0) + contribution);
21
+ }
22
+ }
23
+ return Array.from(scores.entries())
24
+ .sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]))
25
+ .map(([id, score]) => ({ id, score, source: 'hybrid' }));
26
+ }
27
+ //# sourceMappingURL=rrf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rrf.js","sourceRoot":"","sources":["../../src/retrieval/rrf.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,MAAM,UAAU,GAAG,CACjB,QAAmC,EACnC,OAA6D,EAC7D,CAAC,GAAG,EAAE;IAEN,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9B,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,OAAO,CAAC,MAA8B,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,SAAS;QACX,CAAC;QAED,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YACD,yCAAyC;YACzC,4DAA4D;YAC5D,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACvD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,60 @@
1
+ import type { Entity } from '../graph/types.js';
2
+ /**
3
+ * Source channel for retrieval results.
4
+ */
5
+ export type RetrievalSource = 'lexical' | 'semantic' | 'graph';
6
+ /**
7
+ * Maximum BFS queue size to prevent runaway traversals.
8
+ */
9
+ export declare const BFS_QUEUE_LIMIT = 1000;
10
+ /**
11
+ * Configuration for graph expansion during BFS traversal.
12
+ */
13
+ export interface GraphExpansionConfig {
14
+ /** Maximum depth to traverse (1-3 hops recommended, max 10 enforced) */
15
+ maxDepth: number;
16
+ /** Score decay per hop (0.5 = halve score each hop, range 0.1-1.0) */
17
+ hopDecay: number;
18
+ }
19
+ /**
20
+ * Node representation during BFS traversal with depth tracking.
21
+ */
22
+ export interface BFSNode {
23
+ /** The entity at this node */
24
+ entity: Entity;
25
+ /** Hop distance from seed nodes (0 = seed, 1 = direct neighbor, etc.) */
26
+ depth: number;
27
+ }
28
+ /**
29
+ * Pre-configured search strategy combining weights and graph expansion.
30
+ */
31
+ export interface SearchRecipe {
32
+ /** Unique identifier for the recipe */
33
+ name: string;
34
+ /** Human-readable description of when to use this recipe */
35
+ description: string;
36
+ /** Fusion weights for RRF (must sum to 1.0) */
37
+ weights: {
38
+ lexical: number;
39
+ semantic: number;
40
+ graph: number;
41
+ };
42
+ /** Optional graph expansion configuration */
43
+ graphConfig?: GraphExpansionConfig;
44
+ /** Optional minimum similarity threshold for semantic results (0-1) */
45
+ similarityThreshold?: number;
46
+ }
47
+ /**
48
+ * Validation constraints for recipe parameters.
49
+ */
50
+ export declare const RECIPE_CONSTRAINTS: {
51
+ /** Maximum allowed depth for BFS traversal */
52
+ readonly MAX_DEPTH: 10;
53
+ /** Minimum hop decay factor */
54
+ readonly MIN_HOP_DECAY: 0.1;
55
+ /** Maximum hop decay factor */
56
+ readonly MAX_HOP_DECAY: 1;
57
+ /** Tolerance for weight sum validation (to handle floating point) */
58
+ readonly WEIGHT_SUM_TOLERANCE: 0.001;
59
+ };
60
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/retrieval/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,6CAA6C;IAC7C,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,uEAAuE;IACvE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC7B,8CAA8C;;IAE9C,+BAA+B;;IAE/B,+BAA+B;;IAE/B,qEAAqE;;CAE7D,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Maximum BFS queue size to prevent runaway traversals.
3
+ */
4
+ export const BFS_QUEUE_LIMIT = 1000;
5
+ /**
6
+ * Validation constraints for recipe parameters.
7
+ */
8
+ export const RECIPE_CONSTRAINTS = {
9
+ /** Maximum allowed depth for BFS traversal */
10
+ MAX_DEPTH: 10,
11
+ /** Minimum hop decay factor */
12
+ MIN_HOP_DECAY: 0.1,
13
+ /** Maximum hop decay factor */
14
+ MAX_HOP_DECAY: 1.0,
15
+ /** Tolerance for weight sum validation (to handle floating point) */
16
+ WEIGHT_SUM_TOLERANCE: 0.001,
17
+ };
18
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/retrieval/types.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AA0CpC;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,8CAA8C;IAC9C,SAAS,EAAE,EAAE;IACb,+BAA+B;IAC/B,aAAa,EAAE,GAAG;IAClB,+BAA+B;IAC/B,aAAa,EAAE,GAAG;IAClB,qEAAqE;IACrE,oBAAoB,EAAE,KAAK;CACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/rlm/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC;IACV,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACzB,SAAS,EAAE,MAAM;CAQ9B;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAQ5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtD;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;CACjB;AAuBD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,WAAW,GAAG,WAAW,EAAE,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,cAAc,CAAC,CA2HzB"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/rlm/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC;IACV,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACzB,SAAS,EAAE,MAAM;CAQ9B;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAQ5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtD;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;CACjB;AA+BD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,WAAW,GAAG,WAAW,EAAE,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,cAAc,CAAC,CA2HzB"}
@@ -33,6 +33,13 @@ export class MemoryError extends Error {
33
33
  }
34
34
  }
35
35
  }
36
+ /**
37
+ * Sanitize error messages: strip HTML-like tags and truncate to 500 chars.
38
+ */
39
+ function sanitizeErrorMessage(msg) {
40
+ const stripped = msg.replace(/<[^>]*>/g, '');
41
+ return stripped.length > 500 ? stripped.slice(0, 500) + '...' : stripped;
42
+ }
36
43
  // Cached QuickJS module
37
44
  let quickJSModule = null;
38
45
  /**
@@ -138,7 +145,7 @@ export async function createEnvironment(doc, options) {
138
145
  errorStr.includes('allocation')) {
139
146
  throw new MemoryError(opts.memoryLimit);
140
147
  }
141
- throw new Error(`Execution error: ${errorStr}`);
148
+ throw new Error(`Execution error: ${sanitizeErrorMessage(errorStr)}`);
142
149
  }
143
150
  // Get result value
144
151
  const value = context.dump(result.value);
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/rlm/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/rlm/sandbox.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"configure-scoring.d.ts","sourceRoot":"","sources":["../../src/tools/configure-scoring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA6C3D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAU7B,CAAC;AAkKZ,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,EAClD,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CA4KrB"}
1
+ {"version":3,"file":"configure-scoring.d.ts","sourceRoot":"","sources":["../../src/tools/configure-scoring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA6C3D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAU7B,CAAC;AAqKZ,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,EAClD,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CA4KrB"}
@@ -89,6 +89,9 @@ function validateWeights(weights) {
89
89
  if (value < 0) {
90
90
  errors.push(`Weight "${key}" must be non-negative.`);
91
91
  }
92
+ if (value > 1000) {
93
+ errors.push(`Weight "${key}" exceeds maximum allowed value of 1000.`);
94
+ }
92
95
  }
93
96
  return errors;
94
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"configure-scoring.js","sourceRoot":"","sources":["../../src/tools/configure-scoring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure-scoring.js","sourceRoot":"","sources":["../../src/tools/configure-scoring.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { z } from 'zod';
2
+ import type { ToolContext, ToolResult } from '../types.js';
3
+ export declare const GraphInputSchema: z.ZodObject<{
4
+ command: z.ZodEnum<{
5
+ search: "search";
6
+ health: "health";
7
+ check: "check";
8
+ trace: "trace";
9
+ entity: "entity";
10
+ overlap: "overlap";
11
+ reindex: "reindex";
12
+ suggest: "suggest";
13
+ }>;
14
+ query: z.ZodOptional<z.ZodString>;
15
+ entityId: z.ZodOptional<z.ZodString>;
16
+ planId: z.ZodOptional<z.ZodString>;
17
+ type: z.ZodOptional<z.ZodString>;
18
+ direction: z.ZodOptional<z.ZodEnum<{
19
+ both: "both";
20
+ up: "up";
21
+ down: "down";
22
+ }>>;
23
+ depth: z.ZodOptional<z.ZodNumber>;
24
+ topK: z.ZodOptional<z.ZodNumber>;
25
+ recipe: z.ZodOptional<z.ZodString>;
26
+ threshold: z.ZodOptional<z.ZodNumber>;
27
+ incremental: z.ZodOptional<z.ZodBoolean>;
28
+ }, z.core.$strip>;
29
+ type GraphInput = z.infer<typeof GraphInputSchema>;
30
+ export declare function handleGraph(input: GraphInput, context: ToolContext): Promise<ToolResult>;
31
+ export {};
32
+ //# sourceMappingURL=graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/tools/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAY3D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;iBA4B3B,CAAC;AAEH,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAUnD,wBAAsB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAuE9F"}
@@ -0,0 +1,105 @@
1
+ import { z } from 'zod';
2
+ import { openGraphDb } from '../cli/graph-db.js';
3
+ import { graphHealth } from '../cli/graph-health.js';
4
+ import { graphSearch } from '../cli/graph-search.js';
5
+ import { graphTrace } from '../cli/graph-trace.js';
6
+ import { graphEntity } from '../cli/graph-entity.js';
7
+ import { graphOverlap } from '../cli/graph-overlap.js';
8
+ import { graphReindex } from '../cli/graph-reindex.js';
9
+ import { graphCheck } from '../cli/graph-check.js';
10
+ import { graphSuggest } from '../cli/graph-suggest.js';
11
+ export const GraphInputSchema = z.object({
12
+ command: z
13
+ .enum(['health', 'search', 'trace', 'entity', 'overlap', 'reindex', 'check', 'suggest'])
14
+ .describe('Graph subcommand to execute'),
15
+ query: z.string().optional().describe('Search query (for "search")'),
16
+ entityId: z
17
+ .string()
18
+ .optional()
19
+ .describe('Entity canonical ID, e.g. plan:0042, agent:0042#003 (for "trace", "entity")'),
20
+ planId: z
21
+ .string()
22
+ .optional()
23
+ .describe('Filter to specific plan (for "reindex", "overlap", "suggest")'),
24
+ type: z
25
+ .string()
26
+ .optional()
27
+ .describe('Subtype filter. For "check": file_contention|feature_overlap|circular_dependency|stale_wip. For "suggest": consolidate|next-task'),
28
+ direction: z
29
+ .enum(['up', 'down', 'both'])
30
+ .optional()
31
+ .describe('Traversal direction (for "trace", default: both)'),
32
+ depth: z.number().optional().describe('Max traversal depth (for "trace", default: 2)'),
33
+ topK: z.number().optional().describe('Number of results (for "search", default: 10)'),
34
+ recipe: z.string().optional().describe('Search recipe name (for "search")'),
35
+ threshold: z.number().optional().describe('Similarity threshold 0-1 (for "overlap")'),
36
+ incremental: z.boolean().optional().describe('Skip unchanged files (for "reindex")'),
37
+ });
38
+ function jsonResult(data) {
39
+ return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
40
+ }
41
+ function errorResult(message) {
42
+ return { content: [{ type: 'text', text: JSON.stringify({ error: message }) }], isError: true };
43
+ }
44
+ export async function handleGraph(input, context) {
45
+ const db = openGraphDb(context.config);
46
+ try {
47
+ switch (input.command) {
48
+ case 'health':
49
+ return jsonResult(graphHealth(context.config, db));
50
+ case 'search': {
51
+ if (!input.query)
52
+ return errorResult('Missing required parameter: query');
53
+ const searchResult = await graphSearch(context.config, db, input.query, {
54
+ topK: input.topK,
55
+ recipe: input.recipe,
56
+ });
57
+ return jsonResult(searchResult);
58
+ }
59
+ case 'trace': {
60
+ if (!input.entityId)
61
+ return errorResult('Missing required parameter: entityId');
62
+ return jsonResult(graphTrace(context.config, db, input.entityId, {
63
+ direction: input.direction,
64
+ depth: input.depth,
65
+ }));
66
+ }
67
+ case 'entity': {
68
+ if (!input.entityId)
69
+ return errorResult('Missing required parameter: entityId');
70
+ return jsonResult(graphEntity(context.config, db, input.entityId));
71
+ }
72
+ case 'overlap':
73
+ return jsonResult(graphOverlap(context.config, db, {
74
+ planId: input.planId,
75
+ threshold: input.threshold,
76
+ }));
77
+ case 'reindex':
78
+ return jsonResult(graphReindex(context.config, db, {
79
+ planId: input.planId,
80
+ incremental: input.incremental,
81
+ }));
82
+ case 'check':
83
+ return jsonResult(graphCheck(context.config, db, {
84
+ type: input.type,
85
+ }));
86
+ case 'suggest': {
87
+ const suggestType = input.type;
88
+ if (!suggestType || !['consolidate', 'next-task'].includes(suggestType)) {
89
+ return errorResult('Missing or invalid parameter: type (consolidate|next-task)');
90
+ }
91
+ return jsonResult(graphSuggest(context.config, db, suggestType, { planId: input.planId }));
92
+ }
93
+ default:
94
+ return errorResult(`Unknown graph command: ${input.command}`);
95
+ }
96
+ }
97
+ catch (err) {
98
+ const message = err instanceof Error ? err.message : String(err);
99
+ return errorResult(message);
100
+ }
101
+ finally {
102
+ db.close();
103
+ }
104
+ }
105
+ //# sourceMappingURL=graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/tools/graph.ts"],"names":[],"mappings":"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"}