tachibot-mcp 2.0.2

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 (214) hide show
  1. package/.env.example +260 -0
  2. package/CHANGELOG.md +54 -0
  3. package/CODE_OF_CONDUCT.md +56 -0
  4. package/CONTRIBUTING.md +54 -0
  5. package/Dockerfile +36 -0
  6. package/LICENSE +644 -0
  7. package/README.md +201 -0
  8. package/SECURITY.md +95 -0
  9. package/dist/personality/komaai-expressions.js +12 -0
  10. package/dist/profiles/balanced.json +33 -0
  11. package/dist/profiles/code_focus.json +33 -0
  12. package/dist/profiles/full.json +33 -0
  13. package/dist/profiles/minimal.json +33 -0
  14. package/dist/profiles/research_power.json +33 -0
  15. package/dist/scripts/build-profiles.js +46 -0
  16. package/dist/src/application/services/focus/FocusModeRegistry.js +46 -0
  17. package/dist/src/application/services/focus/FocusTool.service.js +109 -0
  18. package/dist/src/application/services/focus/ModeRegistry.js +46 -0
  19. package/dist/src/application/services/focus/modes/focus-deep.mode.js +27 -0
  20. package/dist/src/application/services/focus/modes/status.mode.js +50 -0
  21. package/dist/src/application/services/focus/modes/tachibot-status.mode.js +50 -0
  22. package/dist/src/collaborative-orchestrator.js +391 -0
  23. package/dist/src/config/model-constants.js +188 -0
  24. package/dist/src/config/model-defaults.js +57 -0
  25. package/dist/src/config/model-preferences.js +382 -0
  26. package/dist/src/config/timeout-config.js +130 -0
  27. package/dist/src/config.js +173 -0
  28. package/dist/src/domain/interfaces/IFocusMode.js +5 -0
  29. package/dist/src/domain/interfaces/IProvider.js +6 -0
  30. package/dist/src/domain/interfaces/ITool.js +5 -0
  31. package/dist/src/focus-deep.js +245 -0
  32. package/dist/src/infrastructure/ascii/art/robots.ascii.js +16 -0
  33. package/dist/src/mcp-client.js +90 -0
  34. package/dist/src/memory/index.js +17 -0
  35. package/dist/src/memory/memory-config.js +135 -0
  36. package/dist/src/memory/memory-interface.js +174 -0
  37. package/dist/src/memory/memory-manager.js +383 -0
  38. package/dist/src/memory/providers/devlog-provider.js +385 -0
  39. package/dist/src/memory/providers/hybrid-provider.js +399 -0
  40. package/dist/src/memory/providers/local-provider.js +388 -0
  41. package/dist/src/memory/providers/mem0-provider.js +337 -0
  42. package/dist/src/modes/architect.js +477 -0
  43. package/dist/src/modes/auditor.js +362 -0
  44. package/dist/src/modes/challenger.js +841 -0
  45. package/dist/src/modes/code-reviewer.js +382 -0
  46. package/dist/src/modes/commit-guardian.js +424 -0
  47. package/dist/src/modes/documentation-writer.js +572 -0
  48. package/dist/src/modes/scout.js +587 -0
  49. package/dist/src/modes/shared/helpers/challenger-helpers.js +454 -0
  50. package/dist/src/modes/shared/helpers/index.js +17 -0
  51. package/dist/src/modes/shared/helpers/scout-helpers.js +270 -0
  52. package/dist/src/modes/shared/helpers/verifier-helpers.js +332 -0
  53. package/dist/src/modes/test-architect.js +767 -0
  54. package/dist/src/modes/verifier.js +378 -0
  55. package/dist/src/monitoring/performance-monitor.js +435 -0
  56. package/dist/src/optimization/batch-executor.js +121 -0
  57. package/dist/src/optimization/context-pruner.js +196 -0
  58. package/dist/src/optimization/cost-monitor.js +338 -0
  59. package/dist/src/optimization/index.js +65 -0
  60. package/dist/src/optimization/model-router.js +264 -0
  61. package/dist/src/optimization/result-cache.js +114 -0
  62. package/dist/src/optimization/token-optimizer.js +257 -0
  63. package/dist/src/optimization/token-tracker.js +118 -0
  64. package/dist/src/orchestrator-instructions.js +128 -0
  65. package/dist/src/orchestrator-lite.js +139 -0
  66. package/dist/src/orchestrator.js +191 -0
  67. package/dist/src/orchestrators/collaborative/interfaces/IToolExecutionEngine.js +1 -0
  68. package/dist/src/orchestrators/collaborative/interfaces/IToolExecutionStrategy.js +5 -0
  69. package/dist/src/orchestrators/collaborative/interfaces/IVisualizationRenderer.js +1 -0
  70. package/dist/src/orchestrators/collaborative/registries/ModelProviderRegistry.js +95 -0
  71. package/dist/src/orchestrators/collaborative/registries/ToolAdapterRegistry.js +64 -0
  72. package/dist/src/orchestrators/collaborative/services/tool-execution/ToolExecutionService.js +502 -0
  73. package/dist/src/orchestrators/collaborative/services/visualization/VisualizationService.js +206 -0
  74. package/dist/src/orchestrators/collaborative/types/session-types.js +5 -0
  75. package/dist/src/profiles/balanced.js +37 -0
  76. package/dist/src/profiles/code_focus.js +37 -0
  77. package/dist/src/profiles/debug_intensive.js +59 -0
  78. package/dist/src/profiles/full.js +37 -0
  79. package/dist/src/profiles/minimal.js +37 -0
  80. package/dist/src/profiles/research_code.js +59 -0
  81. package/dist/src/profiles/research_power.js +37 -0
  82. package/dist/src/profiles/types.js +5 -0
  83. package/dist/src/profiles/workflow_builder.js +53 -0
  84. package/dist/src/prompt-engineer-lite.js +78 -0
  85. package/dist/src/prompt-engineer.js +399 -0
  86. package/dist/src/reasoning-chain.js +508 -0
  87. package/dist/src/sequential-thinking.js +291 -0
  88. package/dist/src/server-diagnostic.js +74 -0
  89. package/dist/src/server-raw.js +158 -0
  90. package/dist/src/server-simple.js +58 -0
  91. package/dist/src/server.js +514 -0
  92. package/dist/src/session/session-logger.js +617 -0
  93. package/dist/src/session/session-manager.js +571 -0
  94. package/dist/src/session/session-tools.js +400 -0
  95. package/dist/src/tools/advanced-modes.js +200 -0
  96. package/dist/src/tools/claude-integration.js +356 -0
  97. package/dist/src/tools/consolidated/ai-router.js +174 -0
  98. package/dist/src/tools/consolidated/ai-tool.js +48 -0
  99. package/dist/src/tools/consolidated/brainstorm-tool.js +87 -0
  100. package/dist/src/tools/consolidated/environment-detector.js +80 -0
  101. package/dist/src/tools/consolidated/index.js +50 -0
  102. package/dist/src/tools/consolidated/search-tool.js +110 -0
  103. package/dist/src/tools/consolidated/workflow-tool.js +238 -0
  104. package/dist/src/tools/gemini-tools.js +329 -0
  105. package/dist/src/tools/grok-enhanced.js +376 -0
  106. package/dist/src/tools/grok-tools.js +299 -0
  107. package/dist/src/tools/lmstudio-tools.js +223 -0
  108. package/dist/src/tools/openai-tools.js +498 -0
  109. package/dist/src/tools/openrouter-tools.js +317 -0
  110. package/dist/src/tools/optimized-wrapper.js +204 -0
  111. package/dist/src/tools/perplexity-tools.js +294 -0
  112. package/dist/src/tools/pingpong-tool.js +343 -0
  113. package/dist/src/tools/qwen-wrapper.js +74 -0
  114. package/dist/src/tools/tool-router.js +444 -0
  115. package/dist/src/tools/unified-ai-provider.js +260 -0
  116. package/dist/src/tools/workflow-runner.js +425 -0
  117. package/dist/src/tools/workflow-validator-tool.js +107 -0
  118. package/dist/src/types.js +23 -0
  119. package/dist/src/utils/input-validator.js +130 -0
  120. package/dist/src/utils/model-router.js +91 -0
  121. package/dist/src/utils/progress-stream.js +255 -0
  122. package/dist/src/utils/provider-router.js +88 -0
  123. package/dist/src/utils/smart-api-client.js +146 -0
  124. package/dist/src/utils/table-builder.js +218 -0
  125. package/dist/src/utils/timestamp-formatter.js +134 -0
  126. package/dist/src/utils/tool-compressor.js +257 -0
  127. package/dist/src/utils/tool-config.js +201 -0
  128. package/dist/src/validators/dependency-graph-validator.js +147 -0
  129. package/dist/src/validators/interpolation-validator.js +222 -0
  130. package/dist/src/validators/output-usage-validator.js +151 -0
  131. package/dist/src/validators/syntax-validator.js +102 -0
  132. package/dist/src/validators/tool-registry-validator.js +123 -0
  133. package/dist/src/validators/tool-types.js +97 -0
  134. package/dist/src/validators/types.js +8 -0
  135. package/dist/src/validators/workflow-validator.js +134 -0
  136. package/dist/src/visualizer-lite.js +42 -0
  137. package/dist/src/visualizer.js +179 -0
  138. package/dist/src/workflows/circuit-breaker.js +199 -0
  139. package/dist/src/workflows/custom-workflows.js +451 -0
  140. package/dist/src/workflows/engine/AutoSynthesizer.js +97 -0
  141. package/dist/src/workflows/engine/StepParameterResolver.js +74 -0
  142. package/dist/src/workflows/engine/VariableInterpolator.js +123 -0
  143. package/dist/src/workflows/engine/WorkflowDiscovery.js +125 -0
  144. package/dist/src/workflows/engine/WorkflowExecutionEngine.js +485 -0
  145. package/dist/src/workflows/engine/WorkflowExecutor.js +113 -0
  146. package/dist/src/workflows/engine/WorkflowFileManager.js +244 -0
  147. package/dist/src/workflows/engine/WorkflowHelpers.js +114 -0
  148. package/dist/src/workflows/engine/WorkflowOutputFormatter.js +83 -0
  149. package/dist/src/workflows/engine/events/WorkflowEventBus.js +132 -0
  150. package/dist/src/workflows/engine/events/interfaces/IEventBus.js +5 -0
  151. package/dist/src/workflows/engine/handlers/ErrorRecoveryHandler.js +162 -0
  152. package/dist/src/workflows/engine/handlers/PromptEnhancementHandler.js +115 -0
  153. package/dist/src/workflows/engine/handlers/SessionPersistenceHandler.js +167 -0
  154. package/dist/src/workflows/engine/handlers/StepExecutionHandler.js +231 -0
  155. package/dist/src/workflows/engine/handlers/ToolInvocationHandler.js +46 -0
  156. package/dist/src/workflows/engine/interfaces/IAutoSynthesizer.js +5 -0
  157. package/dist/src/workflows/engine/interfaces/IStepParameterResolver.js +5 -0
  158. package/dist/src/workflows/engine/interfaces/IVariableInterpolator.js +5 -0
  159. package/dist/src/workflows/engine/interfaces/IWorkflowDiscovery.js +4 -0
  160. package/dist/src/workflows/engine/interfaces/IWorkflowFileManager.js +5 -0
  161. package/dist/src/workflows/engine/interfaces/IWorkflowOutputFormatter.js +5 -0
  162. package/dist/src/workflows/engine/state/WorkflowStateMachine.js +194 -0
  163. package/dist/src/workflows/engine/state/interfaces/IStateMachine.js +17 -0
  164. package/dist/src/workflows/fallback-strategies.js +373 -0
  165. package/dist/src/workflows/message-queue.js +455 -0
  166. package/dist/src/workflows/model-router.js +189 -0
  167. package/dist/src/workflows/orchestrator-examples.js +174 -0
  168. package/dist/src/workflows/orchestrator-integration.js +200 -0
  169. package/dist/src/workflows/self-healing.js +524 -0
  170. package/dist/src/workflows/tool-mapper.js +407 -0
  171. package/dist/src/workflows/tool-orchestrator.js +796 -0
  172. package/dist/src/workflows/workflow-engine.js +573 -0
  173. package/dist/src/workflows/workflow-parser.js +283 -0
  174. package/dist/src/workflows/workflow-types.js +95 -0
  175. package/dist/src/workflows.js +568 -0
  176. package/dist/test-workflow-file-output.js +93 -0
  177. package/docs/API_KEYS.md +570 -0
  178. package/docs/CLAUDE_CODE_SETUP.md +181 -0
  179. package/docs/CLAUDE_DESKTOP_MANUAL.md +127 -0
  180. package/docs/CONFIGURATION.md +745 -0
  181. package/docs/FOCUS_MODES.md +240 -0
  182. package/docs/INSTALLATION_BOTH.md +145 -0
  183. package/docs/TERMS.md +352 -0
  184. package/docs/TOOLS_REFERENCE.md +1622 -0
  185. package/docs/TOOL_PARAMETERS.md +496 -0
  186. package/docs/TOOL_PROFILES.md +236 -0
  187. package/docs/WORKFLOWS.md +987 -0
  188. package/docs/WORKFLOW_OUTPUT.md +198 -0
  189. package/docs/WORKFLOW_PROGRESS_TRACKING.md +305 -0
  190. package/docs/workflows/design-brainstorm.md +335 -0
  191. package/package.json +97 -0
  192. package/profiles/balanced.json +37 -0
  193. package/profiles/code_focus.json +37 -0
  194. package/profiles/debug_intensive.json +34 -0
  195. package/profiles/full.json +37 -0
  196. package/profiles/minimal.json +37 -0
  197. package/profiles/research_power.json +37 -0
  198. package/profiles/workflow_builder.json +37 -0
  199. package/smithery.yaml +66 -0
  200. package/start.sh +8 -0
  201. package/tools.config.json +81 -0
  202. package/tsconfig.json +18 -0
  203. package/workflows/accessibility-code-audit.yaml +92 -0
  204. package/workflows/code-architecture-review.yaml +202 -0
  205. package/workflows/code-review.yaml +142 -0
  206. package/workflows/core/iterative-problem-solver.yaml +283 -0
  207. package/workflows/creative-brainstorm-yaml.yaml +215 -0
  208. package/workflows/pingpong.yaml +141 -0
  209. package/workflows/system/README.md +412 -0
  210. package/workflows/system/challenger.yaml +175 -0
  211. package/workflows/system/scout.yaml +164 -0
  212. package/workflows/system/verifier.yaml +133 -0
  213. package/workflows/ultra-creative-brainstorm.yaml +318 -0
  214. package/workflows/ux-research-flow.yaml +92 -0
