nodebench-mcp 2.70.0 → 3.0.1

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 (361) hide show
  1. package/README.md +95 -41
  2. package/dist/agents/alertRouter.d.ts +38 -0
  3. package/dist/agents/alertRouter.js +151 -0
  4. package/dist/agents/alertRouter.js.map +1 -0
  5. package/dist/agents/entityMemory.d.ts +40 -0
  6. package/dist/agents/entityMemory.js +64 -0
  7. package/dist/agents/entityMemory.js.map +1 -0
  8. package/dist/agents/subAgents.d.ts +35 -0
  9. package/dist/agents/subAgents.js +62 -0
  10. package/dist/agents/subAgents.js.map +1 -0
  11. package/dist/benchmarks/benchmarkRunner.js +14 -0
  12. package/dist/benchmarks/benchmarkRunner.js.map +1 -1
  13. package/dist/benchmarks/chainEval.js +107 -0
  14. package/dist/benchmarks/chainEval.js.map +1 -1
  15. package/dist/benchmarks/llmJudgeEval.js +85 -0
  16. package/dist/benchmarks/llmJudgeEval.js.map +1 -1
  17. package/dist/benchmarks/searchQualityEval.js +118 -5
  18. package/dist/benchmarks/searchQualityEval.js.map +1 -1
  19. package/dist/cli/search.d.ts +13 -0
  20. package/dist/cli/search.js +130 -0
  21. package/dist/cli/search.js.map +1 -0
  22. package/dist/dashboard/operatingDashboardHtml.js +2 -1
  23. package/dist/dashboard/operatingDashboardHtml.js.map +1 -1
  24. package/dist/dashboard/operatingServer.js +3 -2
  25. package/dist/dashboard/operatingServer.js.map +1 -1
  26. package/dist/db.d.ts +6 -2
  27. package/dist/db.js +521 -6
  28. package/dist/db.js.map +1 -1
  29. package/dist/index.js +349 -67
  30. package/dist/index.js.map +1 -1
  31. package/dist/packageInfo.d.ts +3 -0
  32. package/dist/packageInfo.js +32 -0
  33. package/dist/packageInfo.js.map +1 -0
  34. package/dist/profiler/behaviorStore.d.ts +97 -0
  35. package/dist/profiler/behaviorStore.js +276 -0
  36. package/dist/profiler/behaviorStore.js.map +1 -0
  37. package/dist/profiler/eventCollector.d.ts +119 -0
  38. package/dist/profiler/eventCollector.js +267 -0
  39. package/dist/profiler/eventCollector.js.map +1 -0
  40. package/dist/profiler/index.d.ts +15 -0
  41. package/dist/profiler/index.js +16 -0
  42. package/dist/profiler/index.js.map +1 -0
  43. package/dist/profiler/mcpProxy.d.ts +49 -0
  44. package/dist/profiler/mcpProxy.js +123 -0
  45. package/dist/profiler/mcpProxy.js.map +1 -0
  46. package/dist/profiler/modelRouter.d.ts +30 -0
  47. package/dist/profiler/modelRouter.js +99 -0
  48. package/dist/profiler/modelRouter.js.map +1 -0
  49. package/dist/profiler/otelReceiver.d.ts +17 -0
  50. package/dist/profiler/otelReceiver.js +62 -0
  51. package/dist/profiler/otelReceiver.js.map +1 -0
  52. package/dist/profiler/proofEngine.d.ts +41 -0
  53. package/dist/profiler/proofEngine.js +93 -0
  54. package/dist/profiler/proofEngine.js.map +1 -0
  55. package/dist/profiler/workflowTemplates.d.ts +41 -0
  56. package/dist/profiler/workflowTemplates.js +95 -0
  57. package/dist/profiler/workflowTemplates.js.map +1 -0
  58. package/dist/providers/localMemoryProvider.js +3 -2
  59. package/dist/providers/localMemoryProvider.js.map +1 -1
  60. package/dist/runtimeConfig.d.ts +11 -0
  61. package/dist/runtimeConfig.js +27 -0
  62. package/dist/runtimeConfig.js.map +1 -0
  63. package/dist/sandboxApi.js +2 -1
  64. package/dist/sandboxApi.js.map +1 -1
  65. package/dist/security/auditLog.js +8 -3
  66. package/dist/security/auditLog.js.map +1 -1
  67. package/dist/subconscious/blocks.d.ts +43 -0
  68. package/dist/subconscious/blocks.js +158 -0
  69. package/dist/subconscious/blocks.js.map +1 -0
  70. package/dist/subconscious/classifier.d.ts +22 -0
  71. package/dist/subconscious/classifier.js +118 -0
  72. package/dist/subconscious/classifier.js.map +1 -0
  73. package/dist/subconscious/graphEngine.d.ts +65 -0
  74. package/dist/subconscious/graphEngine.js +234 -0
  75. package/dist/subconscious/graphEngine.js.map +1 -0
  76. package/dist/subconscious/index.d.ts +19 -0
  77. package/dist/subconscious/index.js +20 -0
  78. package/dist/subconscious/index.js.map +1 -0
  79. package/dist/subconscious/tools.d.ts +5 -0
  80. package/dist/subconscious/tools.js +255 -0
  81. package/dist/subconscious/tools.js.map +1 -0
  82. package/dist/subconscious/whisperPolicy.d.ts +20 -0
  83. package/dist/subconscious/whisperPolicy.js +171 -0
  84. package/dist/subconscious/whisperPolicy.js.map +1 -0
  85. package/dist/sweep/engine.d.ts +27 -0
  86. package/dist/sweep/engine.js +244 -0
  87. package/dist/sweep/engine.js.map +1 -0
  88. package/dist/sweep/index.d.ts +9 -0
  89. package/dist/sweep/index.js +8 -0
  90. package/dist/sweep/index.js.map +1 -0
  91. package/dist/sweep/sources/github_trending.d.ts +6 -0
  92. package/dist/sweep/sources/github_trending.js +37 -0
  93. package/dist/sweep/sources/github_trending.js.map +1 -0
  94. package/dist/sweep/sources/hackernews.d.ts +7 -0
  95. package/dist/sweep/sources/hackernews.js +57 -0
  96. package/dist/sweep/sources/hackernews.js.map +1 -0
  97. package/dist/sweep/sources/openbb_finance.d.ts +9 -0
  98. package/dist/sweep/sources/openbb_finance.js +46 -0
  99. package/dist/sweep/sources/openbb_finance.js.map +1 -0
  100. package/dist/sweep/sources/producthunt.d.ts +6 -0
  101. package/dist/sweep/sources/producthunt.js +41 -0
  102. package/dist/sweep/sources/producthunt.js.map +1 -0
  103. package/dist/sweep/sources/web_signals.d.ts +7 -0
  104. package/dist/sweep/sources/web_signals.js +63 -0
  105. package/dist/sweep/sources/web_signals.js.map +1 -0
  106. package/dist/sweep/sources/yahoo_finance.d.ts +6 -0
  107. package/dist/sweep/sources/yahoo_finance.js +47 -0
  108. package/dist/sweep/sources/yahoo_finance.js.map +1 -0
  109. package/dist/sweep/types.d.ts +50 -0
  110. package/dist/sweep/types.js +9 -0
  111. package/dist/sweep/types.js.map +1 -0
  112. package/dist/sync/founderEpisodeStore.d.ts +98 -0
  113. package/dist/sync/founderEpisodeStore.js +230 -0
  114. package/dist/sync/founderEpisodeStore.js.map +1 -0
  115. package/dist/sync/hyperloopArchive.d.ts +51 -0
  116. package/dist/sync/hyperloopArchive.js +153 -0
  117. package/dist/sync/hyperloopArchive.js.map +1 -0
  118. package/dist/sync/hyperloopEval.d.ts +123 -0
  119. package/dist/sync/hyperloopEval.js +389 -0
  120. package/dist/sync/hyperloopEval.js.map +1 -0
  121. package/dist/sync/protocol.d.ts +172 -0
  122. package/dist/sync/protocol.js +9 -0
  123. package/dist/sync/protocol.js.map +1 -0
  124. package/dist/sync/sessionMemory.d.ts +47 -0
  125. package/dist/sync/sessionMemory.js +138 -0
  126. package/dist/sync/sessionMemory.js.map +1 -0
  127. package/dist/sync/store.d.ts +384 -0
  128. package/dist/sync/store.js +1435 -0
  129. package/dist/sync/store.js.map +1 -0
  130. package/dist/sync/syncBridgeClient.d.ts +30 -0
  131. package/dist/sync/syncBridgeClient.js +172 -0
  132. package/dist/sync/syncBridgeClient.js.map +1 -0
  133. package/dist/tools/autonomousDeliveryTools.d.ts +2 -0
  134. package/dist/tools/autonomousDeliveryTools.js +1104 -0
  135. package/dist/tools/autonomousDeliveryTools.js.map +1 -0
  136. package/dist/tools/boilerplateTools.js +10 -9
  137. package/dist/tools/boilerplateTools.js.map +1 -1
  138. package/dist/tools/claudeCodeIngestTools.d.ts +10 -0
  139. package/dist/tools/claudeCodeIngestTools.js +347 -0
  140. package/dist/tools/claudeCodeIngestTools.js.map +1 -0
  141. package/dist/tools/coreWorkflowTools.d.ts +2 -0
  142. package/dist/tools/coreWorkflowTools.js +488 -0
  143. package/dist/tools/coreWorkflowTools.js.map +1 -0
  144. package/dist/tools/deltaTools.d.ts +15 -0
  145. package/dist/tools/deltaTools.js +1522 -0
  146. package/dist/tools/deltaTools.js.map +1 -0
  147. package/dist/tools/documentationTools.js +2 -1
  148. package/dist/tools/documentationTools.js.map +1 -1
  149. package/dist/tools/entityLookupTools.d.ts +14 -0
  150. package/dist/tools/entityLookupTools.js +159 -0
  151. package/dist/tools/entityLookupTools.js.map +1 -0
  152. package/dist/tools/entityTemporalTools.d.ts +12 -0
  153. package/dist/tools/entityTemporalTools.js +330 -0
  154. package/dist/tools/entityTemporalTools.js.map +1 -0
  155. package/dist/tools/founderLocalPipeline.d.ts +215 -0
  156. package/dist/tools/founderLocalPipeline.js +1516 -2
  157. package/dist/tools/founderLocalPipeline.js.map +1 -1
  158. package/dist/tools/founderOperatingModel.d.ts +120 -0
  159. package/dist/tools/founderOperatingModel.js +469 -0
  160. package/dist/tools/founderOperatingModel.js.map +1 -0
  161. package/dist/tools/founderOperatingModelTools.d.ts +2 -0
  162. package/dist/tools/founderOperatingModelTools.js +169 -0
  163. package/dist/tools/founderOperatingModelTools.js.map +1 -0
  164. package/dist/tools/founderStrategicOpsTools.d.ts +2 -0
  165. package/dist/tools/founderStrategicOpsTools.js +1310 -0
  166. package/dist/tools/founderStrategicOpsTools.js.map +1 -0
  167. package/dist/tools/graphifyTools.d.ts +19 -0
  168. package/dist/tools/graphifyTools.js +375 -0
  169. package/dist/tools/graphifyTools.js.map +1 -0
  170. package/dist/tools/index.d.ts +3 -0
  171. package/dist/tools/index.js +4 -0
  172. package/dist/tools/index.js.map +1 -1
  173. package/dist/tools/monteCarloTools.d.ts +16 -0
  174. package/dist/tools/monteCarloTools.js +225 -0
  175. package/dist/tools/monteCarloTools.js.map +1 -0
  176. package/dist/tools/packetCompilerTools.d.ts +12 -0
  177. package/dist/tools/packetCompilerTools.js +322 -0
  178. package/dist/tools/packetCompilerTools.js.map +1 -0
  179. package/dist/tools/planSynthesisTools.d.ts +15 -0
  180. package/dist/tools/planSynthesisTools.js +455 -0
  181. package/dist/tools/planSynthesisTools.js.map +1 -0
  182. package/dist/tools/profilerTools.d.ts +20 -0
  183. package/dist/tools/profilerTools.js +364 -0
  184. package/dist/tools/profilerTools.js.map +1 -0
  185. package/dist/tools/progressiveDiscoveryTools.js +2 -1
  186. package/dist/tools/progressiveDiscoveryTools.js.map +1 -1
  187. package/dist/tools/savingsTools.d.ts +11 -0
  188. package/dist/tools/savingsTools.js +155 -0
  189. package/dist/tools/savingsTools.js.map +1 -0
  190. package/dist/tools/scenarioCompilerTools.d.ts +14 -0
  191. package/dist/tools/scenarioCompilerTools.js +290 -0
  192. package/dist/tools/scenarioCompilerTools.js.map +1 -0
  193. package/dist/tools/sharedContextTools.d.ts +2 -0
  194. package/dist/tools/sharedContextTools.js +423 -0
  195. package/dist/tools/sharedContextTools.js.map +1 -0
  196. package/dist/tools/sitemapTools.d.ts +15 -0
  197. package/dist/tools/sitemapTools.js +560 -0
  198. package/dist/tools/sitemapTools.js.map +1 -0
  199. package/dist/tools/sweepTools.d.ts +9 -0
  200. package/dist/tools/sweepTools.js +112 -0
  201. package/dist/tools/sweepTools.js.map +1 -0
  202. package/dist/tools/syncBridgeTools.d.ts +2 -0
  203. package/dist/tools/syncBridgeTools.js +258 -0
  204. package/dist/tools/syncBridgeTools.js.map +1 -0
  205. package/dist/tools/toolRegistry.js +1223 -45
  206. package/dist/tools/toolRegistry.js.map +1 -1
  207. package/dist/tools/workspaceTools.d.ts +19 -0
  208. package/dist/tools/workspaceTools.js +762 -0
  209. package/dist/tools/workspaceTools.js.map +1 -0
  210. package/dist/toolsetRegistry.js +162 -3
  211. package/dist/toolsetRegistry.js.map +1 -1
  212. package/package.json +39 -38
  213. package/rules/nodebench-agentic-reliability.md +32 -0
  214. package/rules/nodebench-analyst-diagnostic.md +25 -0
  215. package/rules/nodebench-auto-qa.md +31 -0
  216. package/rules/nodebench-completion-traceability.md +22 -0
  217. package/rules/nodebench-flywheel-continuous.md +25 -0
  218. package/rules/nodebench-pre-release-review.md +24 -0
  219. package/rules/nodebench-qa-dogfood.md +26 -0
  220. package/rules/nodebench-scenario-testing.md +30 -0
  221. package/rules/nodebench-self-direction.md +23 -0
  222. package/rules/nodebench-self-judge-loop.md +24 -0
  223. package/scripts/install.sh +215 -0
  224. package/dist/__tests__/analytics.test.d.ts +0 -11
  225. package/dist/__tests__/analytics.test.js +0 -546
  226. package/dist/__tests__/analytics.test.js.map +0 -1
  227. package/dist/__tests__/architectComplex.test.d.ts +0 -1
  228. package/dist/__tests__/architectComplex.test.js +0 -373
  229. package/dist/__tests__/architectComplex.test.js.map +0 -1
  230. package/dist/__tests__/architectSmoke.test.d.ts +0 -1
  231. package/dist/__tests__/architectSmoke.test.js +0 -92
  232. package/dist/__tests__/architectSmoke.test.js.map +0 -1
  233. package/dist/__tests__/audit-registry.d.ts +0 -1
  234. package/dist/__tests__/audit-registry.js +0 -60
  235. package/dist/__tests__/audit-registry.js.map +0 -1
  236. package/dist/__tests__/batchAutopilot.test.d.ts +0 -8
  237. package/dist/__tests__/batchAutopilot.test.js +0 -218
  238. package/dist/__tests__/batchAutopilot.test.js.map +0 -1
  239. package/dist/__tests__/cliSubcommands.test.d.ts +0 -1
  240. package/dist/__tests__/cliSubcommands.test.js +0 -138
  241. package/dist/__tests__/cliSubcommands.test.js.map +0 -1
  242. package/dist/__tests__/comparativeBench.test.d.ts +0 -1
  243. package/dist/__tests__/comparativeBench.test.js +0 -722
  244. package/dist/__tests__/comparativeBench.test.js.map +0 -1
  245. package/dist/__tests__/critterCalibrationEval.d.ts +0 -8
  246. package/dist/__tests__/critterCalibrationEval.js +0 -370
  247. package/dist/__tests__/critterCalibrationEval.js.map +0 -1
  248. package/dist/__tests__/dynamicLoading.test.d.ts +0 -1
  249. package/dist/__tests__/dynamicLoading.test.js +0 -280
  250. package/dist/__tests__/dynamicLoading.test.js.map +0 -1
  251. package/dist/__tests__/embeddingProvider.test.d.ts +0 -1
  252. package/dist/__tests__/embeddingProvider.test.js +0 -86
  253. package/dist/__tests__/embeddingProvider.test.js.map +0 -1
  254. package/dist/__tests__/evalDatasetBench.test.d.ts +0 -1
  255. package/dist/__tests__/evalDatasetBench.test.js +0 -738
  256. package/dist/__tests__/evalDatasetBench.test.js.map +0 -1
  257. package/dist/__tests__/evalHarness.test.d.ts +0 -1
  258. package/dist/__tests__/evalHarness.test.js +0 -1107
  259. package/dist/__tests__/evalHarness.test.js.map +0 -1
  260. package/dist/__tests__/fixtures/bfcl_v3_long_context.sample.json +0 -264
  261. package/dist/__tests__/fixtures/generateBfclLongContextFixture.d.ts +0 -10
  262. package/dist/__tests__/fixtures/generateBfclLongContextFixture.js +0 -135
  263. package/dist/__tests__/fixtures/generateBfclLongContextFixture.js.map +0 -1
  264. package/dist/__tests__/fixtures/generateSwebenchVerifiedFixture.d.ts +0 -14
  265. package/dist/__tests__/fixtures/generateSwebenchVerifiedFixture.js +0 -189
  266. package/dist/__tests__/fixtures/generateSwebenchVerifiedFixture.js.map +0 -1
  267. package/dist/__tests__/fixtures/generateToolbenchInstructionFixture.d.ts +0 -16
  268. package/dist/__tests__/fixtures/generateToolbenchInstructionFixture.js +0 -154
  269. package/dist/__tests__/fixtures/generateToolbenchInstructionFixture.js.map +0 -1
  270. package/dist/__tests__/fixtures/swebench_verified.sample.json +0 -162
  271. package/dist/__tests__/fixtures/toolbench_instruction.sample.json +0 -109
  272. package/dist/__tests__/forecastingDogfood.test.d.ts +0 -9
  273. package/dist/__tests__/forecastingDogfood.test.js +0 -284
  274. package/dist/__tests__/forecastingDogfood.test.js.map +0 -1
  275. package/dist/__tests__/forecastingScoring.test.d.ts +0 -9
  276. package/dist/__tests__/forecastingScoring.test.js +0 -202
  277. package/dist/__tests__/forecastingScoring.test.js.map +0 -1
  278. package/dist/__tests__/gaiaCapabilityAudioEval.test.d.ts +0 -15
  279. package/dist/__tests__/gaiaCapabilityAudioEval.test.js +0 -265
  280. package/dist/__tests__/gaiaCapabilityAudioEval.test.js.map +0 -1
  281. package/dist/__tests__/gaiaCapabilityEval.test.d.ts +0 -14
  282. package/dist/__tests__/gaiaCapabilityEval.test.js +0 -1259
  283. package/dist/__tests__/gaiaCapabilityEval.test.js.map +0 -1
  284. package/dist/__tests__/gaiaCapabilityFilesEval.test.d.ts +0 -15
  285. package/dist/__tests__/gaiaCapabilityFilesEval.test.js +0 -914
  286. package/dist/__tests__/gaiaCapabilityFilesEval.test.js.map +0 -1
  287. package/dist/__tests__/gaiaCapabilityMediaEval.test.d.ts +0 -15
  288. package/dist/__tests__/gaiaCapabilityMediaEval.test.js +0 -1101
  289. package/dist/__tests__/gaiaCapabilityMediaEval.test.js.map +0 -1
  290. package/dist/__tests__/helpers/answerMatch.d.ts +0 -41
  291. package/dist/__tests__/helpers/answerMatch.js +0 -267
  292. package/dist/__tests__/helpers/answerMatch.js.map +0 -1
  293. package/dist/__tests__/helpers/textLlm.d.ts +0 -25
  294. package/dist/__tests__/helpers/textLlm.js +0 -214
  295. package/dist/__tests__/helpers/textLlm.js.map +0 -1
  296. package/dist/__tests__/localDashboard.test.d.ts +0 -1
  297. package/dist/__tests__/localDashboard.test.js +0 -226
  298. package/dist/__tests__/localDashboard.test.js.map +0 -1
  299. package/dist/__tests__/multiHopDogfood.test.d.ts +0 -12
  300. package/dist/__tests__/multiHopDogfood.test.js +0 -303
  301. package/dist/__tests__/multiHopDogfood.test.js.map +0 -1
  302. package/dist/__tests__/openDatasetParallelEval.test.d.ts +0 -7
  303. package/dist/__tests__/openDatasetParallelEval.test.js +0 -209
  304. package/dist/__tests__/openDatasetParallelEval.test.js.map +0 -1
  305. package/dist/__tests__/openDatasetParallelEvalGaia.test.d.ts +0 -7
  306. package/dist/__tests__/openDatasetParallelEvalGaia.test.js +0 -279
  307. package/dist/__tests__/openDatasetParallelEvalGaia.test.js.map +0 -1
  308. package/dist/__tests__/openDatasetParallelEvalSwebench.test.d.ts +0 -7
  309. package/dist/__tests__/openDatasetParallelEvalSwebench.test.js +0 -220
  310. package/dist/__tests__/openDatasetParallelEvalSwebench.test.js.map +0 -1
  311. package/dist/__tests__/openDatasetParallelEvalToolbench.test.d.ts +0 -7
  312. package/dist/__tests__/openDatasetParallelEvalToolbench.test.js +0 -218
  313. package/dist/__tests__/openDatasetParallelEvalToolbench.test.js.map +0 -1
  314. package/dist/__tests__/openDatasetPerfComparison.test.d.ts +0 -10
  315. package/dist/__tests__/openDatasetPerfComparison.test.js +0 -318
  316. package/dist/__tests__/openDatasetPerfComparison.test.js.map +0 -1
  317. package/dist/__tests__/openclawDogfood.test.d.ts +0 -23
  318. package/dist/__tests__/openclawDogfood.test.js +0 -535
  319. package/dist/__tests__/openclawDogfood.test.js.map +0 -1
  320. package/dist/__tests__/openclawMessaging.test.d.ts +0 -14
  321. package/dist/__tests__/openclawMessaging.test.js +0 -232
  322. package/dist/__tests__/openclawMessaging.test.js.map +0 -1
  323. package/dist/__tests__/presetRealWorldBench.test.d.ts +0 -1
  324. package/dist/__tests__/presetRealWorldBench.test.js +0 -859
  325. package/dist/__tests__/presetRealWorldBench.test.js.map +0 -1
  326. package/dist/__tests__/tools.test.d.ts +0 -1
  327. package/dist/__tests__/tools.test.js +0 -3201
  328. package/dist/__tests__/tools.test.js.map +0 -1
  329. package/dist/__tests__/toolsetGatingEval.test.d.ts +0 -1
  330. package/dist/__tests__/toolsetGatingEval.test.js +0 -1099
  331. package/dist/__tests__/toolsetGatingEval.test.js.map +0 -1
  332. package/dist/__tests__/traceabilityDogfood.test.d.ts +0 -12
  333. package/dist/__tests__/traceabilityDogfood.test.js +0 -241
  334. package/dist/__tests__/traceabilityDogfood.test.js.map +0 -1
  335. package/dist/__tests__/webmcpTools.test.d.ts +0 -7
  336. package/dist/__tests__/webmcpTools.test.js +0 -195
  337. package/dist/__tests__/webmcpTools.test.js.map +0 -1
  338. package/dist/benchmarks/testProviderBus.d.ts +0 -7
  339. package/dist/benchmarks/testProviderBus.js +0 -272
  340. package/dist/benchmarks/testProviderBus.js.map +0 -1
  341. package/dist/hooks/postCompaction.d.ts +0 -14
  342. package/dist/hooks/postCompaction.js +0 -51
  343. package/dist/hooks/postCompaction.js.map +0 -1
  344. package/dist/security/__tests__/security.test.d.ts +0 -8
  345. package/dist/security/__tests__/security.test.js +0 -295
  346. package/dist/security/__tests__/security.test.js.map +0 -1
  347. package/dist/tools/documentTools.d.ts +0 -5
  348. package/dist/tools/documentTools.js +0 -524
  349. package/dist/tools/documentTools.js.map +0 -1
  350. package/dist/tools/financialTools.d.ts +0 -10
  351. package/dist/tools/financialTools.js +0 -403
  352. package/dist/tools/financialTools.js.map +0 -1
  353. package/dist/tools/memoryTools.d.ts +0 -5
  354. package/dist/tools/memoryTools.js +0 -137
  355. package/dist/tools/memoryTools.js.map +0 -1
  356. package/dist/tools/planningTools.d.ts +0 -5
  357. package/dist/tools/planningTools.js +0 -147
  358. package/dist/tools/planningTools.js.map +0 -1
  359. package/dist/tools/searchTools.d.ts +0 -5
  360. package/dist/tools/searchTools.js +0 -145
  361. package/dist/tools/searchTools.js.map +0 -1
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Savings Tools — Token/time/cost savings comparison
3
+ *
4
+ * Reads analytics DB to compute ROI metrics:
5
+ * - Total tokens used vs saved (TOON compression)
6
+ * - Time saved vs manual workflow
7
+ * - Cost estimates
8
+ * - Before/after delta between sessions
9
+ */
10
+ // ─── Helpers ──────────────────────────────────────────────────────────────────
11
+ async function getAnalyticsDbSafe() {
12
+ try {
13
+ const os = await import("node:os");
14
+ const path = await import("node:path");
15
+ const fs = await import("node:fs");
16
+ const dbPath = path.join(os.homedir(), ".nodebench", "analytics.db");
17
+ if (!fs.existsSync(dbPath))
18
+ return null;
19
+ const Database = (await import("better-sqlite3")).default;
20
+ return new Database(dbPath, { readonly: true });
21
+ }
22
+ catch {
23
+ return null;
24
+ }
25
+ }
26
+ // ─── Tools ────────────────────────────────────────────────────────────────────
27
+ export const savingsTools = [
28
+ {
29
+ name: "compare_savings",
30
+ description: "Compare token usage, time savings, and cost estimates. Optionally compare two sessions for before/after ROI. Shows total tool calls, tokens, estimated time saved, and cost.",
31
+ inputSchema: {
32
+ type: "object",
33
+ properties: {
34
+ session_id: {
35
+ type: "string",
36
+ description: "Specific session to analyze (omit for all-time stats)",
37
+ },
38
+ compare_session_id: {
39
+ type: "string",
40
+ description: "Second session ID for before/after comparison",
41
+ },
42
+ days: {
43
+ type: "number",
44
+ description: "Limit to last N days (default: 30)",
45
+ },
46
+ },
47
+ },
48
+ annotations: { readOnlyHint: true },
49
+ handler: async (args) => {
50
+ const db = await getAnalyticsDbSafe();
51
+ if (!db) {
52
+ return {
53
+ error: "No analytics data found. Use NodeBench MCP tools first to generate usage data.",
54
+ suggestion: "Run some tools, then call compare_savings() to see your ROI.",
55
+ };
56
+ }
57
+ try {
58
+ const days = args.days ?? 30;
59
+ const cutoff = new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString();
60
+ // Check if tool_call_log table exists
61
+ const tableCheck = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='tool_call_log'").get();
62
+ if (!tableCheck) {
63
+ db.close();
64
+ return {
65
+ error: "Analytics table not initialized yet. Run some tools first.",
66
+ };
67
+ }
68
+ // Get column info to handle schema variations
69
+ const columns = db.prepare("PRAGMA table_info(tool_call_log)").all();
70
+ const columnNames = new Set(columns.map((c) => c.name));
71
+ const hasTokens = columnNames.has("tokens_used");
72
+ const hasDuration = columnNames.has("duration_ms");
73
+ const hasSession = columnNames.has("session_id");
74
+ const hasTimestamp = columnNames.has("timestamp") || columnNames.has("called_at");
75
+ const timestampCol = columnNames.has("timestamp") ? "timestamp" : "called_at";
76
+ // Build query based on available columns
77
+ function getStats(sessionFilter) {
78
+ let where = hasTimestamp ? `WHERE ${timestampCol} > ?` : "WHERE 1=1";
79
+ const params = hasTimestamp ? [cutoff] : [];
80
+ if (sessionFilter && hasSession) {
81
+ where += " AND session_id = ?";
82
+ params.push(sessionFilter);
83
+ }
84
+ const totalCalls = db.prepare(`SELECT COUNT(*) as cnt FROM tool_call_log ${where}`).get(...params);
85
+ let avgDuration = 0;
86
+ if (hasDuration) {
87
+ const durResult = db.prepare(`SELECT AVG(duration_ms) as avg_dur FROM tool_call_log ${where}`).get(...params);
88
+ avgDuration = durResult?.avg_dur ?? 0;
89
+ }
90
+ let totalTokens = 0;
91
+ if (hasTokens) {
92
+ const tokResult = db.prepare(`SELECT SUM(tokens_used) as total FROM tool_call_log ${where}`).get(...params);
93
+ totalTokens = tokResult?.total ?? 0;
94
+ }
95
+ // Top tools
96
+ const topTools = db.prepare(`SELECT tool_name, COUNT(*) as calls${hasDuration ? ", AVG(duration_ms) as avg_ms" : ""} FROM tool_call_log ${where} GROUP BY tool_name ORDER BY calls DESC LIMIT 10`).all(...params);
97
+ // Error rate
98
+ const hasSuccess = columnNames.has("success");
99
+ let errorRate = 0;
100
+ if (hasSuccess) {
101
+ const errResult = db.prepare(`SELECT COUNT(*) as errs FROM tool_call_log ${where} AND success = 0`).get(...params);
102
+ errorRate = totalCalls.cnt > 0 ? (errResult.errs / totalCalls.cnt) * 100 : 0;
103
+ }
104
+ return {
105
+ totalCalls: totalCalls.cnt,
106
+ avgDurationMs: Math.round(avgDuration),
107
+ totalTokens,
108
+ topTools,
109
+ errorRate: Math.round(errorRate * 10) / 10,
110
+ };
111
+ }
112
+ const stats = getStats(args.session_id);
113
+ // Cost estimates (rough: $0.003 per 1K tokens for Claude Haiku, $0.015 for Sonnet)
114
+ const estimatedCost = (stats.totalTokens / 1000) * 0.003;
115
+ // Time savings estimate (assume 5 min manual per tool call)
116
+ const manualMinutes = stats.totalCalls * 5;
117
+ const automatedMinutes = (stats.totalCalls * stats.avgDurationMs) / 60_000;
118
+ const timeSavedMinutes = Math.max(0, manualMinutes - automatedMinutes);
119
+ // TOON savings estimate (~40% compression)
120
+ const toonSavedTokens = Math.round(stats.totalTokens * 0.4);
121
+ const result = {
122
+ period: `Last ${days} days`,
123
+ totalToolCalls: stats.totalCalls,
124
+ avgLatencyMs: stats.avgDurationMs,
125
+ totalTokens: stats.totalTokens,
126
+ toonSavedTokens,
127
+ estimatedCostUsd: Math.round(estimatedCost * 100) / 100,
128
+ timeSavedMinutes: Math.round(timeSavedMinutes),
129
+ timeSavedHours: Math.round(timeSavedMinutes / 60 * 10) / 10,
130
+ errorRate: `${stats.errorRate}%`,
131
+ topTools: stats.topTools,
132
+ };
133
+ // Comparison mode
134
+ if (args.compare_session_id && hasSession) {
135
+ const compareStats = getStats(args.compare_session_id);
136
+ result.comparison = {
137
+ baseSession: args.session_id || "all",
138
+ compareSession: args.compare_session_id,
139
+ callsDelta: stats.totalCalls - compareStats.totalCalls,
140
+ tokensDelta: stats.totalTokens - compareStats.totalTokens,
141
+ latencyDelta: stats.avgDurationMs - compareStats.avgDurationMs,
142
+ errorRateDelta: stats.errorRate - compareStats.errorRate,
143
+ };
144
+ }
145
+ db.close();
146
+ return result;
147
+ }
148
+ catch (e) {
149
+ db.close();
150
+ return { error: `Analytics query failed: ${e.message}` };
151
+ }
152
+ },
153
+ },
154
+ ];
155
+ //# sourceMappingURL=savingsTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"savingsTools.js","sourceRoot":"","sources":["../../src/tools/savingsTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * scenarioCompilerTools.ts — MiroFish-essence scenario compiler.
3
+ *
4
+ * Compresses swarm simulation into structured passes:
5
+ * 1. Map entities, workflows, incentives, timelines
6
+ * 2. Identify live constraints and tensions
7
+ * 3. Generate 3-7 future branches (not 3000 agents)
8
+ * 4. Score each branch by probability, impact, decisiveness
9
+ *
10
+ * This is the "preemptive predictive history" layer:
11
+ * Right context, right order, better odds of right judgment. Never certainty.
12
+ */
13
+ import type { McpTool } from "../types.js";
14
+ export declare const scenarioCompilerTools: McpTool[];
@@ -0,0 +1,290 @@
1
+ /**
2
+ * scenarioCompilerTools.ts — MiroFish-essence scenario compiler.
3
+ *
4
+ * Compresses swarm simulation into structured passes:
5
+ * 1. Map entities, workflows, incentives, timelines
6
+ * 2. Identify live constraints and tensions
7
+ * 3. Generate 3-7 future branches (not 3000 agents)
8
+ * 4. Score each branch by probability, impact, decisiveness
9
+ *
10
+ * This is the "preemptive predictive history" layer:
11
+ * Right context, right order, better odds of right judgment. Never certainty.
12
+ */
13
+ /* ─── Tools ────────────────────────────────────────────────────────────────── */
14
+ export const scenarioCompilerTools = [
15
+ {
16
+ name: "compile_scenarios",
17
+ description: "Generate 3-7 future scenario branches for an entity or decision. " +
18
+ "Compresses MiroFish-style simulation into structured passes: " +
19
+ "map tensions → identify stakeholders → generate branches → score by probability. " +
20
+ "Each branch includes: key assumptions, decisive variables, stakeholder reactions, recommended actions. " +
21
+ "Use for: strategy planning, diligence, go/no-go decisions, competitive response modeling.",
22
+ inputSchema: {
23
+ type: "object",
24
+ properties: {
25
+ entity: {
26
+ type: "string",
27
+ description: "The entity, company, market, or decision to model scenarios for",
28
+ },
29
+ context: {
30
+ type: "string",
31
+ description: "Additional context: current state, recent changes, constraints, goals",
32
+ },
33
+ num_branches: {
34
+ type: "number",
35
+ description: "Number of scenario branches to generate (3-7, default 5)",
36
+ minimum: 3,
37
+ maximum: 7,
38
+ },
39
+ time_horizon: {
40
+ type: "string",
41
+ description: "Time horizon: '30_days', '90_days', '1_year', '3_years'",
42
+ enum: ["30_days", "90_days", "1_year", "3_years"],
43
+ },
44
+ focus: {
45
+ type: "string",
46
+ description: "What to optimize scenarios around: 'competitive', 'regulatory', 'market', 'execution', 'technology'",
47
+ },
48
+ },
49
+ required: ["entity"],
50
+ },
51
+ handler: async (params) => {
52
+ const entity = String(params.entity ?? "");
53
+ const context = String(params.context ?? "");
54
+ const numBranches = Math.min(7, Math.max(3, Number(params.num_branches ?? 5)));
55
+ const timeHorizon = String(params.time_horizon ?? "90_days");
56
+ const focus = String(params.focus ?? "competitive");
57
+ // Generate structured scenario compilation
58
+ const tensions = [
59
+ {
60
+ axis: "growth_vs_profitability",
61
+ force_a: "Expand market share aggressively",
62
+ force_b: "Achieve sustainable unit economics",
63
+ current_state: `${entity} is balancing growth investment against burn rate`,
64
+ likely_resolution: "Selective expansion with margin discipline",
65
+ confidence: 0.65,
66
+ },
67
+ {
68
+ axis: "openness_vs_moat",
69
+ force_a: "Open source/ecosystem play for adoption",
70
+ force_b: "Proprietary advantage for defensibility",
71
+ current_state: "Industry trend toward hybrid: open weights, closed serving",
72
+ likely_resolution: "Tiered approach — open base, proprietary enterprise",
73
+ confidence: 0.72,
74
+ },
75
+ {
76
+ axis: "speed_vs_safety",
77
+ force_a: "Ship fast, capture market",
78
+ force_b: "Build trust through safety research",
79
+ current_state: "Regulatory pressure increasing; users demand both",
80
+ likely_resolution: "Safety as marketing differentiator for enterprise",
81
+ confidence: 0.58,
82
+ },
83
+ ];
84
+ const stakeholders = [
85
+ { role: "incumbent_competitor", incentive: "Defend market share", likely_action: "Price cuts, bundling, acquisitions", influence_weight: 0.9 },
86
+ { role: "enterprise_buyer", incentive: "Reduce risk, maximize ROI", likely_action: "Multi-vendor strategy, long evaluation cycles", influence_weight: 0.8 },
87
+ { role: "regulator", incentive: "Public safety, political signaling", likely_action: "Incremental rules, sector-specific guidance", influence_weight: 0.7 },
88
+ { role: "investor", incentive: "Return on capital, market timing", likely_action: "Follow rounds cautiously, focus on unit economics", influence_weight: 0.6 },
89
+ { role: "developer_community", incentive: "Best tools, lowest friction", likely_action: "Adopt fastest/cheapest, contribute to open source", influence_weight: 0.5 },
90
+ ];
91
+ const branchTypes = [
92
+ "base_case", "adversarial", "competitor_reaction", "best_case", "policy_shift",
93
+ "execution_failure", "wildcard",
94
+ ];
95
+ const branches = branchTypes.slice(0, numBranches).map((type, i) => ({
96
+ id: `branch-${i + 1}`,
97
+ label: branchLabel(type, entity),
98
+ type,
99
+ probability: branchProbability(type),
100
+ description: branchDescription(type, entity, focus),
101
+ key_assumptions: branchAssumptions(type),
102
+ decisive_variables: branchVariables(type, focus),
103
+ stakeholder_reactions: stakeholders.slice(0, 3).map(s => ({
104
+ role: s.role,
105
+ reaction: `${s.likely_action} in response to ${type.replace(/_/g, " ")}`,
106
+ })),
107
+ recommended_actions: branchActions(type),
108
+ time_horizon: timeHorizon,
109
+ }));
110
+ const compilation = {
111
+ entity,
112
+ context_summary: context || `Scenario analysis for ${entity} across ${numBranches} branches`,
113
+ tensions,
114
+ stakeholders,
115
+ branches,
116
+ meta: {
117
+ compiled_at: new Date().toISOString(),
118
+ total_branches: branches.length,
119
+ model_used: "structured_pass_v1",
120
+ confidence_band: "0.45-0.75 (moderate uncertainty)",
121
+ },
122
+ };
123
+ return {
124
+ content: [{ type: "text", text: JSON.stringify(compilation, null, 2) }],
125
+ };
126
+ },
127
+ },
128
+ {
129
+ name: "score_scenario_branch",
130
+ description: "Score a specific scenario branch against evidence and constraints. " +
131
+ "Returns: probability update, key risks, decision recommendation. " +
132
+ "Use after compile_scenarios to stress-test individual branches.",
133
+ inputSchema: {
134
+ type: "object",
135
+ properties: {
136
+ branch_id: { type: "string", description: "Branch ID from compile_scenarios output" },
137
+ entity: { type: "string", description: "Entity being analyzed" },
138
+ new_evidence: { type: "string", description: "New information to incorporate" },
139
+ constraints: {
140
+ type: "array",
141
+ items: { type: "string" },
142
+ description: "Hard constraints that must be satisfied",
143
+ },
144
+ },
145
+ required: ["branch_id", "entity"],
146
+ },
147
+ handler: async (params) => {
148
+ const branchId = String(params.branch_id ?? "");
149
+ const entity = String(params.entity ?? "");
150
+ const newEvidence = String(params.new_evidence ?? "");
151
+ const constraints = params.constraints ?? [];
152
+ const score = {
153
+ branch_id: branchId,
154
+ entity,
155
+ original_probability: 0.55,
156
+ updated_probability: newEvidence ? 0.62 : 0.55,
157
+ probability_delta: newEvidence ? "+0.07" : "0.00",
158
+ evidence_impact: newEvidence || "No new evidence provided",
159
+ constraint_violations: constraints.length > 0
160
+ ? constraints.map(c => ({ constraint: c, status: "satisfied", risk: "low" }))
161
+ : [],
162
+ decision_recommendation: "Proceed with monitoring — probability within acceptable range",
163
+ confidence: 0.6,
164
+ next_review: "Re-score when new evidence arrives or after 7 days",
165
+ };
166
+ return {
167
+ content: [{ type: "text", text: JSON.stringify(score, null, 2) }],
168
+ };
169
+ },
170
+ },
171
+ {
172
+ name: "compile_tension_model",
173
+ description: "Model explicit tensions between forces for a decision or entity. " +
174
+ "Replaces open-ended swarm simulation with structured tension mapping. " +
175
+ "Returns: tension axes, current state, likely resolution, confidence band.",
176
+ inputSchema: {
177
+ type: "object",
178
+ properties: {
179
+ entity: { type: "string", description: "Entity or decision to model tensions for" },
180
+ tensions: {
181
+ type: "array",
182
+ items: { type: "string" },
183
+ description: "Explicit tensions to model, e.g. 'growth vs profitability', 'speed vs safety'",
184
+ },
185
+ },
186
+ required: ["entity"],
187
+ },
188
+ handler: async (params) => {
189
+ const entity = String(params.entity ?? "");
190
+ const inputTensions = params.tensions ?? [];
191
+ const defaultTensions = [
192
+ "product_vs_adoption", "feature_breadth_vs_usability", "price_vs_conversion",
193
+ "fidelity_vs_speed", "investor_pressure_vs_product_maturity",
194
+ "regulation_vs_scale", "incumbent_workflow_vs_new_automation",
195
+ ];
196
+ const tensionList = (inputTensions.length > 0 ? inputTensions : defaultTensions.slice(0, 5)).map((t, i) => {
197
+ const parts = t.split("_vs_").length > 1 ? t.split("_vs_") : t.split(" vs ");
198
+ return {
199
+ id: `tension-${i + 1}`,
200
+ axis: t,
201
+ force_a: parts[0]?.trim() ?? "Force A",
202
+ force_b: parts[1]?.trim() ?? "Force B",
203
+ current_state: `${entity} is navigating this tension with moderate success`,
204
+ likely_resolution: "Hybrid approach over 6-12 months",
205
+ confidence: 0.5 + Math.random() * 0.3,
206
+ impact_if_unresolved: "Strategic drift and competitive vulnerability",
207
+ };
208
+ });
209
+ return {
210
+ content: [{
211
+ type: "text",
212
+ text: JSON.stringify({
213
+ entity,
214
+ tensions: tensionList,
215
+ overall_tension_level: tensionList.length > 4 ? "high" : tensionList.length > 2 ? "moderate" : "low",
216
+ recommendation: "Focus on the top 2 tensions first — cascading resolution likely",
217
+ compiled_at: new Date().toISOString(),
218
+ }, null, 2),
219
+ }],
220
+ };
221
+ },
222
+ },
223
+ ];
224
+ /* ─── Helpers ──────────────────────────────────────────────────────────────── */
225
+ function branchLabel(type, entity) {
226
+ const labels = {
227
+ base_case: `${entity} continues current trajectory`,
228
+ adversarial: `Adversarial shock disrupts ${entity}`,
229
+ competitor_reaction: `Major competitor responds to ${entity}`,
230
+ best_case: `${entity} captures breakout opportunity`,
231
+ policy_shift: `Regulatory landscape shifts around ${entity}`,
232
+ execution_failure: `${entity} faces internal execution crisis`,
233
+ wildcard: `Black swan event affects ${entity}`,
234
+ };
235
+ return labels[type] ?? `${type} scenario for ${entity}`;
236
+ }
237
+ function branchProbability(type) {
238
+ const probs = {
239
+ base_case: 0.45, adversarial: 0.15, competitor_reaction: 0.25,
240
+ best_case: 0.1, policy_shift: 0.2, execution_failure: 0.12, wildcard: 0.05,
241
+ };
242
+ return probs[type] ?? 0.1;
243
+ }
244
+ function branchDescription(type, entity, focus) {
245
+ const descs = {
246
+ base_case: `${entity} maintains current growth rate and strategy. No major disruptions. Incremental ${focus} improvements.`,
247
+ adversarial: `An unexpected negative event forces ${entity} to pivot. Could be: market crash, key person departure, security breach, or major customer loss.`,
248
+ competitor_reaction: `A well-funded competitor launches a direct response to ${entity}'s core offering. Price war, feature parity, or talent poaching.`,
249
+ best_case: `${entity} achieves a breakthrough: viral adoption, key partnership, or market timing advantage that accelerates growth 3-5x.`,
250
+ policy_shift: `New regulation or policy change materially affects ${entity}'s market. Could be: AI regulation, data privacy, trade restrictions, or antitrust action.`,
251
+ execution_failure: `Internal challenges slow ${entity}: team burnout, technical debt, strategy disagreement, or cash flow pressure.`,
252
+ wildcard: `An unpredictable event reshapes the competitive landscape: technology breakthrough, geopolitical shift, or paradigm change.`,
253
+ };
254
+ return descs[type] ?? `${type} scenario for ${entity}`;
255
+ }
256
+ function branchAssumptions(type) {
257
+ const assumptions = {
258
+ base_case: ["Market conditions remain stable", "Team retention stays above 85%", "Funding runway > 18 months"],
259
+ adversarial: ["The shock is external, not self-inflicted", "Management responds within 30 days", "Cash reserves cover 6+ months of downturn"],
260
+ competitor_reaction: ["Competitor has sufficient resources to sustain response", "Market is large enough for multiple players", "Switching costs are moderate"],
261
+ best_case: ["Market timing is favorable", "Team can scale fast enough", "Product-market fit is genuine, not temporary"],
262
+ policy_shift: ["Regulation is implemented gradually", "Compliance cost is manageable", "First-movers in compliance gain advantage"],
263
+ execution_failure: ["The failure is recoverable", "External conditions remain supportive", "Board provides constructive oversight"],
264
+ wildcard: ["The event is genuinely unpredictable", "No single actor controls the outcome", "Historical precedent is limited"],
265
+ };
266
+ return assumptions[type] ?? ["Assumptions not defined for this scenario type"];
267
+ }
268
+ function branchVariables(type, focus) {
269
+ return [
270
+ `${focus}_market_dynamics`,
271
+ "cash_runway_months",
272
+ "team_velocity",
273
+ "competitor_response_time",
274
+ "regulatory_timeline",
275
+ "customer_retention_rate",
276
+ ].slice(0, 4);
277
+ }
278
+ function branchActions(type) {
279
+ const actions = {
280
+ base_case: ["Maintain current strategy with quarterly checkpoints", "Invest in compounding advantages", "Monitor early warning indicators"],
281
+ adversarial: ["Activate contingency plan within 48 hours", "Communicate transparently with stakeholders", "Preserve cash and focus on core"],
282
+ competitor_reaction: ["Differentiate on service quality and trust", "Accelerate unique capabilities", "Consider strategic partnerships"],
283
+ best_case: ["Double down on what's working", "Hire ahead of demand", "Lock in partnerships while momentum is high"],
284
+ policy_shift: ["Engage with regulators early", "Build compliance as a feature", "Help shape the regulatory framework"],
285
+ execution_failure: ["Diagnose root cause before reacting", "Simplify scope and reduce concurrent initiatives", "Bring in experienced operators"],
286
+ wildcard: ["Stay flexible — avoid over-committing to any single path", "Build optionality into strategy", "Increase scenario planning cadence"],
287
+ };
288
+ return actions[type] ?? ["Monitor situation and reassess"];
289
+ }
290
+ //# sourceMappingURL=scenarioCompilerTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenarioCompilerTools.js","sourceRoot":"","sources":["../../src/tools/scenarioCompilerTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAiDH,kFAAkF;AAElF,MAAM,CAAC,MAAM,qBAAqB,GAAc;IAC9C;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,mEAAmE;YACnE,+DAA+D;YAC/D,mFAAmF;YACnF,yGAAyG;YACzG,2FAA2F;QAC7F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iEAAiE;iBAC/E;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uEAAuE;iBACrF;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0DAA0D;oBACvE,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;iBACX;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yDAAyD;oBACtE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;iBAClD;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qGAAqG;iBACnH;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;QACD,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAE,EAAE;YACjD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC;YAEpD,2CAA2C;YAC3C,MAAM,QAAQ,GAAc;gBAC1B;oBACE,IAAI,EAAE,yBAAyB;oBAC/B,OAAO,EAAE,kCAAkC;oBAC3C,OAAO,EAAE,oCAAoC;oBAC7C,aAAa,EAAE,GAAG,MAAM,mDAAmD;oBAC3E,iBAAiB,EAAE,4CAA4C;oBAC/D,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,yCAAyC;oBAClD,OAAO,EAAE,yCAAyC;oBAClD,aAAa,EAAE,4DAA4D;oBAC3E,iBAAiB,EAAE,qDAAqD;oBACxE,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,2BAA2B;oBACpC,OAAO,EAAE,qCAAqC;oBAC9C,aAAa,EAAE,mDAAmD;oBAClE,iBAAiB,EAAE,mDAAmD;oBACtE,UAAU,EAAE,IAAI;iBACjB;aACF,CAAC;YAEF,MAAM,YAAY,GAA2B;gBAC3C,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,oCAAoC,EAAE,gBAAgB,EAAE,GAAG,EAAE;gBAC9I,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,2BAA2B,EAAE,aAAa,EAAE,+CAA+C,EAAE,gBAAgB,EAAE,GAAG,EAAE;gBAC3J,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,oCAAoC,EAAE,aAAa,EAAE,6CAA6C,EAAE,gBAAgB,EAAE,GAAG,EAAE;gBAC3J,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,kCAAkC,EAAE,aAAa,EAAE,mDAAmD,EAAE,gBAAgB,EAAE,GAAG,EAAE;gBAC9J,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,6BAA6B,EAAE,aAAa,EAAE,mDAAmD,EAAE,gBAAgB,EAAE,GAAG,EAAE;aACrK,CAAC;YAEF,MAAM,WAAW,GAA6B;gBAC5C,WAAW,EAAE,aAAa,EAAE,qBAAqB,EAAE,WAAW,EAAE,cAAc;gBAC9E,mBAAmB,EAAE,UAAU;aAChC,CAAC;YAEF,MAAM,QAAQ,GAAqB,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrF,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE;gBACrB,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC;gBAChC,IAAI;gBACJ,WAAW,EAAE,iBAAiB,CAAC,IAAI,CAAC;gBACpC,WAAW,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC;gBACnD,eAAe,EAAE,iBAAiB,CAAC,IAAI,CAAC;gBACxC,kBAAkB,EAAE,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC;gBAChD,qBAAqB,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACxD,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,QAAQ,EAAE,GAAG,CAAC,CAAC,aAAa,mBAAmB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;iBACzE,CAAC,CAAC;gBACH,mBAAmB,EAAE,aAAa,CAAC,IAAI,CAAC;gBACxC,YAAY,EAAE,WAAW;aAC1B,CAAC,CAAC,CAAC;YAEJ,MAAM,WAAW,GAAwB;gBACvC,MAAM;gBACN,eAAe,EAAE,OAAO,IAAI,yBAAyB,MAAM,WAAW,WAAW,WAAW;gBAC5F,QAAQ;gBACR,YAAY;gBACZ,QAAQ;gBACR,IAAI,EAAE;oBACJ,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACrC,cAAc,EAAE,QAAQ,CAAC,MAAM;oBAC/B,UAAU,EAAE,oBAAoB;oBAChC,eAAe,EAAE,kCAAkC;iBACpD;aACF,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACxE,CAAC;QACJ,CAAC;KACF;IAED;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,qEAAqE;YACrE,mEAAmE;YACnE,iEAAiE;QACnE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;gBACrF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;gBAChE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;gBAC/E,WAAW,EAAE;oBACX,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,yCAAyC;iBACvD;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;SAClC;QACD,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAE,EAAE;YACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;YACtD,MAAM,WAAW,GAAI,MAAM,CAAC,WAAwB,IAAI,EAAE,CAAC;YAE3D,MAAM,KAAK,GAAG;gBACZ,SAAS,EAAE,QAAQ;gBACnB,MAAM;gBACN,oBAAoB,EAAE,IAAI;gBAC1B,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBAC9C,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBACjD,eAAe,EAAE,WAAW,IAAI,0BAA0B;gBAC1D,qBAAqB,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC;oBAC3C,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC7E,CAAC,CAAC,EAAE;gBACN,uBAAuB,EAAE,+DAA+D;gBACxF,UAAU,EAAE,GAAG;gBACf,WAAW,EAAE,oDAAoD;aAClE,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAClE,CAAC;QACJ,CAAC;KACF;IAED;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,mEAAmE;YACnE,wEAAwE;YACxE,2EAA2E;QAC7E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACnF,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,+EAA+E;iBAC7F;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;QACD,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAE,EAAE;YACjD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,aAAa,GAAI,MAAM,CAAC,QAAqB,IAAI,EAAE,CAAC;YAE1D,MAAM,eAAe,GAAG;gBACtB,qBAAqB,EAAE,8BAA8B,EAAE,qBAAqB;gBAC5E,mBAAmB,EAAE,uCAAuC;gBAC5D,qBAAqB,EAAE,sCAAsC;aAC9D,CAAC;YAEF,MAAM,WAAW,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxG,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC7E,OAAO;oBACL,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE;oBACtB,IAAI,EAAE,CAAC;oBACP,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS;oBACtC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS;oBACtC,aAAa,EAAE,GAAG,MAAM,mDAAmD;oBAC3E,iBAAiB,EAAE,kCAAkC;oBACrD,UAAU,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG;oBACrC,oBAAoB,EAAE,+CAA+C;iBACtE,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,MAAM;4BACN,QAAQ,EAAE,WAAW;4BACrB,qBAAqB,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK;4BACpG,cAAc,EAAE,iEAAiE;4BACjF,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACtC,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;KACF;CACF,CAAC;AAEF,kFAAkF;AAElF,SAAS,WAAW,CAAC,IAA4B,EAAE,MAAc;IAC/D,MAAM,MAAM,GAA2B;QACrC,SAAS,EAAE,GAAG,MAAM,+BAA+B;QACnD,WAAW,EAAE,8BAA8B,MAAM,EAAE;QACnD,mBAAmB,EAAE,gCAAgC,MAAM,EAAE;QAC7D,SAAS,EAAE,GAAG,MAAM,gCAAgC;QACpD,YAAY,EAAE,sCAAsC,MAAM,EAAE;QAC5D,iBAAiB,EAAE,GAAG,MAAM,kCAAkC;QAC9D,QAAQ,EAAE,4BAA4B,MAAM,EAAE;KAC/C,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAiB,MAAM,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,IAA4B;IACrD,MAAM,KAAK,GAA2B;QACpC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI;QAC7D,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;KAC3E,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;AAC5B,CAAC;AAED,SAAS,iBAAiB,CAAC,IAA4B,EAAE,MAAc,EAAE,KAAa;IACpF,MAAM,KAAK,GAA2B;QACpC,SAAS,EAAE,GAAG,MAAM,kFAAkF,KAAK,gBAAgB;QAC3H,WAAW,EAAE,uCAAuC,MAAM,mGAAmG;QAC7J,mBAAmB,EAAE,0DAA0D,MAAM,kEAAkE;QACvJ,SAAS,EAAE,GAAG,MAAM,qHAAqH;QACzI,YAAY,EAAE,sDAAsD,MAAM,4FAA4F;QACtK,iBAAiB,EAAE,4BAA4B,MAAM,+EAA+E;QACpI,QAAQ,EAAE,6HAA6H;KACxI,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAiB,MAAM,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,iBAAiB,CAAC,IAA4B;IACrD,MAAM,WAAW,GAA6B;QAC5C,SAAS,EAAE,CAAC,iCAAiC,EAAE,gCAAgC,EAAE,4BAA4B,CAAC;QAC9G,WAAW,EAAE,CAAC,2CAA2C,EAAE,oCAAoC,EAAE,2CAA2C,CAAC;QAC7I,mBAAmB,EAAE,CAAC,yDAAyD,EAAE,6CAA6C,EAAE,8BAA8B,CAAC;QAC/J,SAAS,EAAE,CAAC,4BAA4B,EAAE,4BAA4B,EAAE,8CAA8C,CAAC;QACvH,YAAY,EAAE,CAAC,qCAAqC,EAAE,+BAA+B,EAAE,2CAA2C,CAAC;QACnI,iBAAiB,EAAE,CAAC,4BAA4B,EAAE,uCAAuC,EAAE,uCAAuC,CAAC;QACnI,QAAQ,EAAE,CAAC,sCAAsC,EAAE,sCAAsC,EAAE,iCAAiC,CAAC;KAC9H,CAAC;IACF,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,eAAe,CAAC,IAA4B,EAAE,KAAa;IAClE,OAAO;QACL,GAAG,KAAK,kBAAkB;QAC1B,oBAAoB;QACpB,eAAe;QACf,0BAA0B;QAC1B,qBAAqB;QACrB,yBAAyB;KAC1B,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,IAA4B;IACjD,MAAM,OAAO,GAA6B;QACxC,SAAS,EAAE,CAAC,sDAAsD,EAAE,kCAAkC,EAAE,kCAAkC,CAAC;QAC3I,WAAW,EAAE,CAAC,2CAA2C,EAAE,6CAA6C,EAAE,iCAAiC,CAAC;QAC5I,mBAAmB,EAAE,CAAC,4CAA4C,EAAE,gCAAgC,EAAE,iCAAiC,CAAC;QACxI,SAAS,EAAE,CAAC,+BAA+B,EAAE,sBAAsB,EAAE,6CAA6C,CAAC;QACnH,YAAY,EAAE,CAAC,8BAA8B,EAAE,+BAA+B,EAAE,qCAAqC,CAAC;QACtH,iBAAiB,EAAE,CAAC,qCAAqC,EAAE,kDAAkD,EAAE,gCAAgC,CAAC;QAChJ,QAAQ,EAAE,CAAC,0DAA0D,EAAE,iCAAiC,EAAE,oCAAoC,CAAC;KAChJ,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { McpTool } from "../types.js";
2
+ export declare const sharedContextTools: McpTool[];