@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.
- package/LICENSE +131 -64
- package/README.md +107 -24
- package/bin/claude-sm +16 -1
- package/bin/claude-smd +16 -1
- package/bin/codex-smd +16 -1
- package/bin/gemini-sm +16 -1
- package/bin/hermes-sm +21 -0
- package/bin/hermes-smd +21 -0
- package/bin/opencode-sm +16 -1
- package/dist/src/cli/claude-sm.js +266 -84
- package/dist/src/cli/codex-sm.js +225 -33
- package/dist/src/cli/commands/bench.js +209 -2
- package/dist/src/cli/commands/brain.js +206 -0
- package/dist/src/cli/commands/cache.js +126 -0
- package/dist/src/cli/commands/company-os.js +184 -0
- package/dist/src/cli/commands/context.js +5 -0
- package/dist/src/cli/commands/daemon.js +41 -0
- package/dist/src/cli/commands/handoff.js +40 -9
- package/dist/src/cli/commands/onboard.js +70 -3
- package/dist/src/cli/commands/operator.js +127 -0
- package/dist/src/cli/commands/optimize.js +117 -0
- package/dist/src/cli/commands/orchestrate.js +232 -5
- package/dist/src/cli/commands/orchestrator.js +315 -26
- package/dist/src/cli/commands/pack.js +322 -0
- package/dist/src/cli/commands/patterns.js +254 -0
- package/dist/src/cli/commands/portal.js +161 -0
- package/dist/src/cli/commands/scaffold.js +92 -0
- package/dist/src/cli/commands/search.js +40 -1
- package/dist/src/cli/commands/setup.js +178 -11
- package/dist/src/cli/commands/skills.js +10 -1
- package/dist/src/cli/commands/state.js +265 -0
- package/dist/src/cli/commands/sync.js +253 -0
- package/dist/src/cli/commands/tasks.js +130 -1
- package/dist/src/cli/commands/vision.js +221 -0
- package/dist/src/cli/gemini-sm.js +19 -29
- package/dist/src/cli/hermes-sm.js +224 -0
- package/dist/src/cli/index.js +105 -39
- package/dist/src/cli/opencode-sm.js +38 -21
- package/dist/src/cli/utils/determinism-watcher.js +66 -0
- package/dist/src/cli/utils/real-cli-bin.js +116 -0
- package/dist/src/core/brain/brain-store.js +187 -0
- package/dist/src/core/brain/brain-sync.js +193 -0
- package/dist/src/core/brain/index.js +78 -0
- package/dist/src/core/brain/types.js +10 -0
- package/dist/src/core/cache/content-cache.js +238 -0
- package/dist/src/{integrations/diffmem → core/cache}/index.js +5 -5
- package/dist/src/core/cache/token-estimator.js +39 -0
- package/dist/src/core/config/feature-flags.js +2 -6
- package/dist/src/core/context/frame-database.js +79 -27
- package/dist/src/core/context/recursive-context-manager.js +1 -1
- package/dist/src/core/context/rehydration.js +2 -1
- package/dist/src/core/cross-search/cross-project-search.js +269 -0
- package/dist/src/core/cross-search/index.js +10 -0
- package/dist/src/core/database/sqlite-adapter.js +14 -84
- package/dist/src/core/extensions/provider-adapter.js +5 -0
- package/dist/src/core/models/model-router.js +54 -2
- package/dist/src/core/models/provider-pricing.js +58 -4
- package/dist/src/core/monitoring/logger.js +2 -1
- package/dist/src/core/optimization/trace-optimizer.js +413 -0
- package/dist/src/core/patterns/index.js +22 -0
- package/dist/src/core/patterns/pattern-applier.js +39 -0
- package/dist/src/core/patterns/pattern-observer.js +157 -0
- package/dist/src/core/patterns/pattern-store.js +259 -0
- package/dist/src/core/patterns/types.js +19 -0
- package/dist/src/core/provenance/confidence-scorer.js +128 -0
- package/dist/src/core/provenance/index.js +40 -0
- package/dist/src/core/provenance/provenance-store.js +194 -0
- package/dist/src/core/provenance/types.js +82 -0
- package/dist/src/core/retrieval/llm-context-retrieval.js +5 -4
- package/dist/src/core/retrieval/unified-context-assembler.js +11 -66
- package/dist/src/core/session/project-handoff.js +64 -0
- package/dist/src/core/session/session-manager.js +28 -0
- package/dist/src/core/shared-state/canonical-store.js +564 -0
- package/dist/src/core/skill-packs/index.js +18 -0
- package/dist/src/core/skill-packs/parser.js +42 -0
- package/dist/src/core/skill-packs/registry.js +224 -0
- package/dist/src/core/skill-packs/types.js +79 -0
- package/dist/src/core/storage/cloud-sync-manager.js +116 -0
- package/dist/src/core/storage/cloud-sync.js +574 -0
- package/dist/src/core/storage/two-tier-storage.js +5 -1
- package/dist/src/core/tasks/master-tasks-template.js +43 -0
- package/dist/src/core/tasks/md-task-parser.js +138 -0
- package/dist/src/core/trace/trace-event-store.js +282 -0
- package/dist/src/core/vision/index.js +27 -0
- package/dist/src/core/vision/signals.js +79 -0
- package/dist/src/core/vision/types.js +22 -0
- package/dist/src/core/vision/vision-file.js +146 -0
- package/dist/src/core/vision/vision-loop.js +220 -0
- package/dist/src/core/wiki/wiki-compiler.js +103 -1
- package/dist/src/daemon/daemon-config.js +52 -0
- package/dist/src/daemon/services/desire-path-service.js +566 -0
- package/dist/src/daemon/services/github-service.js +126 -0
- package/dist/src/daemon/services/research-stream-service.js +320 -0
- package/dist/src/daemon/services/telemetry-service.js +192 -0
- package/dist/src/daemon/unified-daemon.js +58 -1
- package/dist/src/features/browser/cli-browser-agent.js +417 -0
- package/dist/src/features/browser/stagehand-workflows.js +578 -0
- package/dist/src/features/operator/adapter-factory.js +62 -0
- package/dist/src/features/operator/browser-adapter.js +109 -0
- package/dist/src/features/operator/desktop-adapter.js +125 -0
- package/dist/src/features/operator/index.js +39 -0
- package/dist/src/features/operator/llm-decision.js +137 -0
- package/dist/src/features/operator/operator-logger.js +92 -0
- package/dist/src/features/operator/overnight-runner.js +327 -0
- package/dist/src/features/operator/screen-adapter.js +91 -0
- package/dist/src/features/operator/session-manager.js +127 -0
- package/dist/src/features/operator/state-machine.js +227 -0
- package/dist/src/features/operator/task-queue.js +81 -0
- package/dist/src/features/portal/index.js +26 -0
- package/dist/src/features/portal/server.js +240 -0
- package/dist/src/features/portal/types.js +14 -0
- package/dist/src/features/portal/ui.js +195 -0
- package/dist/src/features/sweep/pty-wrapper.js +13 -5
- package/dist/src/features/tasks/task-aware-context.js +2 -1
- package/dist/src/features/tui/simple-monitor.js +0 -23
- package/dist/src/features/tui/swarm-monitor.js +8 -66
- package/dist/src/features/web/client/hooks/use-socket.js +12 -0
- package/dist/src/{core/merge/index.js → features/web/client/lib/utils.js} +8 -4
- package/dist/src/features/web/client/next-env.d.js +4 -0
- package/dist/src/features/web/client/stores/session-store.js +12 -0
- package/dist/src/features/web/server/gcp-billing.js +76 -0
- package/dist/src/features/web/server/index.js +10 -0
- package/dist/src/features/web/server/spend-calculator.js +228 -0
- package/dist/src/hooks/schemas.js +6 -1
- package/dist/src/integrations/anthropic/client.js +3 -2
- package/dist/src/integrations/claude-code/agent-bridge.js +0 -3
- package/dist/src/integrations/claude-code/subagent-client.js +307 -11
- package/dist/src/integrations/claude-code/task-coordinator.js +2 -1
- package/dist/src/integrations/github/pr-state.js +158 -0
- package/dist/src/integrations/linear/client.js +4 -1
- package/dist/src/integrations/linear/webhook-retry.js +196 -0
- package/dist/src/integrations/linear/webhook-server.js +18 -22
- package/dist/src/integrations/mcp/handlers/cloud-sync-handlers.js +101 -0
- package/dist/src/integrations/mcp/handlers/index.js +40 -84
- package/dist/src/integrations/mcp/server.js +542 -641
- package/dist/src/integrations/mcp/tool-alias-registry.js +297 -0
- package/dist/src/integrations/mcp/tool-definitions.js +152 -682
- package/dist/src/mcp/stackmemory-mcp-server.js +571 -231
- package/dist/src/orchestrators/multimodal/determinism.js +244 -0
- package/dist/src/orchestrators/multimodal/harness.js +149 -78
- package/dist/src/orchestrators/multimodal/providers.js +44 -3
- package/dist/src/skills/recursive-agent-orchestrator.js +2 -4
- package/dist/src/utils/hook-installer.js +0 -8
- package/dist/src/utils/process-cleanup.js +1 -7
- package/docs/README.md +42 -0
- package/docs/guides/README_INSTALL.md +208 -0
- package/package.json +27 -9
- package/packs/coding/python-fastapi/instructions.md +60 -0
- package/packs/coding/python-fastapi/pack.yaml +28 -0
- package/packs/coding/typescript-react/instructions.md +47 -0
- package/packs/coding/typescript-react/pack.yaml +28 -0
- package/packs/core/commands/capture.md +32 -0
- package/packs/core/commands/learn.md +73 -0
- package/packs/core/commands/next.md +36 -0
- package/packs/core/commands/restart.md +58 -0
- package/packs/core/commands/restore.md +29 -0
- package/packs/core/commands/start.md +57 -0
- package/packs/core/commands/stop.md +65 -0
- package/packs/core/commands/summary.md +40 -0
- package/packs/core/manifest.json +24 -0
- package/packs/ops/decision-recovery/instructions.md +65 -0
- package/packs/ops/decision-recovery/pack.yaml +89 -0
- package/scripts/claude-code-wrapper.sh +11 -0
- package/scripts/claude-sm-setup.sh +12 -1
- package/scripts/codex-wrapper.sh +11 -0
- package/scripts/git-hooks/branch-context-manager.sh +11 -0
- package/scripts/git-hooks/post-checkout-stackmemory.sh +11 -0
- package/scripts/git-hooks/post-commit-stackmemory.sh +11 -0
- package/scripts/git-hooks/pre-commit-stackmemory.sh +11 -0
- package/scripts/hooks/cleanup-shell.sh +12 -1
- package/scripts/hooks/task-complete.sh +12 -1
- package/scripts/install-code-execution-hooks.sh +12 -1
- package/scripts/install-sweep-hook.sh +12 -0
- package/scripts/install.sh +11 -0
- package/scripts/opencode-wrapper.sh +11 -0
- package/scripts/portal/cloud-init.yaml +69 -0
- package/scripts/portal/setup.sh +69 -0
- package/scripts/portal/stackmemory-portal.service +34 -0
- package/scripts/setup-claude-integration.sh +12 -1
- package/scripts/smoke-init-db.sh +23 -0
- package/scripts/stackmemory-daemon.sh +11 -0
- package/scripts/verify-dist.cjs +11 -4
- package/dist/src/cli/commands/ralph.js +0 -1053
- package/dist/src/cli/commands/team.js +0 -168
- package/dist/src/core/context/shared-context-layer.js +0 -620
- package/dist/src/core/context/stack-merge-resolver.js +0 -748
- package/dist/src/core/merge/conflict-detector.js +0 -430
- package/dist/src/core/merge/resolution-engine.js +0 -557
- package/dist/src/core/merge/stack-diff.js +0 -531
- package/dist/src/core/merge/unified-merge-resolver.js +0 -302
- package/dist/src/hooks/diffmem-hooks.js +0 -376
- package/dist/src/integrations/diffmem/client.js +0 -208
- package/dist/src/integrations/diffmem/config.js +0 -14
- package/dist/src/integrations/greptile/client.js +0 -101
- package/dist/src/integrations/greptile/config.js +0 -14
- package/dist/src/integrations/greptile/index.js +0 -11
- package/dist/src/integrations/mcp/handlers/cord-handlers.js +0 -397
- package/dist/src/integrations/mcp/handlers/diffmem-handlers.js +0 -455
- package/dist/src/integrations/mcp/handlers/greptile-handlers.js +0 -456
- package/dist/src/integrations/mcp/handlers/provider-handlers.js +0 -227
- package/dist/src/integrations/mcp/handlers/team-handlers.js +0 -211
- package/dist/src/integrations/ralph/bridge/ralph-stackmemory-bridge.js +0 -863
- package/dist/src/integrations/ralph/context/context-budget-manager.js +0 -308
- package/dist/src/integrations/ralph/context/stackmemory-context-loader.js +0 -391
- package/dist/src/integrations/ralph/index.js +0 -17
- package/dist/src/integrations/ralph/learning/pattern-learner.js +0 -435
- package/dist/src/integrations/ralph/lifecycle/iteration-lifecycle.js +0 -448
- package/dist/src/integrations/ralph/loopmax.js +0 -488
- package/dist/src/integrations/ralph/monitoring/swarm-dashboard.js +0 -293
- package/dist/src/integrations/ralph/monitoring/swarm-registry.js +0 -107
- package/dist/src/integrations/ralph/orchestration/multi-loop-orchestrator.js +0 -508
- package/dist/src/integrations/ralph/patterns/compounding-engineering-pattern.js +0 -407
- package/dist/src/integrations/ralph/patterns/extended-coherence-sessions.js +0 -495
- package/dist/src/integrations/ralph/patterns/oracle-worker-pattern.js +0 -387
- package/dist/src/integrations/ralph/performance/performance-optimizer.js +0 -357
- package/dist/src/integrations/ralph/recovery/crash-recovery.js +0 -461
- package/dist/src/integrations/ralph/state/state-reconciler.js +0 -420
- package/dist/src/integrations/ralph/swarm/git-workflow-manager.js +0 -444
- package/dist/src/integrations/ralph/swarm/swarm-coordinator.js +0 -1007
- package/dist/src/integrations/ralph/visualization/ralph-debugger.js +0 -635
- package/scripts/ralph-loop-implementation.js +0 -404
- /package/dist/src/core/{merge → cache}/types.js +0 -0
- /package/dist/src/{integrations/diffmem/types.js → core/storage/cloud-sync-types.js} +0 -0
- /package/dist/src/{integrations/greptile/types.js → core/trace/trace-event.js} +0 -0
- /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
|
-
*
|
|
846
|
+
* Provenant decision graph tools
|
|
1269
847
|
*/
|
|
1270
|
-
|
|
848
|
+
getProvenantTools() {
|
|
1271
849
|
return [
|
|
1272
850
|
{
|
|
1273
|
-
name: "
|
|
1274
|
-
description: "
|
|
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
|
-
|
|
1279
|
-
type: "
|
|
1280
|
-
|
|
1281
|
-
description: "Max frames to return"
|
|
856
|
+
query: {
|
|
857
|
+
type: "string",
|
|
858
|
+
description: "Natural language search query"
|
|
1282
859
|
},
|
|
1283
|
-
|
|
1284
|
-
type: "
|
|
1285
|
-
|
|
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: "
|
|
870
|
+
description: "Max results to return",
|
|
871
|
+
default: 10
|
|
1291
872
|
}
|
|
1292
|
-
}
|
|
873
|
+
},
|
|
874
|
+
required: ["query"]
|
|
1293
875
|
}
|
|
1294
876
|
},
|
|
1295
877
|
{
|
|
1296
|
-
name: "
|
|
1297
|
-
description: "
|
|
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
|
|
885
|
+
description: "The decision content"
|
|
1304
886
|
},
|
|
1305
|
-
|
|
887
|
+
actor: {
|
|
1306
888
|
type: "string",
|
|
1307
|
-
|
|
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
|
-
|
|
1319
|
-
type: "
|
|
1320
|
-
|
|
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: "
|
|
1331
|
-
description: "
|
|
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
|
-
|
|
921
|
+
node_a: {
|
|
1336
922
|
type: "string",
|
|
1337
|
-
description: "
|
|
923
|
+
description: "First node ID or prefix"
|
|
1338
924
|
},
|
|
1339
|
-
|
|
1340
|
-
type: "
|
|
1341
|
-
|
|
1342
|
-
|
|
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
|
-
|
|
933
|
+
dismiss: {
|
|
1345
934
|
type: "boolean",
|
|
1346
|
-
|
|
1347
|
-
description: "Include events in results"
|
|
935
|
+
description: "Dismiss as noise instead of resolving"
|
|
1348
936
|
}
|
|
1349
937
|
},
|
|
1350
|
-
required: ["
|
|
938
|
+
required: ["node_a", "node_b"]
|
|
1351
939
|
}
|
|
1352
940
|
}
|
|
1353
941
|
];
|
|
1354
942
|
}
|
|
1355
943
|
/**
|
|
1356
|
-
*
|
|
944
|
+
* Cross-project search tools
|
|
1357
945
|
*/
|
|
1358
|
-
|
|
946
|
+
getCloudSyncTools() {
|
|
1359
947
|
return [
|
|
1360
948
|
{
|
|
1361
|
-
name: "
|
|
1362
|
-
description: "
|
|
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
|
-
|
|
1367
|
-
type: "
|
|
1368
|
-
description: "
|
|
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: "
|
|
1389
|
-
description: "
|
|
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
|
-
|
|
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: "
|
|
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: "
|
|
1416
|
-
description: "
|
|
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: "
|
|
1434
|
-
description: "
|
|
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
|
-
|
|
993
|
+
owner: {
|
|
1439
994
|
type: "string",
|
|
1440
|
-
description: "
|
|
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: "
|
|
1457
|
-
description: "
|
|
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: "
|
|
1008
|
+
description: "Task ID (e.g. T01, T02)"
|
|
1464
1009
|
},
|
|
1465
|
-
|
|
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
|
-
|
|
1012
|
+
enum: ["todo", "active", "done", "blocked", "cut"],
|
|
1013
|
+
description: "New status"
|
|
1489
1014
|
},
|
|
1490
|
-
|
|
1015
|
+
priority: {
|
|
1491
1016
|
type: "string",
|
|
1492
|
-
|
|
1017
|
+
enum: ["P0", "P1", "P2", "P3"],
|
|
1018
|
+
description: "New priority"
|
|
1493
1019
|
},
|
|
1494
|
-
|
|
1020
|
+
owner: {
|
|
1495
1021
|
type: "string",
|
|
1496
|
-
description: "
|
|
1022
|
+
description: "New owner (@me, @agent, @defer)"
|
|
1497
1023
|
},
|
|
1498
|
-
|
|
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: "
|
|
1026
|
+
description: "Branch name or PR link"
|
|
1516
1027
|
},
|
|
1517
|
-
|
|
1028
|
+
notes: {
|
|
1518
1029
|
type: "string",
|
|
1519
|
-
description: "
|
|
1030
|
+
description: "Updated notes"
|
|
1520
1031
|
},
|
|
1521
|
-
|
|
1032
|
+
sync: {
|
|
1522
1033
|
type: "string",
|
|
1523
|
-
|
|
1034
|
+
enum: ["local", "linear", "gh"],
|
|
1035
|
+
description: "Sync target"
|
|
1524
1036
|
}
|
|
1525
1037
|
},
|
|
1526
|
-
required: ["
|
|
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: "
|
|
1547
|
-
description: "
|
|
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
|
-
|
|
1047
|
+
task: {
|
|
1552
1048
|
type: "string",
|
|
1553
|
-
description: "
|
|
1049
|
+
description: "Task description"
|
|
1554
1050
|
},
|
|
1555
|
-
|
|
1051
|
+
priority: {
|
|
1556
1052
|
type: "string",
|
|
1557
|
-
|
|
1053
|
+
enum: ["P0", "P1", "P2", "P3"],
|
|
1054
|
+
default: "P1",
|
|
1055
|
+
description: "Priority level"
|
|
1558
1056
|
},
|
|
1559
|
-
|
|
1057
|
+
owner: {
|
|
1560
1058
|
type: "string",
|
|
1561
|
-
|
|
1059
|
+
default: "@me",
|
|
1060
|
+
description: "Task owner (@me, @agent, @defer)"
|
|
1562
1061
|
},
|
|
1563
|
-
|
|
1564
|
-
type: "
|
|
1565
|
-
|
|
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: ["
|
|
1073
|
+
required: ["task"]
|
|
1569
1074
|
}
|
|
1570
1075
|
}
|
|
1571
1076
|
];
|
|
1572
1077
|
}
|
|
1573
|
-
|
|
1574
|
-
|
|
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
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
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 {
|