@@ -0,0 +1,236 @@
1
+ # Tool Profiles Guide
2
+
3
+ ## Quick Start
4
+
5
+ Switch between tool profiles by editing `tools.config.json`:
6
+
7
+ ```json
8
+ {
9
+ "activeProfile": "research_power"
10
+ }
11
+ ```
12
+
13
+ Restart the server for changes to take effect.
14
+
15
+ ## Available Profiles
16
+
17
+ ### 1. **minimal** (~4-5k tokens, 8 tools)
18
+ Minimal tool set for basic tasks.
19
+
20
+ **Tools:**
21
+ - Core: think, focus, nextThought
22
+ - Research: perplexity_ask
23
+ - Reasoning: grok_reason
24
+ - Creative: gemini_brainstorm
25
+ - Code: qwen_coder
26
+ - Workflow: workflow
27
+
28
+ **Best for:** Quick tasks, token budget constraints, learning TachiBot
29
+
30
+ ---
31
+
32
+ ### 2. **research_power** (~9-10k tokens, 15 tools) ⭐ YOUR PROFILE
33
+ Research-focused with Grok search + all Perplexity + brainstorming.
34
+
35
+ **Tools:**
36
+ - Core: think, focus, nextThought
37
+ - Perplexity: perplexity_ask, perplexity_reason, perplexity_research
38
+ - Grok: grok_search, grok_reason
39
+ - Creative: openai_brainstorm, gemini_brainstorm
40
+ - Advanced: scout, verifier
41
+ - Code: qwen_coder
42
+ - Workflow: workflow, list_workflows
43
+
44
+ **Best for:** Deep research, fact-checking, multi-source verification, brainstorming sessions
45
+
46
+ **Key differences from perplexity_ask:**
47
+ - **scout**: Hybrid orchestrator (can use Perplexity + Grok-4 live search, multiple strategies)
48
+ - **grok_search**: Grok-4 with live web search (costs extra, but very powerful)
49
+ - **verifier**: Multi-model consensus (runs same query on multiple models, synthesizes)
50
+
51
+ ---
52
+
53
+ ### 3. **code_focus** (~8-9k tokens, 13 tools)
54
+ Code-heavy work with debugging and analysis.
55
+
56
+ **Tools:**
57
+ - Core: think, focus, nextThought
58
+ - Research: perplexity_ask
59
+ - Grok: grok_reason, grok_code, grok_debug
60
+ - Gemini: gemini_analyze_code, gemini_brainstorm
61
+ - Code: qwen_coder
62
+ - Advanced: verifier
63
+ - Workflow: workflow, list_workflows
64
+
65
+ **Best for:** Software development, debugging, code review, refactoring
66
+
67
+ ---
68
+
69
+ ### 4. **balanced** (~10-11k tokens, 17 tools)
70
+ Balanced set for general use.
71
+
72
+ **Tools:**
73
+ - Core: think, focus, nextThought
74
+ - Perplexity: perplexity_ask, perplexity_reason
75
+ - Grok: grok_reason, grok_code
76
+ - OpenAI: openai_brainstorm
77
+ - Gemini: gemini_brainstorm, gemini_analyze_code
78
+ - Code: qwen_coder
79
+ - Advanced: verifier, scout
80
+ - Workflow: workflow, list_workflows
81
+ - Collaborative: pingpong
82
+
83
+ **Best for:** General-purpose work, daily tasks, mixed research + code
84
+
85
+ ---
86
+
87
+ ### 5. **full** (~18-19k tokens, 26 tools)
88
+ All tools enabled for maximum capability.
89
+
90
+ **Tools:** All 26 tools (except hunter, qwen_competitive)
91
+
92
+ **Best for:** Maximum flexibility, specialized tasks, demonstrations
93
+
94
+ **Warning:** High token usage, may impact Claude Code performance
95
+
96
+ ---
97
+
98
+ ## Custom Profile
99
+
100
+ Create your own profile:
101
+
102
+ ```json
103
+ {
104
+ "customProfile": {
105
+ "description": "My custom research profile",
106
+ "enabled": true,
107
+ "tools": {
108
+ "think": true,
109
+ "focus": true,
110
+ "perplexity_ask": true,
111
+ "grok_search": true,
112
+ "scout": true
113
+ }
114
+ }
115
+ }
116
+ ```
117
+
118
+ When `customProfile.enabled` is `true`, it overrides `activeProfile`.
119
+
120
+ ---
121
+
122
+ ## Tool Comparison: Research Tools
123
+
124
+ | Tool | Purpose | Tokens | Speed | Cost |
125
+ |------|---------|--------|-------|------|
126
+ | **perplexity_ask** | Single web search | ~300 | Fast | $ |
127
+ | **perplexity_research** | Deep multi-query research | ~700 | Slow | $$$ |
128
+ | **grok_search** | Grok-4 live web search | ~500 | Medium | $$ |
129
+ | **scout** | Hybrid orchestrator (Perplexity + Grok) | ~600 | Medium | $$-$$$ |
130
+ | **verifier** | Multi-model consensus | ~500 | Medium | $$ |
131
+
132
+ ### When to use each:
133
+
134
+ - **Quick fact check**: `perplexity_ask`
135
+ - **Deep research report**: `perplexity_research`
136
+ - **Real-time data**: `grok_search` (Grok-4 with live web)
137
+ - **Comprehensive research**: `scout` (uses both Perplexity + Grok)
138
+ - **Verify conflicting info**: `verifier` (runs multiple models, finds consensus)
139
+
140
+ ---
141
+
142
+ ## Profile Switching Tips
143
+
144
+ 1. **Start with balanced** if unsure
145
+ 2. **Use research_power** for heavy research sessions
146
+ 3. **Use code_focus** for coding marathons
147
+ 4. **Use minimal** when hitting token limits
148
+ 5. **Use full** only when you need everything
149
+
150
+ ---
151
+
152
+ ## Environment Variable Overrides
153
+
154
+ Force-enable/disable tools regardless of profile:
155
+
156
+ ```bash
157
+ # Enable a specific tool
158
+ ENABLE_TOOL_HUNTER=true npm start
159
+
160
+ # Disable a specific tool
161
+ DISABLE_TOOL_GROK_SEARCH=true npm start
162
+
163
+ # Disable all tools (testing)
164
+ DISABLE_ALL_TOOLS=true npm start
165
+ ```
166
+
167
+ Priority: `ENV vars` > `customProfile` > `activeProfile` > `Default (enabled)`
168
+
169
+ ---
170
+
171
+ ## Monitoring
172
+
173
+ On startup, you'll see:
174
+
175
+ ```
176
+ 🎯 Active profile: research_power
177
+ Research-focused with Grok search + all Perplexity + brainstorming (~9-10k tokens, 15 tools)
178
+ 🚀 TachiBot MCP Server v5.0
179
+ Tools registered: 15 active
180
+ ```
181
+
182
+ ---
183
+
184
+ ## Troubleshooting
185
+
186
+ ### Profile not loading
187
+ 1. Check JSON syntax in `tools.config.json`
188
+ 2. Restart the server
189
+ 3. Check startup logs for profile name
190
+
191
+ ### Tool still appears
192
+ 1. Make sure tool is set to `false` in active profile
193
+ 2. Check for environment variable overrides
194
+ 3. Verify profile name matches exactly
195
+
196
+ ### Custom profile not working
197
+ 1. Set `"enabled": true` in `customProfile`
198
+ 2. Restart server
199
+ 3. Check logs show "Using custom profile"
200
+
201
+ ---
202
+
203
+ ## Your Research Power Profile
204
+
205
+ **Recommended for:**
206
+ - Academic research
207
+ - Fact-checking and verification
208
+ - Multi-source investigations
209
+ - Creative brainstorming with research backing
210
+ - Competitive intelligence
211
+
212
+ **Additional tools you might want:**
213
+
214
+ 1. **pingpong** - Multi-model conversations for complex debates
215
+ - Add if you want models to argue/collaborate on topics
216
+
217
+ 2. **challenger** - Critical thinking and echo chamber prevention
218
+ - Add if you want counter-arguments to your research
219
+
220
+ 3. **gemini_analyze_text** - Text analysis (sentiment, entities)
221
+ - Add if you're analyzing documents/articles
222
+
223
+ **To add these**, update your profile:
224
+
225
+ ```json
226
+ "research_power": {
227
+ "tools": {
228
+ // ... existing tools ...
229
+ "pingpong": true,
230
+ "challenger": true,
231
+ "gemini_analyze_text": true
232
+ }
233
+ }
234
+ ```
235
+
236
+ This would bring you to **18 tools, ~11-12k tokens** - still well under your target!