erosolar-cli 1.7.344 → 1.7.346

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 (328) hide show
  1. package/README.md +148 -24
  2. package/dist/alpha-zero/agentWrapper.d.ts +84 -0
  3. package/dist/alpha-zero/agentWrapper.d.ts.map +1 -0
  4. package/dist/alpha-zero/agentWrapper.js +171 -0
  5. package/dist/alpha-zero/agentWrapper.js.map +1 -0
  6. package/dist/alpha-zero/codeEvaluator.d.ts +25 -0
  7. package/dist/alpha-zero/codeEvaluator.d.ts.map +1 -0
  8. package/dist/alpha-zero/codeEvaluator.js +273 -0
  9. package/dist/alpha-zero/codeEvaluator.js.map +1 -0
  10. package/dist/alpha-zero/competitiveRunner.d.ts +66 -0
  11. package/dist/alpha-zero/competitiveRunner.d.ts.map +1 -0
  12. package/dist/alpha-zero/competitiveRunner.js +224 -0
  13. package/dist/alpha-zero/competitiveRunner.js.map +1 -0
  14. package/dist/alpha-zero/index.d.ts +67 -0
  15. package/dist/alpha-zero/index.d.ts.map +1 -0
  16. package/dist/alpha-zero/index.js +99 -0
  17. package/dist/alpha-zero/index.js.map +1 -0
  18. package/dist/alpha-zero/introspection.d.ts +128 -0
  19. package/dist/alpha-zero/introspection.d.ts.map +1 -0
  20. package/dist/alpha-zero/introspection.js +300 -0
  21. package/dist/alpha-zero/introspection.js.map +1 -0
  22. package/dist/alpha-zero/metricsTracker.d.ts +71 -0
  23. package/dist/alpha-zero/metricsTracker.d.ts.map +1 -0
  24. package/dist/{core → alpha-zero}/metricsTracker.js +5 -2
  25. package/dist/alpha-zero/metricsTracker.js.map +1 -0
  26. package/dist/alpha-zero/security/core.d.ts +125 -0
  27. package/dist/alpha-zero/security/core.d.ts.map +1 -0
  28. package/dist/alpha-zero/security/core.js +271 -0
  29. package/dist/alpha-zero/security/core.js.map +1 -0
  30. package/dist/alpha-zero/security/google.d.ts +125 -0
  31. package/dist/alpha-zero/security/google.d.ts.map +1 -0
  32. package/dist/alpha-zero/security/google.js +311 -0
  33. package/dist/alpha-zero/security/google.js.map +1 -0
  34. package/dist/alpha-zero/security/googleLoader.d.ts +17 -0
  35. package/dist/alpha-zero/security/googleLoader.d.ts.map +1 -0
  36. package/dist/alpha-zero/security/googleLoader.js +41 -0
  37. package/dist/alpha-zero/security/googleLoader.js.map +1 -0
  38. package/dist/alpha-zero/security/index.d.ts +29 -0
  39. package/dist/alpha-zero/security/index.d.ts.map +1 -0
  40. package/dist/alpha-zero/security/index.js +32 -0
  41. package/dist/alpha-zero/security/index.js.map +1 -0
  42. package/dist/alpha-zero/security/simulation.d.ts +124 -0
  43. package/dist/alpha-zero/security/simulation.d.ts.map +1 -0
  44. package/dist/alpha-zero/security/simulation.js +277 -0
  45. package/dist/alpha-zero/security/simulation.js.map +1 -0
  46. package/dist/alpha-zero/selfModification.d.ts +109 -0
  47. package/dist/alpha-zero/selfModification.d.ts.map +1 -0
  48. package/dist/alpha-zero/selfModification.js +233 -0
  49. package/dist/alpha-zero/selfModification.js.map +1 -0
  50. package/dist/alpha-zero/types.d.ts +170 -0
  51. package/dist/alpha-zero/types.d.ts.map +1 -0
  52. package/dist/alpha-zero/types.js +31 -0
  53. package/dist/alpha-zero/types.js.map +1 -0
  54. package/dist/bin/erosolar.js +21 -5
  55. package/dist/bin/erosolar.js.map +1 -1
  56. package/dist/capabilities/agentSpawningCapability.d.ts.map +1 -1
  57. package/dist/capabilities/agentSpawningCapability.js +31 -56
  58. package/dist/capabilities/agentSpawningCapability.js.map +1 -1
  59. package/dist/capabilities/securityTestingCapability.d.ts +13 -0
  60. package/dist/capabilities/securityTestingCapability.d.ts.map +1 -0
  61. package/dist/capabilities/securityTestingCapability.js +25 -0
  62. package/dist/capabilities/securityTestingCapability.js.map +1 -0
  63. package/dist/contracts/agent-schemas.json +15 -0
  64. package/dist/contracts/tools.schema.json +9 -0
  65. package/dist/core/agent.d.ts +2 -2
  66. package/dist/core/agent.d.ts.map +1 -1
  67. package/dist/core/agent.js.map +1 -1
  68. package/dist/core/aiFlowOptimizer.d.ts +26 -0
  69. package/dist/core/aiFlowOptimizer.d.ts.map +1 -0
  70. package/dist/core/aiFlowOptimizer.js +31 -0
  71. package/dist/core/aiFlowOptimizer.js.map +1 -0
  72. package/dist/core/aiOptimizationEngine.d.ts +158 -0
  73. package/dist/core/aiOptimizationEngine.d.ts.map +1 -0
  74. package/dist/core/aiOptimizationEngine.js +428 -0
  75. package/dist/core/aiOptimizationEngine.js.map +1 -0
  76. package/dist/core/aiOptimizationIntegration.d.ts +93 -0
  77. package/dist/core/aiOptimizationIntegration.d.ts.map +1 -0
  78. package/dist/core/aiOptimizationIntegration.js +250 -0
  79. package/dist/core/aiOptimizationIntegration.js.map +1 -0
  80. package/dist/core/customCommands.d.ts +0 -1
  81. package/dist/core/customCommands.d.ts.map +1 -1
  82. package/dist/core/customCommands.js +0 -3
  83. package/dist/core/customCommands.js.map +1 -1
  84. package/dist/core/enhancedErrorRecovery.d.ts +100 -0
  85. package/dist/core/enhancedErrorRecovery.d.ts.map +1 -0
  86. package/dist/core/enhancedErrorRecovery.js +345 -0
  87. package/dist/core/enhancedErrorRecovery.js.map +1 -0
  88. package/dist/core/hooksSystem.d.ts +65 -0
  89. package/dist/core/hooksSystem.d.ts.map +1 -0
  90. package/dist/core/hooksSystem.js +273 -0
  91. package/dist/core/hooksSystem.js.map +1 -0
  92. package/dist/core/memorySystem.d.ts +48 -0
  93. package/dist/core/memorySystem.d.ts.map +1 -0
  94. package/dist/core/memorySystem.js +271 -0
  95. package/dist/core/memorySystem.js.map +1 -0
  96. package/dist/core/sessionStore.d.ts +0 -2
  97. package/dist/core/sessionStore.d.ts.map +1 -1
  98. package/dist/core/sessionStore.js +0 -1
  99. package/dist/core/sessionStore.js.map +1 -1
  100. package/dist/core/toolPreconditions.d.ts.map +1 -1
  101. package/dist/core/toolPreconditions.js +14 -0
  102. package/dist/core/toolPreconditions.js.map +1 -1
  103. package/dist/core/toolRuntime.d.ts +1 -22
  104. package/dist/core/toolRuntime.d.ts.map +1 -1
  105. package/dist/core/toolRuntime.js +5 -0
  106. package/dist/core/toolRuntime.js.map +1 -1
  107. package/dist/core/toolValidation.d.ts.map +1 -1
  108. package/dist/core/toolValidation.js +3 -14
  109. package/dist/core/toolValidation.js.map +1 -1
  110. package/dist/core/unified/errors.d.ts +189 -0
  111. package/dist/core/unified/errors.d.ts.map +1 -0
  112. package/dist/core/unified/errors.js +497 -0
  113. package/dist/core/unified/errors.js.map +1 -0
  114. package/dist/core/unified/index.d.ts +19 -0
  115. package/dist/core/unified/index.d.ts.map +1 -0
  116. package/dist/core/unified/index.js +68 -0
  117. package/dist/core/unified/index.js.map +1 -0
  118. package/dist/core/unified/schema.d.ts +101 -0
  119. package/dist/core/unified/schema.d.ts.map +1 -0
  120. package/dist/core/unified/schema.js +350 -0
  121. package/dist/core/unified/schema.js.map +1 -0
  122. package/dist/core/unified/toolRuntime.d.ts +179 -0
  123. package/dist/core/unified/toolRuntime.d.ts.map +1 -0
  124. package/dist/core/unified/toolRuntime.js +517 -0
  125. package/dist/core/unified/toolRuntime.js.map +1 -0
  126. package/dist/core/unified/tools.d.ts +127 -0
  127. package/dist/core/unified/tools.d.ts.map +1 -0
  128. package/dist/core/unified/tools.js +1333 -0
  129. package/dist/core/unified/tools.js.map +1 -0
  130. package/dist/core/unified/types.d.ts +352 -0
  131. package/dist/core/unified/types.d.ts.map +1 -0
  132. package/dist/core/unified/types.js +12 -0
  133. package/dist/core/unified/types.js.map +1 -0
  134. package/dist/core/unified/version.d.ts +209 -0
  135. package/dist/core/unified/version.d.ts.map +1 -0
  136. package/dist/core/unified/version.js +454 -0
  137. package/dist/core/unified/version.js.map +1 -0
  138. package/dist/core/validationRunner.d.ts +3 -1
  139. package/dist/core/validationRunner.d.ts.map +1 -1
  140. package/dist/core/validationRunner.js.map +1 -1
  141. package/dist/headless/headlessApp.d.ts.map +1 -1
  142. package/dist/headless/headlessApp.js +0 -21
  143. package/dist/headless/headlessApp.js.map +1 -1
  144. package/dist/mcp/sseClient.d.ts.map +1 -1
  145. package/dist/mcp/sseClient.js +18 -9
  146. package/dist/mcp/sseClient.js.map +1 -1
  147. package/dist/plugins/tools/build/buildPlugin.d.ts +6 -0
  148. package/dist/plugins/tools/build/buildPlugin.d.ts.map +1 -1
  149. package/dist/plugins/tools/build/buildPlugin.js +10 -4
  150. package/dist/plugins/tools/build/buildPlugin.js.map +1 -1
  151. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
  152. package/dist/plugins/tools/nodeDefaults.js +2 -0
  153. package/dist/plugins/tools/nodeDefaults.js.map +1 -1
  154. package/dist/plugins/tools/security/securityPlugin.d.ts +3 -0
  155. package/dist/plugins/tools/security/securityPlugin.d.ts.map +1 -0
  156. package/dist/plugins/tools/security/securityPlugin.js +12 -0
  157. package/dist/plugins/tools/security/securityPlugin.js.map +1 -0
  158. package/dist/runtime/agentSession.d.ts +2 -2
  159. package/dist/runtime/agentSession.d.ts.map +1 -1
  160. package/dist/runtime/agentSession.js +2 -2
  161. package/dist/runtime/agentSession.js.map +1 -1
  162. package/dist/security/active-stack-security.d.ts +112 -0
  163. package/dist/security/active-stack-security.d.ts.map +1 -0
  164. package/dist/security/active-stack-security.js +296 -0
  165. package/dist/security/active-stack-security.js.map +1 -0
  166. package/dist/security/advanced-persistence-research.d.ts +92 -0
  167. package/dist/security/advanced-persistence-research.d.ts.map +1 -0
  168. package/dist/security/advanced-persistence-research.js +195 -0
  169. package/dist/security/advanced-persistence-research.js.map +1 -0
  170. package/dist/security/advanced-targeting.d.ts +119 -0
  171. package/dist/security/advanced-targeting.d.ts.map +1 -0
  172. package/dist/security/advanced-targeting.js +233 -0
  173. package/dist/security/advanced-targeting.js.map +1 -0
  174. package/dist/security/assessment/vulnerabilityAssessment.d.ts +104 -0
  175. package/dist/security/assessment/vulnerabilityAssessment.d.ts.map +1 -0
  176. package/dist/security/assessment/vulnerabilityAssessment.js +315 -0
  177. package/dist/security/assessment/vulnerabilityAssessment.js.map +1 -0
  178. package/dist/security/authorization/securityAuthorization.d.ts +88 -0
  179. package/dist/security/authorization/securityAuthorization.d.ts.map +1 -0
  180. package/dist/security/authorization/securityAuthorization.js +172 -0
  181. package/dist/security/authorization/securityAuthorization.js.map +1 -0
  182. package/dist/security/comprehensive-targeting.d.ts +85 -0
  183. package/dist/security/comprehensive-targeting.d.ts.map +1 -0
  184. package/dist/security/comprehensive-targeting.js +438 -0
  185. package/dist/security/comprehensive-targeting.js.map +1 -0
  186. package/dist/security/global-security-integration.d.ts +91 -0
  187. package/dist/security/global-security-integration.d.ts.map +1 -0
  188. package/dist/security/global-security-integration.js +218 -0
  189. package/dist/security/global-security-integration.js.map +1 -0
  190. package/dist/security/index.d.ts +38 -0
  191. package/dist/security/index.d.ts.map +1 -0
  192. package/dist/security/index.js +47 -0
  193. package/dist/security/index.js.map +1 -0
  194. package/dist/security/persistence-analyzer.d.ts +56 -0
  195. package/dist/security/persistence-analyzer.d.ts.map +1 -0
  196. package/dist/security/persistence-analyzer.js +187 -0
  197. package/dist/security/persistence-analyzer.js.map +1 -0
  198. package/dist/security/persistence-cli.d.ts +36 -0
  199. package/dist/security/persistence-cli.d.ts.map +1 -0
  200. package/dist/security/persistence-cli.js +160 -0
  201. package/dist/security/persistence-cli.js.map +1 -0
  202. package/dist/security/persistence-research.d.ts +92 -0
  203. package/dist/security/persistence-research.d.ts.map +1 -0
  204. package/dist/security/persistence-research.js +364 -0
  205. package/dist/security/persistence-research.js.map +1 -0
  206. package/dist/security/research/persistenceResearch.d.ts +97 -0
  207. package/dist/security/research/persistenceResearch.d.ts.map +1 -0
  208. package/dist/security/research/persistenceResearch.js +282 -0
  209. package/dist/security/research/persistenceResearch.js.map +1 -0
  210. package/dist/security/security-integration.d.ts +74 -0
  211. package/dist/security/security-integration.d.ts.map +1 -0
  212. package/dist/security/security-integration.js +137 -0
  213. package/dist/security/security-integration.js.map +1 -0
  214. package/dist/security/security-testing-framework.d.ts +112 -0
  215. package/dist/security/security-testing-framework.d.ts.map +1 -0
  216. package/dist/security/security-testing-framework.js +364 -0
  217. package/dist/security/security-testing-framework.js.map +1 -0
  218. package/dist/security/simulation/attackSimulation.d.ts +93 -0
  219. package/dist/security/simulation/attackSimulation.d.ts.map +1 -0
  220. package/dist/security/simulation/attackSimulation.js +341 -0
  221. package/dist/security/simulation/attackSimulation.js.map +1 -0
  222. package/dist/security/strategic-operations.d.ts +100 -0
  223. package/dist/security/strategic-operations.d.ts.map +1 -0
  224. package/dist/security/strategic-operations.js +276 -0
  225. package/dist/security/strategic-operations.js.map +1 -0
  226. package/dist/security/tool-security-wrapper.d.ts +58 -0
  227. package/dist/security/tool-security-wrapper.d.ts.map +1 -0
  228. package/dist/security/tool-security-wrapper.js +156 -0
  229. package/dist/security/tool-security-wrapper.js.map +1 -0
  230. package/dist/shell/claudeCodeStreamHandler.d.ts +145 -0
  231. package/dist/shell/claudeCodeStreamHandler.d.ts.map +1 -0
  232. package/dist/shell/claudeCodeStreamHandler.js +322 -0
  233. package/dist/shell/claudeCodeStreamHandler.js.map +1 -0
  234. package/dist/shell/inputQueueManager.d.ts +144 -0
  235. package/dist/shell/inputQueueManager.d.ts.map +1 -0
  236. package/dist/shell/inputQueueManager.js +290 -0
  237. package/dist/shell/inputQueueManager.js.map +1 -0
  238. package/dist/shell/interactiveShell.d.ts +7 -19
  239. package/dist/shell/interactiveShell.d.ts.map +1 -1
  240. package/dist/shell/interactiveShell.js +166 -271
  241. package/dist/shell/interactiveShell.js.map +1 -1
  242. package/dist/shell/metricsTracker.d.ts +60 -0
  243. package/dist/shell/metricsTracker.d.ts.map +1 -0
  244. package/dist/shell/metricsTracker.js +119 -0
  245. package/dist/shell/metricsTracker.js.map +1 -0
  246. package/dist/shell/shellApp.d.ts +0 -2
  247. package/dist/shell/shellApp.d.ts.map +1 -1
  248. package/dist/shell/shellApp.js +9 -82
  249. package/dist/shell/shellApp.js.map +1 -1
  250. package/dist/shell/streamingOutputManager.d.ts +115 -0
  251. package/dist/shell/streamingOutputManager.d.ts.map +1 -0
  252. package/dist/shell/streamingOutputManager.js +225 -0
  253. package/dist/shell/streamingOutputManager.js.map +1 -0
  254. package/dist/shell/systemPrompt.d.ts.map +1 -1
  255. package/dist/shell/systemPrompt.js +4 -1
  256. package/dist/shell/systemPrompt.js.map +1 -1
  257. package/dist/shell/terminalInput.d.ts +120 -218
  258. package/dist/shell/terminalInput.d.ts.map +1 -1
  259. package/dist/shell/terminalInput.js +537 -932
  260. package/dist/shell/terminalInput.js.map +1 -1
  261. package/dist/shell/terminalInputAdapter.d.ts +21 -99
  262. package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
  263. package/dist/shell/terminalInputAdapter.js +30 -135
  264. package/dist/shell/terminalInputAdapter.js.map +1 -1
  265. package/dist/subagents/taskRunner.d.ts +1 -7
  266. package/dist/subagents/taskRunner.d.ts.map +1 -1
  267. package/dist/subagents/taskRunner.js +47 -180
  268. package/dist/subagents/taskRunner.js.map +1 -1
  269. package/dist/tools/securityTools.d.ts +22 -0
  270. package/dist/tools/securityTools.d.ts.map +1 -0
  271. package/dist/tools/securityTools.js +448 -0
  272. package/dist/tools/securityTools.js.map +1 -0
  273. package/dist/ui/ShellUIAdapter.d.ts +1 -7
  274. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  275. package/dist/ui/ShellUIAdapter.js +18 -42
  276. package/dist/ui/ShellUIAdapter.js.map +1 -1
  277. package/dist/ui/display.d.ts +45 -24
  278. package/dist/ui/display.d.ts.map +1 -1
  279. package/dist/ui/display.js +259 -140
  280. package/dist/ui/display.js.map +1 -1
  281. package/dist/ui/persistentPrompt.d.ts +50 -0
  282. package/dist/ui/persistentPrompt.d.ts.map +1 -0
  283. package/dist/ui/persistentPrompt.js +92 -0
  284. package/dist/ui/persistentPrompt.js.map +1 -0
  285. package/dist/ui/terminalUISchema.d.ts +195 -0
  286. package/dist/ui/terminalUISchema.d.ts.map +1 -0
  287. package/dist/ui/terminalUISchema.js +113 -0
  288. package/dist/ui/terminalUISchema.js.map +1 -0
  289. package/dist/ui/theme.d.ts.map +1 -1
  290. package/dist/ui/theme.js +8 -6
  291. package/dist/ui/theme.js.map +1 -1
  292. package/dist/ui/toolDisplay.d.ts +158 -0
  293. package/dist/ui/toolDisplay.d.ts.map +1 -1
  294. package/dist/ui/toolDisplay.js +348 -0
  295. package/dist/ui/toolDisplay.js.map +1 -1
  296. package/dist/ui/unified/layout.d.ts +0 -20
  297. package/dist/ui/unified/layout.d.ts.map +1 -1
  298. package/dist/ui/unified/layout.js +216 -29
  299. package/dist/ui/unified/layout.js.map +1 -1
  300. package/package.json +4 -4
  301. package/scripts/deploy-security-capabilities.js +178 -0
  302. package/dist/core/hooks.d.ts +0 -113
  303. package/dist/core/hooks.d.ts.map +0 -1
  304. package/dist/core/hooks.js +0 -267
  305. package/dist/core/hooks.js.map +0 -1
  306. package/dist/core/metricsTracker.d.ts +0 -122
  307. package/dist/core/metricsTracker.d.ts.map +0 -1
  308. package/dist/core/metricsTracker.js.map +0 -1
  309. package/dist/core/securityAssessment.d.ts +0 -91
  310. package/dist/core/securityAssessment.d.ts.map +0 -1
  311. package/dist/core/securityAssessment.js +0 -580
  312. package/dist/core/securityAssessment.js.map +0 -1
  313. package/dist/core/verification.d.ts +0 -137
  314. package/dist/core/verification.d.ts.map +0 -1
  315. package/dist/core/verification.js +0 -323
  316. package/dist/core/verification.js.map +0 -1
  317. package/dist/subagents/agentConfig.d.ts +0 -27
  318. package/dist/subagents/agentConfig.d.ts.map +0 -1
  319. package/dist/subagents/agentConfig.js +0 -89
  320. package/dist/subagents/agentConfig.js.map +0 -1
  321. package/dist/subagents/agentRegistry.d.ts +0 -33
  322. package/dist/subagents/agentRegistry.d.ts.map +0 -1
  323. package/dist/subagents/agentRegistry.js +0 -162
  324. package/dist/subagents/agentRegistry.js.map +0 -1
  325. package/dist/utils/frontmatter.d.ts +0 -10
  326. package/dist/utils/frontmatter.d.ts.map +0 -1
  327. package/dist/utils/frontmatter.js +0 -78
  328. package/dist/utils/frontmatter.js.map +0 -1
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Unified Schema Loader and Validator
3
+ *
4
+ * Provides cached loading of the unified schema and validation utilities.
5
+ * Single source of truth for all schema operations.
6
+ *
7
+ * Principal Investigator: Bo Shang
8
+ * Framework: erosolar-cli
9
+ */
10
+ import type { UnifiedSchema, ProviderConfig, TaskTypeConfig, SchemaToolDefinition, ToolCategoryConfig, JSONSchemaObject, ProviderId, TaskTypeId, ProviderCapability } from './types.js';
11
+ /**
12
+ * Load the unified schema with caching
13
+ */
14
+ export declare function loadUnifiedSchema(forceReload?: boolean): UnifiedSchema;
15
+ /**
16
+ * Clear the schema cache
17
+ */
18
+ export declare function clearSchemaCache(): void;
19
+ /**
20
+ * Get provider configuration by ID
21
+ */
22
+ export declare function getProviderConfig(providerId: ProviderId): ProviderConfig | null;
23
+ /**
24
+ * Get all available providers
25
+ */
26
+ export declare function getAllProviders(): ProviderConfig[];
27
+ /**
28
+ * Get providers with specific capabilities
29
+ */
30
+ export declare function getProvidersWithCapabilities(required: ProviderCapability[], preferred?: ProviderCapability[]): ProviderConfig[];
31
+ /**
32
+ * Get recommended providers for a task type
33
+ */
34
+ export declare function getRecommendedProviders(taskType: TaskTypeId): ProviderConfig[];
35
+ /**
36
+ * Get task type configuration
37
+ */
38
+ export declare function getTaskTypeConfig(taskTypeId: TaskTypeId): TaskTypeConfig | null;
39
+ /**
40
+ * Get all task types
41
+ */
42
+ export declare function getAllTaskTypes(): TaskTypeConfig[];
43
+ /**
44
+ * Determine best task type for a given prompt
45
+ */
46
+ export declare function inferTaskType(prompt: string): TaskTypeId;
47
+ /**
48
+ * Get tool definition by ID
49
+ */
50
+ export declare function getToolDefinition(toolId: string): SchemaToolDefinition | null;
51
+ /**
52
+ * Get all tools in a category
53
+ */
54
+ export declare function getToolsByCategory(categoryId: string): SchemaToolDefinition[];
55
+ /**
56
+ * Get tool category configuration
57
+ */
58
+ export declare function getToolCategory(categoryId: string): ToolCategoryConfig | null;
59
+ /**
60
+ * Get all enabled tools (including always-enabled categories)
61
+ */
62
+ export declare function getEnabledTools(enabledCategories?: string[]): SchemaToolDefinition[];
63
+ /**
64
+ * Check if a tool requires authentication
65
+ */
66
+ export declare function toolRequiresAuth(toolId: string): boolean;
67
+ /**
68
+ * Validation error for tool arguments
69
+ */
70
+ export declare class ToolArgumentValidationError extends Error {
71
+ readonly toolName: string;
72
+ readonly field: string;
73
+ readonly reason: string;
74
+ readonly value?: unknown | undefined;
75
+ constructor(toolName: string, field: string, reason: string, value?: unknown | undefined);
76
+ }
77
+ /**
78
+ * Validate tool arguments against schema
79
+ */
80
+ export declare function validateToolArguments(toolName: string, schema: JSONSchemaObject | undefined, args: Record<string, unknown>): void;
81
+ /**
82
+ * Get schema defaults
83
+ */
84
+ export declare function getSchemaDefaults(): UnifiedSchema['defaults'];
85
+ /**
86
+ * Get schema metadata
87
+ */
88
+ export declare function getSchemaMetadata(): UnifiedSchema['metadata'];
89
+ /**
90
+ * Get schema version
91
+ */
92
+ export declare function getSchemaVersion(): string;
93
+ /**
94
+ * Check if provider supports a capability
95
+ */
96
+ export declare function providerSupportsCapability(providerId: ProviderId, capability: ProviderCapability): boolean;
97
+ /**
98
+ * Get best provider for capabilities
99
+ */
100
+ export declare function selectBestProvider(required: ProviderCapability[], preferred?: ProviderCapability[]): ProviderConfig | null;
101
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/core/unified/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAEhB,UAAU,EACV,UAAU,EACV,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAUpB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,UAAQ,GAAG,aAAa,CAkBpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,cAAc,GAAG,IAAI,CAG/E;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,cAAc,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,SAAS,GAAE,kBAAkB,EAAO,GACnC,cAAc,EAAE,CAWlB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,UAAU,GAAG,cAAc,EAAE,CAW9E;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,cAAc,GAAG,IAAI,CAG/E;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,cAAc,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAgDxD;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAG7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAG7E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAG7E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,iBAAiB,GAAE,MAAM,EAAO,GAAG,oBAAoB,EAAE,CASxF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQxD;AAMD;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;aAElC,QAAQ,EAAE,MAAM;aAChB,KAAK,EAAE,MAAM;aACb,MAAM,EAAE,MAAM;aACd,KAAK,CAAC,EAAE,OAAO;gBAHf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,OAAO,YAAA;CAKlC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CA2BN;AAoID;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,CAAC,UAAU,CAAC,CAE7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,CAAC,UAAU,CAAC,CAE7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAGT;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,SAAS,GAAE,kBAAkB,EAAO,GACnC,cAAc,GAAG,IAAI,CAGvB"}
@@ -0,0 +1,350 @@
1
+ /**
2
+ * Unified Schema Loader and Validator
3
+ *
4
+ * Provides cached loading of the unified schema and validation utilities.
5
+ * Single source of truth for all schema operations.
6
+ *
7
+ * Principal Investigator: Bo Shang
8
+ * Framework: erosolar-cli
9
+ */
10
+ import { readFileSync } from 'fs';
11
+ import { resolve } from 'path';
12
+ // ============================================================================
13
+ // Schema Cache
14
+ // ============================================================================
15
+ let _schemaCache = null;
16
+ let _schemaCacheTime = 0;
17
+ const CACHE_TTL_MS = 60 * 1000; // 1 minute
18
+ /**
19
+ * Load the unified schema with caching
20
+ */
21
+ export function loadUnifiedSchema(forceReload = false) {
22
+ const now = Date.now();
23
+ if (!forceReload && _schemaCache && now - _schemaCacheTime < CACHE_TTL_MS) {
24
+ return _schemaCache;
25
+ }
26
+ // Use process.cwd() relative path or __dirname equivalent
27
+ const schemaPath = resolve(process.cwd(), 'src/contracts/unified-schema.json');
28
+ try {
29
+ const content = readFileSync(schemaPath, 'utf-8');
30
+ _schemaCache = JSON.parse(content);
31
+ _schemaCacheTime = now;
32
+ return _schemaCache;
33
+ }
34
+ catch (error) {
35
+ throw new Error(`Failed to load unified schema: ${error}`);
36
+ }
37
+ }
38
+ /**
39
+ * Clear the schema cache
40
+ */
41
+ export function clearSchemaCache() {
42
+ _schemaCache = null;
43
+ _schemaCacheTime = 0;
44
+ }
45
+ // ============================================================================
46
+ // Provider Lookups
47
+ // ============================================================================
48
+ /**
49
+ * Get provider configuration by ID
50
+ */
51
+ export function getProviderConfig(providerId) {
52
+ const schema = loadUnifiedSchema();
53
+ return schema.providers.find((p) => p.id === providerId) || null;
54
+ }
55
+ /**
56
+ * Get all available providers
57
+ */
58
+ export function getAllProviders() {
59
+ return loadUnifiedSchema().providers;
60
+ }
61
+ /**
62
+ * Get providers with specific capabilities
63
+ */
64
+ export function getProvidersWithCapabilities(required, preferred = []) {
65
+ const schema = loadUnifiedSchema();
66
+ return schema.providers
67
+ .filter((p) => required.every((cap) => p.capabilities.includes(cap)))
68
+ .sort((a, b) => {
69
+ // Sort by number of preferred capabilities matched
70
+ const aPreferred = preferred.filter((cap) => a.capabilities.includes(cap)).length;
71
+ const bPreferred = preferred.filter((cap) => b.capabilities.includes(cap)).length;
72
+ return bPreferred - aPreferred;
73
+ });
74
+ }
75
+ /**
76
+ * Get recommended providers for a task type
77
+ */
78
+ export function getRecommendedProviders(taskType) {
79
+ const schema = loadUnifiedSchema();
80
+ const taskConfig = schema.taskTypes.find((t) => t.id === taskType);
81
+ if (!taskConfig) {
82
+ return [];
83
+ }
84
+ return taskConfig.recommendedProviders
85
+ .map((id) => schema.providers.find((p) => p.id === id))
86
+ .filter((p) => p !== undefined);
87
+ }
88
+ // ============================================================================
89
+ // Task Type Lookups
90
+ // ============================================================================
91
+ /**
92
+ * Get task type configuration
93
+ */
94
+ export function getTaskTypeConfig(taskTypeId) {
95
+ const schema = loadUnifiedSchema();
96
+ return schema.taskTypes.find((t) => t.id === taskTypeId) || null;
97
+ }
98
+ /**
99
+ * Get all task types
100
+ */
101
+ export function getAllTaskTypes() {
102
+ return loadUnifiedSchema().taskTypes;
103
+ }
104
+ /**
105
+ * Determine best task type for a given prompt
106
+ */
107
+ export function inferTaskType(prompt) {
108
+ const promptLower = prompt.toLowerCase();
109
+ // Simple heuristics for task type inference
110
+ if (promptLower.includes('security') ||
111
+ promptLower.includes('vulnerability') ||
112
+ promptLower.includes('audit')) {
113
+ return 'security';
114
+ }
115
+ if (promptLower.includes('test') || promptLower.includes('spec')) {
116
+ return 'testing';
117
+ }
118
+ if (promptLower.includes('document') || promptLower.includes('readme')) {
119
+ return 'documentation';
120
+ }
121
+ if (promptLower.includes('search') || promptLower.includes('find information')) {
122
+ return 'research';
123
+ }
124
+ if (promptLower.includes('image') || promptLower.includes('screenshot')) {
125
+ return 'multimodal';
126
+ }
127
+ if (promptLower.includes('analyze') ||
128
+ promptLower.includes('review') ||
129
+ promptLower.includes('complexity')) {
130
+ return 'analysis';
131
+ }
132
+ if (promptLower.includes('think') ||
133
+ promptLower.includes('reason') ||
134
+ promptLower.includes('plan')) {
135
+ return 'reasoning';
136
+ }
137
+ if (promptLower.includes('code') ||
138
+ promptLower.includes('function') ||
139
+ promptLower.includes('implement') ||
140
+ promptLower.includes('fix') ||
141
+ promptLower.includes('refactor')) {
142
+ return 'coding';
143
+ }
144
+ return 'chat';
145
+ }
146
+ // ============================================================================
147
+ // Tool Lookups
148
+ // ============================================================================
149
+ /**
150
+ * Get tool definition by ID
151
+ */
152
+ export function getToolDefinition(toolId) {
153
+ const schema = loadUnifiedSchema();
154
+ return schema.tools.find((t) => t.id === toolId) || null;
155
+ }
156
+ /**
157
+ * Get all tools in a category
158
+ */
159
+ export function getToolsByCategory(categoryId) {
160
+ const schema = loadUnifiedSchema();
161
+ return schema.tools.filter((t) => t.category === categoryId);
162
+ }
163
+ /**
164
+ * Get tool category configuration
165
+ */
166
+ export function getToolCategory(categoryId) {
167
+ const schema = loadUnifiedSchema();
168
+ return schema.toolCategories.find((c) => c.id === categoryId) || null;
169
+ }
170
+ /**
171
+ * Get all enabled tools (including always-enabled categories)
172
+ */
173
+ export function getEnabledTools(enabledCategories = []) {
174
+ const schema = loadUnifiedSchema();
175
+ const enabledCategoryIds = new Set([
176
+ ...schema.toolCategories.filter((c) => c.alwaysEnabled).map((c) => c.id),
177
+ ...enabledCategories,
178
+ ]);
179
+ return schema.tools.filter((t) => enabledCategoryIds.has(t.category));
180
+ }
181
+ /**
182
+ * Check if a tool requires authentication
183
+ */
184
+ export function toolRequiresAuth(toolId) {
185
+ const tool = getToolDefinition(toolId);
186
+ if (!tool)
187
+ return false;
188
+ if (tool.requiresAuth)
189
+ return true;
190
+ const category = getToolCategory(tool.category);
191
+ return category?.requiresAuth ?? false;
192
+ }
193
+ // ============================================================================
194
+ // Schema Validation
195
+ // ============================================================================
196
+ /**
197
+ * Validation error for tool arguments
198
+ */
199
+ export class ToolArgumentValidationError extends Error {
200
+ toolName;
201
+ field;
202
+ reason;
203
+ value;
204
+ constructor(toolName, field, reason, value) {
205
+ super(`Tool ${toolName}: ${field} - ${reason}`);
206
+ this.toolName = toolName;
207
+ this.field = field;
208
+ this.reason = reason;
209
+ this.value = value;
210
+ this.name = 'ToolArgumentValidationError';
211
+ }
212
+ }
213
+ /**
214
+ * Validate tool arguments against schema
215
+ */
216
+ export function validateToolArguments(toolName, schema, args) {
217
+ if (!schema)
218
+ return;
219
+ // Check required fields
220
+ if (schema.required) {
221
+ for (const field of schema.required) {
222
+ if (!(field in args) || args[field] === undefined || args[field] === null) {
223
+ throw new ToolArgumentValidationError(toolName, field, 'Required field is missing');
224
+ }
225
+ }
226
+ }
227
+ // Validate each property
228
+ if (schema.properties) {
229
+ for (const [field, value] of Object.entries(args)) {
230
+ const propSchema = schema.properties[field];
231
+ if (!propSchema) {
232
+ if (schema.additionalProperties === false) {
233
+ throw new ToolArgumentValidationError(toolName, field, 'Unknown field');
234
+ }
235
+ continue;
236
+ }
237
+ validateProperty(toolName, field, propSchema, value);
238
+ }
239
+ }
240
+ }
241
+ /**
242
+ * Validate a single property
243
+ */
244
+ function validateProperty(toolName, field, schema, value) {
245
+ if (value === undefined || value === null) {
246
+ return; // Required check is done separately
247
+ }
248
+ const types = Array.isArray(schema.type) ? schema.type : [schema.type];
249
+ // Type checking
250
+ const actualType = getValueType(value);
251
+ if (!types.includes(actualType)) {
252
+ throw new ToolArgumentValidationError(toolName, field, `Expected ${types.join(' | ')}, got ${actualType}`, value);
253
+ }
254
+ // Enum validation
255
+ if (schema.enum && !schema.enum.includes(value)) {
256
+ throw new ToolArgumentValidationError(toolName, field, `Value must be one of: ${schema.enum.join(', ')}`, value);
257
+ }
258
+ // String validations
259
+ if (actualType === 'string') {
260
+ const strValue = value;
261
+ if (schema.minLength !== undefined && strValue.length < schema.minLength) {
262
+ throw new ToolArgumentValidationError(toolName, field, `String length must be at least ${schema.minLength}`, value);
263
+ }
264
+ if (schema.maxLength !== undefined && strValue.length > schema.maxLength) {
265
+ throw new ToolArgumentValidationError(toolName, field, `String length must be at most ${schema.maxLength}`, value);
266
+ }
267
+ if (schema.pattern) {
268
+ const regex = new RegExp(schema.pattern);
269
+ if (!regex.test(strValue)) {
270
+ throw new ToolArgumentValidationError(toolName, field, `String must match pattern: ${schema.pattern}`, value);
271
+ }
272
+ }
273
+ }
274
+ // Number validations
275
+ if (actualType === 'number' || actualType === 'integer') {
276
+ const numValue = value;
277
+ if (schema.minimum !== undefined && numValue < schema.minimum) {
278
+ throw new ToolArgumentValidationError(toolName, field, `Value must be at least ${schema.minimum}`, value);
279
+ }
280
+ if (schema.maximum !== undefined && numValue > schema.maximum) {
281
+ throw new ToolArgumentValidationError(toolName, field, `Value must be at most ${schema.maximum}`, value);
282
+ }
283
+ }
284
+ // Array validations
285
+ if (actualType === 'array' && schema.items) {
286
+ const arrValue = value;
287
+ for (let i = 0; i < arrValue.length; i++) {
288
+ validateProperty(toolName, `${field}[${i}]`, schema.items, arrValue[i]);
289
+ }
290
+ }
291
+ // Object validations
292
+ if (actualType === 'object' && schema.properties) {
293
+ const objValue = value;
294
+ for (const [key, val] of Object.entries(objValue)) {
295
+ const propSchema = schema.properties[key];
296
+ if (propSchema) {
297
+ validateProperty(toolName, `${field}.${key}`, propSchema, val);
298
+ }
299
+ }
300
+ }
301
+ }
302
+ /**
303
+ * Get the JSON Schema type of a value
304
+ */
305
+ function getValueType(value) {
306
+ if (value === null)
307
+ return 'null';
308
+ if (Array.isArray(value))
309
+ return 'array';
310
+ if (typeof value === 'number') {
311
+ return Number.isInteger(value) ? 'integer' : 'number';
312
+ }
313
+ return typeof value;
314
+ }
315
+ // ============================================================================
316
+ // Schema Utilities
317
+ // ============================================================================
318
+ /**
319
+ * Get schema defaults
320
+ */
321
+ export function getSchemaDefaults() {
322
+ return loadUnifiedSchema().defaults;
323
+ }
324
+ /**
325
+ * Get schema metadata
326
+ */
327
+ export function getSchemaMetadata() {
328
+ return loadUnifiedSchema().metadata;
329
+ }
330
+ /**
331
+ * Get schema version
332
+ */
333
+ export function getSchemaVersion() {
334
+ return loadUnifiedSchema().contractVersion;
335
+ }
336
+ /**
337
+ * Check if provider supports a capability
338
+ */
339
+ export function providerSupportsCapability(providerId, capability) {
340
+ const provider = getProviderConfig(providerId);
341
+ return provider?.capabilities.includes(capability) ?? false;
342
+ }
343
+ /**
344
+ * Get best provider for capabilities
345
+ */
346
+ export function selectBestProvider(required, preferred = []) {
347
+ const providers = getProvidersWithCapabilities(required, preferred);
348
+ return providers[0] || null;
349
+ }
350
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/unified/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Unified Tool Runtime
3
+ *
4
+ * Core tool execution engine with caching, validation, and lifecycle management.
5
+ * Combines the best features from both TypeScript and Python implementations.
6
+ *
7
+ * Principal Investigator: Bo Shang
8
+ * Framework: erosolar-cli
9
+ */
10
+ import type { ToolDefinition, ToolSuite, ToolRecord, ToolCallRequest, ToolCallResult, ProviderToolDefinition } from './types.js';
11
+ import { ToolArgumentValidationError } from './schema.js';
12
+ import { validateToolPreconditions, type PreflightWarning } from '../toolPreconditions.js';
13
+ /**
14
+ * Tools that can be safely cached based on their arguments
15
+ */
16
+ export declare const CACHEABLE_TOOLS: Set<string>;
17
+ export interface ToolRuntimeConfig {
18
+ enableCache: boolean;
19
+ cacheTtlMs: number;
20
+ maxCacheSize: number;
21
+ defaultTimeoutMs: number;
22
+ networkTimeoutMs: number;
23
+ maxOutputLength: number;
24
+ verbose: boolean;
25
+ }
26
+ export interface CacheEntry {
27
+ output: string;
28
+ timestamp: number;
29
+ ttl: number;
30
+ hitCount: number;
31
+ }
32
+ /**
33
+ * Observer interface for tool lifecycle events
34
+ */
35
+ export interface ToolRuntimeObserver {
36
+ onToolStart?(call: ToolCallRequest): void;
37
+ onToolResult?(call: ToolCallRequest, result: ToolCallResult): void;
38
+ onToolError?(call: ToolCallRequest, error: Error): void;
39
+ onToolWarning?(call: ToolCallRequest, warning: PreflightWarning | string): void;
40
+ onCacheHit?(call: ToolCallRequest, entry: CacheEntry): void;
41
+ onCacheMiss?(call: ToolCallRequest): void;
42
+ onValidationError?(call: ToolCallRequest, error: ToolArgumentValidationError): void;
43
+ }
44
+ /**
45
+ * Unified Tool Runtime
46
+ *
47
+ * Manages tool registration, execution, caching, and validation.
48
+ */
49
+ export declare class ToolRuntime {
50
+ private registry;
51
+ private cache;
52
+ private config;
53
+ private observers;
54
+ private executionStats;
55
+ constructor(config?: Partial<ToolRuntimeConfig>);
56
+ /**
57
+ * Register a tool suite
58
+ */
59
+ registerSuite(suite: ToolSuite): void;
60
+ /**
61
+ * Register a single tool
62
+ */
63
+ registerTool(tool: ToolDefinition, suiteName?: string): void;
64
+ /**
65
+ * Unregister a tool
66
+ */
67
+ unregisterTool(name: string): boolean;
68
+ /**
69
+ * Get a tool by name
70
+ */
71
+ getTool(name: string): ToolRecord | undefined;
72
+ /**
73
+ * Check if a tool exists
74
+ */
75
+ hasTool(name: string): boolean;
76
+ /**
77
+ * Enable or disable a tool
78
+ */
79
+ setToolEnabled(name: string, enabled: boolean): boolean;
80
+ /**
81
+ * Execute a tool call
82
+ */
83
+ execute(call: ToolCallRequest): Promise<ToolCallResult>;
84
+ /**
85
+ * Execute with timeout
86
+ */
87
+ private executeWithTimeout;
88
+ /**
89
+ * Create an error result
90
+ */
91
+ private createErrorResult;
92
+ /**
93
+ * Check if a tool's results can be cached
94
+ */
95
+ private isCacheable;
96
+ /**
97
+ * Generate cache key for a tool call
98
+ */
99
+ private getCacheKey;
100
+ /**
101
+ * Check if a cache entry has expired
102
+ */
103
+ private isCacheExpired;
104
+ /**
105
+ * Cache a result
106
+ */
107
+ private cacheResult;
108
+ /**
109
+ * Evict oldest cache entries
110
+ */
111
+ private evictOldestCacheEntries;
112
+ /**
113
+ * Clear all cache entries
114
+ */
115
+ clearCache(): void;
116
+ /**
117
+ * Clear expired cache entries
118
+ */
119
+ clearExpiredCache(): number;
120
+ /**
121
+ * Truncate output if too long
122
+ *
123
+ * PERF: Uses efficient slicing - O(1) for length check, O(n) for truncation only when needed.
124
+ * Binary search not applicable here as we need character boundaries, not search.
125
+ */
126
+ private truncateOutput;
127
+ /**
128
+ * Add an observer
129
+ */
130
+ addObserver(observer: ToolRuntimeObserver): void;
131
+ /**
132
+ * Remove an observer
133
+ */
134
+ removeObserver(observer: ToolRuntimeObserver): boolean;
135
+ /**
136
+ * Notify observers of an event
137
+ */
138
+ private notifyObservers;
139
+ /**
140
+ * Get tools in provider format
141
+ */
142
+ listProviderTools(): ProviderToolDefinition[];
143
+ /**
144
+ * Get tools for a specific category
145
+ */
146
+ getToolsByCategory(category: string): ToolRecord[];
147
+ /**
148
+ * Get execution statistics
149
+ */
150
+ getStats(): {
151
+ totalCalls: number;
152
+ cacheHits: number;
153
+ cacheHitRate: number;
154
+ errors: number;
155
+ errorRate: number;
156
+ avgExecutionTimeMs: number;
157
+ registeredTools: number;
158
+ cacheSize: number;
159
+ };
160
+ /**
161
+ * Reset statistics
162
+ */
163
+ resetStats(): void;
164
+ /**
165
+ * Get tool execution counts
166
+ */
167
+ getToolExecutionCounts(): Map<string, number>;
168
+ }
169
+ /**
170
+ * Create a tool runtime with default configuration
171
+ */
172
+ export declare function createToolRuntime(config?: Partial<ToolRuntimeConfig>): ToolRuntime;
173
+ /**
174
+ * Create a tool suite from definitions
175
+ */
176
+ export declare function createToolSuite(name: string, version: string, tools: ToolDefinition[], description?: string): ToolSuite;
177
+ export { validateToolPreconditions };
178
+ export type { PreflightWarning };
179
+ //# sourceMappingURL=toolRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolRuntime.d.ts","sourceRoot":"","sources":["../../../src/core/unified/toolRuntime.ts"],"names":[],"mappings":"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"}