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
package/README.md CHANGED
@@ -11,8 +11,8 @@ Agent Orcha is a declarative framework designed to build, manage, and scale mult
11
11
  - **Declarative AI**: Define agents, workflows, and infrastructure in clear, version-controlled YAML files. No more spaghetti code.
12
12
  - **Model Agnostic**: Seamlessly swap between OpenAI, Gemini, Anthropic, or local LLMs (Ollama, LM Studio) without rewriting logic.
13
13
  - **Universal Tooling**: Leverage the **Model Context Protocol (MCP)** to connect agents to any external service, API, or database instantly.
14
- - **Knowledge Stores**: Built-in vector store and **GraphRAG** integration makes semantic search and knowledge graph analysis a first-class citizen.
15
- - **Robust Workflow Engine**: Orchestrate complex multi-agent sequences with parallel execution, conditional logic, and state management - or use **LangGraph** for autonomous prompt-driven workflows.
14
+ - **Knowledge Stores**: Built-in SQLite-based vector store with optional **direct mapping** for knowledge graphs — semantic search and graph analysis as a first-class citizen.
15
+ - **Robust Workflow Engine**: Orchestrate complex multi-agent sequences with parallel execution, conditional logic, and state management - or use **ReAct** for autonomous prompt-driven workflows.
16
16
  - **Conversation Memory**: Built-in session-based memory for multi-turn dialogues with automatic message management and TTL cleanup.
17
17
  - **Structured Output**: Enforce JSON schemas on agent responses with automatic validation and type safety.
18
18
  - **Agent Orcha Studio**: Built-in web dashboard with agent testing, knowledge browsing, workflow execution, and an **in-browser IDE** for editing configs.
@@ -24,15 +24,23 @@ Agent Orcha is a declarative framework designed to build, manage, and scale mult
24
24
  Agent Orcha enables you to:
25
25
 
26
26
  - **Define agents** using YAML configuration files with customizable LLM providers, prompts, and tools
27
- - **Create workflows** that coordinate multiple agents in sequential, parallel, or autonomous (LangGraph) execution
28
- - **Integrate knowledge stores** for RAG (Retrieval Augmented Generation) with vector search and GraphRAG
27
+ - **Create workflows** that coordinate multiple agents in sequential, parallel, or autonomous (ReAct) execution
28
+ - **Integrate knowledge stores** for RAG (Retrieval Augmented Generation) with vector search and optional knowledge graphs
29
29
  - **Connect MCP servers** to extend agent capabilities with external tools
30
30
  - **Create local functions** to give your agents the ability to call your own custom code
31
31
  - **Manage everything** through a web-based Studio dashboard with built-in IDE
32
32
 
33
+ ## Architecture
34
+
35
+ <p align="center">
36
+ <img src="docs/architecture.svg" alt="Agent Orcha Architecture" width="100%" />
37
+ </p>
38
+
33
39
  ### Alpha Status and Security Notice
34
40
 
35
- **This project is currently in ALPHA state.** No security precautions have been implemented yet. This software should **ALWAYS** be deployed behind a firewall without open access to its APIs. It is designed for **internal use only** and should never be exposed directly to the public internet.
41
+ **This project is currently in ALPHA state.** This software should **ALWAYS** be deployed behind a firewall without open access to its APIs. It is designed for **internal use only** and should never be exposed directly to the public internet.
42
+
43
+ Agent Orcha includes a simple password-based authentication gate. Set the `AUTH_PASSWORD` environment variable to require a password for all API access and the Studio UI. When unset, no authentication is required (suitable for local development).
36
44
 
37
45
 
38
46
  ## Usage
@@ -45,7 +53,7 @@ Agent Orcha can be used in multiple ways depending on your needs:
45
53
  4. **Library** - Import and use Agent Orcha programmatically in your TypeScript/JavaScript projects
46
54
  5. **Source** - Clone and run directly from source for development or customization
47
55
 
