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,172 @@
1
+ export type DurableObjectKind = "view" | "screen" | "action" | "tool" | "workflow" | "run" | "trace" | "artifact" | "outcome" | "approval" | "memory" | "device" | "account" | "peer" | "context_packet" | "task" | "message";
2
+ export type SyncScope = "metadata_only" | "receipts_and_traces" | "memory_and_artifacts" | "full_account_sync";
3
+ export type SyncOperationType = "upsert_object" | "link_object" | "record_receipt" | "record_artifact" | "record_outcome" | "record_memory" | "approval_event" | "register_peer" | "publish_context" | "ack_context" | "invalidate_context" | "send_peer_message" | "task_handoff";
4
+ export type SharedContextProduct = "nodebench" | "ta_studio";
5
+ export type SharedContextSurface = "web" | "browser" | "runner" | "evaluator" | "packet_engine" | "qa_runner" | "monitor" | "local_runtime" | "api";
6
+ export type SharedContextRole = "researcher" | "compiler" | "judge" | "explorer" | "replay" | "environment_builder" | "runner" | "observer" | "monitor" | "router";
7
+ export type SharedContextPacketType = "entity_packet" | "issue_packet" | "workflow_packet" | "trace_packet" | "judge_packet" | "environment_packet" | "failure_packet" | "state_snapshot_packet" | "verdict_packet" | "scenario_packet" | "change_packet";
8
+ export type SharedContextMessageClass = "request" | "response" | "context_offer" | "context_pull" | "task_handoff" | "status_update" | "verdict" | "escalation" | "invalidation";
9
+ export type SharedContextTaskStatus = "proposed" | "accepted" | "rejected" | "completed" | "escalated";
10
+ export interface SharedContextPeerSummary {
11
+ currentTask?: string;
12
+ focusEntity?: string;
13
+ focusWorkflow?: string;
14
+ currentState?: string;
15
+ confidence?: number;
16
+ lastUpdate?: string;
17
+ availableArtifacts?: string[];
18
+ permissionScope?: string[];
19
+ }
20
+ export interface SharedContextPeer {
21
+ peerId: string;
22
+ product: SharedContextProduct;
23
+ tenantId?: string | null;
24
+ workspaceId?: string | null;
25
+ surface: SharedContextSurface;
26
+ role: SharedContextRole;
27
+ capabilities: string[];
28
+ contextScopes: string[];
29
+ status: "active" | "idle" | "stale";
30
+ summary: SharedContextPeerSummary;
31
+ metadata?: Record<string, unknown>;
32
+ lastHeartbeatAt: string;
33
+ }
34
+ export interface SharedContextPacket {
35
+ contextId: string;
36
+ contextType: SharedContextPacketType;
37
+ producerPeerId: string;
38
+ tenantId?: string | null;
39
+ workspaceId?: string | null;
40
+ scope: string[];
41
+ subject: string;
42
+ summary: string;
43
+ claims: string[];
44
+ evidenceRefs: string[];
45
+ stateSnapshot?: Record<string, unknown>;
46
+ timeWindow?: {
47
+ from?: string;
48
+ to?: string;
49
+ };
50
+ freshness?: {
51
+ status?: "fresh" | "warming" | "stale";
52
+ expiresAt?: string;
53
+ trustTier?: "internal" | "verified" | "directional";
54
+ };
55
+ permissions?: {
56
+ visibility?: "internal" | "workspace" | "tenant";
57
+ allowedRoles?: string[];
58
+ };
59
+ confidence?: number;
60
+ lineage?: {
61
+ parentContextIds?: string[];
62
+ sourceRunId?: string;
63
+ sourceTraceId?: string;
64
+ supersedes?: string;
65
+ };
66
+ invalidates?: string[];
67
+ nextActions?: string[];
68
+ version: number;
69
+ status: "active" | "superseded" | "invalidated";
70
+ metadata?: Record<string, unknown>;
71
+ }
72
+ export interface SharedContextTask {
73
+ taskId: string;
74
+ taskType: string;
75
+ proposerPeerId: string;
76
+ assigneePeerId: string;
77
+ status: SharedContextTaskStatus;
78
+ taskSpec: Record<string, unknown>;
79
+ inputContextIds: string[];
80
+ outputContextId?: string | null;
81
+ reason?: string | null;
82
+ createdAt: string;
83
+ updatedAt: string;
84
+ }
85
+ export interface SyncQueueOperation {
86
+ id: string;
87
+ objectId: string | null;
88
+ objectKind: DurableObjectKind | string;
89
+ opType: SyncOperationType | string;
90
+ payload: Record<string, unknown>;
91
+ payloadHash: string;
92
+ createdAt: string;
93
+ }
94
+ export interface SyncBridgePairDevicePayload {
95
+ pairingCode?: string;
96
+ deviceToken?: string;
97
+ deviceId: string;
98
+ deviceName: string;
99
+ platform?: string;
100
+ appVersion?: string;
101
+ requestedScopes?: SyncScope[];
102
+ workspaceId?: string;
103
+ metadata?: Record<string, unknown>;
104
+ }
105
+ export interface SyncBridgePairedPayload {
106
+ deviceToken: string;
107
+ deviceId: string;
108
+ userId: string;
109
+ workspaceId?: string;
110
+ scopesGranted: SyncScope[];
111
+ pairedAt: string;
112
+ syncEnabled: boolean;
113
+ }
114
+ export interface SyncBridgeSyncBatchPayload {
115
+ deviceId: string;
116
+ operations: SyncQueueOperation[];
117
+ }
118
+ export interface SyncBridgeSyncAckPayload {
119
+ acceptedIds: string[];
120
+ rejected: Array<{
121
+ id: string;
122
+ reason: string;
123
+ }>;
124
+ serverWatermark: string;
125
+ }
126
+ export interface SyncBridgeApprovalEventPayload {
127
+ approvalId: string;
128
+ action: "approved" | "rejected" | "revoked";
129
+ actorUserId?: string;
130
+ detail?: string;
131
+ metadata?: Record<string, unknown>;
132
+ }
133
+ export interface SyncBridgeErrorPayload {
134
+ code: string;
135
+ message: string;
136
+ retryable?: boolean;
137
+ }
138
+ export interface PairingGrant {
139
+ pairingCode: string;
140
+ userId: string;
141
+ workspaceId?: string;
142
+ scopes: SyncScope[];
143
+ expiresAt: string;
144
+ metadata?: Record<string, unknown>;
145
+ }
146
+ export interface AccountSyncSnapshot {
147
+ userId: string;
148
+ workspaceId?: string;
149
+ connectedDevices: Array<{
150
+ deviceId: string;
151
+ deviceName: string;
152
+ platform?: string;
153
+ pairedAt: string;
154
+ lastSeenAt: string;
155
+ scopesGranted: SyncScope[];
156
+ }>;
157
+ recentOperations: Array<{
158
+ id: string;
159
+ deviceId: string;
160
+ objectId: string | null;
161
+ objectKind: string;
162
+ opType: string;
163
+ acceptedAt: string;
164
+ }>;
165
+ }
166
+ export interface SyncBridgeEnvelope {
167
+ type: "pair_device" | "paired" | "sync_batch" | "sync_ack" | "approval_event" | "error" | "ping" | "pong";
168
+ id: string;
169
+ timestamp: string;
170
+ payload: SyncBridgePairDevicePayload | SyncBridgePairedPayload | SyncBridgeSyncBatchPayload | SyncBridgeSyncAckPayload | SyncBridgeApprovalEventPayload | SyncBridgeErrorPayload | Record<string, never>;
171
+ }
172
+ export declare function createSyncEnvelope<T extends SyncBridgeEnvelope["payload"]>(type: SyncBridgeEnvelope["type"], payload: T): SyncBridgeEnvelope;
@@ -0,0 +1,9 @@
1
+ export function createSyncEnvelope(type, payload) {
2
+ return {
3
+ type,
4
+ id: `${type}_${Date.now()}_${Math.random().toString(36).slice(2, 10)}`,
5
+ timestamp: new Date().toISOString(),
6
+ payload,
7
+ };
8
+ }
9
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/sync/protocol.ts"],"names":[],"mappings":"AA4RA,MAAM,UAAU,kBAAkB,CAChC,IAAgC,EAChC,OAAU;IAEV,OAAO;QACL,IAAI;QACJ,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QACtE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * sessionMemory.ts — Session-scoped action/failure memory for agent learning.
3
+ *
4
+ * Ported from TA Studio's SessionMemory + LearningStore pattern.
5
+ * Records every action and failure in a session, generates reflection
6
+ * prompts for retry, and persists recovery strategies across sessions.
7
+ *
8
+ * Storage: SQLite (shared with founderEpisodeStore).
9
+ */
10
+ export interface ActionRecord {
11
+ actionId: string;
12
+ episodeId: string;
13
+ stepIndex: number;
14
+ toolName: string;
15
+ input: string;
16
+ output: string;
17
+ success: boolean;
18
+ durationMs: number;
19
+ timestamp: string;
20
+ }
21
+ export interface FailureRecord {
22
+ failureId: string;
23
+ episodeId: string;
24
+ stepIndex: number;
25
+ toolName: string;
26
+ failureType: string;
27
+ rootCause: string;
28
+ recoveryStrategy: string;
29
+ recoverySuccessful: boolean | null;
30
+ timestamp: string;
31
+ }
32
+ export interface RecoveryStrategy {
33
+ strategyId: string;
34
+ failureType: string;
35
+ toolName: string;
36
+ strategy: string;
37
+ successCount: number;
38
+ failureCount: number;
39
+ lastUsed: string;
40
+ }
41
+ export declare function initSessionMemoryTables(): void;
42
+ export declare function recordAction(action: Omit<ActionRecord, "actionId">): ActionRecord;
43
+ export declare function recordFailure(failure: Omit<FailureRecord, "failureId">): FailureRecord;
44
+ export declare function recordRecoveryOutcome(failureType: string, toolName: string, strategy: string, succeeded: boolean): void;
45
+ export declare function getReflectionPrompt(failureType: string, toolName: string): string;
46
+ export declare function getSessionActions(episodeId: string): ActionRecord[];
47
+ export declare function getSessionFailures(episodeId: string): FailureRecord[];
@@ -0,0 +1,138 @@
1
+ /**
2
+ * sessionMemory.ts — Session-scoped action/failure memory for agent learning.
3
+ *
4
+ * Ported from TA Studio's SessionMemory + LearningStore pattern.
5
+ * Records every action and failure in a session, generates reflection
6
+ * prompts for retry, and persists recovery strategies across sessions.
7
+ *
8
+ * Storage: SQLite (shared with founderEpisodeStore).
9
+ */
10
+ import { getDb, genId } from "../db.js";
11
+ // ─── Schema init ─────────────────────────────────────────────────
12
+ const MAX_ACTIONS_PER_EPISODE = 200;
13
+ const MAX_RECOVERY_STRATEGIES = 100;
14
+ const TRUNCATE_LIMIT = 2048;
15
+ function truncate(s, limit = TRUNCATE_LIMIT) {
16
+ return s.length > limit ? s.slice(0, limit - 3) + "..." : s;
17
+ }
18
+ export function initSessionMemoryTables() {
19
+ const db = getDb();
20
+ db.exec(`
21
+ CREATE TABLE IF NOT EXISTS session_actions (
22
+ action_id TEXT PRIMARY KEY,
23
+ episode_id TEXT NOT NULL,
24
+ step_index INTEGER NOT NULL,
25
+ tool_name TEXT NOT NULL,
26
+ input TEXT NOT NULL,
27
+ output TEXT NOT NULL,
28
+ success INTEGER NOT NULL,
29
+ duration_ms INTEGER NOT NULL,
30
+ timestamp TEXT NOT NULL
31
+ );
32
+
33
+ CREATE TABLE IF NOT EXISTS session_failures (
34
+ failure_id TEXT PRIMARY KEY,
35
+ episode_id TEXT NOT NULL,
36
+ step_index INTEGER NOT NULL,
37
+ tool_name TEXT NOT NULL,
38
+ failure_type TEXT NOT NULL,
39
+ root_cause TEXT NOT NULL,
40
+ recovery_strategy TEXT NOT NULL,
41
+ recovery_successful INTEGER,
42
+ timestamp TEXT NOT NULL
43
+ );
44
+
45
+ CREATE TABLE IF NOT EXISTS recovery_strategies (
46
+ strategy_id TEXT PRIMARY KEY,
47
+ failure_type TEXT NOT NULL,
48
+ tool_name TEXT NOT NULL,
49
+ strategy TEXT NOT NULL,
50
+ success_count INTEGER NOT NULL DEFAULT 0,
51
+ failure_count INTEGER NOT NULL DEFAULT 0,
52
+ last_used TEXT NOT NULL
53
+ );
54
+
55
+ CREATE INDEX IF NOT EXISTS idx_actions_episode ON session_actions(episode_id);
56
+ CREATE INDEX IF NOT EXISTS idx_failures_episode ON session_failures(episode_id);
57
+ CREATE INDEX IF NOT EXISTS idx_recovery_type ON recovery_strategies(failure_type, tool_name);
58
+ `);
59
+ }
60
+ // ─── Record actions ──────────────────────────────────────────────
61
+ export function recordAction(action) {
62
+ const db = getDb();
63
+ initSessionMemoryTables();
64
+ const actionId = genId("action");
65
+ // Enforce bounded memory: evict oldest actions if over limit
66
+ const countStmt = db.prepare("SELECT COUNT(*) as cnt FROM session_actions WHERE episode_id = ?");
67
+ const count = countStmt.get(action.episodeId)?.cnt ?? 0;
68
+ if (count >= MAX_ACTIONS_PER_EPISODE) {
69
+ db.prepare("DELETE FROM session_actions WHERE action_id IN (SELECT action_id FROM session_actions WHERE episode_id = ? ORDER BY timestamp ASC LIMIT 10)").run(action.episodeId);
70
+ }
71
+ db.prepare(`
72
+ INSERT INTO session_actions (action_id, episode_id, step_index, tool_name, input, output, success, duration_ms, timestamp)
73
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
74
+ `).run(actionId, action.episodeId, action.stepIndex, action.toolName, truncate(action.input), truncate(action.output), action.success ? 1 : 0, action.durationMs, action.timestamp);
75
+ return { ...action, actionId };
76
+ }
77
+ // ─── Record failures ─────────────────────────────────────────────
78
+ export function recordFailure(failure) {
79
+ const db = getDb();
80
+ initSessionMemoryTables();
81
+ const failureId = genId("failure");
82
+ db.prepare(`
83
+ INSERT INTO session_failures (failure_id, episode_id, step_index, tool_name, failure_type, root_cause, recovery_strategy, recovery_successful, timestamp)
84
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
85
+ `).run(failureId, failure.episodeId, failure.stepIndex, failure.toolName, failure.failureType, failure.rootCause, failure.recoveryStrategy, failure.recoverySuccessful == null ? null : failure.recoverySuccessful ? 1 : 0, failure.timestamp);
86
+ return { ...failure, failureId };
87
+ }
88
+ // ─── Recovery strategy persistence ───────────────────────────────
89
+ export function recordRecoveryOutcome(failureType, toolName, strategy, succeeded) {
90
+ const db = getDb();
91
+ initSessionMemoryTables();
92
+ const existing = db.prepare("SELECT strategy_id, success_count, failure_count FROM recovery_strategies WHERE failure_type = ? AND tool_name = ? AND strategy = ?").get(failureType, toolName, strategy);
93
+ if (existing) {
94
+ if (succeeded) {
95
+ db.prepare("UPDATE recovery_strategies SET success_count = success_count + 1, last_used = ? WHERE strategy_id = ?")
96
+ .run(new Date().toISOString(), existing.strategy_id);
97
+ }
98
+ else {
99
+ db.prepare("UPDATE recovery_strategies SET failure_count = failure_count + 1, last_used = ? WHERE strategy_id = ?")
100
+ .run(new Date().toISOString(), existing.strategy_id);
101
+ }
102
+ }
103
+ else {
104
+ // Enforce bounded: evict lowest success rate if over limit
105
+ const countRow = db.prepare("SELECT COUNT(*) as cnt FROM recovery_strategies").get();
106
+ if ((countRow?.cnt ?? 0) >= MAX_RECOVERY_STRATEGIES) {
107
+ db.prepare("DELETE FROM recovery_strategies WHERE strategy_id IN (SELECT strategy_id FROM recovery_strategies ORDER BY (CAST(success_count AS REAL) / MAX(success_count + failure_count, 1)) ASC LIMIT 5)").run();
108
+ }
109
+ db.prepare(`
110
+ INSERT INTO recovery_strategies (strategy_id, failure_type, tool_name, strategy, success_count, failure_count, last_used)
111
+ VALUES (?, ?, ?, ?, ?, ?, ?)
112
+ `).run(genId("recovery"), failureType, toolName, strategy, succeeded ? 1 : 0, succeeded ? 0 : 1, new Date().toISOString());
113
+ }
114
+ }
115
+ // ─── Reflection prompt generation ────────────────────────────────
116
+ export function getReflectionPrompt(failureType, toolName) {
117
+ const db = getDb();
118
+ initSessionMemoryTables();
119
+ // Get proven recovery strategies for this failure type
120
+ const strategies = db.prepare("SELECT strategy, success_count, failure_count FROM recovery_strategies WHERE failure_type = ? AND tool_name = ? AND success_count > 0 ORDER BY success_count DESC LIMIT 3").all(failureType, toolName);
121
+ if (strategies.length === 0) {
122
+ return `No known recovery strategies for ${failureType} on ${toolName}. Try a different approach.`;
123
+ }
124
+ const lines = strategies.map((s, i) => `${i + 1}. "${s.strategy}" (succeeded ${s.success_count}x, failed ${s.failure_count}x)`);
125
+ return `Known recovery strategies for ${failureType} on ${toolName}:\n${lines.join("\n")}\nUse the most successful strategy, or try a new approach if all have been exhausted.`;
126
+ }
127
+ // ─── Query helpers ────────────────────────────────────────────────
128
+ export function getSessionActions(episodeId) {
129
+ const db = getDb();
130
+ initSessionMemoryTables();
131
+ return db.prepare("SELECT * FROM session_actions WHERE episode_id = ? ORDER BY step_index ASC").all(episodeId);
132
+ }
133
+ export function getSessionFailures(episodeId) {
134
+ const db = getDb();
135
+ initSessionMemoryTables();
136
+ return db.prepare("SELECT * FROM session_failures WHERE episode_id = ? ORDER BY step_index ASC").all(episodeId);
137
+ }
138
+ //# sourceMappingURL=sessionMemory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionMemory.js","sourceRoot":"","sources":["../../src/sync/sessionMemory.ts"],"names":[],"mappings":"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"}