@stackmemoryai/stackmemory 1.10.5 → 1.14.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 (225) hide show
  1. package/LICENSE +131 -64
  2. package/README.md +107 -24
  3. package/bin/claude-sm +16 -1
  4. package/bin/claude-smd +16 -1
  5. package/bin/codex-smd +16 -1
  6. package/bin/gemini-sm +16 -1
  7. package/bin/hermes-sm +21 -0
  8. package/bin/hermes-smd +21 -0
  9. package/bin/opencode-sm +16 -1
  10. package/dist/src/cli/claude-sm.js +266 -84
  11. package/dist/src/cli/codex-sm.js +225 -33
  12. package/dist/src/cli/commands/bench.js +209 -2
  13. package/dist/src/cli/commands/brain.js +206 -0
  14. package/dist/src/cli/commands/cache.js +126 -0
  15. package/dist/src/cli/commands/company-os.js +184 -0
  16. package/dist/src/cli/commands/context.js +5 -0
  17. package/dist/src/cli/commands/daemon.js +41 -0
  18. package/dist/src/cli/commands/handoff.js +40 -9
  19. package/dist/src/cli/commands/onboard.js +70 -3
  20. package/dist/src/cli/commands/operator.js +127 -0
  21. package/dist/src/cli/commands/optimize.js +117 -0
  22. package/dist/src/cli/commands/orchestrate.js +232 -5
  23. package/dist/src/cli/commands/orchestrator.js +315 -26
  24. package/dist/src/cli/commands/pack.js +322 -0
  25. package/dist/src/cli/commands/patterns.js +254 -0
  26. package/dist/src/cli/commands/portal.js +161 -0
  27. package/dist/src/cli/commands/scaffold.js +92 -0
  28. package/dist/src/cli/commands/search.js +40 -1
  29. package/dist/src/cli/commands/setup.js +178 -11
  30. package/dist/src/cli/commands/skills.js +10 -1
  31. package/dist/src/cli/commands/state.js +265 -0
  32. package/dist/src/cli/commands/sync.js +253 -0
  33. package/dist/src/cli/commands/tasks.js +130 -1
  34. package/dist/src/cli/commands/vision.js +221 -0
  35. package/dist/src/cli/gemini-sm.js +19 -29
  36. package/dist/src/cli/hermes-sm.js +224 -0
  37. package/dist/src/cli/index.js +105 -39
  38. package/dist/src/cli/opencode-sm.js +38 -21
  39. package/dist/src/cli/utils/determinism-watcher.js +66 -0
  40. package/dist/src/cli/utils/real-cli-bin.js +116 -0
  41. package/dist/src/core/brain/brain-store.js +187 -0
  42. package/dist/src/core/brain/brain-sync.js +193 -0
  43. package/dist/src/core/brain/index.js +78 -0
  44. package/dist/src/core/brain/types.js +10 -0
  45. package/dist/src/core/cache/content-cache.js +238 -0
  46. package/dist/src/{integrations/diffmem → core/cache}/index.js +5 -5
  47. package/dist/src/core/cache/token-estimator.js +39 -0
  48. package/dist/src/core/config/feature-flags.js +2 -6
  49. package/dist/src/core/context/frame-database.js +79 -27
  50. package/dist/src/core/context/recursive-context-manager.js +1 -1
  51. package/dist/src/core/context/rehydration.js +2 -1
  52. package/dist/src/core/cross-search/cross-project-search.js +269 -0
  53. package/dist/src/core/cross-search/index.js +10 -0
  54. package/dist/src/core/database/sqlite-adapter.js +14 -84
  55. package/dist/src/core/extensions/provider-adapter.js +5 -0
  56. package/dist/src/core/models/model-router.js +54 -2
  57. package/dist/src/core/models/provider-pricing.js +58 -4
  58. package/dist/src/core/monitoring/logger.js +2 -1
  59. package/dist/src/core/optimization/trace-optimizer.js +413 -0
  60. package/dist/src/core/patterns/index.js +22 -0
  61. package/dist/src/core/patterns/pattern-applier.js +39 -0
  62. package/dist/src/core/patterns/pattern-observer.js +157 -0
  63. package/dist/src/core/patterns/pattern-store.js +259 -0
  64. package/dist/src/core/patterns/types.js +19 -0
  65. package/dist/src/core/provenance/confidence-scorer.js +128 -0
  66. package/dist/src/core/provenance/index.js +40 -0
  67. package/dist/src/core/provenance/provenance-store.js +194 -0
  68. package/dist/src/core/provenance/types.js +82 -0
  69. package/dist/src/core/retrieval/llm-context-retrieval.js +5 -4
  70. package/dist/src/core/retrieval/unified-context-assembler.js +11 -66
  71. package/dist/src/core/session/project-handoff.js +64 -0
  72. package/dist/src/core/session/session-manager.js +28 -0
  73. package/dist/src/core/shared-state/canonical-store.js +564 -0
  74. package/dist/src/core/skill-packs/index.js +18 -0
  75. package/dist/src/core/skill-packs/parser.js +42 -0
  76. package/dist/src/core/skill-packs/registry.js +224 -0
  77. package/dist/src/core/skill-packs/types.js +79 -0
  78. package/dist/src/core/storage/cloud-sync-manager.js +116 -0
  79. package/dist/src/core/storage/cloud-sync.js +574 -0
  80. package/dist/src/core/storage/two-tier-storage.js +5 -1
  81. package/dist/src/core/tasks/master-tasks-template.js +43 -0
  82. package/dist/src/core/tasks/md-task-parser.js +138 -0
  83. package/dist/src/core/trace/trace-event-store.js +282 -0
  84. package/dist/src/core/vision/index.js +27 -0
  85. package/dist/src/core/vision/signals.js +79 -0
  86. package/dist/src/core/vision/types.js +22 -0
  87. package/dist/src/core/vision/vision-file.js +146 -0
  88. package/dist/src/core/vision/vision-loop.js +220 -0
  89. package/dist/src/core/wiki/wiki-compiler.js +103 -1
  90. package/dist/src/daemon/daemon-config.js +52 -0
  91. package/dist/src/daemon/services/desire-path-service.js +566 -0
  92. package/dist/src/daemon/services/github-service.js +126 -0
  93. package/dist/src/daemon/services/research-stream-service.js +320 -0
  94. package/dist/src/daemon/services/telemetry-service.js +192 -0
  95. package/dist/src/daemon/unified-daemon.js +58 -1
  96. package/dist/src/features/browser/cli-browser-agent.js +417 -0
  97. package/dist/src/features/browser/stagehand-workflows.js +578 -0
  98. package/dist/src/features/operator/adapter-factory.js +62 -0
  99. package/dist/src/features/operator/browser-adapter.js +109 -0
  100. package/dist/src/features/operator/desktop-adapter.js +125 -0
  101. package/dist/src/features/operator/index.js +39 -0
  102. package/dist/src/features/operator/llm-decision.js +137 -0
  103. package/dist/src/features/operator/operator-logger.js +92 -0
  104. package/dist/src/features/operator/overnight-runner.js +327 -0
  105. package/dist/src/features/operator/screen-adapter.js +91 -0
  106. package/dist/src/features/operator/session-manager.js +127 -0
  107. package/dist/src/features/operator/state-machine.js +227 -0
  108. package/dist/src/features/operator/task-queue.js +81 -0
  109. package/dist/src/features/portal/index.js +26 -0
  110. package/dist/src/features/portal/server.js +240 -0
  111. package/dist/src/features/portal/types.js +14 -0
  112. package/dist/src/features/portal/ui.js +195 -0
  113. package/dist/src/features/sweep/pty-wrapper.js +13 -5
  114. package/dist/src/features/tasks/task-aware-context.js +2 -1
  115. package/dist/src/features/tui/simple-monitor.js +0 -23
  116. package/dist/src/features/tui/swarm-monitor.js +8 -66
  117. package/dist/src/features/web/client/hooks/use-socket.js +12 -0
  118. package/dist/src/{core/merge/index.js → features/web/client/lib/utils.js} +8 -4
  119. package/dist/src/features/web/client/next-env.d.js +4 -0
  120. package/dist/src/features/web/client/stores/session-store.js +12 -0
  121. package/dist/src/features/web/server/gcp-billing.js +76 -0
  122. package/dist/src/features/web/server/index.js +10 -0
  123. package/dist/src/features/web/server/spend-calculator.js +228 -0
  124. package/dist/src/hooks/schemas.js +6 -1
  125. package/dist/src/integrations/anthropic/client.js +3 -2
  126. package/dist/src/integrations/claude-code/agent-bridge.js +0 -3
  127. package/dist/src/integrations/claude-code/subagent-client.js +307 -11
  128. package/dist/src/integrations/claude-code/task-coordinator.js +2 -1
  129. package/dist/src/integrations/github/pr-state.js +158 -0
  130. package/dist/src/integrations/linear/client.js +4 -1
  131. package/dist/src/integrations/linear/webhook-retry.js +196 -0
  132. package/dist/src/integrations/linear/webhook-server.js +18 -22
  133. package/dist/src/integrations/mcp/handlers/cloud-sync-handlers.js +101 -0
  134. package/dist/src/integrations/mcp/handlers/index.js +40 -84
  135. package/dist/src/integrations/mcp/server.js +542 -641
  136. package/dist/src/integrations/mcp/tool-alias-registry.js +297 -0
  137. package/dist/src/integrations/mcp/tool-definitions.js +152 -682
  138. package/dist/src/mcp/stackmemory-mcp-server.js +571 -231
  139. package/dist/src/orchestrators/multimodal/determinism.js +244 -0
  140. package/dist/src/orchestrators/multimodal/harness.js +149 -78
  141. package/dist/src/orchestrators/multimodal/providers.js +44 -3
  142. package/dist/src/skills/recursive-agent-orchestrator.js +2 -4
  143. package/dist/src/utils/hook-installer.js +0 -8
  144. package/dist/src/utils/process-cleanup.js +1 -7
  145. package/docs/README.md +42 -0
  146. package/docs/guides/README_INSTALL.md +208 -0
  147. package/package.json +27 -9
  148. package/packs/coding/python-fastapi/instructions.md +60 -0
  149. package/packs/coding/python-fastapi/pack.yaml +28 -0
  150. package/packs/coding/typescript-react/instructions.md +47 -0
  151. package/packs/coding/typescript-react/pack.yaml +28 -0
  152. package/packs/core/commands/capture.md +32 -0
  153. package/packs/core/commands/learn.md +73 -0
  154. package/packs/core/commands/next.md +36 -0
  155. package/packs/core/commands/restart.md +58 -0
  156. package/packs/core/commands/restore.md +29 -0
  157. package/packs/core/commands/start.md +57 -0
  158. package/packs/core/commands/stop.md +65 -0
  159. package/packs/core/commands/summary.md +40 -0
  160. package/packs/core/manifest.json +24 -0
  161. package/packs/ops/decision-recovery/instructions.md +65 -0
  162. package/packs/ops/decision-recovery/pack.yaml +89 -0
  163. package/scripts/claude-code-wrapper.sh +11 -0
  164. package/scripts/claude-sm-setup.sh +12 -1
  165. package/scripts/codex-wrapper.sh +11 -0
  166. package/scripts/git-hooks/branch-context-manager.sh +11 -0
  167. package/scripts/git-hooks/post-checkout-stackmemory.sh +11 -0
  168. package/scripts/git-hooks/post-commit-stackmemory.sh +11 -0
  169. package/scripts/git-hooks/pre-commit-stackmemory.sh +11 -0
  170. package/scripts/hooks/cleanup-shell.sh +12 -1
  171. package/scripts/hooks/task-complete.sh +12 -1
  172. package/scripts/install-code-execution-hooks.sh +12 -1
  173. package/scripts/install-sweep-hook.sh +12 -0
  174. package/scripts/install.sh +11 -0
  175. package/scripts/opencode-wrapper.sh +11 -0
  176. package/scripts/portal/cloud-init.yaml +69 -0
  177. package/scripts/portal/setup.sh +69 -0
  178. package/scripts/portal/stackmemory-portal.service +34 -0
  179. package/scripts/setup-claude-integration.sh +12 -1
  180. package/scripts/smoke-init-db.sh +23 -0
  181. package/scripts/stackmemory-daemon.sh +11 -0
  182. package/scripts/verify-dist.cjs +11 -4
  183. package/dist/src/cli/commands/ralph.js +0 -1053
  184. package/dist/src/cli/commands/team.js +0 -168
  185. package/dist/src/core/context/shared-context-layer.js +0 -620
  186. package/dist/src/core/context/stack-merge-resolver.js +0 -748
  187. package/dist/src/core/merge/conflict-detector.js +0 -430
  188. package/dist/src/core/merge/resolution-engine.js +0 -557
  189. package/dist/src/core/merge/stack-diff.js +0 -531
  190. package/dist/src/core/merge/unified-merge-resolver.js +0 -302
  191. package/dist/src/hooks/diffmem-hooks.js +0 -376
  192. package/dist/src/integrations/diffmem/client.js +0 -208
  193. package/dist/src/integrations/diffmem/config.js +0 -14
  194. package/dist/src/integrations/greptile/client.js +0 -101
  195. package/dist/src/integrations/greptile/config.js +0 -14
  196. package/dist/src/integrations/greptile/index.js +0 -11
  197. package/dist/src/integrations/mcp/handlers/cord-handlers.js +0 -397
  198. package/dist/src/integrations/mcp/handlers/diffmem-handlers.js +0 -455
  199. package/dist/src/integrations/mcp/handlers/greptile-handlers.js +0 -456
  200. package/dist/src/integrations/mcp/handlers/provider-handlers.js +0 -227
  201. package/dist/src/integrations/mcp/handlers/team-handlers.js +0 -211
  202. package/dist/src/integrations/ralph/bridge/ralph-stackmemory-bridge.js +0 -863
  203. package/dist/src/integrations/ralph/context/context-budget-manager.js +0 -308
  204. package/dist/src/integrations/ralph/context/stackmemory-context-loader.js +0 -391
  205. package/dist/src/integrations/ralph/index.js +0 -17
  206. package/dist/src/integrations/ralph/learning/pattern-learner.js +0 -435
  207. package/dist/src/integrations/ralph/lifecycle/iteration-lifecycle.js +0 -448
  208. package/dist/src/integrations/ralph/loopmax.js +0 -488
  209. package/dist/src/integrations/ralph/monitoring/swarm-dashboard.js +0 -293
  210. package/dist/src/integrations/ralph/monitoring/swarm-registry.js +0 -107
  211. package/dist/src/integrations/ralph/orchestration/multi-loop-orchestrator.js +0 -508
  212. package/dist/src/integrations/ralph/patterns/compounding-engineering-pattern.js +0 -407
  213. package/dist/src/integrations/ralph/patterns/extended-coherence-sessions.js +0 -495
  214. package/dist/src/integrations/ralph/patterns/oracle-worker-pattern.js +0 -387
  215. package/dist/src/integrations/ralph/performance/performance-optimizer.js +0 -357
  216. package/dist/src/integrations/ralph/recovery/crash-recovery.js +0 -461
  217. package/dist/src/integrations/ralph/state/state-reconciler.js +0 -420
  218. package/dist/src/integrations/ralph/swarm/git-workflow-manager.js +0 -444
  219. package/dist/src/integrations/ralph/swarm/swarm-coordinator.js +0 -1007
  220. package/dist/src/integrations/ralph/visualization/ralph-debugger.js +0 -635
  221. package/scripts/ralph-loop-implementation.js +0 -404
  222. /package/dist/src/core/{merge → cache}/types.js +0 -0
  223. /package/dist/src/{integrations/diffmem/types.js → core/storage/cloud-sync-types.js} +0 -0
  224. /package/dist/src/{integrations/greptile/types.js → core/trace/trace-event.js} +0 -0
  225. /package/dist/src/{integrations/ralph → features/operator}/types.js +0 -0