48
- **Requirements:** Node.js >= 20.0.0 (or Docker for containerized deployment)
56
+ **Requirements:** Node.js >= 24.0.0 (or Docker for containerized deployment)
49
57
 
50
58
 
51
59
  ## Quick Start
@@ -120,7 +128,8 @@ services:
120
128
  volumes:
121
129
  - ./my-agent-orcha-project:/data
122
130
  environment:
123
- - ORCHA_BASE_DIR=/data
131
+ - WORKSPACE=/data
132
+ - AUTH_PASSWORD=your-secret-password # Optional
124
133
  ```
125
134
 
126
135
  Then run:
@@ -136,7 +145,7 @@ See the [Docker Hub page](https://hub.docker.com/r/ddalcu/agent-orcha) for more
136
145
  import { Orchestrator } from 'agent-orcha';
137
146
 
138
147
  const orchestrator = new Orchestrator({
139
- projectRoot: './my-agents-project'
148
+ workspaceRoot: './my-agents-project'
140
149
  });
141
150
 
142
151
  await orchestrator.initialize();
@@ -231,8 +240,8 @@ eventSource.onmessage = (event) => {
231
240
  **CORS Configuration:**
232
241
  For production deployments, configure CORS in your server startup or use a reverse proxy (nginx, Caddy, etc.) to handle CORS headers.
233
242
 
234
- **Security Note:**
235
- Agent Orcha is currently in ALPHA with no built-in authentication. Always deploy behind a firewall or add your own authentication layer (JWT, API keys, etc.) before exposing to clients.
243
+ **Authentication:**
244
+ Set the `AUTH_PASSWORD` environment variable to enable password authentication for all API routes. The Studio UI will prompt for the password on access. When unset, all routes are open (suitable for local development behind a firewall).
236
245
 
237
246
  ## CLI Commands
238
247
 
@@ -350,7 +359,10 @@ PORT=3000
350
359
  HOST=0.0.0.0
351
360
 
352
361
  # Base directory for config files (optional)
353
- ORCHA_BASE_DIR=/path/to/project
362
+ WORKSPACE=/path/to/project
363
+
364
+ # Authentication (optional — when set, all API routes and Studio require this password)
365
+ AUTH_PASSWORD=your-secret-password
354
366
  ```
355
367
 
356
368
  ## Agents
@@ -387,6 +399,20 @@ output: # Output formatting (optional)
387
399
  properties: { ... }
388
400
  required: [string]
389
401
 
402
+ skills: # Skills to attach (optional)
403
+ - skill-name # Specific skills by name
404
+ # Or: { mode: all } # Attach all available skills
405
+
406
+ memory: boolean # Enable persistent memory (optional)
407
+
408
+ integrations: # External integrations (optional)
409
+ - integration-name
410
+
411
+ triggers: # Cron or webhook triggers (optional)
412
+ - type: cron
413
+ schedule: "0 * * * *"
414
+ - type: webhook
415
+
390
416
  metadata: # Custom metadata (optional)
391
417
  category: string
392
418
  tags: [string]
@@ -434,7 +460,7 @@ metadata:
434
460
  Agent Orcha supports session-based conversation memory, allowing agents to maintain context across multiple interactions. This is useful for building chatbots, multi-turn dialogues, and stateful applications.
435
461
 
436
462
  **Features:**
437
- - In-memory session storage using LangChain messages
463
+ - In-memory session storage with custom message types
438
464
  - Automatic FIFO message limit (default: 50 messages per session)
439
465
  - Optional TTL-based session cleanup (default: 1 hour)
440
466
  - Backward compatible (sessionId is optional)
@@ -510,7 +536,7 @@ const totalSessions = memory.getSessionCount();
510
536
 
511
537
  ### Structured Output
512
538
 
513
- Agents can return validated, structured JSON output by specifying an `output.schema` configuration. This leverages LangChain's `withStructuredOutput()` to ensure responses match your desired format.
539
+ Agents can return validated, structured JSON output by specifying an `output.schema` configuration. This ensures responses match your desired format with automatic validation.
514
540
 
