agent-orcha 0.0.4 → 0.0.5

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 (483) hide show
  1. package/README.md +197 -221
  2. package/dist/lib/agents/agent-executor.d.ts +13 -4
  3. package/dist/lib/agents/agent-executor.d.ts.map +1 -1
  4. package/dist/lib/agents/agent-executor.js +307 -73
  5. package/dist/lib/agents/agent-executor.js.map +1 -1
  6. package/dist/lib/agents/agent-loader.d.ts +1 -1
  7. package/dist/lib/agents/agent-loader.d.ts.map +1 -1
  8. package/dist/lib/agents/agent-loader.js +10 -3
  9. package/dist/lib/agents/agent-loader.js.map +1 -1
  10. package/dist/lib/agents/index.d.ts +5 -5
  11. package/dist/lib/agents/index.js +4 -4
  12. package/dist/lib/agents/react-loop.d.ts +30 -0
  13. package/dist/lib/agents/react-loop.d.ts.map +1 -0
  14. package/dist/lib/agents/react-loop.js +155 -0
  15. package/dist/lib/agents/react-loop.js.map +1 -0
  16. package/dist/lib/agents/structured-output-wrapper.d.ts +3 -3
  17. package/dist/lib/agents/structured-output-wrapper.d.ts.map +1 -1
  18. package/dist/lib/agents/structured-output-wrapper.js +2 -2
  19. package/dist/lib/agents/structured-output-wrapper.js.map +1 -1
  20. package/dist/lib/agents/types.d.ts +132 -8
  21. package/dist/lib/agents/types.d.ts.map +1 -1
  22. package/dist/lib/agents/types.js +16 -2
  23. package/dist/lib/agents/types.js.map +1 -1
  24. package/dist/lib/functions/function-loader.d.ts +1 -1
  25. package/dist/lib/functions/function-loader.js +13 -5
  26. package/dist/lib/functions/function-loader.js.map +1 -1
  27. package/dist/lib/functions/index.d.ts +2 -2
  28. package/dist/lib/functions/index.js +1 -1
  29. package/dist/lib/functions/simple-function-wrapper.d.ts +2 -11
  30. package/dist/lib/functions/simple-function-wrapper.d.ts.map +1 -1
  31. package/dist/lib/functions/simple-function-wrapper.js +3 -3
  32. package/dist/lib/functions/simple-function-wrapper.js.map +1 -1
  33. package/dist/lib/index.d.ts +29 -17
  34. package/dist/lib/index.d.ts.map +1 -1
  35. package/dist/lib/index.js +21 -9
  36. package/dist/lib/index.js.map +1 -1
  37. package/dist/lib/integrations/collabnook.d.ts +56 -0
  38. package/dist/lib/integrations/collabnook.d.ts.map +1 -0
  39. package/dist/lib/integrations/collabnook.js +307 -0
  40. package/dist/lib/integrations/collabnook.js.map +1 -0
  41. package/dist/lib/integrations/integration-manager.d.ts +14 -0
  42. package/dist/lib/integrations/integration-manager.d.ts.map +1 -0
  43. package/dist/lib/integrations/integration-manager.js +109 -0
  44. package/dist/lib/integrations/integration-manager.js.map +1 -0
  45. package/dist/lib/integrations/types.d.ts +49 -0
  46. package/dist/lib/integrations/types.d.ts.map +1 -0
  47. package/dist/lib/integrations/types.js +14 -0
  48. package/dist/lib/integrations/types.js.map +1 -0
  49. package/dist/lib/knowledge/direct-mapper.d.ts +21 -0
  50. package/dist/lib/knowledge/direct-mapper.d.ts.map +1 -0
  51. package/dist/lib/knowledge/direct-mapper.js +134 -0
  52. package/dist/lib/knowledge/direct-mapper.js.map +1 -0
  53. package/dist/lib/knowledge/index.d.ts +9 -8
  54. package/dist/lib/knowledge/index.d.ts.map +1 -1
  55. package/dist/lib/knowledge/index.js +9 -7
  56. package/dist/lib/knowledge/index.js.map +1 -1
  57. package/dist/lib/knowledge/knowledge-store-metadata.d.ts +40 -0
  58. package/dist/lib/knowledge/knowledge-store-metadata.d.ts.map +1 -0
  59. package/dist/lib/knowledge/knowledge-store-metadata.js +93 -0
  60. package/dist/lib/knowledge/knowledge-store-metadata.js.map +1 -0
  61. package/dist/lib/knowledge/knowledge-store.d.ts +43 -0
  62. package/dist/lib/knowledge/knowledge-store.d.ts.map +1 -0
  63. package/dist/lib/knowledge/knowledge-store.js +603 -0
  64. package/dist/lib/knowledge/knowledge-store.js.map +1 -0
  65. package/dist/lib/knowledge/loaders/database-loader.d.ts +5 -5
  66. package/dist/lib/knowledge/loaders/database-loader.d.ts.map +1 -1
  67. package/dist/lib/knowledge/loaders/database-loader.js +21 -10
  68. package/dist/lib/knowledge/loaders/database-loader.js.map +1 -1
  69. package/dist/lib/knowledge/loaders/file-loaders.d.ts +39 -0
  70. package/dist/lib/knowledge/loaders/file-loaders.d.ts.map +1 -0
  71. package/dist/lib/knowledge/loaders/file-loaders.js +131 -0
  72. package/dist/lib/knowledge/loaders/file-loaders.js.map +1 -0
  73. package/dist/lib/knowledge/loaders/index.d.ts +3 -3
  74. package/dist/lib/knowledge/loaders/index.d.ts.map +1 -1
  75. package/dist/lib/knowledge/loaders/index.js +3 -3
  76. package/dist/lib/knowledge/loaders/index.js.map +1 -1
  77. package/dist/lib/knowledge/loaders/web-loader.d.ts +2 -2
  78. package/dist/lib/knowledge/loaders/web-loader.d.ts.map +1 -1
  79. package/dist/lib/knowledge/loaders/web-loader.js +22 -21
  80. package/dist/lib/knowledge/loaders/web-loader.js.map +1 -1
  81. package/dist/lib/knowledge/sqlite-store.d.ts +107 -0
  82. package/dist/lib/knowledge/sqlite-store.d.ts.map +1 -0
  83. package/dist/lib/knowledge/sqlite-store.js +327 -0
  84. package/dist/lib/knowledge/sqlite-store.js.map +1 -0
  85. package/dist/lib/knowledge/types.d.ts +72 -1432
  86. package/dist/lib/knowledge/types.d.ts.map +1 -1
  87. package/dist/lib/knowledge/types.js +36 -57
  88. package/dist/lib/knowledge/types.js.map +1 -1
  89. package/dist/lib/knowledge/utils/connection-pool.d.ts +3 -2
  90. package/dist/lib/knowledge/utils/connection-pool.d.ts.map +1 -1
  91. package/dist/lib/knowledge/utils/connection-pool.js +20 -10
  92. package/dist/lib/knowledge/utils/connection-pool.js.map +1 -1
  93. package/dist/lib/knowledge/utils/index.d.ts +2 -2
  94. package/dist/lib/knowledge/utils/index.js +2 -2
  95. package/dist/lib/llm/index.d.ts +5 -5
  96. package/dist/lib/llm/index.d.ts.map +1 -1
  97. package/dist/lib/llm/index.js +3 -3
  98. package/dist/lib/llm/index.js.map +1 -1
  99. package/dist/lib/llm/llm-call-logger.d.ts +37 -0
  100. package/dist/lib/llm/llm-call-logger.d.ts.map +1 -0
  101. package/dist/lib/llm/llm-call-logger.js +105 -0
  102. package/dist/lib/llm/llm-call-logger.js.map +1 -0
  103. package/dist/lib/llm/llm-config.d.ts +22 -16
  104. package/dist/lib/llm/llm-config.d.ts.map +1 -1
  105. package/dist/lib/llm/llm-config.js +19 -3
  106. package/dist/lib/llm/llm-config.js.map +1 -1
  107. package/dist/lib/llm/llm-factory.d.ts +3 -16
  108. package/dist/lib/llm/llm-factory.d.ts.map +1 -1
  109. package/dist/lib/llm/llm-factory.js +30 -48
  110. package/dist/lib/llm/llm-factory.js.map +1 -1
  111. package/dist/lib/llm/provider-detector.d.ts +1 -1
  112. package/dist/lib/llm/providers/anthropic-chat-model.d.ts +27 -0
  113. package/dist/lib/llm/providers/anthropic-chat-model.d.ts.map +1 -0
  114. package/dist/lib/llm/providers/anthropic-chat-model.js +186 -0
  115. package/dist/lib/llm/providers/anthropic-chat-model.js.map +1 -0
  116. package/dist/lib/llm/providers/gemini-chat-model.d.ts +29 -0
  117. package/dist/lib/llm/providers/gemini-chat-model.d.ts.map +1 -0
  118. package/dist/lib/llm/providers/gemini-chat-model.js +241 -0
  119. package/dist/lib/llm/providers/gemini-chat-model.js.map +1 -0
  120. package/dist/lib/llm/providers/gemini-embeddings.d.ts +14 -0
  121. package/dist/lib/llm/providers/gemini-embeddings.d.ts.map +1 -0
  122. package/dist/lib/llm/providers/gemini-embeddings.js +20 -0
  123. package/dist/lib/llm/providers/gemini-embeddings.js.map +1 -0
  124. package/dist/lib/llm/providers/openai-chat-model.d.ts +30 -0
  125. package/dist/lib/llm/providers/openai-chat-model.d.ts.map +1 -0
  126. package/dist/lib/llm/providers/openai-chat-model.js +196 -0
  127. package/dist/lib/llm/providers/openai-chat-model.js.map +1 -0
  128. package/dist/lib/llm/providers/openai-embeddings.d.ts +17 -0
  129. package/dist/lib/llm/providers/openai-embeddings.d.ts.map +1 -0
  130. package/dist/lib/llm/providers/openai-embeddings.js +35 -0
  131. package/dist/lib/llm/providers/openai-embeddings.js.map +1 -0
  132. package/dist/lib/llm/types.d.ts +2 -2
  133. package/dist/lib/llm/types.js +1 -1
  134. package/dist/lib/logger.d.ts +7 -0
  135. package/dist/lib/logger.d.ts.map +1 -1
  136. package/dist/lib/logger.js +43 -4
  137. package/dist/lib/logger.js.map +1 -1
  138. package/dist/lib/mcp/index.d.ts +3 -3
  139. package/dist/lib/mcp/index.js +2 -2
  140. package/dist/lib/mcp/mcp-client.d.ts +3 -2
  141. package/dist/lib/mcp/mcp-client.d.ts.map +1 -1
  142. package/dist/lib/mcp/mcp-client.js +5 -2
  143. package/dist/lib/mcp/mcp-client.js.map +1 -1
  144. package/dist/lib/mcp/types.d.ts +33 -23
  145. package/dist/lib/mcp/types.d.ts.map +1 -1
  146. package/dist/lib/mcp/types.js +11 -2
  147. package/dist/lib/mcp/types.js.map +1 -1
  148. package/dist/lib/memory/conversation-store.d.ts +2 -2
  149. package/dist/lib/memory/conversation-store.d.ts.map +1 -1
  150. package/dist/lib/memory/conversation-store.js +1 -1
  151. package/dist/lib/memory/index.d.ts +3 -2
  152. package/dist/lib/memory/index.d.ts.map +1 -1
  153. package/dist/lib/memory/index.js +3 -2
  154. package/dist/lib/memory/index.js.map +1 -1
  155. package/dist/lib/memory/memory-manager.d.ts +9 -0
  156. package/dist/lib/memory/memory-manager.d.ts.map +1 -0
  157. package/dist/lib/memory/memory-manager.js +34 -0
  158. package/dist/lib/memory/memory-manager.js.map +1 -0
  159. package/dist/lib/memory/types.d.ts +1 -1
  160. package/dist/lib/memory/types.d.ts.map +1 -1
  161. package/dist/lib/orchestrator.d.ts +78 -18
  162. package/dist/lib/orchestrator.d.ts.map +1 -1
  163. package/dist/lib/orchestrator.js +247 -55
  164. package/dist/lib/orchestrator.js.map +1 -1
  165. package/dist/lib/sandbox/html-to-markdown.d.ts +2 -0
  166. package/dist/lib/sandbox/html-to-markdown.d.ts.map +1 -0
  167. package/dist/lib/sandbox/html-to-markdown.js +64 -0
  168. package/dist/lib/sandbox/html-to-markdown.js.map +1 -0
  169. package/dist/lib/sandbox/index.d.ts +7 -0
  170. package/dist/lib/sandbox/index.d.ts.map +1 -0
  171. package/dist/lib/sandbox/index.js +6 -0
  172. package/dist/lib/sandbox/index.js.map +1 -0
  173. package/dist/lib/sandbox/sandbox-exec.d.ts +5 -0
  174. package/dist/lib/sandbox/sandbox-exec.d.ts.map +1 -0
  175. package/dist/lib/sandbox/sandbox-exec.js +35 -0
  176. package/dist/lib/sandbox/sandbox-exec.js.map +1 -0
  177. package/dist/lib/sandbox/sandbox-web.d.ts +5 -0
  178. package/dist/lib/sandbox/sandbox-web.d.ts.map +1 -0
  179. package/dist/lib/sandbox/sandbox-web.js +211 -0
  180. package/dist/lib/sandbox/sandbox-web.js.map +1 -0
  181. package/dist/lib/sandbox/types.d.ts +21 -0
  182. package/dist/lib/sandbox/types.d.ts.map +1 -0
  183. package/dist/lib/sandbox/types.js +7 -0
  184. package/dist/lib/sandbox/types.js.map +1 -0
  185. package/dist/lib/sandbox/vm-executor.d.ts +12 -0
  186. package/dist/lib/sandbox/vm-executor.d.ts.map +1 -0
  187. package/dist/lib/sandbox/vm-executor.js +101 -0
  188. package/dist/lib/sandbox/vm-executor.js.map +1 -0
  189. package/dist/lib/skills/index.d.ts +4 -0
  190. package/dist/lib/skills/index.d.ts.map +1 -0
  191. package/dist/lib/skills/index.js +3 -0
  192. package/dist/lib/skills/index.js.map +1 -0
  193. package/dist/lib/skills/skill-loader.d.ts +19 -0
  194. package/dist/lib/skills/skill-loader.d.ts.map +1 -0
  195. package/dist/lib/skills/skill-loader.js +105 -0
  196. package/dist/lib/skills/skill-loader.js.map +1 -0
  197. package/dist/lib/skills/types.d.ts +17 -0
  198. package/dist/lib/skills/types.d.ts.map +1 -0
  199. package/dist/lib/skills/types.js +6 -0
  200. package/dist/lib/skills/types.js.map +1 -0
  201. package/dist/lib/tasks/index.d.ts +4 -0
  202. package/dist/lib/tasks/index.d.ts.map +1 -0
  203. package/dist/lib/tasks/index.js +4 -0
  204. package/dist/lib/tasks/index.js.map +1 -0
  205. package/dist/lib/tasks/task-manager.d.ts +25 -0
  206. package/dist/lib/tasks/task-manager.d.ts.map +1 -0
  207. package/dist/lib/tasks/task-manager.js +189 -0
  208. package/dist/lib/tasks/task-manager.js.map +1 -0
  209. package/dist/lib/tasks/task-store.d.ts +20 -0
  210. package/dist/lib/tasks/task-store.d.ts.map +1 -0
  211. package/dist/lib/tasks/task-store.js +102 -0
  212. package/dist/lib/tasks/task-store.js.map +1 -0
  213. package/dist/lib/tasks/types.d.ts +38 -0
  214. package/dist/lib/tasks/types.d.ts.map +1 -0
  215. package/dist/lib/tasks/types.js +2 -0
  216. package/dist/lib/tasks/types.js.map +1 -0
  217. package/dist/lib/templates/resource-templates.d.ts +6 -0
  218. package/dist/lib/templates/resource-templates.d.ts.map +1 -0
  219. package/dist/lib/templates/resource-templates.js +146 -0
  220. package/dist/lib/templates/resource-templates.js.map +1 -0
  221. package/dist/lib/tools/agent-tool-wrapper.d.ts +5 -5
  222. package/dist/lib/tools/agent-tool-wrapper.js +3 -3
  223. package/dist/lib/tools/agent-tool-wrapper.js.map +1 -1
  224. package/dist/lib/tools/built-in/ask-user.tool.d.ts +1 -1
  225. package/dist/lib/tools/built-in/ask-user.tool.d.ts.map +1 -1
  226. package/dist/lib/tools/built-in/ask-user.tool.js +2 -2
  227. package/dist/lib/tools/built-in/ask-user.tool.js.map +1 -1
  228. package/dist/lib/tools/built-in/index.d.ts +9 -2
  229. package/dist/lib/tools/built-in/index.d.ts.map +1 -1
  230. package/dist/lib/tools/built-in/index.js +9 -2
  231. package/dist/lib/tools/built-in/index.js.map +1 -1
  232. package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.d.ts +9 -0
  233. package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.d.ts.map +1 -0
  234. package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.js +102 -0
  235. package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.js.map +1 -0
  236. package/dist/lib/tools/built-in/knowledge-graph-schema.tool.d.ts +9 -0
  237. package/dist/lib/tools/built-in/knowledge-graph-schema.tool.d.ts.map +1 -0
  238. package/dist/lib/tools/built-in/knowledge-graph-schema.tool.js +96 -0
  239. package/dist/lib/tools/built-in/knowledge-graph-schema.tool.js.map +1 -0
  240. package/dist/lib/tools/built-in/knowledge-search.tool.d.ts +2 -2
  241. package/dist/lib/tools/built-in/knowledge-search.tool.d.ts.map +1 -1
  242. package/dist/lib/tools/built-in/knowledge-search.tool.js +1 -1
  243. package/dist/lib/tools/built-in/knowledge-search.tool.js.map +1 -1
  244. package/dist/lib/tools/built-in/knowledge-sql.tool.d.ts +7 -0
  245. package/dist/lib/tools/built-in/knowledge-sql.tool.d.ts.map +1 -0
  246. package/dist/lib/tools/built-in/knowledge-sql.tool.js +127 -0
  247. package/dist/lib/tools/built-in/knowledge-sql.tool.js.map +1 -0
  248. package/dist/lib/tools/built-in/knowledge-tools-factory.d.ts +17 -0
  249. package/dist/lib/tools/built-in/knowledge-tools-factory.d.ts.map +1 -0
  250. package/dist/lib/tools/built-in/knowledge-tools-factory.js +54 -0
  251. package/dist/lib/tools/built-in/knowledge-tools-factory.js.map +1 -0
  252. package/dist/lib/tools/built-in/knowledge-traverse.tool.d.ts +9 -0
  253. package/dist/lib/tools/built-in/knowledge-traverse.tool.d.ts.map +1 -0
  254. package/dist/lib/tools/built-in/knowledge-traverse.tool.js +91 -0
  255. package/dist/lib/tools/built-in/knowledge-traverse.tool.js.map +1 -0
  256. package/dist/lib/tools/built-in/memory-save.tool.d.ts +4 -0
  257. package/dist/lib/tools/built-in/memory-save.tool.d.ts.map +1 -0
  258. package/dist/lib/tools/built-in/memory-save.tool.js +21 -0
  259. package/dist/lib/tools/built-in/memory-save.tool.js.map +1 -0
  260. package/dist/lib/tools/built-in/query-validators.d.ts +18 -0
  261. package/dist/lib/tools/built-in/query-validators.d.ts.map +1 -0
  262. package/dist/lib/tools/built-in/query-validators.js +87 -0
  263. package/dist/lib/tools/built-in/query-validators.js.map +1 -0
  264. package/dist/lib/tools/index.d.ts +4 -4
  265. package/dist/lib/tools/index.js +4 -4
  266. package/dist/lib/tools/tool-discovery.d.ts +11 -33
  267. package/dist/lib/tools/tool-discovery.d.ts.map +1 -1
  268. package/dist/lib/tools/tool-discovery.js +16 -43
  269. package/dist/lib/tools/tool-discovery.js.map +1 -1
  270. package/dist/lib/tools/tool-registry.d.ts +10 -18
  271. package/dist/lib/tools/tool-registry.d.ts.map +1 -1
  272. package/dist/lib/tools/tool-registry.js +37 -23
  273. package/dist/lib/tools/tool-registry.js.map +1 -1
  274. package/dist/lib/tools/workspace/workspace-tools.d.ts +60 -0
  275. package/dist/lib/tools/workspace/workspace-tools.d.ts.map +1 -0
  276. package/dist/lib/tools/workspace/workspace-tools.js +140 -0
  277. package/dist/lib/tools/workspace/workspace-tools.js.map +1 -0
  278. package/dist/lib/triggers/cron-trigger.d.ts +12 -0
  279. package/dist/lib/triggers/cron-trigger.d.ts.map +1 -0
  280. package/dist/lib/triggers/cron-trigger.js +45 -0
  281. package/dist/lib/triggers/cron-trigger.js.map +1 -0
  282. package/dist/lib/triggers/index.d.ts +6 -0
  283. package/dist/lib/triggers/index.d.ts.map +1 -0
  284. package/dist/lib/triggers/index.js +5 -0
  285. package/dist/lib/triggers/index.js.map +1 -0
  286. package/dist/lib/triggers/trigger-manager.d.ts +11 -0
  287. package/dist/lib/triggers/trigger-manager.d.ts.map +1 -0
  288. package/dist/lib/triggers/trigger-manager.js +51 -0
  289. package/dist/lib/triggers/trigger-manager.js.map +1 -0
  290. package/dist/lib/triggers/types.d.ts +57 -0
  291. package/dist/lib/triggers/types.d.ts.map +1 -0
  292. package/dist/lib/triggers/types.js +16 -0
  293. package/dist/lib/triggers/types.js.map +1 -0
  294. package/dist/lib/triggers/webhook-trigger.d.ts +12 -0
  295. package/dist/lib/triggers/webhook-trigger.d.ts.map +1 -0
  296. package/dist/lib/triggers/webhook-trigger.js +34 -0
  297. package/dist/lib/triggers/webhook-trigger.js.map +1 -0
  298. package/dist/lib/types/llm-types.d.ts +54 -0
  299. package/dist/lib/types/llm-types.d.ts.map +1 -0
  300. package/dist/lib/types/llm-types.js +22 -0
  301. package/dist/lib/types/llm-types.js.map +1 -0
  302. package/dist/lib/types/text-splitters.d.ts +27 -0
  303. package/dist/lib/types/text-splitters.d.ts.map +1 -0
  304. package/dist/lib/types/text-splitters.js +114 -0
  305. package/dist/lib/types/text-splitters.js.map +1 -0
  306. package/dist/lib/types/tool-factory.d.ts +9 -0
  307. package/dist/lib/types/tool-factory.d.ts.map +1 -0
  308. package/dist/lib/types/tool-factory.js +12 -0
  309. package/dist/lib/types/tool-factory.js.map +1 -0
  310. package/dist/lib/utils/file-utils.d.ts +11 -0
  311. package/dist/lib/utils/file-utils.d.ts.map +1 -0
  312. package/dist/lib/utils/file-utils.js +86 -0
  313. package/dist/lib/utils/file-utils.js.map +1 -0
  314. package/dist/lib/workflows/index.d.ts +6 -6
  315. package/dist/lib/workflows/index.d.ts.map +1 -1
  316. package/dist/lib/workflows/index.js +5 -5
  317. package/dist/lib/workflows/index.js.map +1 -1
  318. package/dist/lib/workflows/interrupt-manager.d.ts +1 -1
  319. package/dist/lib/workflows/interrupt-manager.js +1 -1
  320. package/dist/lib/workflows/react-workflow-executor.d.ts +26 -0
  321. package/dist/lib/workflows/react-workflow-executor.d.ts.map +1 -0
  322. package/dist/lib/workflows/react-workflow-executor.js +333 -0
  323. package/dist/lib/workflows/react-workflow-executor.js.map +1 -0
  324. package/dist/lib/workflows/types.d.ts +96 -97
  325. package/dist/lib/workflows/types.d.ts.map +1 -1
  326. package/dist/lib/workflows/types.js +5 -5
  327. package/dist/lib/workflows/types.js.map +1 -1
  328. package/dist/lib/workflows/workflow-executor.d.ts +3 -3
  329. package/dist/lib/workflows/workflow-executor.js +2 -2
  330. package/dist/lib/workflows/workflow-executor.js.map +1 -1
  331. package/dist/lib/workflows/workflow-loader.d.ts +1 -1
  332. package/dist/lib/workflows/workflow-loader.d.ts.map +1 -1
  333. package/dist/lib/workflows/workflow-loader.js +10 -3
  334. package/dist/lib/workflows/workflow-loader.js.map +1 -1
  335. package/dist/public/index.html +32 -0
  336. package/dist/public/src/components/AgentsView.js +298 -44
  337. package/dist/public/src/components/AppRoot.js +124 -4
  338. package/dist/public/src/components/GraphView.js +336 -0
  339. package/dist/public/src/components/IdeView.js +462 -7
  340. package/dist/public/src/components/KnowledgeView.js +443 -66
  341. package/dist/public/src/components/MonitorView.js +388 -0
  342. package/dist/public/src/components/NavBar.js +3 -0
  343. package/dist/public/src/components/SkillsView.js +137 -0
  344. package/dist/public/src/components/WorkflowsView.js +287 -114
  345. package/dist/public/src/services/ApiService.js +165 -25
  346. package/dist/public/src/store.js +3 -2
  347. package/dist/public/src/utils/markdown.js +1 -0
  348. package/dist/src/cli/commands/init.js +2 -2
  349. package/dist/src/cli/commands/init.js.map +1 -1
  350. package/dist/src/cli/commands/start.d.ts +0 -1
  351. package/dist/src/cli/commands/start.d.ts.map +1 -1
  352. package/dist/src/cli/commands/start.js +23 -14
  353. package/dist/src/cli/commands/start.js.map +1 -1
  354. package/dist/src/cli/index.js +3 -3
  355. package/dist/src/index.d.ts +1 -1
  356. package/dist/src/index.d.ts.map +1 -1
  357. package/dist/src/index.js +23 -9
  358. package/dist/src/index.js.map +1 -1
  359. package/dist/src/middleware/auth.d.ts +3 -0
  360. package/dist/src/middleware/auth.d.ts.map +1 -0
  361. package/dist/src/middleware/auth.js +107 -0
  362. package/dist/src/middleware/auth.js.map +1 -0
  363. package/dist/src/routes/agents.route.d.ts.map +1 -1
  364. package/dist/src/routes/agents.route.js +31 -2
  365. package/dist/src/routes/agents.route.js.map +1 -1
  366. package/dist/src/routes/files.route.d.ts.map +1 -1
  367. package/dist/src/routes/files.route.js +128 -87
  368. package/dist/src/routes/files.route.js.map +1 -1
  369. package/dist/src/routes/functions.route.js +1 -1
  370. package/dist/src/routes/graph.route.d.ts +3 -0
  371. package/dist/src/routes/graph.route.d.ts.map +1 -0
  372. package/dist/src/routes/graph.route.js +173 -0
  373. package/dist/src/routes/graph.route.js.map +1 -0
  374. package/dist/src/routes/knowledge.route.d.ts.map +1 -1
  375. package/dist/src/routes/knowledge.route.js +172 -69
  376. package/dist/src/routes/knowledge.route.js.map +1 -1
  377. package/dist/src/routes/llm.route.d.ts.map +1 -1
  378. package/dist/src/routes/llm.route.js +48 -7
  379. package/dist/src/routes/llm.route.js.map +1 -1
  380. package/dist/src/routes/mcp.route.js +1 -1
  381. package/dist/src/routes/skills.route.d.ts +3 -0
  382. package/dist/src/routes/skills.route.d.ts.map +1 -0
  383. package/dist/src/routes/skills.route.js +23 -0
  384. package/dist/src/routes/skills.route.js.map +1 -0
  385. package/dist/src/routes/tasks.route.d.ts +3 -0
  386. package/dist/src/routes/tasks.route.d.ts.map +1 -0
  387. package/dist/src/routes/tasks.route.js +135 -0
  388. package/dist/src/routes/tasks.route.js.map +1 -0
  389. package/dist/src/routes/workflows.route.d.ts.map +1 -1
  390. package/dist/src/routes/workflows.route.js +9 -1
  391. package/dist/src/routes/workflows.route.js.map +1 -1
  392. package/dist/src/server.d.ts +1 -1
  393. package/dist/src/server.d.ts.map +1 -1
  394. package/dist/src/server.js +21 -8
  395. package/dist/src/server.js.map +1 -1
  396. package/dist/templates/.env.example +4 -19
  397. package/dist/templates/README.md +18 -10
  398. package/dist/templates/agents/architect.agent.yaml +49 -0
  399. package/dist/templates/agents/chatbot.agent.yaml +58 -0
  400. package/dist/templates/agents/knowledge-broker.agent.yaml +39 -0
  401. package/dist/templates/agents/sandbox.agent.yaml +56 -0
  402. package/dist/templates/knowledge/example.knowledge.yaml +0 -3
  403. package/dist/templates/knowledge/org-chart/personnel.csv +21 -0
  404. package/dist/templates/knowledge/org-chart.knowledge.yaml +49 -0
  405. package/dist/templates/knowledge/pet-store/pet-store.db +0 -0
  406. package/dist/templates/knowledge/pet-store.knowledge.yaml +78 -0
  407. package/dist/templates/knowledge/web-docs.knowledge.yaml +20 -0
  408. package/dist/templates/llm.json +2 -2
  409. package/dist/templates/mcp.json +3 -0
  410. package/dist/templates/skills/orcha-builder/SKILL.md +339 -0
  411. package/dist/templates/skills/sandbox/SKILL.md +63 -0
  412. package/dist/templates/workflows/example.workflow.yaml +25 -30
  413. package/dist/templates/workflows/react-example.workflow.yaml +53 -0
  414. package/package.json +17 -20
  415. package/dist/lib/knowledge/graph-rag/community-detector.d.ts +0 -16
  416. package/dist/lib/knowledge/graph-rag/community-detector.d.ts.map +0 -1
  417. package/dist/lib/knowledge/graph-rag/community-detector.js +0 -81
  418. package/dist/lib/knowledge/graph-rag/community-detector.js.map +0 -1
  419. package/dist/lib/knowledge/graph-rag/community-summarizer.d.ts +0 -17
  420. package/dist/lib/knowledge/graph-rag/community-summarizer.d.ts.map +0 -1
  421. package/dist/lib/knowledge/graph-rag/community-summarizer.js +0 -87
  422. package/dist/lib/knowledge/graph-rag/community-summarizer.js.map +0 -1
  423. package/dist/lib/knowledge/graph-rag/entity-extractor.d.ts +0 -36
  424. package/dist/lib/knowledge/graph-rag/entity-extractor.d.ts.map +0 -1
  425. package/dist/lib/knowledge/graph-rag/entity-extractor.js +0 -192
  426. package/dist/lib/knowledge/graph-rag/entity-extractor.js.map +0 -1
  427. package/dist/lib/knowledge/graph-rag/extraction-cache.d.ts +0 -30
  428. package/dist/lib/knowledge/graph-rag/extraction-cache.d.ts.map +0 -1
  429. package/dist/lib/knowledge/graph-rag/extraction-cache.js +0 -88
  430. package/dist/lib/knowledge/graph-rag/extraction-cache.js.map +0 -1
  431. package/dist/lib/knowledge/graph-rag/global-search.d.ts +0 -19
  432. package/dist/lib/knowledge/graph-rag/global-search.d.ts.map +0 -1
  433. package/dist/lib/knowledge/graph-rag/global-search.js +0 -96
  434. package/dist/lib/knowledge/graph-rag/global-search.js.map +0 -1
  435. package/dist/lib/knowledge/graph-rag/graph-rag-factory.d.ts +0 -24
  436. package/dist/lib/knowledge/graph-rag/graph-rag-factory.d.ts.map +0 -1
  437. package/dist/lib/knowledge/graph-rag/graph-rag-factory.js +0 -239
  438. package/dist/lib/knowledge/graph-rag/graph-rag-factory.js.map +0 -1
  439. package/dist/lib/knowledge/graph-rag/index.d.ts +0 -14
  440. package/dist/lib/knowledge/graph-rag/index.d.ts.map +0 -1
  441. package/dist/lib/knowledge/graph-rag/index.js +0 -12
  442. package/dist/lib/knowledge/graph-rag/index.js.map +0 -1
  443. package/dist/lib/knowledge/graph-rag/local-search.d.ts +0 -20
  444. package/dist/lib/knowledge/graph-rag/local-search.d.ts.map +0 -1
  445. package/dist/lib/knowledge/graph-rag/local-search.js +0 -110
  446. package/dist/lib/knowledge/graph-rag/local-search.js.map +0 -1
  447. package/dist/lib/knowledge/graph-rag/memory-graph-store.d.ts +0 -31
  448. package/dist/lib/knowledge/graph-rag/memory-graph-store.d.ts.map +0 -1
  449. package/dist/lib/knowledge/graph-rag/memory-graph-store.js +0 -165
  450. package/dist/lib/knowledge/graph-rag/memory-graph-store.js.map +0 -1
  451. package/dist/lib/knowledge/graph-rag/neo4j-graph-store.d.ts +0 -38
  452. package/dist/lib/knowledge/graph-rag/neo4j-graph-store.d.ts.map +0 -1
  453. package/dist/lib/knowledge/graph-rag/neo4j-graph-store.js +0 -190
  454. package/dist/lib/knowledge/graph-rag/neo4j-graph-store.js.map +0 -1
  455. package/dist/lib/knowledge/graph-rag/search-mode-detector.d.ts +0 -11
  456. package/dist/lib/knowledge/graph-rag/search-mode-detector.d.ts.map +0 -1
  457. package/dist/lib/knowledge/graph-rag/search-mode-detector.js +0 -50
  458. package/dist/lib/knowledge/graph-rag/search-mode-detector.js.map +0 -1
  459. package/dist/lib/knowledge/graph-rag/types.d.ts +0 -368
  460. package/dist/lib/knowledge/graph-rag/types.d.ts.map +0 -1
  461. package/dist/lib/knowledge/graph-rag/types.js +0 -48
  462. package/dist/lib/knowledge/graph-rag/types.js.map +0 -1
  463. package/dist/lib/knowledge/knowledge-store-factory.d.ts +0 -16
  464. package/dist/lib/knowledge/knowledge-store-factory.d.ts.map +0 -1
  465. package/dist/lib/knowledge/knowledge-store-factory.js +0 -376
  466. package/dist/lib/knowledge/knowledge-store-factory.js.map +0 -1
  467. package/dist/lib/knowledge/knowledge-store-manager.d.ts +0 -18
  468. package/dist/lib/knowledge/knowledge-store-manager.d.ts.map +0 -1
  469. package/dist/lib/knowledge/knowledge-store-manager.js +0 -98
  470. package/dist/lib/knowledge/knowledge-store-manager.js.map +0 -1
  471. package/dist/lib/knowledge/loaders/s3-loader.d.ts +0 -17
  472. package/dist/lib/knowledge/loaders/s3-loader.d.ts.map +0 -1
  473. package/dist/lib/knowledge/loaders/s3-loader.js +0 -185
  474. package/dist/lib/knowledge/loaders/s3-loader.js.map +0 -1
  475. package/dist/lib/workflows/langgraph-executor.d.ts +0 -51
  476. package/dist/lib/workflows/langgraph-executor.d.ts.map +0 -1
  477. package/dist/lib/workflows/langgraph-executor.js +0 -297
  478. package/dist/lib/workflows/langgraph-executor.js.map +0 -1
  479. package/dist/templates/agents/call-center-analyst-simple.agent.yaml +0 -36
  480. package/dist/templates/agents/math.agent.yaml +0 -28
  481. package/dist/templates/agents/sentiment-structured.agent.yaml +0 -42
  482. package/dist/templates/llm.md +0 -1195
  483. package/dist/templates/workflows/langgraph-example.workflow.yaml +0 -84