@@ -13,19 +13,15 @@ class MCPToolDefinitions {
13
13
  ...this.getLinearTools(),
14
14
  ...this.getTraceTools(),
15
15
  ...this.getTraceExtensionTools(),
16
- ...this.getPlanningTools(),
17
16
  ...this.getPendingTools(),
18
17
  ...this.getSmartContextTools(),
19
18
  ...this.getDiscoveryTools(),
20
19
  ...this.getEditTools(),
21
- ...this.getDiffMemTools(),
22
- ...this.getGreptileTools(),
23
- ...this.getProviderTools(),
24
- ...this.getTeamTools(),
25
- ...this.getCordTools(),
26
20
  ...this.getDigestTools(),
27
21
  ...this.getDesirePathTools(),
28
- ...this.getProvenantTools()
22
+ ...this.getProvenantTools(),
23
+ ...this.getCloudSyncTools(),
24
+ ...this.getMasterTaskTools()
29
25
  ];
30
26
  }
31
27
  /**
@@ -35,7 +31,7 @@ class MCPToolDefinitions {
35
31
  return [
36
32
  {
37
33
  name: "get_context",
38
- description: "Get current project context and active frame information",
34
+ description: "Get current project context and active frame information. Aliases: context, get_ctx, sm_context, fetch_context",
39
35
  inputSchema: {
40
36
  type: "object",
41
37
  properties: {
@@ -53,7 +49,7 @@ class MCPToolDefinitions {
53
49
  },
54
50
  {
55
51
  name: "add_decision",
56
- description: "Record a decision, constraint, or important information",
52
+ description: "Record a decision, constraint, or important information. Aliases: record_decision, log_decision, save_decision",
57
53
  inputSchema: {
58
54
  type: "object",
59
55
  properties: {
@@ -72,7 +68,7 @@ class MCPToolDefinitions {
72
68
  },
73
69
  {
74
70
  name: "start_frame",
75
- description: "Start a new frame (task/subtask) on the call stack",
71
+ description: "Start a new frame (task/subtask) on the call stack. Aliases: push_frame, open_frame, begin_frame",
76
72
  inputSchema: {
77
73
  type: "object",
78
74
  properties: {
@@ -179,7 +175,7 @@ class MCPToolDefinitions {
179
175
  return [
180
176
  {
181
177
  name: "create_task",
182
- description: "Create a new task",
178
+ description: "Create a new task. Aliases: new_task, add_task, sm_task",
183
179
  inputSchema: {
184
180
  type: "object",
185
181
  properties: {
@@ -243,7 +239,7 @@ class MCPToolDefinitions {
243
239
  },
244
240
  {
245
241
  name: "get_active_tasks",
246
- description: "Get active tasks with optional filtering",
242
+ description: "Get active tasks with optional filtering. Aliases: list_tasks, tasks, sm_tasks, active_tasks",
247
243
  inputSchema: {
248
244
  type: "object",
249
245
  properties: {
@@ -533,97 +529,6 @@ class MCPToolDefinitions {
533
529
  /**
534
530
  * Planning and orchestration tools
535
531
  */