515
541
  **Features:**
516
542
  - JSON Schema-based output validation
@@ -599,7 +625,7 @@ console.log(result.metadata.structuredOutputValid); // true
599
625
 
600
626
  ## Workflows
601
627
 
602
- Workflows orchestrate multiple agents in a defined sequence. Define workflows in YAML files within the `workflows/` directory. Agent Orcha supports two workflow types: **step-based** and **LangGraph**.
628
+ Workflows orchestrate multiple agents in a defined sequence. Define workflows in YAML files within the `workflows/` directory. Agent Orcha supports two workflow types: **step-based** and **ReAct**.
603
629
 
604
630
  ### Step-Based Workflows
605
631
 
@@ -724,11 +750,11 @@ output:
724
750
  researchFindings: "{{steps.research.output}}"
725
751
  ```
726
752
 
727
- ### LangGraph Workflows
753
+ ### ReAct Workflows
728
754
 
729
- Autonomous, prompt-driven workflows using LangGraph. The agent decides which tools and agents to call based on the system prompt, without explicit step definitions.
755
+ Autonomous, prompt-driven workflows using the ReAct pattern. The agent decides which tools and agents to call based on the system prompt, without explicit step definitions.
730
756
 
731
- #### LangGraph Schema
757
+ #### ReAct Schema
732
758
 
733
759
  ```yaml
734
760
  # workflows/<name>.workflow.yaml
@@ -736,7 +762,7 @@ Autonomous, prompt-driven workflows using LangGraph. The agent decides which too
736
762
  name: string # Unique identifier (required)
737
763
  description: string # Human-readable description (required)
738
764
  version: string # Semantic version (default: "1.0.0")
739
- type: langgraph # Required for LangGraph workflows
765
+ type: react # Required for ReAct workflows
740
766
 
741
767
  input: # Input schema (required)
742
768
  schema:
@@ -749,7 +775,7 @@ prompt: # Prompt configuration (required)
749
775
  system: string # System message with instructions
750
776
  goal: string # Goal template (supports {{input.*}} interpolation)
751
777
 
752
- graph: # LangGraph configuration (required)
778
+ graph: # ReAct configuration (required)
753
779
  model: string # LLM config name from llm.json
754
780
  executionMode: react | single-turn # Default: react
755
781
  tools: # Tool discovery
@@ -778,13 +804,13 @@ config: # Optional
778
804
  | `single-turn` | Calls tools once, then returns | Research, data gathering, straightforward tasks |
779
805
  | `react` | Multiple rounds of tool calls with analysis | Complex problems, iterative refinement |
780
806
 
781
- #### Example LangGraph Workflow
807
+ #### Example ReAct Workflow
782
808
 
783
809
  ```yaml
784
- name: langgraph-research
810
+ name: react-research
785
811
  description: Autonomous research using tool discovery
786
812
  version: "1.0.0"
787
- type: langgraph
813
+ type: react
788
814
 
789
815
  input:
790
816
  schema:
@@ -818,24 +844,20 @@ output:
818
844
 
819
845
  ## Knowledge Stores
820
846
 
821
- Knowledge stores enable semantic search and RAG capabilities. Define knowledge stores in YAML files within the `knowledge/` directory. Two kinds are supported: **vector** (default) and **graph-rag**.
822
-
823
- ### Vector Knowledge Stores
847
+ Knowledge stores enable semantic search and RAG capabilities. All stores use **SQLite with sqlite-vec** as the unified persistence layer — no external vector databases required. Define knowledge stores in YAML files within the `knowledge/` directory.
824
848
 
825
- Traditional vector stores with embeddings for semantic search.
849
+ Optionally add a `graph.directMapping` section to build a knowledge graph from structured data (typically database sources).
826
850
 
827
- #### Vector Knowledge Schema
851
+ ### Knowledge Store Schema
828
852
 
829
853
  ```yaml