@@ -0,0 +1,127 @@
1
+ import { tool } from "../../types/tool-factory.js";
2
+ import { z } from 'zod';
3
+ import { getPool, getDatabaseType } from "../../knowledge/utils/connection-pool.js";
4
+ import { validateReadonlySql } from "./query-validators.js";
5
+ /**
6
+ * Create a SQL query tool for a knowledge base backed by a database source.
7
+ */
8
+ export function createKnowledgeSqlTool(name, config) {
9
+ const dbSource = config.source;
10
+ const dbType = getDatabaseType(dbSource.connectionString);
11
+ const exampleQueries = buildSqlExamples(dbSource, dbType);
12
+ return tool(async ({ query, limit }) => {
13
+ const validation = validateReadonlySql(query);
14
+ if (!validation.valid) {
15
+ return `Query rejected: ${validation.reason}`;
16
+ }
17
+ const effectiveLimit = Math.min(limit ?? 25, 100);
18
+ // Append LIMIT if not already present
19
+ const hasLimit = /\bLIMIT\b/i.test(query);
20
+ const finalQuery = hasLimit ? query : `${query.trimEnd()}\nLIMIT ${effectiveLimit}`;
21
+ try {
22
+ const pool = getPool(dbSource.connectionString);
23
+ if (dbType === 'sqlite') {
24
+ return executeSqliteReadonly(pool, finalQuery);
25
+ }
26
+ else if (dbType === 'postgresql') {
27
+ return await executePostgresReadonly(pool, finalQuery);
28
+ }
29
+ else {
30
+ return await executeMysqlReadonly(pool, finalQuery);
31
+ }
32
+ }
33
+ catch (error) {
34
+ return `SQL query error: ${error instanceof Error ? error.message : String(error)}`;
35
+ }
36
+ }, {
37
+ name: `knowledge_sql_${name}`,
38
+ description: `Run a readonly SQL query against the "${name}" source database (${dbType}).
39
+
40
+ SOURCE QUERY (shows available tables/columns):
41
+ ${dbSource.query.trim()}
42
+
43
+ Content column: ${dbSource.contentColumn}
44
+ ${dbSource.metadataColumns ? `Metadata columns: ${dbSource.metadataColumns.join(', ')}` : ''}
45
+
46
+ EXAMPLE QUERIES:
47
+ ${exampleQueries}
48
+
49
+ RESTRICTIONS: Only SELECT queries allowed. No INSERT, UPDATE, DELETE, DROP, ALTER, TRUNCATE, CREATE, GRANT, or REVOKE.
50
+
51
+ TIPS: Use this when you need precise filtering, aggregation, or joins that semantic search can't provide. The source query above shows the tables and columns available.`,
52
+ schema: z.object({
53
+ query: z.string().describe('A readonly SQL SELECT query'),
54
+ limit: z.number().optional().describe('Max rows to return (default 25, max 100). Ignored if query already has LIMIT.'),
55
+ }),
56
+ });
57
+ }
58
+ async function executePostgresReadonly(pool, query) {
59
+ const client = await pool.connect();
60
+ try {
61
+ await client.query('BEGIN');
62
+ await client.query('SET TRANSACTION READ ONLY');
63
+ const result = await client.query(query);
64
+ await client.query('COMMIT');
65
+ if (!result.rows || result.rows.length === 0) {
66
+ return 'Query returned no results.';
67
+ }
68
+ return JSON.stringify(result.rows, null, 2);
69
+ }
70
+ catch (error) {
71
+ await client.query('ROLLBACK').catch(() => { });
72
+ throw error;
73
+ }
74
+ finally {
75
+ client.release();
76
+ }
77
+ }
78
+ async function executeMysqlReadonly(pool, query) {
79
+ const connection = await pool.getConnection();
80
+ try {
81
+ await connection.query('START TRANSACTION READ ONLY');
82
+ const [rows] = await connection.query(query);
83
+ await connection.query('COMMIT');
84
+ if (!rows || (Array.isArray(rows) && rows.length === 0)) {
85
+ return 'Query returned no results.';
86
+ }
87
+ return JSON.stringify(rows, null, 2);
88
+ }
89
+ catch (error) {
90
+ await connection.query('ROLLBACK').catch(() => { });
91
+ throw error;
92
+ }
93
+ finally {
94
+ connection.release();
95
+ }
96
+ }
97
+ function executeSqliteReadonly(db, query) {
98
+ const rows = db.prepare(query).all();
99
+ if (!rows || rows.length === 0) {
100
+ return 'Query returned no results.';
101
+ }
102
+ return JSON.stringify(rows, null, 2);
103
+ }
104
+ function buildSqlExamples(dbSource, dbType) {
105
+ // Parse table names from the original query
106
+ const tableMatch = dbSource.query.match(/FROM\s+"?(\w+)"?/i);
107
+ const tableName = tableMatch ? tableMatch[1] : 'table';
108
+ const contentCol = dbSource.contentColumn;
109
+ const metaCols = dbSource.metadataColumns ?? [];
110
+ const examples = [];
111
+ // Count query
112
+ examples.push(`- SELECT COUNT(*) FROM "${tableName}"`);
113
+ // Simple select with content
114
+ if (metaCols.length > 0) {
115
+ const selectCols = metaCols.slice(0, 3).map((c) => `"${c}"`).join(', ');
116
+ examples.push(`- SELECT ${selectCols} FROM "${tableName}" LIMIT 10`);
117
+ }
118
+ // Content search — SQLite and MySQL don't support ILIKE
119
+ const likeOp = dbType === 'postgresql' ? 'ILIKE' : 'LIKE';
120
+ examples.push(`- SELECT "${contentCol}" FROM "${tableName}" WHERE "${contentCol}" ${likeOp} '%keyword%' LIMIT 10`);
121
+ // Aggregate if there's a useful column
122
+ if (metaCols.length > 1) {
123
+ examples.push(`- SELECT "${metaCols[0]}", COUNT(*) as cnt FROM "${tableName}" GROUP BY "${metaCols[0]}" ORDER BY cnt DESC LIMIT 10`);
124
+ }
125
+ return examples.join('\n');
126
+ }
127
+ //# sourceMappingURL=knowledge-sql.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-sql.tool.js","sourceRoot":"","sources":["../../../../lib/tools/built-in/knowledge-sql.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,MAAuB;IAEvB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAA8B,CAAC;IACvD,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE1D,OAAO,IAAI,CACT,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACzB,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,mBAAmB,UAAU,CAAC,MAAM,EAAE,CAAC;QAChD,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAElD,sCAAsC;QACtC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,WAAW,cAAc,EAAE,CAAC;QAEpF,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAEhD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxB,OAAO,qBAAqB,CAAC,IAAoB,EAAE,UAAU,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;gBACnC,OAAO,MAAM,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,oBAAoB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACtF,CAAC;IACH,CAAC,EACD;QACE,IAAI,EAAE,iBAAiB,IAAI,EAAE;QAC7B,WAAW,EAAE,yCAAyC,IAAI,sBAAsB,MAAM;;;EAG1F,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;;kBAEL,QAAQ,CAAC,aAAa;EACtC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;;;EAG1F,cAAc;;;;yKAIyJ;QACnK,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACzD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;SACvH,CAAC;KACH,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,IAAS,EAAE,KAAa;IAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,4BAA4B,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAAS,EAAE,KAAa;IAC1D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEjC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,4BAA4B,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACnD,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,EAAgB,EAAE,KAAa;IAC5D,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;IAErC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,4BAA4B,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA8B,EAAE,MAAc;IACtE,4CAA4C;IAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAEvD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC;IAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC;IAEhD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,cAAc;IACd,QAAQ,CAAC,IAAI,CAAC,2BAA2B,SAAS,GAAG,CAAC,CAAC;IAEvD,6BAA6B;IAC7B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,QAAQ,CAAC,IAAI,CAAC,YAAY,UAAU,UAAU,SAAS,YAAY,CAAC,CAAC;IACvE,CAAC;IAED,wDAAwD;IACxD,MAAM,MAAM,GAAG,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1D,QAAQ,CAAC,IAAI,CAAC,aAAa,UAAU,WAAW,SAAS,YAAY,UAAU,KAAK,MAAM,uBAAuB,CAAC,CAAC;IAEnH,uCAAuC;IACvC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,CAAC,CAAC,4BAA4B,SAAS,eAAe,QAAQ,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;IACvI,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { StructuredTool } from '../../types/llm-types.ts';
2
+ import type { KnowledgeStoreInstance, KnowledgeConfig } from '../../knowledge/types.ts';
3
+ import type { SqliteStore } from '../../knowledge/sqlite-store.ts';
4
+ /**
5
+ * Create the full toolset for a knowledge base based on its type.
6
+ *
7
+ * - All KBs get: search
8
+ * - KBs with entities get: search + traverse + entity_lookup + graph_schema
9
+ * - Database-sourced KBs additionally get: sql
10
+ */
11
+ export declare function createKnowledgeTools(name: string, store: KnowledgeStoreInstance, sqliteStore?: SqliteStore): StructuredTool[];
12
+ /**
13
+ * Build a human-readable schema description from a knowledge config with graph.
14
+ * Used in tool descriptions to help LLMs understand the graph structure.
15
+ */
16
+ export declare function buildGraphSchemaDescription(config: KnowledgeConfig): string;
17
+ //# sourceMappingURL=knowledge-tools-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-tools-factory.d.ts","sourceRoot":"","sources":["../../../../lib/tools/built-in/knowledge-tools-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAUnE;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,sBAAsB,EAC7B,WAAW,CAAC,EAAE,WAAW,GACxB,cAAc,EAAE,CAsBlB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAyB3E"}
@@ -0,0 +1,54 @@
1
+ import { createKnowledgeSearchTool } from "./knowledge-search.tool.js";
2
+ import { createKnowledgeTraverseTool } from "./knowledge-traverse.tool.js";
3
+ import { createKnowledgeEntityLookupTool } from "./knowledge-entity-lookup.tool.js";
4
+ import { createKnowledgeGraphSchemaTool } from "./knowledge-graph-schema.tool.js";
5
+ import { createKnowledgeSqlTool } from "./knowledge-sql.tool.js";
6
+ import { createLogger } from "../../logger.js";
7
+ const logger = createLogger('KnowledgeToolsFactory');
8
+ /**
9
+ * Create the full toolset for a knowledge base based on its type.
10
+ *
11
+ * - All KBs get: search
12
+ * - KBs with entities get: search + traverse + entity_lookup + graph_schema
13
+ * - Database-sourced KBs additionally get: sql
14
+ */
15
+ export function createKnowledgeTools(name, store, sqliteStore) {
16
+ const config = store.config;
17
+ const tools = [];
18
+ // 1. Always create search tool
19
+ tools.push(createKnowledgeSearchTool(name, store));
20
+ // 2. Graph tools — if entities exist in the SQLite store
21
+ if (sqliteStore && sqliteStore.getEntityCount() > 0) {
22
+ tools.push(createKnowledgeTraverseTool(name, config, sqliteStore));
23
+ tools.push(createKnowledgeEntityLookupTool(name, config, sqliteStore));
24
+ tools.push(createKnowledgeGraphSchemaTool(name, config, sqliteStore));
25
+ }
26
+ // 3. SQL tool — if backed by a database source
27
+ if (config.source.type === 'database') {
28
+ tools.push(createKnowledgeSqlTool(name, config));
29
+ }
30
+ logger.info(`Created ${tools.length} knowledge tool(s) for "${name}": ${tools.map((t) => t.name).join(', ')}`);
31
+ return tools;
32
+ }
33
+ /**
34
+ * Build a human-readable schema description from a knowledge config with graph.
35
+ * Used in tool descriptions to help LLMs understand the graph structure.
36
+ */
37
+ export function buildGraphSchemaDescription(config) {
38
+ const sections = [];
39
+ sections.push(`Knowledge base: "${config.name}" — ${config.description ?? ''}`);
40
+ if (!config.graph?.directMapping)
41
+ return sections.join('\n');
42
+ const mapping = config.graph.directMapping;
43
+ const entityLines = mapping.entities.map((e) => {
44
+ const props = e.properties.map((p) => typeof p === 'string' ? p : Object.values(p)[0]);
45
+ return ` ${e.type}: ${props.join(', ')}`;
46
+ });
47
+ sections.push(`ENTITY TYPES:\n${entityLines.join('\n')}`);
48
+ if (mapping.relationships && mapping.relationships.length > 0) {
49
+ const relLines = mapping.relationships.map((r) => ` (${r.source}) -[${r.type}]-> (${r.target})`);
50
+ sections.push(`RELATIONSHIPS:\n${relLines.join('\n')}`);
51
+ }
52
+ return sections.join('\n');
53
+ }
54
+ //# sourceMappingURL=knowledge-tools-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-tools-factory.js","sourceRoot":"","sources":["../../../../lib/tools/built-in/knowledge-tools-factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { StructuredTool } from '../../types/llm-types.ts';
2
+ import type { SqliteStore } from '../../knowledge/sqlite-store.ts';
3
+ import type { KnowledgeConfig } from '../../knowledge/types.ts';
4
+ /**
5
+ * Create a graph traversal tool for a knowledge base with entities.
6
+ * Gets the neighborhood around an entity (N hops).
7
+ */
8
+ export declare function createKnowledgeTraverseTool(name: string, config: KnowledgeConfig, sqliteStore: SqliteStore): StructuredTool;
9
+ //# sourceMappingURL=knowledge-traverse.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-traverse.tool.d.ts","sourceRoot":"","sources":["../../../../lib/tools/built-in/knowledge-traverse.tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAA8B,MAAM,iCAAiC,CAAC;AAC/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAKhE;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,WAAW,GACvB,cAAc,CA0DhB"}
@@ -0,0 +1,91 @@
1
+ import { tool } from "../../types/tool-factory.js";
2
+ import { z } from 'zod';
3
+ import { buildGraphSchemaDescription } from "./knowledge-tools-factory.js";
4
+ const MAX_NODES = 50;
5
+ /**
6
+ * Create a graph traversal tool for a knowledge base with entities.
7
+ * Gets the neighborhood around an entity (N hops).
8
+ */
9
+ export function createKnowledgeTraverseTool(name, config, sqliteStore) {
10
+ const schemaInfo = buildGraphSchemaDescription(config);
11
+ return tool(async ({ entityName, entityId, depth }) => {
12
+ const effectiveDepth = Math.min(Math.max(depth ?? 1, 1), 3);
13
+ let targetId = entityId;
14
+ // If name given but no ID, search for a matching entity
15
+ if (!targetId && entityName) {
16
+ try {
17
+ const allEntities = sqliteStore.getAllEntities();
18
+ const nameLower = entityName.toLowerCase();
19
+ const match = allEntities.find((e) => e.name.toLowerCase() === nameLower || e.name.toLowerCase().includes(nameLower));
20
+ if (!match) {
21
+ return `No entity found matching name "${entityName}". Try a different name or use knowledge_entity_lookup_${name} to search.`;
22
+ }
23
+ targetId = match.id;
24
+ }
25
+ catch (error) {
26
+ return `Error searching for entity: ${error instanceof Error ? error.message : String(error)}`;
27
+ }
28
+ }
29
+ if (!targetId) {
30
+ return 'Provide either entityName or entityId to traverse from.';
31
+ }
32
+ try {
33
+ const { entities, relationships } = sqliteStore.getNeighborhood(targetId, effectiveDepth);
34
+ if (entities.length === 0) {
35
+ return `No neighbors found for entity "${targetId}" at depth ${effectiveDepth}.`;
36
+ }
37
+ const truncated = entities.length > MAX_NODES;
38
+ const displayEntities = entities.slice(0, MAX_NODES);
39
+ return formatTraversalResult(displayEntities, relationships, effectiveDepth, truncated, entities.length);
40
+ }
41
+ catch (error) {
42
+ return `Traversal error: ${error instanceof Error ? error.message : String(error)}`;
43
+ }
44
+ }, {
45
+ name: `knowledge_traverse_${name}`,
46
+ description: `Explore the neighborhood around an entity in the "${name}" knowledge graph. Returns connected nodes and relationships within N hops.
47
+
48
+ ${schemaInfo}
49
+
50
+ TIPS: Use this to understand how an entity relates to others. Start with depth=1 for immediate connections. Use knowledge_entity_lookup_${name} first if you need to find the entity's ID or name.`,
51
+ schema: z.object({
52
+ entityName: z.string().optional().describe('Name of the entity to start from (case-insensitive partial match)'),
53
+ entityId: z.string().optional().describe('ID of the entity to start from (exact match, takes precedence over entityName)'),
54
+ depth: z.number().optional().describe('How many hops to traverse (1-3, default 1)'),
55
+ }),
56
+ });
57
+ }
58
+ function formatTraversalResult(entities, relationships, depth, truncated, totalNodes) {
59
+ const sections = [];
60
+ // Group entities by type
61
+ const byType = new Map();
62
+ for (const entity of entities) {
63
+ const list = byType.get(entity.type) ?? [];
64
+ list.push(entity);
65
+ byType.set(entity.type, list);
66
+ }
67
+ sections.push(`NEIGHBORHOOD (depth=${depth}, ${entities.length} nodes, ${relationships.length} edges)${truncated ? ` [truncated from ${totalNodes}]` : ''}`);
68
+ sections.push('\nNODES:');
69
+ for (const [type, typeEntities] of byType) {
70
+ sections.push(` [${type}] (${typeEntities.length})`);
71
+ for (const entity of typeEntities.slice(0, 20)) {
72
+ const desc = entity.description ? ` — ${entity.description.substring(0, 100)}` : '';
73
+ sections.push(` - ${entity.name} (id: ${entity.id})${desc}`);
74
+ }
75
+ if (typeEntities.length > 20) {
76
+ sections.push(` ... and ${typeEntities.length - 20} more`);
77
+ }
78
+ }
79
+ if (relationships.length > 0) {
80
+ sections.push('\nEDGES:');
81
+ const displayEdges = relationships.slice(0, 30);
82
+ for (const edge of displayEdges) {
83
+ sections.push(` (${edge.source_id}) -[${edge.type}]-> (${edge.target_id})`);
84
+ }
85
+ if (relationships.length > 30) {
86
+ sections.push(` ... and ${relationships.length - 30} more edges`);
87
+ }
88
+ }
89
+ return sections.join('\n');
90
+ }
91
+ //# sourceMappingURL=knowledge-traverse.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-traverse.tool.js","sourceRoot":"","sources":["../../../../lib/tools/built-in/knowledge-traverse.tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { StructuredTool } from '../../types/llm-types.ts';
2
+ import type { MemoryManager } from '../../memory/memory-manager.ts';
3
+ export declare function createMemorySaveTool(memoryManager: MemoryManager, agentName: string, maxLines: number): StructuredTool;
4
+ //# sourceMappingURL=memory-save.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-save.tool.d.ts","sourceRoot":"","sources":["../../../../lib/tools/built-in/memory-save.tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,cAAc,CAuBhB"}
@@ -0,0 +1,21 @@
1
+ import { tool } from "../../types/tool-factory.js";
2
+ import { z } from 'zod';
3
+ export function createMemorySaveTool(memoryManager, agentName, maxLines) {
4
+ return tool(async ({ content }) => {
5
+ await memoryManager.save(agentName, content, maxLines);
6
+ const lineCount = content.split('\n').length;
7
+ return `Memory saved successfully (${lineCount} lines).`;
8
+ }, {
9
+ name: 'save_memory',
10
+ description: 'Save or update your long-term memory. Provide the COMPLETE memory content ' +
11
+ 'that should be persisted. This replaces the entire memory file. ' +
12
+ 'Use this to remember important facts, user preferences, and key context across conversations.',
13
+ schema: z.object({
14
+ content: z
15
+ .string()
16
+ .describe('The full memory content to save. This replaces any existing memory. ' +
17
+ 'Use markdown formatting with bullet points for clarity.'),
18
+ }),
19
+ });
20
+ }
21
+ //# sourceMappingURL=memory-save.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-save.tool.js","sourceRoot":"","sources":["../../../../lib/tools/built-in/memory-save.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,UAAU,oBAAoB,CAClC,aAA4B,EAC5B,SAAiB,EACjB,QAAgB;IAEhB,OAAO,IAAI,CACT,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACpB,MAAM,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC7C,OAAO,8BAA8B,SAAS,UAAU,CAAC;IAC3D,CAAC,EACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,4EAA4E;YAC5E,kEAAkE;YAClE,+FAA+F;QACjG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,CACP,sEAAsE;gBACtE,yDAAyD,CAC1D;SACJ,CAAC;KACH,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Shared readonly validation for Cypher and SQL queries.
3
+ * Strips comments and string literals before checking for write keywords.
4
+ */
5
+ interface ValidationResult {
6
+ valid: boolean;
7
+ reason?: string;
8
+ }
9
+ /**
10
+ * Validate that a Cypher query is readonly (no mutations).
11
+ */
12
+ export declare function validateReadonlyCypher(query: string): ValidationResult;
13
+ /**
14
+ * Validate that a SQL query is readonly (no mutations).
15
+ */
16
+ export declare function validateReadonlySql(query: string): ValidationResult;
17
+ export {};
18
+ //# sourceMappingURL=query-validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-validators.d.ts","sourceRoot":"","sources":["../../../../lib/tools/built-in/query-validators.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,UAAU,gBAAgB;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA+CD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAoBtE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAkBnE"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Shared readonly validation for Cypher and SQL queries.
3
+ * Strips comments and string literals before checking for write keywords.
4
+ */
5
+ /**
6
+ * Strip single-line comments, multi-line comments, and string literals
7
+ * so keyword detection doesn't get tricked by values inside strings/comments.
8
+ */
9
+ function stripCommentsAndStrings(query) {
10
+ return query
11
+ // Remove single-line comments (// or --)
12
+ .replace(/\/\/.*$/gm, '')
13
+ .replace(/--.*$/gm, '')
14
+ // Remove multi-line comments
15
+ .replace(/\/\*[\s\S]*?\*\//g, '')
16
+ // Remove double-quoted strings
17
+ .replace(/"(?:[^"\\]|\\.)*"/g, '""')
18
+ // Remove single-quoted strings
19
+ .replace(/'(?:[^'\\]|\\.)*'/g, "''")
20
+ // Remove backtick-quoted identifiers
21
+ .replace(/`(?:[^`\\]|\\.)*`/g, '``');
22
+ }
23
+ const CYPHER_WRITE_KEYWORDS = [
24
+ 'CREATE',
25
+ 'DELETE',
26
+ 'MERGE',
27
+ 'SET',
28
+ 'REMOVE',
29
+ 'DROP',
30
+ 'DETACH',
31
+ 'CALL\\s+\\{', // CALL { ... } subqueries that could write
32
+ 'FOREACH',
33
+ ];
34
+ const SQL_WRITE_KEYWORDS = [
35
+ 'INSERT',
36
+ 'UPDATE',
37
+ 'DELETE',
38
+ 'DROP',
39
+ 'ALTER',
40
+ 'TRUNCATE',
41
+ 'CREATE',
42
+ 'GRANT',
43
+ 'REVOKE',
44
+ 'EXEC',
45
+ 'EXECUTE',
46
+ ];
47
+ /**
48
+ * Validate that a Cypher query is readonly (no mutations).
49
+ */
50
+ export function validateReadonlyCypher(query) {
51
+ if (!query.trim()) {
52
+ return { valid: false, reason: 'Query cannot be empty.' };
53
+ }
54
+ const stripped = stripCommentsAndStrings(query);
55
+ for (const keyword of CYPHER_WRITE_KEYWORDS) {
56
+ // Match keyword as whole word (word boundary), case-insensitive
57
+ const regex = new RegExp(`\\b${keyword}\\b`, 'i');
58
+ if (regex.test(stripped)) {
59
+ const cleanKeyword = keyword.replace(/\\s\+/, ' ').replace(/\\/, '');
60
+ return {
61
+ valid: false,
62
+ reason: `Write operation "${cleanKeyword}" is not allowed. Only read queries (MATCH, RETURN, WITH, WHERE, ORDER BY, etc.) are permitted.`,
63
+ };
64
+ }
65
+ }
66
+ return { valid: true };
67
+ }
68
+ /**
69
+ * Validate that a SQL query is readonly (no mutations).
70
+ */
71
+ export function validateReadonlySql(query) {
72
+ if (!query.trim()) {
73
+ return { valid: false, reason: 'Query cannot be empty.' };
74
+ }
75
+ const stripped = stripCommentsAndStrings(query);
76
+ for (const keyword of SQL_WRITE_KEYWORDS) {
77
+ const regex = new RegExp(`\\b${keyword}\\b`, 'i');
78
+ if (regex.test(stripped)) {
79
+ return {
80
+ valid: false,
81
+ reason: `Write operation "${keyword}" is not allowed. Only SELECT queries are permitted.`,
82
+ };
83
+ }
84
+ }
85
+ return { valid: true };
86
+ }
87
+ //# sourceMappingURL=query-validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-validators.js","sourceRoot":"","sources":["../../../../lib/tools/built-in/query-validators.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;;GAGG;AACH,SAAS,uBAAuB,CAAC,KAAa;IAC5C,OAAO,KAAK;QACV,yCAAyC;SACxC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QACvB,6BAA6B;SAC5B,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;QACjC,+BAA+B;SAC9B,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC;QACpC,+BAA+B;SAC9B,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC;QACpC,qCAAqC;SACpC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,qBAAqB,GAAG;IAC5B,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,aAAa,EAAE,2CAA2C;IAC1D,SAAS;CACV,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;CACV,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAClB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;IAC5D,CAAC;IAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAEhD,KAAK,MAAM,OAAO,IAAI,qBAAqB,EAAE,CAAC;QAC5C,gEAAgE;QAChE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,OAAO,KAAK,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrE,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,oBAAoB,YAAY,iGAAiG;aAC1I,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAClB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;IAC5D,CAAC;IAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAEhD,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,OAAO,KAAK,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,oBAAoB,OAAO,sDAAsD;aAC1F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC"}
@@ -1,5 +1,5 @@
1
- export { ToolRegistry } from './tool-registry.js';
2
- export { ToolDiscovery } from './tool-discovery.js';
3
- export { AgentToolWrapper } from './agent-tool-wrapper.js';
4
- export { createKnowledgeSearchTool, createAskUserTool } from './built-in/index.js';
1
+ export { ToolRegistry } from './tool-registry.ts';
2
+ export { ToolDiscovery } from './tool-discovery.ts';
3
+ export { AgentToolWrapper } from './agent-tool-wrapper.ts';
4
+ export { createKnowledgeSearchTool, createAskUserTool } from './built-in/index.ts';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,5 @@
1
- export { ToolRegistry } from './tool-registry.js';
2
- export { ToolDiscovery } from './tool-discovery.js';
3
- export { AgentToolWrapper } from './agent-tool-wrapper.js';
4
- export { createKnowledgeSearchTool, createAskUserTool } from './built-in/index.js';
1
+ export { ToolRegistry } from "./tool-registry.js";
2
+ export { ToolDiscovery } from "./tool-discovery.js";
3
+ export { AgentToolWrapper } from "./agent-tool-wrapper.js";
4
+ export { createKnowledgeSearchTool, createAskUserTool } from "./built-in/index.js";
5
5
  //# sourceMappingURL=index.js.map
@@ -1,50 +1,28 @@
1
- import type { StructuredTool } from '@langchain/core/tools';
2
- import type { ToolRegistry } from './tool-registry.js';
3
- import type { MCPClientManager } from '../mcp/mcp-client.js';
4
- import type { KnowledgeStoreManager } from '../knowledge/knowledge-store-manager.js';
5
- import type { FunctionLoader } from '../functions/function-loader.js';
6
- import type { GraphToolConfig, GraphAgentConfig } from '../workflows/types.js';
7
- import type { AgentLoader } from '../agents/agent-loader.js';
8
- import type { AgentExecutor } from '../agents/agent-executor.js';
1
+ import type { StructuredTool } from '../types/llm-types.ts';
2
+ import type { ToolRegistry } from './tool-registry.ts';
3
+ import type { MCPClientManager } from '../mcp/mcp-client.ts';
4
+ import type { KnowledgeStore } from '../knowledge/knowledge-store.ts';
5
+ import type { FunctionLoader } from '../functions/function-loader.ts';
6
+ import type { GraphToolConfig, GraphAgentConfig } from '../workflows/types.ts';
7
+ import type { AgentLoader } from '../agents/agent-loader.ts';
8
+ import type { AgentExecutor } from '../agents/agent-executor.ts';
9
9
  /**
10
- * Centralized tool discovery for LangGraph workflows.
10
+ * Centralized tool discovery for ReAct workflows.
11
11
  * Discovers tools from all configured sources and applies filtering.
12
12
  */
13
13
  export declare class ToolDiscovery {
14
14
  private mcpClient;
15
- private knowledgeStoreManager;
15
+ private knowledgeStores;
16
16
  private functionLoader;
17
17
  private agentLoader;
18
18
  private agentExecutor;
19
- constructor(_toolRegistry: ToolRegistry, // Unused but kept for future use
20
- mcpClient: MCPClientManager, knowledgeStoreManager: KnowledgeStoreManager, functionLoader: FunctionLoader, agentLoader: AgentLoader, agentExecutor: AgentExecutor);
21
- /**
22
- * Discovers all tools based on configuration.
23
- */
19
+ constructor(_toolRegistry: ToolRegistry, mcpClient: MCPClientManager, knowledgeStores: KnowledgeStore, functionLoader: FunctionLoader, agentLoader: AgentLoader, agentExecutor: AgentExecutor);
24
20
  discoverAll(config: GraphToolConfig): Promise<StructuredTool[]>;
25
- /**
26
- * Discovers agent tools based on configuration.
27
- */
28
21
  discoverAgents(config: GraphAgentConfig): Promise<StructuredTool[]>;
29
- /**
30
- * Filters tools based on mode and include/exclude lists.
31
- */
32
22
  private filterTools;
33
- /**
34
- * Discovers MCP tools from all servers.
35
- */
36
23
  private discoverMCP;
37
- /**
38
- * Discovers knowledge search tools for all knowledge stores.
39
- */
40
24
  private discoverKnowledge;
41
- /**
42
- * Discovers custom function tools.
43
- */
44
25
  private discoverFunction;
45
- /**
46
- * Discovers built-in tools (ask_user is always included).
47
- */
48
26
  private discoverBuiltin;
49
27
  }
50
28
  //# sourceMappingURL=tool-discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-discovery.d.ts","sourceRoot":"","sources":["../../../lib/tools/tool-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAMjE;;;GAGG;AACH,qBAAa,aAAa;IAGtB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,aAAa;gBALrB,aAAa,EAAE,YAAY,EAAE,iCAAiC;IACtD,SAAS,EAAE,gBAAgB,EAC3B,qBAAqB,EAAE,qBAAqB,EAC5C,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa;IAGtC;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAwBrE;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IA2BzE;;OAEG;IACH,OAAO,CAAC,WAAW;IA2BnB;;OAEG;YACW,WAAW;IAsBzB;;OAEG;YACW,iBAAiB;IA6B/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACH,OAAO,CAAC,eAAe;CASxB"}
1
+ {"version":3,"file":"tool-discovery.d.ts","sourceRoot":"","sources":["../../../lib/tools/tool-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAMjE;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAgB;gBAGnC,aAAa,EAAE,YAAY,EAC3B,SAAS,EAAE,gBAAgB,EAC3B,eAAe,EAAE,cAAc,EAC/B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa;IASxB,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAuB/D,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IA0BzE,OAAO,CAAC,WAAW;YA0BL,WAAW;YAsBX,iBAAiB;IA4B/B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,eAAe;CAMxB"}