@ai.ntellect/core 0.8.3 → 1.1.0

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 (460) hide show
  1. package/.mocharc.json +2 -1
  2. package/AGENTS.md +50 -0
  3. package/ARCHITECTURE.md +58 -0
  4. package/BENCHMARK.md +38 -0
  5. package/CHANGELOG.md +224 -0
  6. package/README.md +413 -199
  7. package/agent/agent-workflow.ts +569 -0
  8. package/agent/agent.ts +183 -0
  9. package/{modules/agent → agent}/base/executor.ts +11 -8
  10. package/{modules/agent → agent}/base/index.ts +2 -14
  11. package/agent/entity-resolver/confidence.ts +54 -0
  12. package/agent/entity-resolver/entity-index.ts +241 -0
  13. package/agent/entity-resolver/explore-strategy.ts +82 -0
  14. package/agent/entity-resolver/index.ts +22 -0
  15. package/agent/entity-resolver/resolver.ts +193 -0
  16. package/agent/entity-resolver/scorer.ts +211 -0
  17. package/agent/entity-resolver/types.ts +98 -0
  18. package/agent/generic-executor.ts +713 -0
  19. package/agent/handlers/cognitive-handler.ts +197 -0
  20. package/agent/handlers/index.ts +1 -0
  21. package/agent/handoff.ts +58 -0
  22. package/agent/llm-factory.ts +343 -0
  23. package/agent/orchestrator.ts +45 -0
  24. package/{modules/agent → agent}/prompt-builder.ts +1 -1
  25. package/agent/registry.ts +64 -0
  26. package/agent/tools/file-system.ts +471 -0
  27. package/agent/tools/index.ts +23 -0
  28. package/agent/tools/logger.ts +105 -0
  29. package/agent/tools/tool-resolver.ts +104 -0
  30. package/benchmark/cortexflow-workflow.ts +182 -0
  31. package/benchmark/langgraph-workflow.ts +201 -0
  32. package/benchmark/llm-client.ts +76 -0
  33. package/benchmark/run-benchmark.ts +222 -0
  34. package/cli-dev.ts +419 -0
  35. package/dist/agent/agent-workflow.d.ts +41 -0
  36. package/dist/agent/agent-workflow.d.ts.map +1 -0
  37. package/dist/agent/agent-workflow.js +560 -0
  38. package/dist/agent/agent-workflow.js.map +1 -0
  39. package/dist/agent/agent.d.ts +38 -0
  40. package/dist/agent/agent.d.ts.map +1 -0
  41. package/dist/agent/agent.js +149 -0
  42. package/dist/agent/agent.js.map +1 -0
  43. package/dist/{modules/agent → agent}/base/executor.d.ts +3 -3
  44. package/dist/agent/base/executor.d.ts.map +1 -0
  45. package/dist/{modules/agent → agent}/base/executor.js +8 -5
  46. package/dist/agent/base/executor.js.map +1 -0
  47. package/dist/{modules/agent → agent}/base/index.d.ts +1 -1
  48. package/dist/agent/base/index.d.ts.map +1 -0
  49. package/dist/{modules/agent → agent}/base/index.js +0 -12
  50. package/dist/agent/base/index.js.map +1 -0
  51. package/dist/agent/entity-resolver/confidence.d.ts +4 -0
  52. package/dist/agent/entity-resolver/confidence.d.ts.map +1 -0
  53. package/dist/agent/entity-resolver/confidence.js +47 -0
  54. package/dist/agent/entity-resolver/confidence.js.map +1 -0
  55. package/dist/agent/entity-resolver/entity-index.d.ts +40 -0
  56. package/dist/agent/entity-resolver/entity-index.d.ts.map +1 -0
  57. package/dist/agent/entity-resolver/entity-index.js +244 -0
  58. package/dist/agent/entity-resolver/entity-index.js.map +1 -0
  59. package/dist/agent/entity-resolver/explore-strategy.d.ts +13 -0
  60. package/dist/agent/entity-resolver/explore-strategy.d.ts.map +1 -0
  61. package/dist/agent/entity-resolver/explore-strategy.js +109 -0
  62. package/dist/agent/entity-resolver/explore-strategy.js.map +1 -0
  63. package/dist/agent/entity-resolver/index.d.ts +8 -0
  64. package/dist/agent/entity-resolver/index.d.ts.map +1 -0
  65. package/dist/agent/entity-resolver/index.js +16 -0
  66. package/dist/agent/entity-resolver/index.js.map +1 -0
  67. package/dist/agent/entity-resolver/resolver.d.ts +18 -0
  68. package/dist/agent/entity-resolver/resolver.d.ts.map +1 -0
  69. package/dist/agent/entity-resolver/resolver.js +158 -0
  70. package/dist/agent/entity-resolver/resolver.js.map +1 -0
  71. package/dist/agent/entity-resolver/scorer.d.ts +3 -0
  72. package/dist/agent/entity-resolver/scorer.d.ts.map +1 -0
  73. package/dist/agent/entity-resolver/scorer.js +182 -0
  74. package/dist/agent/entity-resolver/scorer.js.map +1 -0
  75. package/dist/agent/entity-resolver/types.d.ts +89 -0
  76. package/dist/agent/entity-resolver/types.d.ts.map +1 -0
  77. package/dist/agent/entity-resolver/types.js +3 -0
  78. package/dist/agent/entity-resolver/types.js.map +1 -0
  79. package/dist/{modules/agent → agent}/generic-executor.d.ts +37 -27
  80. package/dist/agent/generic-executor.d.ts.map +1 -0
  81. package/dist/agent/generic-executor.js +620 -0
  82. package/dist/agent/generic-executor.js.map +1 -0
  83. package/dist/agent/handlers/cognitive-handler.d.ts +44 -0
  84. package/dist/agent/handlers/cognitive-handler.d.ts.map +1 -0
  85. package/dist/agent/handlers/cognitive-handler.js +172 -0
  86. package/dist/agent/handlers/cognitive-handler.js.map +1 -0
  87. package/dist/agent/handlers/index.d.ts +2 -0
  88. package/dist/agent/handlers/index.d.ts.map +1 -0
  89. package/dist/agent/handlers/index.js +7 -0
  90. package/dist/agent/handlers/index.js.map +1 -0
  91. package/dist/agent/handoff.d.ts +12 -0
  92. package/dist/agent/handoff.d.ts.map +1 -0
  93. package/dist/agent/handoff.js +62 -0
  94. package/dist/agent/handoff.js.map +1 -0
  95. package/dist/agent/llm-factory.d.ts.map +1 -0
  96. package/dist/agent/llm-factory.js +297 -0
  97. package/dist/agent/llm-factory.js.map +1 -0
  98. package/dist/agent/orchestrator.d.ts +18 -0
  99. package/dist/agent/orchestrator.d.ts.map +1 -0
  100. package/dist/agent/orchestrator.js +44 -0
  101. package/dist/agent/orchestrator.js.map +1 -0
  102. package/dist/{modules/agent → agent}/prompt-builder.d.ts +1 -1
  103. package/dist/agent/prompt-builder.d.ts.map +1 -0
  104. package/dist/agent/prompt-builder.js.map +1 -0
  105. package/dist/agent/registry.d.ts +19 -0
  106. package/dist/agent/registry.d.ts.map +1 -0
  107. package/dist/agent/registry.js +48 -0
  108. package/dist/agent/registry.js.map +1 -0
  109. package/dist/agent/tools/file-system.d.ts +11 -0
  110. package/dist/agent/tools/file-system.d.ts.map +1 -0
  111. package/dist/agent/tools/file-system.js +528 -0
  112. package/dist/agent/tools/file-system.js.map +1 -0
  113. package/dist/agent/tools/index.d.ts +4 -0
  114. package/dist/agent/tools/index.d.ts.map +1 -0
  115. package/dist/agent/tools/index.js +20 -0
  116. package/dist/agent/tools/index.js.map +1 -0
  117. package/dist/agent/tools/logger.d.ts +33 -0
  118. package/dist/agent/tools/logger.d.ts.map +1 -0
  119. package/dist/agent/tools/logger.js +86 -0
  120. package/dist/agent/tools/logger.js.map +1 -0
  121. package/dist/agent/tools/tool-resolver.d.ts +7 -0
  122. package/dist/agent/tools/tool-resolver.d.ts.map +1 -0
  123. package/dist/agent/tools/tool-resolver.js +122 -0
  124. package/dist/agent/tools/tool-resolver.js.map +1 -0
  125. package/dist/execution/adapters/in-memory-checkpoint.d.ts +11 -0
  126. package/dist/execution/adapters/in-memory-checkpoint.d.ts.map +1 -0
  127. package/dist/execution/adapters/in-memory-checkpoint.js +54 -0
  128. package/dist/execution/adapters/in-memory-checkpoint.js.map +1 -0
  129. package/dist/execution/compiler.d.ts +8 -0
  130. package/dist/execution/compiler.d.ts.map +1 -0
  131. package/dist/execution/compiler.js +50 -0
  132. package/dist/execution/compiler.js.map +1 -0
  133. package/dist/execution/controller.d.ts.map +1 -0
  134. package/dist/execution/controller.js.map +1 -0
  135. package/dist/execution/event-manager.d.ts +29 -0
  136. package/dist/execution/event-manager.d.ts.map +1 -0
  137. package/dist/{graph → execution}/event-manager.js +4 -114
  138. package/dist/execution/event-manager.js.map +1 -0
  139. package/dist/{graph → execution}/index.d.ts +50 -2
  140. package/dist/execution/index.d.ts.map +1 -0
  141. package/dist/execution/index.js +638 -0
  142. package/dist/execution/index.js.map +1 -0
  143. package/dist/execution/logger.d.ts.map +1 -0
  144. package/dist/execution/logger.js.map +1 -0
  145. package/dist/{graph → execution}/node.d.ts +6 -1
  146. package/dist/execution/node.d.ts.map +1 -0
  147. package/dist/{graph → execution}/node.js +83 -10
  148. package/dist/execution/node.js.map +1 -0
  149. package/dist/execution/observer.d.ts.map +1 -0
  150. package/dist/execution/observer.js.map +1 -0
  151. package/dist/execution/planner.d.ts +14 -0
  152. package/dist/execution/planner.d.ts.map +1 -0
  153. package/dist/execution/planner.js +43 -0
  154. package/dist/execution/planner.js.map +1 -0
  155. package/dist/execution/reducer.d.ts +19 -0
  156. package/dist/execution/reducer.d.ts.map +1 -0
  157. package/dist/execution/reducer.js +61 -0
  158. package/dist/execution/reducer.js.map +1 -0
  159. package/dist/execution/registry.d.ts +38 -0
  160. package/dist/execution/registry.d.ts.map +1 -0
  161. package/dist/execution/registry.js +63 -0
  162. package/dist/execution/registry.js.map +1 -0
  163. package/dist/execution/send-api.d.ts +24 -0
  164. package/dist/execution/send-api.d.ts.map +1 -0
  165. package/dist/execution/send-api.js +52 -0
  166. package/dist/execution/send-api.js.map +1 -0
  167. package/dist/execution/types.parallel.d.ts +61 -0
  168. package/dist/execution/types.parallel.d.ts.map +1 -0
  169. package/dist/execution/types.parallel.js +3 -0
  170. package/dist/execution/types.parallel.js.map +1 -0
  171. package/dist/execution/visualizer.d.ts.map +1 -0
  172. package/dist/execution/visualizer.js.map +1 -0
  173. package/dist/index.d.ts +27 -8
  174. package/dist/index.d.ts.map +1 -1
  175. package/dist/index.js +42 -8
  176. package/dist/index.js.map +1 -1
  177. package/dist/interfaces/index.d.ts +32 -1
  178. package/dist/interfaces/index.d.ts.map +1 -1
  179. package/dist/interfaces/index.js.map +1 -1
  180. package/dist/modules/cli/index.d.ts +13 -0
  181. package/dist/modules/cli/index.d.ts.map +1 -0
  182. package/dist/modules/cli/index.js +672 -0
  183. package/dist/modules/cli/index.js.map +1 -0
  184. package/dist/modules/nlp/engine.d.ts.map +1 -1
  185. package/dist/modules/nlp/engine.js +0 -1
  186. package/dist/modules/nlp/engine.js.map +1 -1
  187. package/dist/persistence/index.d.ts +12 -0
  188. package/dist/persistence/index.d.ts.map +1 -0
  189. package/dist/persistence/index.js +24 -0
  190. package/dist/persistence/index.js.map +1 -0
  191. package/dist/persistence/neo4j/driver.d.ts +26 -0
  192. package/dist/persistence/neo4j/driver.d.ts.map +1 -0
  193. package/dist/persistence/neo4j/driver.js +64 -0
  194. package/dist/persistence/neo4j/driver.js.map +1 -0
  195. package/dist/persistence/neo4j/entity-store.d.ts +15 -0
  196. package/dist/persistence/neo4j/entity-store.d.ts.map +1 -0
  197. package/dist/persistence/neo4j/entity-store.js +136 -0
  198. package/dist/persistence/neo4j/entity-store.js.map +1 -0
  199. package/dist/persistence/neo4j/execution-tracer.d.ts +19 -0
  200. package/dist/persistence/neo4j/execution-tracer.d.ts.map +1 -0
  201. package/dist/persistence/neo4j/execution-tracer.js +166 -0
  202. package/dist/persistence/neo4j/execution-tracer.js.map +1 -0
  203. package/dist/persistence/neo4j/memory-adapter.d.ts +35 -0
  204. package/dist/persistence/neo4j/memory-adapter.d.ts.map +1 -0
  205. package/dist/persistence/neo4j/memory-adapter.js +252 -0
  206. package/dist/persistence/neo4j/memory-adapter.js.map +1 -0
  207. package/dist/persistence/neo4j/petri-checkpoint-adapter.d.ts +22 -0
  208. package/dist/persistence/neo4j/petri-checkpoint-adapter.d.ts.map +1 -0
  209. package/dist/persistence/neo4j/petri-checkpoint-adapter.js +141 -0
  210. package/dist/persistence/neo4j/petri-checkpoint-adapter.js.map +1 -0
  211. package/dist/pipeline/agent-pipeline.d.ts +99 -0
  212. package/dist/pipeline/agent-pipeline.d.ts.map +1 -0
  213. package/dist/pipeline/agent-pipeline.js +356 -0
  214. package/dist/pipeline/agent-pipeline.js.map +1 -0
  215. package/dist/routing/checkpoint-adapter.d.ts +30 -0
  216. package/dist/routing/checkpoint-adapter.d.ts.map +1 -0
  217. package/dist/routing/checkpoint-adapter.js +83 -0
  218. package/dist/routing/checkpoint-adapter.js.map +1 -0
  219. package/dist/routing/documentation-generator.d.ts +47 -0
  220. package/dist/routing/documentation-generator.d.ts.map +1 -0
  221. package/dist/routing/documentation-generator.js +320 -0
  222. package/dist/routing/documentation-generator.js.map +1 -0
  223. package/dist/routing/index.d.ts +38 -0
  224. package/dist/routing/index.d.ts.map +1 -0
  225. package/dist/routing/index.js +375 -0
  226. package/dist/routing/index.js.map +1 -0
  227. package/dist/routing/intent-classifier.d.ts +206 -0
  228. package/dist/routing/intent-classifier.d.ts.map +1 -0
  229. package/dist/routing/intent-classifier.js +267 -0
  230. package/dist/routing/intent-classifier.js.map +1 -0
  231. package/dist/routing/matrix.d.ts +6 -0
  232. package/dist/routing/matrix.d.ts.map +1 -0
  233. package/dist/routing/matrix.js +131 -0
  234. package/dist/routing/matrix.js.map +1 -0
  235. package/dist/routing/orchestrator.d.ts +87 -0
  236. package/dist/routing/orchestrator.d.ts.map +1 -0
  237. package/dist/routing/orchestrator.js +425 -0
  238. package/dist/routing/orchestrator.js.map +1 -0
  239. package/dist/routing/postgres-checkpoint-adapter.d.ts +32 -0
  240. package/dist/routing/postgres-checkpoint-adapter.d.ts.map +1 -0
  241. package/dist/routing/postgres-checkpoint-adapter.js +167 -0
  242. package/dist/routing/postgres-checkpoint-adapter.js.map +1 -0
  243. package/dist/routing/redis-checkpoint-adapter.d.ts +34 -0
  244. package/dist/routing/redis-checkpoint-adapter.d.ts.map +1 -0
  245. package/dist/routing/redis-checkpoint-adapter.js +170 -0
  246. package/dist/routing/redis-checkpoint-adapter.js.map +1 -0
  247. package/dist/routing/types.d.ts +49 -0
  248. package/dist/routing/types.d.ts.map +1 -0
  249. package/dist/routing/types.js +3 -0
  250. package/dist/routing/types.js.map +1 -0
  251. package/dist/types/agent.d.ts +144 -88
  252. package/dist/types/agent.d.ts.map +1 -1
  253. package/dist/types/agent.js +49 -0
  254. package/dist/types/agent.js.map +1 -1
  255. package/dist/types/index.d.ts +46 -4
  256. package/dist/types/index.d.ts.map +1 -1
  257. package/dist/utils/generate-action-schema.d.ts +2 -3
  258. package/dist/utils/generate-action-schema.d.ts.map +1 -1
  259. package/dist/utils/generate-action-schema.js +3 -1
  260. package/dist/utils/generate-action-schema.js.map +1 -1
  261. package/dist/utils/logger.d.ts +27 -0
  262. package/dist/utils/logger.d.ts.map +1 -0
  263. package/dist/utils/logger.js +45 -0
  264. package/dist/utils/logger.js.map +1 -0
  265. package/docs/.gitbook/assets/image (1).png +0 -0
  266. package/docs/.gitbook/assets/image (2).png +0 -0
  267. package/docs/.gitbook/assets/image (3).png +0 -0
  268. package/docs/.gitbook/assets/image (4).png +0 -0
  269. package/docs/.gitbook/assets/image (5).png +0 -0
  270. package/docs/.gitbook/assets/image (6).png +0 -0
  271. package/docs/.gitbook/assets/image.png +0 -0
  272. package/docs/README.md +57 -0
  273. package/docs/SUMMARY.md +34 -0
  274. package/docs/cas-dusages.md +69 -0
  275. package/docs/cli/README.md +65 -0
  276. package/docs/concepts-cles.md +50 -0
  277. package/docs/core/architecture.md +87 -0
  278. package/docs/core/benchmark.md +59 -0
  279. package/docs/core/checkpoint.md +72 -0
  280. package/docs/core/documentation.md +55 -0
  281. package/docs/core/graphcontroller.md +63 -0
  282. package/docs/core/graphflow.md +137 -0
  283. package/docs/core/introduction.md +41 -0
  284. package/docs/core/les-evenements.md +95 -0
  285. package/docs/modules/agenda/README.md +63 -0
  286. package/docs/modules/agenda/interface-iagenda.md +170 -0
  287. package/docs/modules/agenda/les-adaptateurs/README.md +237 -0
  288. package/docs/modules/agenda/les-adaptateurs/nodecronadapter.md +91 -0
  289. package/docs/modules/introduction.md +55 -0
  290. package/docs/modules/les-adaptateurs.md +52 -0
  291. package/docs/modules/memoire/README.md +68 -0
  292. package/docs/modules/memoire/interface-imemory.md +183 -0
  293. package/docs/modules/memoire/les-adaptateurs/README.md +209 -0
  294. package/docs/modules/memoire/les-adaptateurs/inmemoryadapter.md +110 -0
  295. package/docs/modules/memoire/les-adaptateurs/meilisearchadapter.md +147 -0
  296. package/docs/modules/memoire/les-adaptateurs/redisadapter.md +212 -0
  297. package/docs/modules/nlp/README.md +44 -0
  298. package/docs/philosophie.md +51 -0
  299. package/docs/tutoriels/ajouter-des-conditions.md +150 -0
  300. package/docs/tutoriels/branching.md +194 -0
  301. package/docs/tutoriels/checkpoint-usage.md +99 -0
  302. package/docs/tutoriels/creer-agent-onchain.md +1041 -0
  303. package/docs/tutoriels/creer-un-agent.md +108 -0
  304. package/docs/tutoriels/creer-un-graphe-simple.md +92 -0
  305. package/docs/tutoriels/gerer-les-erreurs.md +124 -0
  306. package/docs/tutoriels/pour-commencer.md +73 -0
  307. package/docs/tutoriels/retry.md +166 -0
  308. package/execution/adapters/in-memory-checkpoint.ts +35 -0
  309. package/execution/compiler.ts +47 -0
  310. package/{graph → execution}/event-manager.ts +4 -117
  311. package/{graph → execution}/index.ts +376 -8
  312. package/{graph → execution}/node.ts +116 -12
  313. package/execution/planner.ts +40 -0
  314. package/execution/reducer.ts +73 -0
  315. package/execution/registry.ts +86 -0
  316. package/execution/send-api.ts +58 -0
  317. package/execution/types.parallel.ts +81 -0
  318. package/index.ts +35 -8
  319. package/interfaces/index.ts +37 -0
  320. package/modules/cli/index.ts +580 -0
  321. package/modules/nlp/engine.ts +0 -1
  322. package/package.json +50 -16
  323. package/persistence/index.ts +27 -0
  324. package/persistence/neo4j/driver.ts +34 -0
  325. package/persistence/neo4j/entity-store.ts +141 -0
  326. package/persistence/neo4j/execution-tracer.ts +194 -0
  327. package/persistence/neo4j/memory-adapter.ts +281 -0
  328. package/persistence/neo4j/petri-checkpoint-adapter.ts +153 -0
  329. package/pipeline/agent-pipeline.ts +426 -0
  330. package/routing/checkpoint-adapter.ts +79 -0
  331. package/routing/documentation-generator.ts +358 -0
  332. package/routing/index.ts +459 -0
  333. package/routing/intent-classifier.ts +360 -0
  334. package/routing/matrix.ts +138 -0
  335. package/routing/orchestrator.ts +498 -0
  336. package/routing/patterns/data-extraction.json +79 -0
  337. package/routing/patterns/human-approval.json +64 -0
  338. package/routing/patterns/rag-search.json +68 -0
  339. package/routing/postgres-checkpoint-adapter.ts +172 -0
  340. package/routing/redis-checkpoint-adapter.ts +187 -0
  341. package/routing/types.ts +59 -0
  342. package/routing/web-server.ts +260 -0
  343. package/scripts/generate-petri-docs.ts +70 -0
  344. package/scripts/get-gmail-token.js +65 -0
  345. package/scripts/get-gmail-token.ts +65 -0
  346. package/test/agent/agent.test.ts +92 -0
  347. package/test/agent/clone.test.ts +143 -0
  348. package/test/agent/cognitive-handler.test.ts +78 -0
  349. package/test/agent/entity-store.test.ts +80 -0
  350. package/test/agent/generic-executor.test.ts +230 -0
  351. package/test/agent/handoff.test.ts +163 -0
  352. package/test/agent/llm-factory.test.ts +40 -0
  353. package/test/agent/orchestrator.test.ts +156 -0
  354. package/test/agent/registry.test.ts +97 -0
  355. package/test/agent/tools.test.ts +267 -0
  356. package/test/execution/checkpoint.test.ts +811 -0
  357. package/test/{graph → execution}/controller.test.ts +2 -2
  358. package/test/{graph → execution}/event-manager.test.ts +1 -1
  359. package/test/{graph → execution}/index.test.ts +24 -15
  360. package/test/{graph → execution}/node.test.ts +3 -3
  361. package/test/{graph → execution}/observer.test.ts +2 -2
  362. package/test/execution/parallel.test.ts +135 -0
  363. package/test/execution/plan-llm-integration.test.ts +290 -0
  364. package/test/execution/plan-real-onchain.test.ts +226 -0
  365. package/test/execution/send-api.test.ts +121 -0
  366. package/test/modules/cli/index.test.ts +125 -0
  367. package/test/persistence/neo4j-execution-tracer.test.ts +96 -0
  368. package/test/persistence/neo4j-memory-adapter.test.ts +107 -0
  369. package/test/persistence/neo4j-petri-checkpoint.test.ts +89 -0
  370. package/test/pipeline/agent-pipeline.test.ts +118 -0
  371. package/test/routing/checkpoint-persistence.test.ts +58 -0
  372. package/test/routing/documentation-generator.test.ts +76 -0
  373. package/test/routing/integration.test.ts +261 -0
  374. package/test/routing/intent-classifier.test.ts +102 -0
  375. package/test/routing/petri.test.ts +156 -0
  376. package/test/routing/real-llm.test.ts +260 -0
  377. package/test-petri-features.ts +218 -0
  378. package/test-pipeline-api.ts +163 -0
  379. package/tsconfig.json +5 -2
  380. package/types/agent.ts +126 -4
  381. package/types/index.ts +66 -5
  382. package/utils/generate-action-schema.ts +5 -4
  383. package/utils/logger.ts +40 -0
  384. package/dist/graph/controller.d.ts.map +0 -1
  385. package/dist/graph/controller.js.map +0 -1
  386. package/dist/graph/event-manager.d.ts +0 -101
  387. package/dist/graph/event-manager.d.ts.map +0 -1
  388. package/dist/graph/event-manager.js.map +0 -1
  389. package/dist/graph/index.d.ts.map +0 -1
  390. package/dist/graph/index.js +0 -340
  391. package/dist/graph/index.js.map +0 -1
  392. package/dist/graph/logger.d.ts.map +0 -1
  393. package/dist/graph/logger.js.map +0 -1
  394. package/dist/graph/node.d.ts.map +0 -1
  395. package/dist/graph/node.js.map +0 -1
  396. package/dist/graph/observer.d.ts.map +0 -1
  397. package/dist/graph/observer.js.map +0 -1
  398. package/dist/graph/visualizer.d.ts.map +0 -1
  399. package/dist/graph/visualizer.js.map +0 -1
  400. package/dist/modules/agent/agent.d.ts +0 -35
  401. package/dist/modules/agent/agent.d.ts.map +0 -1
  402. package/dist/modules/agent/agent.js +0 -103
  403. package/dist/modules/agent/agent.js.map +0 -1
  404. package/dist/modules/agent/base/executor.d.ts.map +0 -1
  405. package/dist/modules/agent/base/executor.js.map +0 -1
  406. package/dist/modules/agent/base/index.d.ts.map +0 -1
  407. package/dist/modules/agent/base/index.js.map +0 -1
  408. package/dist/modules/agent/generic-assistant.d.ts +0 -20
  409. package/dist/modules/agent/generic-assistant.d.ts.map +0 -1
  410. package/dist/modules/agent/generic-assistant.js +0 -89
  411. package/dist/modules/agent/generic-assistant.js.map +0 -1
  412. package/dist/modules/agent/generic-executor.d.ts.map +0 -1
  413. package/dist/modules/agent/generic-executor.js +0 -189
  414. package/dist/modules/agent/generic-executor.js.map +0 -1
  415. package/dist/modules/agent/llm-factory.d.ts.map +0 -1
  416. package/dist/modules/agent/llm-factory.js +0 -56
  417. package/dist/modules/agent/llm-factory.js.map +0 -1
  418. package/dist/modules/agent/prompt-builder.d.ts.map +0 -1
  419. package/dist/modules/agent/prompt-builder.js.map +0 -1
  420. package/dist/modules/memory/adapters/in-memory/index.d.ts +0 -120
  421. package/dist/modules/memory/adapters/in-memory/index.d.ts.map +0 -1
  422. package/dist/modules/memory/adapters/in-memory/index.js +0 -212
  423. package/dist/modules/memory/adapters/in-memory/index.js.map +0 -1
  424. package/dist/modules/memory/adapters/meilisearch/index.d.ts +0 -110
  425. package/dist/modules/memory/adapters/meilisearch/index.d.ts.map +0 -1
  426. package/dist/modules/memory/adapters/meilisearch/index.js +0 -324
  427. package/dist/modules/memory/adapters/meilisearch/index.js.map +0 -1
  428. package/dist/modules/memory/adapters/redis/index.d.ts +0 -82
  429. package/dist/modules/memory/adapters/redis/index.d.ts.map +0 -1
  430. package/dist/modules/memory/adapters/redis/index.js +0 -160
  431. package/dist/modules/memory/adapters/redis/index.js.map +0 -1
  432. package/dist/modules/memory/index.d.ts +0 -67
  433. package/dist/modules/memory/index.d.ts.map +0 -1
  434. package/dist/modules/memory/index.js +0 -104
  435. package/dist/modules/memory/index.js.map +0 -1
  436. package/modules/agent/agent.ts +0 -107
  437. package/modules/agent/generic-assistant.ts +0 -92
  438. package/modules/agent/generic-executor.ts +0 -252
  439. package/modules/agent/llm-factory.ts +0 -47
  440. package/modules/memory/adapters/in-memory/index.ts +0 -208
  441. package/modules/memory/adapters/meilisearch/index.ts +0 -364
  442. package/modules/memory/adapters/redis/index.ts +0 -165
  443. package/modules/memory/index.ts +0 -93
  444. package/test/modules/memory/adapters/in-memory.test.ts +0 -153
  445. package/test/modules/memory/adapters/meilisearch.test.ts +0 -287
  446. package/test/modules/memory/base.test.ts +0 -230
  447. /package/dist/{modules/agent → agent}/llm-factory.d.ts +0 -0
  448. /package/dist/{modules/agent → agent}/prompt-builder.js +0 -0
  449. /package/dist/{graph → execution}/controller.d.ts +0 -0
  450. /package/dist/{graph → execution}/controller.js +0 -0
  451. /package/dist/{graph → execution}/logger.d.ts +0 -0
  452. /package/dist/{graph → execution}/logger.js +0 -0
  453. /package/dist/{graph → execution}/observer.d.ts +0 -0
  454. /package/dist/{graph → execution}/observer.js +0 -0
  455. /package/dist/{graph → execution}/visualizer.d.ts +0 -0
  456. /package/dist/{graph → execution}/visualizer.js +0 -0
  457. /package/{graph → execution}/controller.ts +0 -0
  458. /package/{graph → execution}/logger.ts +0 -0
  459. /package/{graph → execution}/observer.ts +0 -0
  460. /package/{graph → execution}/visualizer.ts +0 -0