830
854
  # knowledge/<name>.knowledge.yaml
831
855
 
832
856
  name: string # Unique identifier (required)
833
857
  description: string # Human-readable description (required)
834
- kind: vector # Optional (vector is default)
835
858
 
836
859
  source: # Data source (required)
837
- type: directory | file | database | web | s3
838
- # See "Data Source Types" below for type-specific fields
860
+ type: directory | file | database | web
839
861
 
840
862
  loader: # Document loader (required)
841
863
  type: text | pdf | csv | json | markdown
@@ -847,19 +869,26 @@ splitter: # Text chunking (required)
847
869
 
848
870
  embedding: string # Reference to embedding config in llm.json (default: "default")
849
871
 
850
- store: # Vector store backend (required)
851
- type: memory | chroma | pinecone | qdrant
852
- options: # Store-specific options (optional)
853
- path: string # Storage path (for chroma)
854
- collectionName: string # Collection name (for chroma)
855
- url: string # Server URL (for chroma, qdrant)
872
+ graph: # Optional enables entity graph
873
+ directMapping: # Maps structured data to entities and relationships
874
+ entities:
875
+ - type: string # Entity type name
876
+ idColumn: string # Column used as unique ID
877
+ nameColumn: string # Column used as display name (optional)
878
+ properties: [string] # Columns to include as entity properties
879
+ relationships: # Optional
880
+ - type: string # Relationship type name
881
+ source: string # Source entity type
882
+ target: string # Target entity type
883
+ sourceIdColumn: string # Column linking to source entity
884
+ targetIdColumn: string # Column linking to target entity
856
885
 
857
886
  search: # Search configuration (optional)
858
887
  defaultK: number # Results per search (default: 4)
859
888
  scoreThreshold: number # Minimum similarity (0-1)
860
889
  ```
861
890
 
862
- #### Example Vector Knowledge Store
891
+ #### Example: Vector-Only Store
863
892
 
864
893
  ```yaml
865
894
  # knowledge/transcripts.knowledge.yaml
@@ -882,88 +911,30 @@ splitter:
882
911
 
883
912
  embedding: default
884
913
 
885
- store:
886
- type: memory
887
-
888
914
  search:
889
915
  defaultK: 4
890
916
  scoreThreshold: 0.2
891
917
  ```
892
918
 
893
- **Note:** Knowledge stores are initialized on startup, loading documents and creating embeddings immediately.
894
-
895
- ### GraphRAG Knowledge Stores
896
-
897
- GraphRAG extracts entities and relationships from documents, builds a knowledge graph, detects communities, and enables both entity-level and thematic search.
898
-
899
- #### GraphRAG Schema
919
+ #### Example: Store with Graph (Direct Mapping)
900
920
 
901
921
  ```yaml
902
- # knowledge/<name>.knowledge.yaml
903
-
904
- name: string # Unique identifier (required)
905
- kind: graph-rag # Required for GraphRAG
906
- description: string # Human-readable description (required)
922
+ # knowledge/blog-posts.knowledge.yaml
907
923
 
