@ai.ntellect/core 1.0.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (435) hide show
  1. package/.mocharc.json +6 -0
  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 +363 -142
  7. package/agent/agent-workflow.ts +569 -0
  8. package/agent/agent.ts +183 -0
  9. package/agent/base/executor.ts +103 -0
  10. package/agent/base/index.ts +87 -0
  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/agent/prompt-builder.ts +78 -0
  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/agent/base/executor.d.ts +51 -0
  44. package/dist/agent/base/executor.d.ts.map +1 -0
  45. package/dist/agent/base/executor.js +69 -0
  46. package/dist/agent/base/executor.js.map +1 -0
  47. package/dist/agent/base/index.d.ts +30 -0
  48. package/dist/agent/base/index.d.ts.map +1 -0
  49. package/dist/agent/base/index.js +88 -0
  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/agent/generic-executor.d.ts +68 -0
  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 +19 -0
  96. package/dist/agent/llm-factory.d.ts.map +1 -0
  97. package/dist/agent/llm-factory.js +297 -0
  98. package/dist/agent/llm-factory.js.map +1 -0
  99. package/dist/agent/orchestrator.d.ts +18 -0
  100. package/dist/agent/orchestrator.d.ts.map +1 -0
  101. package/dist/agent/orchestrator.js +44 -0
  102. package/dist/agent/orchestrator.js.map +1 -0
  103. package/dist/agent/prompt-builder.d.ts +35 -0
  104. package/dist/agent/prompt-builder.d.ts.map +1 -0
  105. package/dist/agent/prompt-builder.js +76 -0
  106. package/dist/agent/prompt-builder.js.map +1 -0
  107. package/dist/agent/registry.d.ts +19 -0
  108. package/dist/agent/registry.d.ts.map +1 -0
  109. package/dist/agent/registry.js +48 -0
  110. package/dist/agent/registry.js.map +1 -0
  111. package/dist/agent/tools/file-system.d.ts +11 -0
  112. package/dist/agent/tools/file-system.d.ts.map +1 -0
  113. package/dist/agent/tools/file-system.js +528 -0
  114. package/dist/agent/tools/file-system.js.map +1 -0
  115. package/dist/agent/tools/index.d.ts +4 -0
  116. package/dist/agent/tools/index.d.ts.map +1 -0
  117. package/dist/agent/tools/index.js +20 -0
  118. package/dist/agent/tools/index.js.map +1 -0
  119. package/dist/agent/tools/logger.d.ts +33 -0
  120. package/dist/agent/tools/logger.d.ts.map +1 -0
  121. package/dist/agent/tools/logger.js +86 -0
  122. package/dist/agent/tools/logger.js.map +1 -0
  123. package/dist/agent/tools/tool-resolver.d.ts +7 -0
  124. package/dist/agent/tools/tool-resolver.d.ts.map +1 -0
  125. package/dist/agent/tools/tool-resolver.js +122 -0
  126. package/dist/agent/tools/tool-resolver.js.map +1 -0
  127. package/dist/execution/adapters/in-memory-checkpoint.d.ts +11 -0
  128. package/dist/execution/adapters/in-memory-checkpoint.d.ts.map +1 -0
  129. package/dist/execution/adapters/in-memory-checkpoint.js +54 -0
  130. package/dist/execution/adapters/in-memory-checkpoint.js.map +1 -0
  131. package/dist/execution/compiler.d.ts +8 -0
  132. package/dist/execution/compiler.d.ts.map +1 -0
  133. package/dist/execution/compiler.js +50 -0
  134. package/dist/execution/compiler.js.map +1 -0
  135. package/dist/execution/controller.d.ts +30 -0
  136. package/dist/execution/controller.d.ts.map +1 -0
  137. package/dist/execution/controller.js +80 -0
  138. package/dist/execution/controller.js.map +1 -0
  139. package/dist/execution/event-manager.d.ts +29 -0
  140. package/dist/execution/event-manager.d.ts.map +1 -0
  141. package/dist/execution/event-manager.js +264 -0
  142. package/dist/execution/event-manager.js.map +1 -0
  143. package/dist/execution/index.d.ts +221 -0
  144. package/dist/execution/index.d.ts.map +1 -0
  145. package/dist/execution/index.js +638 -0
  146. package/dist/execution/index.js.map +1 -0
  147. package/dist/execution/logger.d.ts +46 -0
  148. package/dist/execution/logger.d.ts.map +1 -0
  149. package/dist/execution/logger.js +69 -0
  150. package/dist/execution/logger.js.map +1 -0
  151. package/dist/execution/node.d.ts +65 -0
  152. package/dist/execution/node.d.ts.map +1 -0
  153. package/dist/execution/node.js +250 -0
  154. package/dist/execution/node.js.map +1 -0
  155. package/dist/execution/observer.d.ts +38 -0
  156. package/dist/execution/observer.d.ts.map +1 -0
  157. package/dist/execution/observer.js +111 -0
  158. package/dist/execution/observer.js.map +1 -0
  159. package/dist/execution/planner.d.ts +14 -0
  160. package/dist/execution/planner.d.ts.map +1 -0
  161. package/dist/execution/planner.js +43 -0
  162. package/dist/execution/planner.js.map +1 -0
  163. package/dist/execution/reducer.d.ts +19 -0
  164. package/dist/execution/reducer.d.ts.map +1 -0
  165. package/dist/execution/reducer.js +61 -0
  166. package/dist/execution/reducer.js.map +1 -0
  167. package/dist/execution/registry.d.ts +38 -0
  168. package/dist/execution/registry.d.ts.map +1 -0
  169. package/dist/execution/registry.js +63 -0
  170. package/dist/execution/registry.js.map +1 -0
  171. package/dist/execution/send-api.d.ts +24 -0
  172. package/dist/execution/send-api.d.ts.map +1 -0
  173. package/dist/execution/send-api.js +52 -0
  174. package/dist/execution/send-api.js.map +1 -0
  175. package/dist/execution/types.parallel.d.ts +61 -0
  176. package/dist/execution/types.parallel.d.ts.map +1 -0
  177. package/dist/execution/types.parallel.js +3 -0
  178. package/dist/execution/types.parallel.js.map +1 -0
  179. package/dist/execution/visualizer.d.ts +35 -0
  180. package/dist/execution/visualizer.d.ts.map +1 -0
  181. package/dist/execution/visualizer.js +131 -0
  182. package/dist/execution/visualizer.js.map +1 -0
  183. package/dist/index.d.ts +47 -0
  184. package/dist/index.d.ts.map +1 -0
  185. package/dist/index.js +78 -0
  186. package/dist/index.js.map +1 -0
  187. package/dist/interfaces/index.d.ts +487 -0
  188. package/dist/interfaces/index.d.ts.map +1 -0
  189. package/dist/interfaces/index.js +75 -0
  190. package/dist/interfaces/index.js.map +1 -0
  191. package/dist/modules/agenda/adapters/node-cron/index.d.ts +17 -0
  192. package/dist/modules/agenda/adapters/node-cron/index.d.ts.map +1 -0
  193. package/dist/modules/agenda/adapters/node-cron/index.js +30 -0
  194. package/dist/modules/agenda/adapters/node-cron/index.js.map +1 -0
  195. package/dist/modules/agenda/index.d.ts +63 -0
  196. package/dist/modules/agenda/index.d.ts.map +1 -0
  197. package/dist/modules/agenda/index.js +141 -0
  198. package/dist/modules/agenda/index.js.map +1 -0
  199. package/dist/modules/cli/index.d.ts +13 -0
  200. package/dist/modules/cli/index.d.ts.map +1 -0
  201. package/dist/modules/cli/index.js +672 -0
  202. package/dist/modules/cli/index.js.map +1 -0
  203. package/dist/modules/embedding/adapters/ai/index.d.ts +29 -0
  204. package/dist/modules/embedding/adapters/ai/index.d.ts.map +1 -0
  205. package/dist/modules/embedding/adapters/ai/index.js +58 -0
  206. package/dist/modules/embedding/adapters/ai/index.js.map +1 -0
  207. package/dist/modules/embedding/index.d.ts +36 -0
  208. package/dist/modules/embedding/index.d.ts.map +1 -0
  209. package/dist/modules/embedding/index.js +60 -0
  210. package/dist/modules/embedding/index.js.map +1 -0
  211. package/dist/modules/nlp/engine.d.ts +126 -0
  212. package/dist/modules/nlp/engine.d.ts.map +1 -0
  213. package/dist/modules/nlp/engine.js +299 -0
  214. package/dist/modules/nlp/engine.js.map +1 -0
  215. package/dist/modules/nlp/index.d.ts +27 -0
  216. package/dist/modules/nlp/index.d.ts.map +1 -0
  217. package/dist/modules/nlp/index.js +56 -0
  218. package/dist/modules/nlp/index.js.map +1 -0
  219. package/dist/persistence/index.d.ts +12 -0
  220. package/dist/persistence/index.d.ts.map +1 -0
  221. package/dist/persistence/index.js +24 -0
  222. package/dist/persistence/index.js.map +1 -0
  223. package/dist/persistence/neo4j/driver.d.ts +26 -0
  224. package/dist/persistence/neo4j/driver.d.ts.map +1 -0
  225. package/dist/persistence/neo4j/driver.js +64 -0
  226. package/dist/persistence/neo4j/driver.js.map +1 -0
  227. package/dist/persistence/neo4j/entity-store.d.ts +15 -0
  228. package/dist/persistence/neo4j/entity-store.d.ts.map +1 -0
  229. package/dist/persistence/neo4j/entity-store.js +136 -0
  230. package/dist/persistence/neo4j/entity-store.js.map +1 -0
  231. package/dist/persistence/neo4j/execution-tracer.d.ts +19 -0
  232. package/dist/persistence/neo4j/execution-tracer.d.ts.map +1 -0
  233. package/dist/persistence/neo4j/execution-tracer.js +166 -0
  234. package/dist/persistence/neo4j/execution-tracer.js.map +1 -0
  235. package/dist/persistence/neo4j/memory-adapter.d.ts +35 -0
  236. package/dist/persistence/neo4j/memory-adapter.d.ts.map +1 -0
  237. package/dist/persistence/neo4j/memory-adapter.js +252 -0
  238. package/dist/persistence/neo4j/memory-adapter.js.map +1 -0
  239. package/dist/persistence/neo4j/petri-checkpoint-adapter.d.ts +22 -0
  240. package/dist/persistence/neo4j/petri-checkpoint-adapter.d.ts.map +1 -0
  241. package/dist/persistence/neo4j/petri-checkpoint-adapter.js +141 -0
  242. package/dist/persistence/neo4j/petri-checkpoint-adapter.js.map +1 -0
  243. package/dist/pipeline/agent-pipeline.d.ts +99 -0
  244. package/dist/pipeline/agent-pipeline.d.ts.map +1 -0
  245. package/dist/pipeline/agent-pipeline.js +356 -0
  246. package/dist/pipeline/agent-pipeline.js.map +1 -0
  247. package/dist/routing/checkpoint-adapter.d.ts +30 -0
  248. package/dist/routing/checkpoint-adapter.d.ts.map +1 -0
  249. package/dist/routing/checkpoint-adapter.js +83 -0
  250. package/dist/routing/checkpoint-adapter.js.map +1 -0
  251. package/dist/routing/documentation-generator.d.ts +47 -0
  252. package/dist/routing/documentation-generator.d.ts.map +1 -0
  253. package/dist/routing/documentation-generator.js +320 -0
  254. package/dist/routing/documentation-generator.js.map +1 -0
  255. package/dist/routing/index.d.ts +38 -0
  256. package/dist/routing/index.d.ts.map +1 -0
  257. package/dist/routing/index.js +375 -0
  258. package/dist/routing/index.js.map +1 -0
  259. package/dist/routing/intent-classifier.d.ts +206 -0
  260. package/dist/routing/intent-classifier.d.ts.map +1 -0
  261. package/dist/routing/intent-classifier.js +267 -0
  262. package/dist/routing/intent-classifier.js.map +1 -0
  263. package/dist/routing/matrix.d.ts +6 -0
  264. package/dist/routing/matrix.d.ts.map +1 -0
  265. package/dist/routing/matrix.js +131 -0
  266. package/dist/routing/matrix.js.map +1 -0
  267. package/dist/routing/orchestrator.d.ts +87 -0
  268. package/dist/routing/orchestrator.d.ts.map +1 -0
  269. package/dist/routing/orchestrator.js +425 -0
  270. package/dist/routing/orchestrator.js.map +1 -0
  271. package/dist/routing/postgres-checkpoint-adapter.d.ts +32 -0
  272. package/dist/routing/postgres-checkpoint-adapter.d.ts.map +1 -0
  273. package/dist/routing/postgres-checkpoint-adapter.js +167 -0
  274. package/dist/routing/postgres-checkpoint-adapter.js.map +1 -0
  275. package/dist/routing/redis-checkpoint-adapter.d.ts +34 -0
  276. package/dist/routing/redis-checkpoint-adapter.d.ts.map +1 -0
  277. package/dist/routing/redis-checkpoint-adapter.js +170 -0
  278. package/dist/routing/redis-checkpoint-adapter.js.map +1 -0
  279. package/dist/routing/types.d.ts +49 -0
  280. package/dist/routing/types.d.ts.map +1 -0
  281. package/dist/routing/types.js +3 -0
  282. package/dist/routing/types.js.map +1 -0
  283. package/dist/types/agent.d.ts +289 -0
  284. package/dist/types/agent.d.ts.map +1 -0
  285. package/dist/types/agent.js +78 -0
  286. package/dist/types/agent.js.map +1 -0
  287. package/dist/types/index.d.ts +343 -0
  288. package/dist/types/index.d.ts.map +1 -0
  289. package/dist/types/index.js +3 -0
  290. package/dist/types/index.js.map +1 -0
  291. package/dist/utils/generate-action-schema.d.ts +4 -0
  292. package/dist/utils/generate-action-schema.d.ts.map +1 -0
  293. package/dist/utils/generate-action-schema.js +46 -0
  294. package/dist/utils/generate-action-schema.js.map +1 -0
  295. package/dist/utils/header-builder.d.ts +12 -0
  296. package/dist/utils/header-builder.d.ts.map +1 -0
  297. package/dist/utils/header-builder.js +35 -0
  298. package/dist/utils/header-builder.js.map +1 -0
  299. package/dist/utils/logger.d.ts +27 -0
  300. package/dist/utils/logger.d.ts.map +1 -0
  301. package/dist/utils/logger.js +45 -0
  302. package/dist/utils/logger.js.map +1 -0
  303. package/docs/.gitbook/assets/image (1).png +0 -0
  304. package/docs/.gitbook/assets/image (2).png +0 -0
  305. package/docs/.gitbook/assets/image (3).png +0 -0
  306. package/docs/.gitbook/assets/image (4).png +0 -0
  307. package/docs/.gitbook/assets/image (5).png +0 -0
  308. package/docs/.gitbook/assets/image (6).png +0 -0
  309. package/docs/.gitbook/assets/image.png +0 -0
  310. package/docs/README.md +57 -0
  311. package/docs/SUMMARY.md +34 -0
  312. package/docs/cas-dusages.md +69 -0
  313. package/docs/cli/README.md +65 -0
  314. package/docs/concepts-cles.md +50 -0
  315. package/docs/core/architecture.md +87 -0
  316. package/docs/core/benchmark.md +59 -0
  317. package/docs/core/checkpoint.md +72 -0
  318. package/docs/core/documentation.md +55 -0
  319. package/docs/core/graphcontroller.md +63 -0
  320. package/docs/core/graphflow.md +137 -0
  321. package/docs/core/introduction.md +41 -0
  322. package/docs/core/les-evenements.md +95 -0
  323. package/docs/modules/agenda/README.md +63 -0
  324. package/docs/modules/agenda/interface-iagenda.md +170 -0
  325. package/docs/modules/agenda/les-adaptateurs/README.md +237 -0
  326. package/docs/modules/agenda/les-adaptateurs/nodecronadapter.md +91 -0
  327. package/docs/modules/introduction.md +55 -0
  328. package/docs/modules/les-adaptateurs.md +52 -0
  329. package/docs/modules/memoire/README.md +68 -0
  330. package/docs/modules/memoire/interface-imemory.md +183 -0
  331. package/docs/modules/memoire/les-adaptateurs/README.md +209 -0
  332. package/docs/modules/memoire/les-adaptateurs/inmemoryadapter.md +110 -0
  333. package/docs/modules/memoire/les-adaptateurs/meilisearchadapter.md +147 -0
  334. package/docs/modules/memoire/les-adaptateurs/redisadapter.md +212 -0
  335. package/docs/modules/nlp/README.md +44 -0
  336. package/docs/philosophie.md +51 -0
  337. package/docs/tutoriels/ajouter-des-conditions.md +150 -0
  338. package/docs/tutoriels/branching.md +194 -0
  339. package/docs/tutoriels/checkpoint-usage.md +99 -0
  340. package/docs/tutoriels/creer-agent-onchain.md +1041 -0
  341. package/docs/tutoriels/creer-un-agent.md +108 -0
  342. package/docs/tutoriels/creer-un-graphe-simple.md +92 -0
  343. package/docs/tutoriels/gerer-les-erreurs.md +124 -0
  344. package/docs/tutoriels/pour-commencer.md +73 -0
  345. package/docs/tutoriels/retry.md +166 -0
  346. package/execution/adapters/in-memory-checkpoint.ts +35 -0
  347. package/execution/compiler.ts +47 -0
  348. package/execution/controller.ts +84 -0
  349. package/execution/event-manager.ts +331 -0
  350. package/execution/index.ts +800 -0
  351. package/execution/logger.ts +70 -0
  352. package/execution/node.ts +315 -0
  353. package/execution/observer.ts +192 -0
  354. package/execution/planner.ts +40 -0
  355. package/execution/reducer.ts +73 -0
  356. package/execution/registry.ts +86 -0
  357. package/execution/send-api.ts +58 -0
  358. package/execution/types.parallel.ts +81 -0
  359. package/execution/visualizer.ts +158 -0
  360. package/index.ts +55 -465
  361. package/interfaces/index.ts +597 -0
  362. package/modules/agenda/adapters/node-cron/index.ts +25 -0
  363. package/modules/agenda/index.ts +146 -0
  364. package/modules/cli/index.ts +580 -0
  365. package/modules/embedding/adapters/ai/index.ts +42 -0
  366. package/modules/embedding/index.ts +45 -0
  367. package/modules/nlp/engine.ts +324 -0
  368. package/modules/nlp/index.ts +45 -0
  369. package/package.json +81 -9
  370. package/persistence/index.ts +27 -0
  371. package/persistence/neo4j/driver.ts +34 -0
  372. package/persistence/neo4j/entity-store.ts +141 -0
  373. package/persistence/neo4j/execution-tracer.ts +194 -0
  374. package/persistence/neo4j/memory-adapter.ts +281 -0
  375. package/persistence/neo4j/petri-checkpoint-adapter.ts +153 -0
  376. package/pipeline/agent-pipeline.ts +426 -0
  377. package/routing/checkpoint-adapter.ts +79 -0
  378. package/routing/documentation-generator.ts +358 -0
  379. package/routing/index.ts +459 -0
  380. package/routing/intent-classifier.ts +360 -0
  381. package/routing/matrix.ts +138 -0
  382. package/routing/orchestrator.ts +498 -0
  383. package/routing/patterns/data-extraction.json +79 -0
  384. package/routing/patterns/human-approval.json +64 -0
  385. package/routing/patterns/rag-search.json +68 -0
  386. package/routing/postgres-checkpoint-adapter.ts +172 -0
  387. package/routing/redis-checkpoint-adapter.ts +187 -0
  388. package/routing/types.ts +59 -0
  389. package/routing/web-server.ts +260 -0
  390. package/scripts/generate-petri-docs.ts +70 -0
  391. package/scripts/get-gmail-token.js +65 -0
  392. package/scripts/get-gmail-token.ts +65 -0
  393. package/test/agent/agent.test.ts +92 -0
  394. package/test/agent/clone.test.ts +143 -0
  395. package/test/agent/cognitive-handler.test.ts +78 -0
  396. package/test/agent/entity-store.test.ts +80 -0
  397. package/test/agent/generic-executor.test.ts +230 -0
  398. package/test/agent/handoff.test.ts +163 -0
  399. package/test/agent/llm-factory.test.ts +40 -0
  400. package/test/agent/orchestrator.test.ts +156 -0
  401. package/test/agent/registry.test.ts +97 -0
  402. package/test/agent/tools.test.ts +267 -0
  403. package/test/execution/checkpoint.test.ts +811 -0
  404. package/test/execution/controller.test.ts +236 -0
  405. package/test/execution/event-manager.test.ts +118 -0
  406. package/test/execution/index.test.ts +690 -0
  407. package/test/execution/node.test.ts +464 -0
  408. package/test/execution/observer.test.ts +393 -0
  409. package/test/execution/parallel.test.ts +135 -0
  410. package/test/execution/plan-llm-integration.test.ts +290 -0
  411. package/test/execution/plan-real-onchain.test.ts +226 -0
  412. package/test/execution/send-api.test.ts +121 -0
  413. package/test/modules/agenda/node-cron.test.ts +307 -0
  414. package/test/modules/cli/index.test.ts +125 -0
  415. package/test/persistence/neo4j-execution-tracer.test.ts +96 -0
  416. package/test/persistence/neo4j-memory-adapter.test.ts +107 -0
  417. package/test/persistence/neo4j-petri-checkpoint.test.ts +89 -0
  418. package/test/pipeline/agent-pipeline.test.ts +118 -0
  419. package/test/routing/checkpoint-persistence.test.ts +58 -0
  420. package/test/routing/documentation-generator.test.ts +76 -0
  421. package/test/routing/integration.test.ts +261 -0
  422. package/test/routing/intent-classifier.test.ts +102 -0
  423. package/test/routing/petri.test.ts +156 -0
  424. package/test/routing/real-llm.test.ts +260 -0
  425. package/test-petri-features.ts +218 -0
  426. package/test-pipeline-api.ts +163 -0
  427. package/tsconfig.json +30 -108
  428. package/types/agent.ts +296 -0
  429. package/types/index.ts +387 -0
  430. package/utils/generate-action-schema.ts +47 -0
  431. package/utils/header-builder.ts +40 -0
  432. package/utils/logger.ts +40 -0
  433. package/package copy.json +0 -21
  434. package/types.ts +0 -62
  435. package/utils/executor.ts +0 -42