536
- getPlanningTools() {
537
- return [
538
- {
539
- name: "plan_only",
540
- description: "Generate an implementation plan (Claude) and return JSON only",
541
- inputSchema: {
542
- type: "object",
543
- properties: {
544
- task: { type: "string", description: "Task description" },
545
- plannerModel: {
546
- type: "string",
547
- description: "Claude model for planning (optional)"
548
- }
549
- },
550
- required: ["task"]
551
- }
552
- },
553
- {
554
- name: "call_codex",
555
- description: "Invoke Codex via codex-sm with a prompt and args; dry-run by default",
556
- inputSchema: {
557
- type: "object",
558
- properties: {
559
- prompt: { type: "string", description: "Prompt for Codex" },
560
- args: {
561
- type: "array",
562
- items: { type: "string" },
563
- description: "Additional CLI args for codex-sm"
564
- },
565
- execute: {
566
- type: "boolean",
567
- default: false,
568
- description: "Actually run codex-sm (otherwise dry-run)"
569
- }
570
- },
571
- required: ["prompt"]
572
- }
573
- },
574
- {
575
- name: "call_claude",
576
- description: "Invoke Claude with a prompt (Anthropic SDK)",
577
- inputSchema: {
578
- type: "object",
579
- properties: {
580
- prompt: { type: "string", description: "Prompt for Claude" },
581
- model: { type: "string", description: "Claude model (optional)" },
582
- system: { type: "string", description: "System prompt (optional)" }
583
- },
584
- required: ["prompt"]
585
- }
586
- },
587
- {
588
- name: "plan_gate",
589
- description: "Phase 1: Generate a plan and return an approvalId for later execution",
590
- inputSchema: {
591
- type: "object",
592
- properties: {
593
- task: { type: "string", description: "Task description" },
594
- plannerModel: {
595
- type: "string",
596
- description: "Claude model (optional)"
597
- }
598
- },
599
- required: ["task"]
600
- }
601
- },
602
- {
603
- name: "approve_plan",
604
- description: "Phase 2: Execute a previously generated plan by approvalId",
605
- inputSchema: {
606
- type: "object",
607
- properties: {
608
- approvalId: { type: "string", description: "Id from plan_gate" },
609
- implementer: {
610
- type: "string",
611
- enum: ["codex", "claude"],
612
- default: "codex",
613
- description: "Which agent implements code"
614
- },
615
- maxIters: { type: "number", default: 2 },
616
- recordFrame: { type: "boolean", default: true },
617
- execute: { type: "boolean", default: true }
618
- },
619
- required: ["approvalId"]
620
- }
621
- }
622
- ];
623
- }
624
- /**
625
- * Pending approval management tools
626
- */
627
532
  getPendingTools() {
628
533
  return [
629
534
  {
@@ -698,7 +603,7 @@ class MCPToolDefinitions {
698
603
  return [
699
604
  {
700
605
  name: "smart_context",
701
- description: "LLM-driven context retrieval - intelligently selects relevant frames based on query",
606
+ description: "LLM-driven context retrieval - intelligently selects relevant frames based on query. Aliases: smart, sm_smart, intelligent_context",
702
607
  inputSchema: {
703
608
  type: "object",
704
609
  properties: {
@@ -740,7 +645,7 @@ class MCPToolDefinitions {
740
645
  return [
741
646
  {
742
647
  name: "sm_discover",
743
- description: "Discover relevant files based on current context. Extracts keywords from active frames and searches codebase for related files.",
648
+ description: "Discover relevant files based on current context. Extracts keywords from active frames and searches codebase for related files. Aliases: discover, sm_explore, explore",
744
649
  inputSchema: {
745
650
  type: "object",
746
651
  properties: {
@@ -815,7 +720,7 @@ class MCPToolDefinitions {
815
720
  },
816
721
  {
817
722
  name: "sm_search",
818
- description: "Search across StackMemory context - frames, events, decisions, and tasks.",
723
+ description: "Search across StackMemory context - frames, events, decisions, and tasks. Aliases: search, context_search, sm_find, sm_context_search",
819
724
  inputSchema: {
820
725
  type: "object",
821
726
  properties: {
@@ -847,7 +752,7 @@ class MCPToolDefinitions {
847
752
  return [
848
753
  {
849
754
  name: "sm_edit",
850
- description: "Fuzzy file edit \u2014 fallback when Claude Code's Edit tool fails on whitespace or indentation mismatches. Uses four-tier matching: exact, whitespace-normalized, indentation-insensitive, and line-level fuzzy (Levenshtein).",
755
+ description: "Fuzzy file edit \u2014 fallback when Claude Code's Edit tool fails on whitespace or indentation mismatches. Uses four-tier matching: exact, whitespace-normalized, indentation-insensitive, and line-level fuzzy (Levenshtein). Aliases: fuzzy_edit, edit, sm_fuzzy_edit",
851
756
  inputSchema: {
852
757
  type: "object",
853
758
  properties: {
@@ -874,345 +779,18 @@ class MCPToolDefinitions {
874
779
  }
875
780
  ];
876
781
  }
877
- /**
878
- * DiffMem user memory management tools
879
- */
880
- getDiffMemTools() {
881
- return [
882
- {
883
- name: "diffmem_get_user_context",
884
- description: "Fetch user knowledge and preferences from memory. Use to personalize responses.",
885
- inputSchema: {
886
- type: "object",
887
- properties: {
888
- categories: {
889
- type: "array",
890
- items: {
891
- type: "string",
892
- enum: [
893
- "preference",
894
- "expertise",
895
- "project_knowledge",
896
- "pattern",
897
- "correction"
898
- ]
899
- },
900
- description: "Filter by memory categories"
901
- },
902
- limit: {
903
- type: "number",
904
- default: 10,
905
- description: "Maximum memories to return"
906
- }
907
- }
908
- }
909
- },
910
- {
911
- name: "diffmem_store_learning",
912
- description: "Store a new insight about the user (preference, expertise, pattern, or correction)",
913
- inputSchema: {
914
- type: "object",
915
- properties: {
916
- content: { type: "string", description: "The insight to store" },
917
- category: {
918
- type: "string",
919
- enum: [
920
- "preference",
921
- "expertise",
922
- "project_knowledge",
923
- "pattern",
924
- "correction"
925
- ],
926
- description: "Category of the insight"
927
- },
928
- confidence: {
929
- type: "number",
930
- minimum: 0,
931
- maximum: 1,
932
- default: 0.7,
933
- description: "Confidence level (0-1)"
934
- },
935
- context: {
936
- type: "object",
937
- description: "Additional context for the insight"
938
- }
939
- },
940
- required: ["content", "category"]
941
- }
942
- },
943
- {
944
- name: "diffmem_search",
945
- description: "Semantic search across user memories. Find relevant past insights and preferences.",
946
- inputSchema: {
947
- type: "object",
948
- properties: {
949
- query: { type: "string", description: "Search query" },
950
- timeRange: {
951
- type: "string",
952
- enum: ["day", "week", "month", "all"],
953
- default: "all",
954
- description: "Time range filter"
955
- },
956
- minConfidence: {
957
- type: "number",
958
- minimum: 0,
959
- maximum: 1,
960
- default: 0.5,
961
- description: "Minimum confidence threshold"
962
- },
963
- limit: {
964
- type: "number",
965
- default: 10,
966
- description: "Maximum results"
967
- }
968
- },
969
- required: ["query"]
970
- }
971
- },
972
- {
973
- name: "diffmem_status",
974
- description: "Check DiffMem connection status and memory statistics",
975
- inputSchema: { type: "object", properties: {} }
976
- }
977
- ];
978
- }
979
- /**
980
- * Greptile code review tools
981
- */
782
+ // [REMOVED in v1.14]
982
783
  getGreptileTools() {
983
- return [
984
- {
985
- name: "greptile_pr_comments",
986
- description: "Get PR review comments from Greptile. Returns unaddressed comments with suggestedCode.",
987
- inputSchema: {
988
- type: "object",
989
- properties: {
990
- name: {
991
- type: "string",
992
- description: 'Repository full name (e.g., "owner/repo")'
993
- },
994
- remote: {
995
- type: "string",
996
- enum: ["github", "gitlab", "azure", "bitbucket"],
997
- description: "Remote provider"
998
- },
999
- defaultBranch: {
1000
- type: "string",
1001
- description: 'Default branch (e.g., "main")'
1002
- },
1003
- prNumber: { type: "number", description: "Pull request number" },
1004
- greptileGenerated: {
1005
- type: "boolean",
1006
- description: "Filter for only Greptile review comments"
1007
- },
1008
- addressed: {
1009
- type: "boolean",
1010
- description: "Filter by comment addressed status"
1011
- }
1012
- },
1013
- required: ["name", "remote", "defaultBranch", "prNumber"]
1014
- }
1015
- },
1016
- {
1017
- name: "greptile_pr_details",
1018
- description: "Get detailed PR information including metadata, statistics, and review analysis.",
1019
- inputSchema: {
1020
- type: "object",
1021
- properties: {
1022
- name: { type: "string", description: "Repository full name" },
1023
- remote: {
1024
- type: "string",
1025
- enum: ["github", "gitlab", "azure", "bitbucket"],
1026
- description: "Remote provider"
1027
- },
1028
- defaultBranch: { type: "string", description: "Default branch" },
1029
- prNumber: { type: "number", description: "Pull request number" }
1030
- },
1031
- required: ["name", "remote", "defaultBranch", "prNumber"]
1032
- }
1033
- },
1034
- {
1035
- name: "greptile_list_prs",
1036
- description: "List pull requests. Filter by repository, branch, author, or state.",
1037
- inputSchema: {
1038
- type: "object",
1039
- properties: {
1040
- name: { type: "string", description: "Repository full name" },
1041
- remote: {
1042
- type: "string",
1043
- enum: ["github", "gitlab", "azure", "bitbucket"],
1044
- description: "Remote provider"
1045
- },
1046
- defaultBranch: { type: "string", description: "Default branch" },
1047
- sourceBranch: {
1048
- type: "string",
1049
- description: "Filter by source branch name"
1050
- },
1051
- authorLogin: {
1052
- type: "string",
1053
- description: "Filter by PR author username"
1054
- },
1055
- state: {
1056
- type: "string",
1057
- enum: ["open", "closed", "merged"],
1058
- description: "Filter by PR state"
1059
- },
1060
- limit: { type: "number", description: "Max results (default 20)" }
1061
- }
1062
- }
1063
- },
1064
- {
1065
- name: "greptile_trigger_review",
1066
- description: "Trigger a Greptile code review for a pull request.",
1067
- inputSchema: {
1068
- type: "object",
1069
- properties: {
1070
- name: { type: "string", description: "Repository full name" },
1071
- remote: {
1072
- type: "string",
1073
- enum: ["github", "gitlab", "azure", "bitbucket"],
1074
- description: "Remote provider"
1075
- },
1076
- defaultBranch: { type: "string", description: "Default branch" },
1077
- prNumber: { type: "number", description: "Pull request number" },
1078
- branch: { type: "string", description: "Current working branch" }
1079
- },
1080
- required: ["name", "remote", "prNumber"]
1081
- }
1082
- },
1083
- {
1084
- name: "greptile_search_patterns",
1085
- description: "Search custom coding patterns and instructions in Greptile.",
1086
- inputSchema: {
1087
- type: "object",
1088
- properties: {
1089
- query: {
1090
- type: "string",
1091
- description: "Search query for pattern content"
1092
- },
1093
- limit: { type: "number", description: "Max results (default 10)" }
1094
- },
1095
- required: ["query"]
1096
- }
1097
- },
1098
- {
1099
- name: "greptile_create_pattern",
1100
- description: "Create a new custom coding pattern or instruction in Greptile.",
1101
- inputSchema: {
1102
- type: "object",
1103
- properties: {
1104
- body: { type: "string", description: "Pattern content" },
1105
- type: {
1106
- type: "string",
1107
- enum: ["CUSTOM_INSTRUCTION", "PATTERN"],
1108
- description: "Context type"
1109
- },
1110
- scopes: {
1111
- type: "object",
1112
- description: "Boolean expression defining where this pattern applies"
1113
- }
1114
- },
1115
- required: ["body"]
1116
- }
1117
- },
1118
- {
1119
- name: "greptile_status",
1120
- description: "Check Greptile integration connection status.",
1121
- inputSchema: { type: "object", properties: {} }
1122
- }
1123
- ];
784
+ return [];
1124
785
  }
1125
786
  /**
1126
787
  * Multi-provider routing tools
1127
788
  */
1128
- getProviderTools() {
1129
- return [
1130
- {
1131
- name: "delegate_to_model",
1132
- description: "Route a prompt to a specific provider/model. Uses smart cost-based routing by default.",
1133
- inputSchema: {
1134
- type: "object",
1135
- properties: {
1136
- prompt: { type: "string", description: "The prompt to send" },
1137
- provider: {
1138
- type: "string",
1139
- enum: [
1140
- "anthropic",
1141
- "cerebras",
1142
- "deepinfra",
1143
- "openai",
1144
- "openrouter"
1145
- ],
1146
- description: "Override provider"
1147
- },
1148
- model: { type: "string", description: "Override model name" },
1149
- taskType: {
1150
- type: "string",
1151
- enum: ["linting", "context", "code", "testing", "review", "plan"],
1152
- description: "Task type for auto-routing"
1153
- },
1154
- maxTokens: { type: "number", description: "Max tokens" },
1155
- temperature: { type: "number" },
1156
- system: { type: "string", description: "System prompt" }
1157
- },
1158
- required: ["prompt"]
1159
- }
1160
- },
1161
- {
1162
- name: "batch_submit",
1163
- description: "Submit prompts to Anthropic Batch API (50% discount, async)",
1164
- inputSchema: {
1165
- type: "object",
1166
- properties: {
1167
- prompts: {
1168
- type: "array",
1169
- items: {
1170
- type: "object",
1171
- properties: {
1172
- id: { type: "string" },
1173
- prompt: { type: "string" },
1174
- model: { type: "string" },
1175
- maxTokens: { type: "number" },
1176
- system: { type: "string" }
1177
- },
1178
- required: ["id", "prompt"]
1179
- },
1180
- description: "Array of prompts to batch"
1181
- },
1182
- description: {
1183
- type: "string",
1184
- description: "Batch job description"
1185
- }
1186
- },
1187
- required: ["prompts"]
1188
- }
1189
- },
1190
- {
1191
- name: "batch_check",
1192
- description: "Check status or retrieve results for a batch job",
1193
- inputSchema: {
1194
- type: "object",
1195
- properties: {
1196
- batchId: { type: "string", description: "Batch job ID" },
1197
- retrieve: {
1198
- type: "boolean",
1199
- default: false,
1200
- description: "Retrieve results if complete"
1201
- }
1202
- },
1203
- required: ["batchId"]
1204
- }
1205
- }
1206
- ];
1207
- }
1208
- /**
1209
- * Chronological digest tools
1210
- */
1211
789
  getDigestTools() {
1212
790
  return [
1213
791
  {
1214
792
  name: "sm_digest",
1215
- description: "Generate a chronological activity digest for a time period",
793
+ description: "Generate a chronological activity digest for a time period. Aliases: digest, activity_digest, daily_digest",
1216
794
  inputSchema: {
1217
795
  type: "object",
1218
796
  properties: {
@@ -1234,7 +812,7 @@ class MCPToolDefinitions {
1234
812
  return [
1235
813
  {
1236
814
  name: "sm_desire_paths",
1237
- description: 'Analyze failed tool calls (desire paths) \u2014 what agents want but cannot get. Use mode "summary" for aggregated counts or "list" for recent failures.',
815
+ description: 'Analyze failed tool calls (desire paths) \u2014 what agents want but cannot get. Use mode "summary" for aggregated counts or "list" for recent failures. Aliases: desire_paths, desires, failed_tools',
1238
816
  inputSchema: {
1239
817
  type: "object",
1240
818
  properties: {
@@ -1265,361 +843,253 @@ class MCPToolDefinitions {
1265
843
  ];
1266
844
  }
1267
845
  /**
1268
- * Multi-agent team collaboration tools
846
+ * Provenant decision graph tools
1269
847
  */
1270
- getTeamTools() {
848
+ getProvenantTools() {
1271
849
  return [
1272
850
  {
1273
- name: "team_context_get",
1274
- description: "Get context from other agents working on the same project. Returns recent frames and shared anchors from other sessions.",
851
+ name: "provenant_search",
852
+ description: "Search the decision graph for past decisions, patterns, and context by meaning. Aliases: decision_search, search_decisions",
1275
853
  inputSchema: {
1276
854
  type: "object",
1277
855
  properties: {
1278
- limit: {
1279
- type: "number",
1280
- default: 10,
1281
- description: "Max frames to return"
856
+ query: {
857
+ type: "string",
858
+ description: "Natural language search query"
1282
859
  },
1283
- types: {
1284
- type: "array",
1285
- items: { type: "string" },
1286
- description: "Filter by frame types"
860
+ actor: {
861
+ type: "string",
862
+ description: "Filter by decision maker"
1287
863
  },
1288
864
  since: {
865
+ type: "string",
866
+ description: "ISO date \u2014 only include decisions after this date"
867
+ },
868
+ limit: {
1289
869
  type: "number",
1290
- description: "Only frames created after this timestamp (epoch ms)"
870
+ description: "Max results to return",
871
+ default: 10
1291
872
  }
1292
- }
873
+ },
874
+ required: ["query"]
1293
875
  }
1294
876
  },
1295
877
  {
1296
- name: "team_context_share",
1297
- description: "Share a piece of context with other agents working on the same project. Creates a high-priority anchor visible to team_context_get.",
878
+ name: "provenant_log",
879
+ description: "Log a decision to the graph. Use when a product or technical decision is made during a session. Aliases: decision_log, log_decision_graph",
1298
880
  inputSchema: {
1299
881
  type: "object",
1300
882
  properties: {
1301
883
  content: {
1302
884
  type: "string",
1303
- description: "The context to share"
885
+ description: "The decision content"
1304
886
  },
1305
- type: {
887
+ actor: {
1306
888
  type: "string",
1307
- enum: [
1308
- "FACT",
1309
- "DECISION",
1310
- "CONSTRAINT",
1311
- "INTERFACE_CONTRACT",
1312
- "TODO",
1313
- "RISK"
1314
- ],
1315
- default: "FACT",
1316
- description: "Type of context"
889
+ description: "Who made this decision"
1317
890
  },
1318
- priority: {
1319
- type: "number",
1320
- minimum: 1,
1321
- maximum: 10,
1322
- default: 8,
1323
- description: "Priority level (1-10)"
891
+ reasoning: {
892
+ type: "string",
893
+ description: "Why this decision was made"
1324
894
  }
1325
895
  },
1326
896
  required: ["content"]
1327
897
  }
1328
898
  },
1329
899
  {
1330
- name: "team_search",
1331
- description: "Search across all agents' context in the project. Uses full-text search across all sessions.",
900
+ name: "provenant_status",
901
+ description: "Get decision graph overview: node count, edges, open contradictions, review queue depth",
902
+ inputSchema: {
903
+ type: "object",
904
+ properties: {}
905
+ }
906
+ },
907
+ {
908
+ name: "provenant_contradictions",
909
+ description: "List open contradictions in the decision graph \u2014 conflicting beliefs that need human resolution",
910
+ inputSchema: {
911
+ type: "object",
912
+ properties: {}
913
+ }
914
+ },
915
+ {
916
+ name: "provenant_resolve",
917
+ description: "Resolve a contradiction between two nodes by picking a winner or dismissing",
1332
918
  inputSchema: {
1333
919
  type: "object",
1334
920
  properties: {
1335
- query: {
921
+ node_a: {
1336
922
  type: "string",
1337
- description: "Search query"
923
+ description: "First node ID or prefix"
1338
924
  },
1339
- limit: {
1340
- type: "number",
1341
- default: 20,
1342
- description: "Maximum results to return"
925
+ node_b: {
926
+ type: "string",
927
+ description: "Second node ID or prefix"
928
+ },
929
+ winner: {
930
+ type: "string",
931
+ description: "Winning node ID or prefix"
1343
932
  },
1344
- include_events: {
933
+ dismiss: {
1345
934
  type: "boolean",
1346
- default: false,
1347
- description: "Include events in results"
935
+ description: "Dismiss as noise instead of resolving"
1348
936
  }
1349
937
  },
1350
- required: ["query"]
938
+ required: ["node_a", "node_b"]
1351
939
  }
1352
940
  }
1353
941
  ];
1354
942
  }
1355
943
  /**
1356
- * Cord task orchestration tools
944
+ * Cross-project search tools
1357
945
  */
1358
- getCordTools() {
946
+ getCloudSyncTools() {
1359
947
  return [
1360
948
  {
1361
- name: "cord_spawn",
1362
- description: "Create a subtask with clean context (spawn). Child sees only its prompt and completed blocker results.",
949
+ name: "cloud_sync_push",
950
+ description: "Push local context changes to Provenant cloud. Syncs frames, events, anchors, traces, and entity states.",
1363
951
  inputSchema: {
1364
952
  type: "object",
1365
953
  properties: {
1366
- goal: {
1367
- type: "string",
1368
- description: "What this task should accomplish"
1369
- },
1370
- prompt: {
1371
- type: "string",
1372
- description: "Detailed instructions for the task"
1373
- },
1374
- blocked_by: {
1375
- type: "array",
1376
- items: { type: "string" },
1377
- description: "Task IDs that must complete before this can start"
1378
- },
1379
- parent_id: {
1380
- type: "string",
1381
- description: "Parent task ID"
954
+ force: {
955
+ type: "boolean",
956
+ description: "Push all data, ignoring sync cursors"
1382
957
  }
1383
- },
1384
- required: ["goal"]
958
+ }
1385
959
  }
1386
960
  },
1387
961
  {
1388
- name: "cord_fork",
1389
- description: "Create a subtask with full sibling context (fork). Child sees its prompt, blocker results, AND completed sibling results.",
962
+ name: "cloud_sync_pull",
963
+ description: "Pull remote changes from Provenant cloud to local database.",
1390
964
  inputSchema: {
1391
965
  type: "object",
1392
966
  properties: {
1393
- goal: {
1394
- type: "string",
1395
- description: "What this task should accomplish"
1396
- },
1397
- prompt: {
1398
- type: "string",
1399
- description: "Detailed instructions for the task"
1400
- },
1401
- blocked_by: {
967
+ tables: {
1402
968
  type: "array",
1403
969
  items: { type: "string" },
1404
- description: "Task IDs that must complete before this can start"
1405
- },
1406
- parent_id: {
1407
- type: "string",
1408
- description: "Parent task ID"
970
+ description: "Only pull specific tables (frames, events, anchors, trace_events, entity_states)"
1409
971
  }
1410
- },
1411
- required: ["goal"]
972
+ }
1412
973
  }
1413
974
  },
1414
975
  {
1415
- name: "cord_complete",
1416
- description: "Mark a cord task as completed with a result. Automatically unblocks dependent tasks.",
976
+ name: "cloud_sync_status",
977
+ description: "Show current cloud sync status \u2014 connection, pending items, conflicts.",
1417
978
  inputSchema: {
1418
979
  type: "object",
1419
- properties: {
1420
- task_id: {
1421
- type: "string",
1422
- description: "Task ID to complete"
1423
- },
1424
- result: {
1425
- type: "string",
1426
- description: "The result/output of this task"
1427
- }
1428
- },
1429
- required: ["task_id", "result"]
980
+ properties: {}
1430
981
  }
1431
- },
982
+ }
983
+ ];
984
+ }
985
+ getMasterTaskTools() {
986
+ return [
1432
987
  {
1433
- name: "cord_ask",
1434
- description: "Create an ask task \u2014 a question that needs an answer before dependent tasks can proceed.",
988
+ name: "get_next_master_task",
989
+ description: "Get the highest-priority actionable task from master-tasks.md. Returns the next task to work on based on priority (P0 > P1 > P2 > P3), skipping blocked/done/cut tasks.",
1435
990
  inputSchema: {
1436
991
  type: "object",
1437
992
  properties: {
1438
- question: {
993
+ owner: {
1439
994
  type: "string",
1440
- description: "The question to ask"
1441
- },
1442
- options: {
1443
- type: "array",
1444
- items: { type: "string" },
1445
- description: "Optional list of answer choices"
1446
- },
1447
- parent_id: {
1448
- type: "string",
1449
- description: "Parent task ID"
995
+ description: "Filter by owner (@me, @agent, @defer). If omitted, returns highest priority regardless of owner."
1450
996
  }
1451
- },
1452
- required: ["question"]
997
+ }
1453
998
  }
1454
999
  },
1455
1000
  {
1456
- name: "cord_tree",
1457
- description: "View the cord task tree with context scoping. Shows which tasks are active, blocked, or completed.",
1001
+ name: "update_master_task",
1002
+ description: "Update a task in master-tasks.md by task ID (e.g. T01). Can update status, priority, owner, branch, notes, or sync target.",
1458
1003
  inputSchema: {
1459
1004
  type: "object",
1460
1005
  properties: {
1461
1006
  task_id: {
1462
1007
  type: "string",
1463
- description: "Root task ID to show subtree (omit for full project tree)"
1008
+ description: "Task ID (e.g. T01, T02)"
1464
1009
  },
1465
- include_results: {
1466
- type: "boolean",
1467
- default: false,
1468
- description: "Include task results in output"
1469
- }
1470
- }
1471
- }
1472
- }
1473
- ];
1474
- }
1475
- /**
1476
- * Provenant decision graph tools
1477
- */
1478
- getProvenantTools() {
1479
- return [
1480
- {
1481
- name: "provenant_search",
1482
- description: "Search the decision graph for past decisions, patterns, and context by meaning",
1483
- inputSchema: {
1484
- type: "object",
1485
- properties: {
1486
- query: {
1010
+ status: {
1487
1011
  type: "string",
1488
- description: "Natural language search query"
1012
+ enum: ["todo", "active", "done", "blocked", "cut"],
1013
+ description: "New status"
1489
1014
  },
1490
- actor: {
1015
+ priority: {
1491
1016
  type: "string",
1492
- description: "Filter by decision maker"
1017
+ enum: ["P0", "P1", "P2", "P3"],
1018
+ description: "New priority"
1493
1019
  },
1494
- since: {
1020
+ owner: {
1495
1021
  type: "string",
1496
- description: "ISO date \u2014 only include decisions after this date"
1022
+ description: "New owner (@me, @agent, @defer)"
1497
1023
  },
1498
- limit: {
1499
- type: "number",
1500
- description: "Max results to return",
1501
- default: 10
1502
- }
1503
- },
1504
- required: ["query"]
1505
- }
1506
- },
1507
- {
1508
- name: "provenant_log",
1509
- description: "Log a decision to the graph. Use when a product or technical decision is made during a session.",
1510
- inputSchema: {
1511
- type: "object",
1512
- properties: {
1513
- content: {
1024
+ branch_pr: {
1514
1025
  type: "string",
1515
- description: "The decision content"
1026
+ description: "Branch name or PR link"
1516
1027
  },
1517
- actor: {
1028
+ notes: {
1518
1029
  type: "string",
1519
- description: "Who made this decision"
1030
+ description: "Updated notes"
1520
1031
  },
1521
- reasoning: {
1032
+ sync: {
1522
1033
  type: "string",
1523
- description: "Why this decision was made"
1034
+ enum: ["local", "linear", "gh"],
1035
+ description: "Sync target"
1524
1036
  }
1525
1037
  },
1526
- required: ["content"]
1527
- }
1528
- },
1529
- {
1530
- name: "provenant_status",
1531
- description: "Get decision graph overview: node count, edges, open contradictions, review queue depth",
1532
- inputSchema: {
1533
- type: "object",
1534
- properties: {}
1535
- }
1536
- },
1537
- {
1538
- name: "provenant_contradictions",
1539
- description: "List open contradictions in the decision graph \u2014 conflicting beliefs that need human resolution",
1540
- inputSchema: {
1541
- type: "object",
1542
- properties: {}
1038
+ required: ["task_id"]
1543
1039
  }
1544
1040
  },
1545
1041
  {
1546
- name: "provenant_resolve",
1547
- description: "Resolve a contradiction between two nodes by picking a winner or dismissing",
1042
+ name: "create_master_task",
1043
+ description: "Add a new task to master-tasks.md. Auto-assigns the next available ID (T01, T02...).",
1548
1044
  inputSchema: {
1549
1045
  type: "object",
1550
1046
  properties: {
1551
- node_a: {
1047
+ task: {
1552
1048
  type: "string",
1553
- description: "First node ID or prefix"
1049
+ description: "Task description"
1554
1050
  },
1555
- node_b: {
1051
+ priority: {
1556
1052
  type: "string",
1557
- description: "Second node ID or prefix"
1053
+ enum: ["P0", "P1", "P2", "P3"],
1054
+ default: "P1",
1055
+ description: "Priority level"
1558
1056
  },
1559
- winner: {
1057
+ owner: {
1560
1058
  type: "string",
1561
- description: "Winning node ID or prefix"
1059
+ default: "@me",
1060
+ description: "Task owner (@me, @agent, @defer)"
1562
1061
  },
1563
- dismiss: {
1564
- type: "boolean",
1565
- description: "Dismiss as noise instead of resolving"
1062
+ sync: {
1063
+ type: "string",
1064
+ enum: ["local", "linear", "gh"],
1065
+ default: "local",
1066
+ description: "Sync target"
1067
+ },
1068
+ notes: {
1069
+ type: "string",
1070
+ description: "Optional notes"
1566
1071
  }
1567
1072
  },
1568
- required: ["node_a", "node_b"]
1073
+ required: ["task"]
1569
1074
  }
1570
1075
  }
1571
1076
  ];
1572
1077
  }
1573
- /**
1574
- * Get tool definition by name
1575
- */
1576
- getToolDefinition(name) {
1577
- return this.getAllToolDefinitions().find((tool) => tool.name === name);
1078
+ // [REMOVED in v1.14]
1079
+ getPlanningTools() {
1080
+ return [];
1578
1081
  }
1579
- /**
1580
- * Get tool names by category
1581
- */
1582
- getToolsByCategory(category) {
1583
- switch (category) {
1584
- case "context":
1585
- return this.getContextTools();
1586
- case "task":
1587
- return this.getTaskTools();
1588
- case "linear":
1589
- return this.getLinearTools();
1590
- case "trace":
1591
- return this.getTraceTools();
1592
- case "trace_extension":
1593
- return this.getTraceExtensionTools();
1594
- case "planning":
1595
- return this.getPlanningTools();
1596
- case "pending":
1597
- return this.getPendingTools();
1598
- case "smart_context":
1599
- return this.getSmartContextTools();
1600
- case "discovery":
1601
- return this.getDiscoveryTools();
1602
- case "edit":
1603
- return this.getEditTools();
1604
- case "diffmem":
1605
- return this.getDiffMemTools();
1606
- case "greptile":
1607
- return this.getGreptileTools();
1608
- case "provider":
1609
- return this.getProviderTools();
1610
- case "team":
1611
- return this.getTeamTools();
1612
- case "cord":
1613
- return this.getCordTools();
1614
- case "digest":
1615
- return this.getDigestTools();
1616
- case "desire_paths":
1617
- return this.getDesirePathTools();
1618
- case "provenant":
1619
- return this.getProvenantTools();
1620
- default:
1621
- return [];
1622
- }
1082
+ getDiffMemTools() {
1083
+ return [];
1084
+ }
1085
+ getProviderTools() {
1086
+ return [];
1087
+ }
1088
+ getCrossSearchTools() {
1089
+ return [];
1090
+ }
1091
+ getWorkflowTools() {
1092
+ return [];
1623
1093
  }
1624
1094
  }
1625
1095
  export {