908
- source: # Same source types as vector
909
- type: directory | file | database | web | s3
910
-
911
- loader:
912
- type: text | pdf | csv | json | markdown
913
-
914
- splitter:
915
- type: character | recursive | token | markdown
916
- chunkSize: number
917
- chunkOverlap: number
918
-
919
- embedding: string # Embedding config from llm.json
920
-
921
- graph: # Graph configuration (required)
922
- extraction: # Entity extraction
923
- llm: string # LLM from llm.json (default: "default")
924
- entityTypes: # Optional schema (omit for auto-extraction)
925
- - name: string
926
- description: string
927
- relationshipTypes: # Optional schema
928
- - name: string
929
- description: string
930
-
931
- communities: # Community detection
932
- algorithm: louvain # Currently only supported algorithm
933
- resolution: number # Louvain resolution (default: 1.0)
934
- minSize: number # Minimum community size (default: 2)
935
- summaryLlm: string # LLM for summaries (default: "default")
936
-
937
- store: # Graph store backend
938
- type: memory | neo4j # Default: memory
939
- options: {}
940
-
941
- cache: # Graph cache
942
- enabled: boolean # Default: true
943
- directory: string # Default: ".graph-cache"
944
-
945
- search: # Search configuration
946
- defaultK: number # Results per search (default: 10)
947
- localSearch: # Entity neighborhood search
948
- maxDepth: number # Traversal depth (default: 2)
949
- globalSearch: # Community-level search
950
- topCommunities: number # Communities to consider (default: 5)
951
- llm: string # LLM for synthesis (default: "default")
952
- ```
953
-
954
- #### Example GraphRAG Knowledge Store
955
-
956
- ```yaml
957
- # knowledge/call-center.knowledge.yaml
958
-
959
- name: call-center-analysis
960
- kind: graph-rag
961
- description: GraphRAG for analyzing call center transcripts
924
+ name: blog-posts
925
+ description: Blog posts with authors as a knowledge graph
962
926
 
963
927
  source:
964
- type: directory
965
- path: knowledge/transcripts
966
- pattern: "*.txt"
928
+ type: database
929
+ connectionString: postgresql://user:pass@localhost:5432/blog
930
+ query: |
931
+ SELECT p.id, p.title, p.slug, p.html AS content,
932
+ u.name AS author_name, u.email AS author_email
933
+ FROM posts p
934
+ LEFT JOIN users u ON p.author_id = u.id
935
+ WHERE p.status = 'published'
936
+ contentColumn: content
937
+ metadataColumns: [id, title, slug, author_name, author_email]
967
938
 
968
939
  loader:
969
940
  type: text
@@ -971,58 +942,43 @@ loader:
971
942
  splitter:
972
943
  type: recursive
973
944
  chunkSize: 2000
974
- chunkOverlap: 200
945
+ chunkOverlap: 300
975
946
 
976
947
  embedding: default
977
948
 
978
949
  graph:
979
- extraction:
980
- llm: default
981
- entityTypes:
982
- - name: Agent
983
- description: "Call center representative"
984
- - name: Customer
985
- description: "Person calling"
986
- - name: Vehicle
987
- description: "Car discussed"
988
- - name: Outcome
989
- description: "Result of the call"
990
- relationshipTypes:
991
- - name: HANDLED_BY
992
- description: "Call was handled by an agent"
993
- - name: INTERESTED_IN
994
- description: "Customer interest in vehicle"
995
- - name: RESULTED_IN
996
- description: "Call resulted in outcome"
997
-
998
- communities:
999
- algorithm: louvain
1000
- resolution: 1.0
1001
- minSize: 2
1002
- summaryLlm: default
1003
-
1004
- store:
1005
- type: memory
1006
-
1007
- cache:
1008
- enabled: true
1009
- directory: .graph-cache
950
+ directMapping:
951
+ entities:
952
+ - type: Post
953
+ idColumn: id
954
+ nameColumn: title
955
+ properties: [title, slug, content]
956
+
957
+ - type: Author
958
+ idColumn: author_email
959
+ nameColumn: author_name
960
+ properties: [author_name, author_email]
961
+
962
+ relationships:
963
+ - type: WROTE
964
+ source: Author
965
+ target: Post
966
+ sourceIdColumn: author_email
967
+ targetIdColumn: id
1010
968
 
1011
969
  search:
1012
970
  defaultK: 10