@@ -0,0 +1,264 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GraphEventManager = void 0;
13
+ class GraphEventManager {
14
+ constructor(eventEmitter, nodes, name, context, graphEvents, entryNode, globalErrorHandler, nodeExecutor) {
15
+ this.eventEmitter = eventEmitter;
16
+ this.nodes = nodes;
17
+ this.nodeExecutor = nodeExecutor;
18
+ this.lastEvents = new Map();
19
+ this.name = name;
20
+ this.context = context;
21
+ this.graphEvents = graphEvents;
22
+ this.entryNode = entryNode;
23
+ this.globalErrorHandler = globalErrorHandler;
24
+ }
25
+ /** @deprecated No-op — event streams are no longer managed here */
26
+ setupEventStreams() { }
27
+ emitEvent(type, payload, _context) {
28
+ this.eventEmitter.emit(type, payload);
29
+ }
30
+ setupEventListeners() {
31
+ const allEvents = new Set();
32
+ for (const node of this.nodes.values()) {
33
+ if (node.events) {
34
+ node.events.forEach((evt) => allEvents.add(evt));
35
+ }
36
+ }
37
+ for (const evt of allEvents) {
38
+ this.eventEmitter.removeAllListeners(evt);
39
+ }
40
+ for (const node of this.nodes.values()) {
41
+ if (node.events && node.events.length > 0) {
42
+ node.events.forEach((event) => {
43
+ this.eventEmitter.on(event, (data) => __awaiter(this, void 0, void 0, function* () {
44
+ const freshContext = structuredClone(this.context);
45
+ if (data)
46
+ Object.assign(freshContext, data);
47
+ yield this.executeNode(node.name, freshContext, true);
48
+ }));
49
+ });
50
+ }
51
+ }
52
+ }
53
+ setupGraphEventListeners() {
54
+ if (this.graphEvents && this.graphEvents.length > 0) {
55
+ this.graphEvents.forEach((event) => {
56
+ this.eventEmitter.on(event, (data) => __awaiter(this, void 0, void 0, function* () {
57
+ var _a;
58
+ const freshContext = this.createNewContext();
59
+ if (data)
60
+ Object.assign(freshContext, data);
61
+ this.eventEmitter.emit("graphStarted", { name: this.name });
62
+ try {
63
+ if (!this.entryNode) {
64
+ throw new Error("No entry node defined for graph event handling");
65
+ }
66
+ yield this.executeNode(this.entryNode, freshContext, false);
67
+ this.eventEmitter.emit("graphCompleted", {
68
+ name: this.name,
69
+ context: this.context,
70
+ });
71
+ }
72
+ catch (error) {
73
+ this.eventEmitter.emit("graphError", { name: this.name, error });
74
+ (_a = this.globalErrorHandler) === null || _a === void 0 ? void 0 : _a.call(this, error, freshContext);
75
+ throw error;
76
+ }
77
+ }));
78
+ });
79
+ }
80
+ }
81
+ waitForEvents(events_1) {
82
+ return __awaiter(this, arguments, void 0, function* (events, timeout = 30000) {
83
+ return new Promise((resolve, reject) => {
84
+ const receivedEvents = new Map();
85
+ const eventHandlers = new Map();
86
+ let isResolved = false;
87
+ const cleanup = () => {
88
+ events.forEach((event) => {
89
+ const handler = eventHandlers.get(event);
90
+ if (handler) {
91
+ this.eventEmitter.removeListener(event, handler);
92
+ }
93
+ });
94
+ };
95
+ events.forEach((event) => {
96
+ const handler = (eventData) => {
97
+ if (!isResolved) {
98
+ receivedEvents.set(event, eventData);
99
+ if (events.every((e) => receivedEvents.has(e))) {
100
+ isResolved = true;
101
+ clearTimeout(timeoutId);
102
+ cleanup();
103
+ resolve(Array.from(receivedEvents.values()));
104
+ }
105
+ }
106
+ };
107
+ eventHandlers.set(event, handler);
108
+ this.eventEmitter.on(event, handler);
109
+ });
110
+ const timeoutId = setTimeout(() => {
111
+ if (!isResolved) {
112
+ isResolved = true;
113
+ cleanup();
114
+ reject(new Error(`Timeout waiting for events: ${events.join(", ")}`));
115
+ }
116
+ }, timeout);
117
+ });
118
+ });
119
+ }
120
+ on(eventName, handler) {
121
+ this.eventEmitter.on(eventName, handler);
122
+ }
123
+ emit(eventName, data) {
124
+ this.lastEvents.set(eventName, data);
125
+ this.eventEmitter.emit(eventName, data);
126
+ }
127
+ createNewContext() {
128
+ return structuredClone(this.context);
129
+ }
130
+ executeNode(nodeName, context, triggeredByEvent) {
131
+ return __awaiter(this, void 0, void 0, function* () {
132
+ if (!this.nodeExecutor) {
133
+ throw new Error("NodeExecutor not initialized");
134
+ }
135
+ const node = this.nodes.get(nodeName);
136
+ if (!node) {
137
+ throw new Error(`Node "${nodeName}" not found`);
138
+ }
139
+ if (node.when) {
140
+ yield this.handleNodeEvents(nodeName, node.when);
141
+ }
142
+ return this.nodeExecutor.executeNode(nodeName, context, triggeredByEvent);
143
+ });
144
+ }
145
+ waitForCorrelatedEvents(eventTypes, timeoutMs, correlationFn) {
146
+ return new Promise((resolve, reject) => {
147
+ const receivedEvents = new Map();
148
+ const eventHandlers = new Map();
149
+ let isResolved = false;
150
+ const cleanup = () => {
151
+ eventHandlers.forEach((handler, event) => {
152
+ this.eventEmitter.removeListener(event, handler);
153
+ });
154
+ };
155
+ eventTypes.forEach((eventType) => {
156
+ const handler = (eventData) => {
157
+ if (!isResolved) {
158
+ const event = {
159
+ type: eventType,
160
+ payload: eventData,
161
+ timestamp: Date.now(),
162
+ };
163
+ receivedEvents.set(eventType, event);
164
+ if (eventTypes.every((type) => receivedEvents.has(type))) {
165
+ const events = Array.from(receivedEvents.values());
166
+ if (correlationFn(events)) {
167
+ isResolved = true;
168
+ clearTimeout(timeoutId);
169
+ cleanup();
170
+ resolve(events);
171
+ }
172
+ }
173
+ }
174
+ };
175
+ eventHandlers.set(eventType, handler);
176
+ this.eventEmitter.on(eventType, handler);
177
+ });
178
+ const timeoutId = setTimeout(() => {
179
+ if (!isResolved) {
180
+ cleanup();
181
+ reject(new Error(`Timeout waiting for correlated events: ${eventTypes.join(", ")}`));
182
+ }
183
+ }, timeoutMs);
184
+ });
185
+ }
186
+ handleNodeEvents(nodeName, config) {
187
+ return __awaiter(this, void 0, void 0, function* () {
188
+ const { events, timeout = 30000, strategy } = config;
189
+ return new Promise((resolve, reject) => {
190
+ const receivedEvents = new Map();
191
+ const eventHandlers = new Map();
192
+ let isResolved = false;
193
+ events.forEach((event) => {
194
+ const existingEvent = this.lastEvents.get(event);
195
+ if (existingEvent) {
196
+ receivedEvents.set(event, {
197
+ type: event,
198
+ payload: existingEvent,
199
+ timestamp: Date.now(),
200
+ });
201
+ }
202
+ });
203
+ const checkEvents = () => {
204
+ var _a;
205
+ if (isResolved)
206
+ return;
207
+ const eventsList = Array.from(receivedEvents.values());
208
+ switch (strategy.type) {
209
+ case "single":
210
+ if (receivedEvents.size > 0) {
211
+ resolve(eventsList);
212
+ isResolved = true;
213
+ }
214
+ break;
215
+ case "all":
216
+ case "correlate":
217
+ const allReceived = events.every((e) => receivedEvents.has(e));
218
+ if (allReceived) {
219
+ if (strategy.type === "correlate") {
220
+ const correlated = (_a = strategy.correlation) === null || _a === void 0 ? void 0 : _a.call(strategy, eventsList);
221
+ if (!correlated)
222
+ return;
223
+ }
224
+ resolve(eventsList);
225
+ isResolved = true;
226
+ }
227
+ break;
228
+ }
229
+ if (isResolved) {
230
+ cleanup();
231
+ }
232
+ };
233
+ events.forEach((event) => {
234
+ if (!receivedEvents.has(event)) {
235
+ const handler = (eventData) => {
236
+ receivedEvents.set(event, {
237
+ type: event,
238
+ payload: eventData,
239
+ timestamp: Date.now(),
240
+ });
241
+ checkEvents();
242
+ };
243
+ eventHandlers.set(event, handler);
244
+ this.eventEmitter.on(event, handler);
245
+ }
246
+ });
247
+ const cleanup = () => {
248
+ eventHandlers.forEach((handler, event) => {
249
+ this.eventEmitter.removeListener(event, handler);
250
+ });
251
+ };
252
+ checkEvents();
253
+ const timeoutId = setTimeout(() => {
254
+ if (!isResolved) {
255
+ cleanup();
256
+ reject(new Error(`Timeout waiting for events: ${events.join(", ")}`));
257
+ }
258
+ }, timeout);
259
+ });
260
+ });
261
+ }
262
+ }
263
+ exports.GraphEventManager = GraphEventManager;
264
+ //# sourceMappingURL=event-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-manager.js","sourceRoot":"","sources":["../../execution/event-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,221 @@
1
+ import { ZodSchema } from "zod";
2
+ import { GraphObservable, ICheckpointAdapter } from "../interfaces";
3
+ import { Checkpoint, CheckpointConfig, GraphConfig, GraphContext, GraphNodeConfig } from "../types";
4
+ import { GraphObserver } from "./observer";
5
+ import { GraphVisualizer } from "./visualizer";
6
+ /**
7
+ * @module GraphFlow
8
+ * @description A workflow engine that manages the execution of nodes in a graph-like structure.
9
+ *
10
+ * Key features:
11
+ * - Multiple branches support
12
+ * - Conditional branching (runs first matching condition, or all if none have conditions)
13
+ * - Event-driven nodes
14
+ * - Zod validation of context/inputs/outputs
15
+ * - Automatic retry on node failures
16
+ *
17
+ * @template T - Extends ZodSchema for type validation
18
+ */
19
+ export declare class GraphFlow<T extends ZodSchema> {
20
+ private context;
21
+ private _initialContext;
22
+ validator?: T;
23
+ private eventEmitter;
24
+ private globalErrorHandler?;
25
+ private graphEvents?;
26
+ private entryNode?;
27
+ private verbose;
28
+ nodes: Map<string, GraphNodeConfig<T, any>>;
29
+ name: string;
30
+ private eventSubject;
31
+ private stateSubject;
32
+ private destroySubject;
33
+ observer: GraphObserver<T>;
34
+ private logger;
35
+ private eventManager;
36
+ private nodeExecutor;
37
+ private nlpNodes;
38
+ private _interrupted;
39
+ private _interruptCheckpoint;
40
+ private _checkpointCounter;
41
+ private _breakpoints;
42
+ /**
43
+ * Creates a new instance of GraphFlow
44
+ * @param {GraphConfig<T>} config - Configuration object containing name, nodes, schema, context, and error handlers
45
+ * @param {Object} options - Optional options for the graph flow
46
+ */
47
+ constructor(config: GraphConfig<T>, options?: {
48
+ verbose?: boolean;
49
+ });
50
+ /**
51
+ * Sets up event listeners for node-based events
52
+ * @private
53
+ * @description Attaches all node-based event triggers while preserving external listeners
54
+ */
55
+ private setupEventStreams;
56
+ /**
57
+ * Sets up event listeners for node-based events
58
+ * @private
59
+ * @description Attaches all node-based event triggers while preserving external listeners
60
+ */
61
+ private setupEventListeners;
62
+ /**
63
+ * Sets up event listeners for graph-based events
64
+ * @private
65
+ * @description Attaches all graph-based event triggers
66
+ */
67
+ private setupGraphEventListeners;
68
+ /**
69
+ * Executes a specific node in the graph
70
+ * @private
71
+ * @param {string} nodeName - Name of the node to execute
72
+ * @param {GraphContext<T>} context - Current execution context
73
+ * @param {boolean} triggeredByEvent - Whether the execution was triggered by an event
74
+ * @returns {Promise<void>}
75
+ */
76
+ private executeNode;
77
+ private addLog;
78
+ getLogs(): string[];
79
+ clearLogs(): void;
80
+ /**
81
+ * Get the observer instance for monitoring graph state and events
82
+ */
83
+ observe(options?: {
84
+ debounce?: number;
85
+ delay?: number;
86
+ stream?: boolean;
87
+ properties?: (string | number)[];
88
+ onStreamLetter?: (data: {
89
+ letter: string;
90
+ property: string;
91
+ }) => void;
92
+ onStreamComplete?: () => void;
93
+ }): GraphObservable<T>;
94
+ /**
95
+ * Enable or disable verbose logging
96
+ * @param {boolean} enabled - Whether to enable verbose logging
97
+ */
98
+ setVerbose(enabled: boolean): void;
99
+ /**
100
+ * Get current verbose setting
101
+ * @returns {boolean} Current verbose setting
102
+ */
103
+ isVerbose(): boolean;
104
+ /**
105
+ * Executes the graph flow starting from a specific node
106
+ * @param {string} startNode - Name of the node to start execution from
107
+ * @param {Partial<GraphContext<T>>} context - Optional context to merge
108
+ * @returns {Promise<GraphContext<T>>} Final context after execution
109
+ */
110
+ execute(startNode: string, context?: Partial<GraphContext<T>>): Promise<GraphContext<T>>;
111
+ /**
112
+ * Executes the graph flow with automatic checkpointing at each node
113
+ * @param startNode - Name of the node to start execution from
114
+ * @param adapter - Checkpoint persistence adapter
115
+ * @param config - Checkpoint configuration options
116
+ * @returns Execution result with final context and checkpoint ID
117
+ */
118
+ executeWithCheckpoint(startNode: string, adapter: ICheckpointAdapter, config?: CheckpointConfig): Promise<{
119
+ context: GraphContext<T>;
120
+ checkpointId: string;
121
+ }>;
122
+ /**
123
+ * Resumes execution from a saved checkpoint
124
+ * @param checkpointId - ID of the checkpoint to resume from
125
+ * @param adapter - Checkpoint persistence adapter
126
+ * @returns Final context after execution
127
+ */
128
+ resumeFromCheckpoint(checkpointId: string, adapter: ICheckpointAdapter, contextModifications?: Partial<Record<string, any>>): Promise<GraphContext<T>>;
129
+ /**
130
+ * Interrupts the current execution and saves a checkpoint
131
+ */
132
+ interrupt(): void;
133
+ /**
134
+ * Lists all checkpoints for this graph
135
+ * @param adapter - Checkpoint persistence adapter
136
+ * @returns Array of checkpoints sorted by creation date (newest first)
137
+ */
138
+ listCheckpoints(adapter: ICheckpointAdapter): Promise<Checkpoint<T>[]>;
139
+ /**
140
+ * Gets checkpoint history for a specific run
141
+ * @param runId - Run identifier
142
+ * @param adapter - Checkpoint persistence adapter
143
+ * @returns Checkpoints for the specified run, sorted newest first
144
+ */
145
+ getCheckpointHistory(runId: string, adapter: ICheckpointAdapter): Promise<Checkpoint<T>[]>;
146
+ /**
147
+ * Emits an event to trigger event-based nodes
148
+ * @param {string} eventName - Name of the event to emit
149
+ * @param {Partial<GraphContext<T>>} data - Optional data to merge with context
150
+ * @returns {Promise<void>}
151
+ */
152
+ emit(eventName: string, data?: Partial<GraphContext<T>>): Promise<void>;
153
+ /**
154
+ * Registers an event handler
155
+ * @param {string} eventName - Name of the event to listen for
156
+ * @param {Function} handler - Handler function to execute when event is emitted
157
+ */
158
+ on(eventName: string, handler: (...args: any[]) => void): void;
159
+ /**
160
+ * Updates the graph definition with new configuration
161
+ * @param {GraphConfig<T>} definition - New graph definition
162
+ */
163
+ load(definition: GraphConfig<T>): void;
164
+ /**
165
+ * Gets a copy of the current context
166
+ * @returns {GraphContext<T>} A deep copy of the current context
167
+ */
168
+ getContext(): GraphContext<T>;
169
+ /**
170
+ * Logs a message with optional data
171
+ * @param {string} message - Message to log
172
+ * @param {any} data - Optional data to log
173
+ */
174
+ log(message: string, data?: any): void;
175
+ /**
176
+ * Adds a new node to the graph
177
+ * @param {GraphNodeConfig<T, any>} node - Node to add
178
+ * @throws {Error} If node with same name already exists
179
+ */
180
+ addNode(node: GraphNodeConfig<T, any>): void;
181
+ /**
182
+ * Removes a node from the graph
183
+ * @param {string} nodeName - Name of the node to remove
184
+ */
185
+ removeNode(nodeName: string): void;
186
+ /**
187
+ * Returns all nodes in the graph
188
+ * @returns {Node<T>[]} Array of all nodes
189
+ */
190
+ getNodes(): GraphNodeConfig<T, any>[];
191
+ /**
192
+ * Cleanup resources
193
+ */
194
+ destroy(): void;
195
+ /**
196
+ * Creates a visualizer instance for the current graph
197
+ * @returns {GraphVisualizer<T>} A visualizer instance
198
+ */
199
+ createVisualizer(): GraphVisualizer<T>;
200
+ /**
201
+ * Gets the schema for the current graph
202
+ * @returns {T} The schema for the current graph
203
+ */
204
+ getSchema(): T;
205
+ /**
206
+ * Processes natural language input using a specific NLP node
207
+ * @param {string} text - The input text to process
208
+ * @param {string} nodeName - The name of the NLP node to use
209
+ * @returns {Promise<GraphContext<T>>} The result of the NLP node execution
210
+ */
211
+ processNaturalLanguage(text: string, nodeName: string): Promise<GraphContext<T>>;
212
+ }
213
+ export declare class CheckpointInterruptError extends Error {
214
+ readonly checkpointId: string;
215
+ constructor(message: string, checkpointId: string);
216
+ }
217
+ export declare class CheckpointAwaitApprovalError extends Error {
218
+ readonly checkpointId: string;
219
+ constructor(message: string, checkpointId: string);
220
+ }
221
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../execution/index.ts"],"names":[],"mappings":"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"}