@@ -1,208 +0,0 @@
1
- import { ICronJob, IMemoryAdapter } from "../../../../interfaces";
2
- import {
3
- BaseMemoryType,
4
- CreateMemoryInput,
5
- ScheduledRequest,
6
- } from "../../../../types";
7
-
8
- /**
9
- * @module InMemoryAdapter
10
- * @description In-memory implementation of the memory storage adapter.
11
- * Provides a simple Map-based storage solution
12
- * @implements {IMemoryAdapter}
13
- */
14
- export class InMemoryAdapter implements IMemoryAdapter {
15
- /** Internal storage using Map structure for jobs and requests */
16
- private jobs: Map<string, ICronJob>;
17
- /** Internal storage using Map structure for requests */
18
- private requests: Map<string, ScheduledRequest>;
19
- /** Internal storage using Map structure */
20
- private storage: Map<string, BaseMemoryType[]>;
21
-
22
- /**
23
- * Creates an instance of InMemoryAdapter
24
- */
25
- constructor() {
26
- this.storage = new Map();
27
- this.jobs = new Map();
28
- this.requests = new Map();
29
- }
30
-
31
- /**
32
- * Initializes storage for a room
33
- * @param {string} roomId - Room identifier
34
- * @returns {Promise<void>}
35
- */
36
- async init(roomId: string): Promise<void> {
37
- if (!this.storage.has(roomId)) {
38
- this.storage.set(roomId, []);
39
- }
40
- }
41
-
42
- /**
43
- * Creates a new memory entry
44
- * @param {CreateMemoryInput & { embedding?: number[] }} input - Memory data with optional embedding
45
- * @returns {Promise<BaseMemoryType | undefined>} Created memory or existing memory if duplicate
46
- */
47
- async createMemory(
48
- input: CreateMemoryInput & { embedding?: number[] }
49
- ): Promise<BaseMemoryType | undefined> {
50
- await this.init(input.roomId);
51
-
52
- // Check if memory already exists
53
- const memories = this.storage.get(input.roomId) || [];
54
- const existingMemory = memories.find((m) => m.content === input.content);
55
- if (existingMemory) {
56
- return existingMemory;
57
- }
58
-
59
- // Create new memory
60
- const memory: BaseMemoryType = {
61
- id: input.id || crypto.randomUUID(),
62
- content: input.content,
63
- metadata: input.metadata,
64
- embedding: input.embedding,
65
- roomId: input.roomId,
66
- createdAt: new Date(),
67
- };
68
-
69
- memories.push(memory);
70
- this.storage.set(input.roomId, memories);
71
- return memory;
72
- }
73
-
74
- /**
75
- * Retrieves a memory by ID and room ID
76
- * @param {string} id - Memory identifier
77
- * @param {string} roomId - Room identifier
78
- * @returns {Promise<BaseMemoryType | null>} Memory entry or null if not found
79
- */
80
- async getMemoryById(
81
- id: string,
82
- roomId: string
83
- ): Promise<BaseMemoryType | null> {
84
- const memories = this.storage.get(roomId) || [];
85
- return memories.find((m) => m.id === id) || null;
86
- }
87
-
88
- /**
89
- * Searches for memories based on query and options
90
- * @param {string} query - Search query
91
- * @param {Object} options - Search options
92
- * @param {string} options.roomId - Room identifier
93
- * @param {number} [options.limit] - Maximum number of results
94
- * @returns {Promise<BaseMemoryType[]>} Array of matching memories
95
- */
96
- async getMemoryByIndex(
97
- query: string,
98
- options: { roomId: string; limit?: number }
99
- ): Promise<BaseMemoryType[]> {
100
- const memories = this.storage.get(options.roomId) || [];
101
- const filtered = memories.filter((m) => m.content.includes(query));
102
- return filtered.slice(0, options.limit || filtered.length);
103
- }
104
-
105
- /**
106
- * Retrieves all memories for a room
107
- * @param {string} roomId - Room identifier
108
- * @returns {Promise<BaseMemoryType[]>} Array of all memories
109
- */
110
- async getAllMemories(roomId: string): Promise<BaseMemoryType[]> {
111
- return this.storage.get(roomId) || [];
112
- }
113
-
114
- /**
115
- * Deletes a specific memory
116
- * @param {string} id - Memory identifier
117
- * @param {string} roomId - Room identifier
118
- * @returns {Promise<void>}
119
- */
120
- async clearMemoryById(id: string, roomId: string): Promise<void> {
121
- const memories = this.storage.get(roomId) || [];
122
- const filtered = memories.filter((m) => m.id !== id);
123
- this.storage.set(roomId, filtered);
124
- }
125
-
126
- /**
127
- * Clears all memories across all rooms
128
- * @returns {Promise<void>}
129
- */
130
- async clearAllMemories(): Promise<void> {
131
- this.storage.clear();
132
- this.jobs.clear();
133
- this.requests.clear();
134
- }
135
-
136
- /**
137
- * Saves a job to the internal storage
138
- * @param {string} id - Job identifier
139
- * @param {ICronJob} job - Job data
140
- * @returns {Promise<void>}
141
- */
142
- async saveJob(id: string, job: ICronJob): Promise<void> {
143
- this.jobs.set(id, job);
144
- }
145
-
146
- /**
147
- * Saves a request to the internal storage
148
- * @param {string} id - Request identifier
149
- * @param {ScheduledRequest} request - Request data
150
- * @returns {Promise<void>}
151
- */
152
- async saveRequest(id: string, request: ScheduledRequest): Promise<void> {
153
- this.requests.set(id, request);
154
- }
155
-
156
- /**
157
- * Retrieves a job by ID
158
- * @param {string} id - Job identifier
159
- * @returns {Promise<ICronJob | undefined>} Job data or undefined if not found
160
- */
161
- async getJob(id: string): Promise<ICronJob | undefined> {
162
- return this.jobs.get(id);
163
- }
164
-
165
- /**
166
- * Retrieves a request by ID
167
- * @param {string} id - Request identifier
168
- * @returns {Promise<ScheduledRequest | undefined>} Request data or undefined if not found
169
- */
170
- async getRequest(id: string): Promise<ScheduledRequest | undefined> {
171
- return this.requests.get(id);
172
- }
173
-
174
- /**
175
- * Deletes a job by ID
176
- * @param {string} id - Job identifier
177
- * @returns {Promise<void>}
178
- */
179
- async deleteJob(id: string): Promise<void> {
180
- this.jobs.delete(id);
181
- }
182
-
183
- /**
184
- * Deletes a request by ID
185
- * @param {string} id - Request identifier
186
- * @returns {Promise<void>}
187
- */
188
- async deleteRequest(id: string): Promise<void> {
189
- this.requests.delete(id);
190
- }
191
-
192
- /**
193
- * Retrieves all requests
194
- * @returns {Promise<ScheduledRequest[]>} Array of all requests
195
- */
196
- async getAllRequests(): Promise<ScheduledRequest[]> {
197
- return Array.from(this.requests.values());
198
- }
199
-
200
- /**
201
- * Clears all jobs and requests
202
- * @returns {Promise<void>}
203
- */
204
- async clear(): Promise<void> {
205
- this.jobs.clear();
206
- this.requests.clear();
207
- }
208
- }
@@ -1,364 +0,0 @@
1
- import { IMemoryAdapter } from "../../../../interfaces";
2
- import {
3
- BaseMemoryType,
4
- CreateMemoryInput,
5
- MeilisearchConfig,
6
- } from "../../../../types";
7
-
8
- /**
9
- * @module MeilisearchAdapter
10
- * @description Adapter implementation for Meilisearch as a memory storage solution.
11
- * Provides integration with Meilisearch for storing and retrieving memory entries.
12
- * @implements {IMemoryAdapter}
13
- */
14
- export class MeilisearchAdapter implements IMemoryAdapter {
15
- /**
16
- * Creates an instance of MeilisearchAdapter
17
- * @param {MeilisearchConfig} config - Configuration for Meilisearch connection
18
- */
19
- constructor(private readonly config: MeilisearchConfig) {}
20
-
21
- /**
22
- * Makes an HTTP request to the Meilisearch API
23
- * @private
24
- * @param {string} path - API endpoint path
25
- * @param {RequestInit} [options] - Fetch request options
26
- * @returns {Promise<any>} Response data
27
- * @throws {Error} If the request fails
28
- */
29
- private async makeRequest(path: string, options?: RequestInit) {
30
- try {
31
- const url = `${this.config.host}${path}`;
32
- const response = await fetch(url, {
33
- ...options,
34
- headers: {
35
- "Content-Type": "application/json",
36
- Authorization: `Bearer ${this.config.apiKey}`,
37
- ...options?.headers,
38
- },
39
- });
40
-
41
- if (!response.ok) {
42
- const errorBody = await response.text();
43
- throw new Error(
44
- `HTTP ${response.status}: ${errorBody || response.statusText}`
45
- );
46
- }
47
-
48
- return response.json();
49
- } catch (error) {
50
- if (error instanceof TypeError && error.message === "Failed to fetch") {
51
- throw new Error(
52
- `Network error: Unable to connect to Meilisearch at ${this.config.host}`
53
- );
54
- }
55
- throw error;
56
- }
57
- }
58
-
59
- /**
60
- * Initializes a storage index for a room
61
- * @private
62
- * @param {string} roomId - Room identifier to create index for
63
- * @returns {Promise<void>}
64
- */
65
- private async initializeStorage(roomId: string): Promise<void> {
66
- try {
67
- let indexExists = false;
68
-
69
- try {
70
- await this.makeRequest(`/indexes/${roomId}`);
71
- indexExists = true;
72
- } catch (error) {
73
- if (!indexExists) {
74
- const createResponse = await this.makeRequest("/indexes", {
75
- method: "POST",
76
- body: JSON.stringify({
77
- uid: roomId,
78
- primaryKey: "id",
79
- }),
80
- });
81
-
82
- console.log("✅ Index creation response:", createResponse);
83
- }
84
- }
85
-
86
- // Appliquer les settings seulement si l'index existe bien
87
- await this.makeRequest(`/indexes/${roomId}/settings`, {
88
- method: "PATCH",
89
- body: JSON.stringify({
90
- searchableAttributes: this.config.searchableAttributes || [
91
- "data",
92
- "query",
93
- ],
94
- sortableAttributes: this.config.sortableAttributes || ["createdAt"],
95
- }),
96
- });
97
- } catch (error) {
98
- const errorMessage =
99
- error instanceof Error ? error.message : "Unknown error";
100
- console.error(
101
- `❌ Error initializing storage for index ${roomId}:`,
102
- errorMessage
103
- );
104
- throw new Error(
105
- `Failed to initialize storage for index ${roomId}: ${errorMessage}`
106
- );
107
- }
108
- }
109
-
110
- /**
111
- * Adds documents to the Meilisearch index
112
- * @private
113
- * @param {BaseMemoryType[]} documents - Documents to add
114
- * @param {string} roomId - Room identifier
115
- * @returns {Promise<void>}
116
- */
117
- private async addDocuments(
118
- documents: BaseMemoryType[],
119
- roomId: string
120
- ): Promise<void> {
121
- await this.makeRequest(`/indexes/${roomId}/documents`, {
122
- method: "POST",
123
- body: JSON.stringify(documents),
124
- });
125
- }
126
-
127
- /**
128
- * Deletes a storage index for a room
129
- * @private
130
- * @param {string} roomId - Room identifier
131
- * @returns {Promise<void>}
132
- */
133
- private async deleteStorage(roomId: string): Promise<void> {
134
- await this.makeRequest(`/indexes/${roomId}`, {
135
- method: "DELETE",
136
- });
137
- }
138
-
139
- /**
140
- * Initializes the adapter for a specific room
141
- * @param {string} roomId - Room identifier
142
- * @returns {Promise<void>}
143
- */
144
- async init(roomId: string): Promise<void> {
145
- try {
146
- // Initialize the default "memories" index
147
- await this.initializeStorage(roomId);
148
- } catch (error) {
149
- const errorMessage =
150
- error instanceof Error ? error.message : "Unknown error";
151
- console.error("Failed to initialize default index:", errorMessage);
152
- throw new Error(`Failed to initialize default index: ${errorMessage}`);
153
- }
154
- }
155
-
156
- /**
157
- * Performs a search in the Meilisearch index
158
- * @private
159
- * @param {string} query - Search query
160
- * @param {string} roomId - Room identifier
161
- * @param {Object} [options] - Search options
162
- * @param {number} [options.limit] - Maximum number of results
163
- * @param {number} [options.threshold] - Minimum score threshold
164
- * @returns {Promise<SearchResult[]>} Search results
165
- */
166
- private async search(
167
- query: string,
168
- roomId: string,
169
- options?: { limit?: number; threshold?: number }
170
- ): Promise<SearchResult[]> {
171
- const searchResults = await this.makeRequest(`/indexes/${roomId}/search`, {
172
- method: "POST",
173
- body: JSON.stringify({
174
- q: query,
175
- limit: options?.limit || 10,
176
- }),
177
- });
178
-
179
- if (!searchResults.hits) {
180
- return [];
181
- }
182
-
183
- return searchResults.hits.map((hit: any) => ({
184
- document: {
185
- id: hit.id,
186
- data: hit.data,
187
- embedding: hit.embedding,
188
- roomId: hit.roomId,
189
- createdAt: hit.createdAt,
190
- },
191
- score: hit._score || 0,
192
- }));
193
- }
194
-
195
- /**
196
- * Creates a new memory entry
197
- * @param {CreateMemoryInput & { embedding?: number[] }} input - Memory data with optional embedding
198
- * @returns {Promise<BaseMemoryType | undefined>} Created memory or undefined
199
- */
200
- async createMemory(
201
- input: CreateMemoryInput & { embedding?: number[] }
202
- ): Promise<BaseMemoryType | undefined> {
203
- // Initialize storage for this roomId if needed
204
- await this.initializeStorage(input.roomId);
205
-
206
- // Check if the memory already exists
207
- const existingMemory = await this.search(input.content, input.roomId, {
208
- limit: 1,
209
- });
210
- if (existingMemory.length > 0) {
211
- return existingMemory[0].document;
212
- }
213
-
214
- // If not found, create new memory
215
- const memory: BaseMemoryType = {
216
- id: input.id || crypto.randomUUID(),
217
- content: input.content,
218
- metadata: input.metadata,
219
- embedding: input.embedding,
220
- roomId: input.roomId,
221
- createdAt: new Date(),
222
- };
223
-
224
- await this.addDocuments([memory], input.roomId);
225
- return memory;
226
- }
227
-
228
- /**
229
- * Retrieves a memory by ID and room ID
230
- * @param {string} id - Memory identifier
231
- * @param {string} roomId - Room identifier
232
- * @returns {Promise<BaseMemoryType | null>} Memory entry or null if not found
233
- */
234
- async getMemoryById(
235
- id: string,
236
- roomId: string
237
- ): Promise<BaseMemoryType | null> {
238
- try {
239
- const result = await this.makeRequest(
240
- `/indexes/${roomId}/documents/${id}`
241
- );
242
- return result
243
- ? {
244
- id: result.id,
245
- content: result.content,
246
- metadata: result.metadata,
247
- embedding: result.embedding,
248
- roomId: result.roomId,
249
- createdAt: result.createdAt,
250
- }
251
- : null;
252
- } catch {
253
- return null;
254
- }
255
- }
256
-
257
- /**
258
- * Searches for memories based on query and options
259
- * @param {string} query - Search query
260
- * @param {Object} options - Search options
261
- * @param {string} options.roomId - Room identifier
262
- * @param {number} [options.limit] - Maximum number of results
263
- * @returns {Promise<BaseMemoryType[]>} Array of matching memories
264
- */
265
- async getMemoryByIndex(
266
- query: string,
267
- options: { roomId: string; limit?: number }
268
- ): Promise<BaseMemoryType[]> {
269
- const results = await this.search(query, options.roomId, {
270
- limit: options.limit,
271
- });
272
- return results
273
- .filter((result) => result.document.roomId === options.roomId)
274
- .map((result) => ({
275
- id: result.document.id,
276
- content: result.document.content,
277
- metadata: result.document.metadata,
278
- embedding: result.document.embedding,
279
- roomId: result.document.roomId,
280
- createdAt: result.document.createdAt,
281
- }));
282
- }
283
-
284
- /**
285
- * Retrieves all memories for a room
286
- * @param {string} roomId - Room identifier
287
- * @returns {Promise<BaseMemoryType[]>} Array of all memories
288
- */
289
- async getAllMemories(roomId: string): Promise<BaseMemoryType[]> {
290
- const results = await this.makeRequest(`/indexes/${roomId}/documents`);
291
- if (results.total === 0) {
292
- return [];
293
- }
294
-
295
- return results.results.map((doc: any) => ({
296
- id: doc.id,
297
- data: doc.data,
298
- embedding: doc.embedding,
299
- roomId: doc.roomId,
300
- createdAt: doc.createdAt,
301
- }));
302
- }
303
-
304
- /**
305
- * Deletes a specific memory
306
- * @param {string} id - Memory identifier
307
- * @param {string} roomId - Room identifier
308
- * @returns {Promise<void>}
309
- */
310
- async clearMemoryById(id: string, roomId: string): Promise<void> {
311
- try {
312
- // Ensure the index exists before attempting to delete
313
- await this.initializeStorage(roomId);
314
-
315
- await this.makeRequest(`/indexes/${roomId}/documents/${id}`, {
316
- method: "DELETE",
317
- });
318
- } catch (error) {
319
- const errorMessage =
320
- error instanceof Error ? error.message : "Unknown error";
321
- console.error(
322
- `Error clearing memory ${id} from index ${roomId}:`,
323
- errorMessage
324
- );
325
- throw new Error(
326
- `Failed to clear memory ${id} from index ${roomId}: ${errorMessage}`
327
- );
328
- }
329
- }
330
-
331
- /**
332
- * Clears all memories across all rooms
333
- * @returns {Promise<void>}
334
- */
335
- async clearAllMemories(): Promise<void> {
336
- try {
337
- // Get all indexes
338
- const response = await this.makeRequest("/indexes");
339
- const indexes = response.results || [];
340
-
341
- // Delete each index
342
- for (const index of indexes) {
343
- await this.deleteStorage(index.uid);
344
- }
345
- } catch (error) {
346
- const errorMessage =
347
- error instanceof Error ? error.message : "Unknown error";
348
- throw new Error(`Failed to clear all memories: ${errorMessage}`);
349
- }
350
- }
351
- }
352
-
353
- /**
354
- * @interface SearchResult
355
- * @description Interface for search results from Meilisearch
356
- */
357
- interface SearchResult {
358
- /** The matched document */
359
- document?: any;
360
- /** Relevance score of the match */
361
- score?: number;
362
- /** Array of additional results */
363
- results?: any[];
364
- }