1013
- localSearch:
1014
- maxDepth: 2
1015
- globalSearch:
1016
- topCommunities: 5
1017
- llm: default
1018
971
  ```
1019
972
 
1020
- ### Data Source Types
973
+ **How it works:**
974
+ - All data persists to SQLite at `.knowledge-data/{name}.db`
975
+ - On restart, source hashes are compared — if unchanged, data restores instantly without re-indexing
976
+ - Stores with `graph.directMapping` also store entities and relationships with vector embeddings
977
+ - Agents get additional graph tools (traverse, entity_lookup, graph_schema) when entities exist
1021
978
 
1022
- Agent Orcha supports multiple data source types for knowledge stores:
979
+ ### Data Source Types
1023
980
 
1024
981
  #### Directory/File Sources
1025
- Load documents from local files or directories:
1026
982
  ```yaml
1027
983
  source:
1028
984
  type: directory
@@ -1032,7 +988,6 @@ source:
1032
988
  ```
1033
989
 
1034
990
  #### Database Sources
1035
- Load documents from PostgreSQL or MySQL databases:
1036
991
  ```yaml
1037
992
  source:
1038
993
  type: database
@@ -1045,67 +1000,12 @@ source:
1045
1000
  batchSize: 100
1046
1001
  ```
1047
1002
 
1048
- See `templates/knowledge/postgres-docs.knowledge.yaml` and `templates/knowledge/mysql-docs.knowledge.yaml` for complete examples.
1049
-
1050
1003
  #### Web Scraping Sources
1051
- Load documents from websites using CSS selectors:
1052
1004
  ```yaml
1053
1005
  source:
1054
1006
  type: web
1055
1007
  url: https://docs.example.com/guide/
1056
- selector: article.documentation # CSS selector for targeted extraction
1057
- ```
1058
-
1059
- See `templates/knowledge/web-docs.knowledge.yaml` for a complete example.
1060
-
1061
- #### S3 Sources
1062
- Load documents from AWS S3 or S3-compatible services (MinIO, Wasabi, etc.):
1063
- ```yaml
1064
- source:
1065
- type: s3
1066
- bucket: my-knowledge-base
1067
- prefix: documentation/
1068
- region: us-east-1
1069
- pattern: "*.{pdf,txt,md}"
1070
- # Optional for S3-compatible services:
1071
- endpoint: http://localhost:9000 # For MinIO, Wasabi, etc.
1072
- forcePathStyle: true # Required for MinIO and some S3-compatible services
1073
- ```
1074
-
1075
- See `templates/knowledge/s3-pdfs.knowledge.yaml` and `templates/knowledge/s3-minio.knowledge.yaml` for complete examples.
1076
-
1077
- ### Store Types
1078
-
1079
- #### Memory (Development)
1080
- In-memory storage. Fast but not persistent - embeddings are recreated on every startup.
1081
-
1082
- ```yaml
1083
- store:
1084
- type: memory
1085
- ```
1086
-
1087
- **Use cases:** Development, testing, small datasets
1088
-
1089
- #### Chroma (Production - Local)
1090
- Persistent local storage using Chroma. Embeddings are cached and reused across restarts.
1091
-
1092
- ```yaml
1093
- store:
1094
- type: chroma
1095
- options:
1096
- path: .chroma # Storage directory (default: .chroma)
1097
- collectionName: my-collection # Collection name (default: store name)
1098
- url: http://localhost:8000 # Chroma server URL (default: http://localhost:8000)
1099
- ```
1100
-
1101
- **Setup:**
1102
- ```bash
1103
- # Option 1: Run Chroma server with Docker
1104
- docker run -p 8000:8000 chromadb/chroma
1105
-
1106
- # Option 2: Install and run Chroma locally
1107
- pip install chromadb
1108
- chroma run --path .chroma --port 8000
1008
+ selector: article.documentation
1109
1009
  ```
1110
1010
 
1111
1011
 
@@ -1299,9 +1199,11 @@ Agent Orcha includes a built-in web dashboard accessible at `http://localhost:30
1299
1199
  ### Tabs
1300
1200
 
1301
1201
  - **Agents**: Browse all configured agents, invoke them with custom input, stream responses in real-time, and manage conversation sessions
1302
- - **Knowledge**: Browse and search knowledge stores (both vector and GraphRAG), view entities and communities for GraphRAG stores
1202
+ - **Knowledge**: Browse and search knowledge stores, view entities and graph structure for stores with direct mapping
1303
1203
  - **MCP**: Browse MCP servers, view available tools per server, and call tools directly
1304
- - **Workflows**: Browse and execute workflows (both step-based and LangGraph), stream execution progress
1204
+ - **Workflows**: Browse and execute workflows (both step-based and ReAct), stream execution progress
1205
+ - **Skills**: Browse and inspect available skills
1206
+ - **Monitor**: View LLM call logs with context size, token estimates, and duration metrics
1305
1207
  - **IDE**: Full in-browser file editor with file tree navigation, syntax highlighting for YAML, JSON, and JavaScript, and hot-reload on save
1306
1208
 
1307
1209
  ## API Reference
@@ -1313,6 +1215,31 @@ GET /health
1313
1215
  Response: { "status": "ok", "timestamp": "..." }
1314
1216
  ```
1315
1217
 
1218
+ ### Authentication
1219
+
1220
+ When `AUTH_PASSWORD` is set, all `/api/*` routes require a valid session cookie. The `/health` endpoint is always public.
1221
+
1222
+ | Method | Endpoint | Description |
1223
+ |--------|----------|-------------|
1224
+ | GET | `/api/auth/check` | Check authentication status (never returns 401) |
1225
+ | POST | `/api/auth/login` | Authenticate with password, returns session cookie |
1226
+ | POST | `/api/auth/logout` | Invalidate session and clear cookie |
1227
+
1228
+ **Login Request:**
1229
+ ```json
1230
+ {
1231
+ "password": "your-secret-password"
1232
+ }
1233
+ ```
1234
+
1235
+ **Check Response:**
1236
+ ```json
1237
+ {
1238
+ "authenticated": true,
1239
+ "required": true
1240
+ }
1241
+ ```
1242
+
1316
1243
  ### Agents
1317
1244
 
1318
1245
  | Method | Endpoint | Description |
@@ -1398,9 +1325,8 @@ Response: { "status": "ok", "timestamp": "..." }
1398
1325
  | POST | `/api/knowledge/:name/search` | Search knowledge store |
1399
1326
  | POST | `/api/knowledge/:name/refresh` | Reload documents |
1400
1327
  | POST | `/api/knowledge/:name/add` | Add documents |
1401
- | GET | `/api/knowledge/:name/entities` | Get GraphRAG entities |
1402
- | GET | `/api/knowledge/:name/communities` | Get GraphRAG communities |
1403
- | GET | `/api/knowledge/:name/edges` | Get GraphRAG edges |
1328
+ | GET | `/api/knowledge/:name/entities` | Get graph entities |
1329
+ | GET | `/api/knowledge/:name/edges` | Get graph edges |
1404
1330
 
1405
1331
  **Search Request:**
1406
1332
  ```json
@@ -1462,6 +1388,22 @@ Response: { "status": "ok", "timestamp": "..." }
1462
1388
  }
1463
1389
  ```
1464
1390
 
1391
+ ### Skills
1392
+
1393
+ | Method | Endpoint | Description |
1394
+ |--------|----------|-------------|
1395
+ | GET | `/api/skills` | List all skills |
1396
+ | GET | `/api/skills/:name` | Get skill details |
1397
+
1398
+ ### Tasks
1399
+
1400
+ | Method | Endpoint | Description |
1401
+ |--------|----------|-------------|
1402
+ | GET | `/api/tasks` | List all tasks |
1403
+ | POST | `/api/tasks` | Submit a new task |
1404
+ | GET | `/api/tasks/:id` | Get task status |
1405
+ | DELETE | `/api/tasks/:id` | Cancel a task |
1406
+
1465
1407
  ### Files
1466
1408
 
1467
1409
  | Method | Endpoint | Description |
@@ -1505,6 +1447,8 @@ agent-orcha/
1505
1447
  │ ├── agents.route.ts
1506
1448
  │ ├── workflows.route.ts
1507
1449
  │ ├── knowledge.route.ts
1450
+ │ ├── skills.route.ts
1451
+ │ ├── tasks.route.ts
1508
1452
  │ ├── llm.route.ts
1509
1453
  │ ├── functions.route.ts
1510
1454
  │ ├── mcp.route.ts
@@ -1521,22 +1465,36 @@ agent-orcha/
1521
1465
  │ │ ├── types.ts
1522
1466
  │ │ ├── workflow-loader.ts
1523
1467
  │ │ ├── workflow-executor.ts
1524
- │ │ └── langgraph-executor.ts
1468
+ │ │ └── react-workflow-executor.ts
1525
1469
  │ ├── knowledge/ # Knowledge store system
1526
1470
  │ │ ├── types.ts
1527
- │ │ ├── knowledge-store-manager.ts
1528
- │ │ └── graph-rag/
1529
- │ │ └── types.ts
1530
- │ ├── memory/ # Conversation memory
1531
- │ │ └── conversation-store.ts
1532
- │ ├── llm/ # LLM factory
1533
- │ │ └── llm-factory.ts
1471
+ │ │ ├── knowledge-store.ts
1472
+ │ │ ├── sqlite-store.ts
1473
+ │ │ └── direct-mapper.ts
1474
+ │ ├── skills/ # Skills system
1475
+ │ │ └── skill-loader.ts
1476
+ │ ├── tasks/ # Task management
1477
+ │ │ ├── task-manager.ts
1478
+ │ │ └── task-store.ts
1479
+ │ ├── sandbox/ # Sandbox execution
1480
+ │ │ └── vm-executor.ts
1481
+ │ ├── integrations/ # External integrations
1482
+ │ │ └── integration-manager.ts
1483
+ │ ├── triggers/ # Cron & webhook triggers
1484
+ │ │ └── trigger-manager.ts
1485
+ │ ├── memory/ # Memory system
1486
+ │ │ ├── conversation-store.ts
1487
+ │ │ └── memory-manager.ts
1488
+ │ ├── llm/ # LLM factory + providers
1489
+ │ │ ├── llm-factory.ts
1490
+ │ │ └── providers/
1534
1491
  │ ├── mcp/ # MCP client
1535
1492
  │ │ └── mcp-client.ts
1536
1493
  │ ├── functions/ # Function loader
1537
1494
  │ └── tools/ # Tool registry and discovery
1538
1495
  │ ├── tool-registry.ts
1539
- │ └── tool-discovery.ts
1496
+ │ └── built-in/
1497
+ │ └── knowledge-tools-factory.ts
1540
1498
 
1541
1499
  ├── public/ # Web UI (Studio)
1542
1500
  │ └── src/
@@ -1576,7 +1534,25 @@ tools:
1576
1534
  Framework-provided tools:
1577
1535
  ```yaml
1578
1536
  tools:
1579
- - builtin:ask_user # Human-in-the-loop (LangGraph only)
1537
+ - builtin:ask_user # Human-in-the-loop (ReAct workflows)
1538
+ - builtin:memory_save # Save to persistent memory
1539
+ ```
1540
+
1541
+ ### Sandbox Tools
1542
+ Sandboxed code execution:
1543
+ ```yaml
1544
+ tools:
1545
+ - sandbox:exec # Execute code in sandbox
1546
+ - sandbox:web_fetch # Fetch URLs from sandbox
1547
+ - sandbox:web_search # Web search from sandbox
1548
+ ```
1549
+
1550
+ ### Project Tools
1551
+ Workspace file access:
1552
+ ```yaml
1553
+ tools:
1554
+ - project:read # Read project files
1555
+ - project:write # Write project files
1580
1556
  ```
1581
1557
 
1582
1558
  ## License