@agntk/core 0.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 (502) hide show
  1. package/README.md +227 -0
  2. package/dist/advanced/index.d.ts +35 -0
  3. package/dist/advanced/index.d.ts.map +1 -0
  4. package/dist/advanced/index.js +52 -0
  5. package/dist/advanced/index.js.map +1 -0
  6. package/dist/agent.d.ts +46 -0
  7. package/dist/agent.d.ts.map +1 -0
  8. package/dist/agent.js +381 -0
  9. package/dist/agent.js.map +1 -0
  10. package/dist/config/defaults.d.ts +10 -0
  11. package/dist/config/defaults.d.ts.map +1 -0
  12. package/dist/config/defaults.js +34 -0
  13. package/dist/config/defaults.js.map +1 -0
  14. package/dist/config/index.d.ts +7 -0
  15. package/dist/config/index.d.ts.map +1 -0
  16. package/dist/config/index.js +11 -0
  17. package/dist/config/index.js.map +1 -0
  18. package/dist/config/loader.d.ts +54 -0
  19. package/dist/config/loader.d.ts.map +1 -0
  20. package/dist/config/loader.js +222 -0
  21. package/dist/config/loader.js.map +1 -0
  22. package/dist/config/schema.d.ts +912 -0
  23. package/dist/config/schema.d.ts.map +1 -0
  24. package/dist/config/schema.js +119 -0
  25. package/dist/config/schema.js.map +1 -0
  26. package/dist/constants.d.ts +17 -0
  27. package/dist/constants.d.ts.map +1 -0
  28. package/dist/constants.js +23 -0
  29. package/dist/constants.js.map +1 -0
  30. package/dist/evals/assertions.d.ts +54 -0
  31. package/dist/evals/assertions.d.ts.map +1 -0
  32. package/dist/evals/assertions.js +200 -0
  33. package/dist/evals/assertions.js.map +1 -0
  34. package/dist/evals/index.d.ts +9 -0
  35. package/dist/evals/index.d.ts.map +1 -0
  36. package/dist/evals/index.js +8 -0
  37. package/dist/evals/index.js.map +1 -0
  38. package/dist/evals/runner.d.ts +34 -0
  39. package/dist/evals/runner.d.ts.map +1 -0
  40. package/dist/evals/runner.js +186 -0
  41. package/dist/evals/runner.js.map +1 -0
  42. package/dist/evals/types.d.ts +68 -0
  43. package/dist/evals/types.d.ts.map +1 -0
  44. package/dist/evals/types.js +5 -0
  45. package/dist/evals/types.js.map +1 -0
  46. package/dist/guardrails/built-ins.d.ts +48 -0
  47. package/dist/guardrails/built-ins.d.ts.map +1 -0
  48. package/dist/guardrails/built-ins.js +149 -0
  49. package/dist/guardrails/built-ins.js.map +1 -0
  50. package/dist/guardrails/index.d.ts +8 -0
  51. package/dist/guardrails/index.d.ts.map +1 -0
  52. package/dist/guardrails/index.js +7 -0
  53. package/dist/guardrails/index.js.map +1 -0
  54. package/dist/guardrails/runner.d.ts +49 -0
  55. package/dist/guardrails/runner.d.ts.map +1 -0
  56. package/dist/guardrails/runner.js +148 -0
  57. package/dist/guardrails/runner.js.map +1 -0
  58. package/dist/guardrails/types.d.ts +63 -0
  59. package/dist/guardrails/types.d.ts.map +1 -0
  60. package/dist/guardrails/types.js +22 -0
  61. package/dist/guardrails/types.js.map +1 -0
  62. package/dist/index.d.ts +31 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +35 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/memory/engine.d.ts +130 -0
  67. package/dist/memory/engine.d.ts.map +1 -0
  68. package/dist/memory/engine.js +227 -0
  69. package/dist/memory/engine.js.map +1 -0
  70. package/dist/memory/extraction.d.ts +24 -0
  71. package/dist/memory/extraction.d.ts.map +1 -0
  72. package/dist/memory/extraction.js +130 -0
  73. package/dist/memory/extraction.js.map +1 -0
  74. package/dist/memory/loader.d.ts +20 -0
  75. package/dist/memory/loader.d.ts.map +1 -0
  76. package/dist/memory/loader.js +73 -0
  77. package/dist/memory/loader.js.map +1 -0
  78. package/dist/memory/store.d.ts +42 -0
  79. package/dist/memory/store.d.ts.map +1 -0
  80. package/dist/memory/store.js +120 -0
  81. package/dist/memory/store.js.map +1 -0
  82. package/dist/memory/tools.d.ts +39 -0
  83. package/dist/memory/tools.d.ts.map +1 -0
  84. package/dist/memory/tools.js +225 -0
  85. package/dist/memory/tools.js.map +1 -0
  86. package/dist/memory/types.d.ts +46 -0
  87. package/dist/memory/types.d.ts.map +1 -0
  88. package/dist/memory/types.js +8 -0
  89. package/dist/memory/types.js.map +1 -0
  90. package/dist/memory/vectra-store.d.ts +31 -0
  91. package/dist/memory/vectra-store.d.ts.map +1 -0
  92. package/dist/memory/vectra-store.js +122 -0
  93. package/dist/memory/vectra-store.js.map +1 -0
  94. package/dist/models.d.ts +37 -0
  95. package/dist/models.d.ts.map +1 -0
  96. package/dist/models.js +131 -0
  97. package/dist/models.js.map +1 -0
  98. package/dist/observability/index.d.ts +6 -0
  99. package/dist/observability/index.d.ts.map +1 -0
  100. package/dist/observability/index.js +5 -0
  101. package/dist/observability/index.js.map +1 -0
  102. package/dist/observability/langfuse.d.ts +47 -0
  103. package/dist/observability/langfuse.d.ts.map +1 -0
  104. package/dist/observability/langfuse.js +112 -0
  105. package/dist/observability/langfuse.js.map +1 -0
  106. package/dist/observability/types.d.ts +37 -0
  107. package/dist/observability/types.d.ts.map +1 -0
  108. package/dist/observability/types.js +5 -0
  109. package/dist/observability/types.js.map +1 -0
  110. package/dist/pool/index.d.ts +7 -0
  111. package/dist/pool/index.d.ts.map +1 -0
  112. package/dist/pool/index.js +6 -0
  113. package/dist/pool/index.js.map +1 -0
  114. package/dist/pool/specialist-pool.d.ts +59 -0
  115. package/dist/pool/specialist-pool.d.ts.map +1 -0
  116. package/dist/pool/specialist-pool.js +224 -0
  117. package/dist/pool/specialist-pool.js.map +1 -0
  118. package/dist/pool/tools.d.ts +63 -0
  119. package/dist/pool/tools.d.ts.map +1 -0
  120. package/dist/pool/tools.js +83 -0
  121. package/dist/pool/tools.js.map +1 -0
  122. package/dist/pool/types.d.ts +79 -0
  123. package/dist/pool/types.d.ts.map +1 -0
  124. package/dist/pool/types.js +5 -0
  125. package/dist/pool/types.js.map +1 -0
  126. package/dist/presets/index.d.ts +5 -0
  127. package/dist/presets/index.d.ts.map +1 -0
  128. package/dist/presets/index.js +5 -0
  129. package/dist/presets/index.js.map +1 -0
  130. package/dist/presets/role-registry.d.ts +41 -0
  131. package/dist/presets/role-registry.d.ts.map +1 -0
  132. package/dist/presets/role-registry.js +213 -0
  133. package/dist/presets/role-registry.js.map +1 -0
  134. package/dist/presets/roles.d.ts +105 -0
  135. package/dist/presets/roles.d.ts.map +1 -0
  136. package/dist/presets/roles.js +207 -0
  137. package/dist/presets/roles.js.map +1 -0
  138. package/dist/presets/sub-agent-configs.d.ts +19 -0
  139. package/dist/presets/sub-agent-configs.d.ts.map +1 -0
  140. package/dist/presets/sub-agent-configs.js +71 -0
  141. package/dist/presets/sub-agent-configs.js.map +1 -0
  142. package/dist/presets/tool-preset-registry.d.ts +34 -0
  143. package/dist/presets/tool-preset-registry.d.ts.map +1 -0
  144. package/dist/presets/tool-preset-registry.js +107 -0
  145. package/dist/presets/tool-preset-registry.js.map +1 -0
  146. package/dist/presets/tools.d.ts +278 -0
  147. package/dist/presets/tools.d.ts.map +1 -0
  148. package/dist/presets/tools.js +108 -0
  149. package/dist/presets/tools.js.map +1 -0
  150. package/dist/prompts/context.d.ts +47 -0
  151. package/dist/prompts/context.d.ts.map +1 -0
  152. package/dist/prompts/context.js +187 -0
  153. package/dist/prompts/context.js.map +1 -0
  154. package/dist/prompts/template.d.ts +17 -0
  155. package/dist/prompts/template.d.ts.map +1 -0
  156. package/dist/prompts/template.js +32 -0
  157. package/dist/prompts/template.js.map +1 -0
  158. package/dist/prompts/templates.d.ts +11 -0
  159. package/dist/prompts/templates.d.ts.map +1 -0
  160. package/dist/prompts/templates.js +115 -0
  161. package/dist/prompts/templates.js.map +1 -0
  162. package/dist/reflection.d.ts +48 -0
  163. package/dist/reflection.d.ts.map +1 -0
  164. package/dist/reflection.js +91 -0
  165. package/dist/reflection.js.map +1 -0
  166. package/dist/skills/index.d.ts +6 -0
  167. package/dist/skills/index.d.ts.map +1 -0
  168. package/dist/skills/index.js +5 -0
  169. package/dist/skills/index.js.map +1 -0
  170. package/dist/skills/loader.d.ts +84 -0
  171. package/dist/skills/loader.d.ts.map +1 -0
  172. package/dist/skills/loader.js +400 -0
  173. package/dist/skills/loader.js.map +1 -0
  174. package/dist/skills/types.d.ts +66 -0
  175. package/dist/skills/types.d.ts.map +1 -0
  176. package/dist/skills/types.js +6 -0
  177. package/dist/skills/types.js.map +1 -0
  178. package/dist/streaming/data-parts.d.ts +163 -0
  179. package/dist/streaming/data-parts.d.ts.map +1 -0
  180. package/dist/streaming/data-parts.js +14 -0
  181. package/dist/streaming/data-parts.js.map +1 -0
  182. package/dist/streaming/index.d.ts +8 -0
  183. package/dist/streaming/index.d.ts.map +1 -0
  184. package/dist/streaming/index.js +10 -0
  185. package/dist/streaming/index.js.map +1 -0
  186. package/dist/streaming/transient.d.ts +136 -0
  187. package/dist/streaming/transient.d.ts.map +1 -0
  188. package/dist/streaming/transient.js +201 -0
  189. package/dist/streaming/transient.js.map +1 -0
  190. package/dist/tools/approval.d.ts +67 -0
  191. package/dist/tools/approval.d.ts.map +1 -0
  192. package/dist/tools/approval.js +113 -0
  193. package/dist/tools/approval.js.map +1 -0
  194. package/dist/tools/ast-grep/cli.d.ts +16 -0
  195. package/dist/tools/ast-grep/cli.d.ts.map +1 -0
  196. package/dist/tools/ast-grep/cli.js +198 -0
  197. package/dist/tools/ast-grep/cli.js.map +1 -0
  198. package/dist/tools/ast-grep/constants.d.ts +24 -0
  199. package/dist/tools/ast-grep/constants.d.ts.map +1 -0
  200. package/dist/tools/ast-grep/constants.js +247 -0
  201. package/dist/tools/ast-grep/constants.js.map +1 -0
  202. package/dist/tools/ast-grep/downloader.d.ts +6 -0
  203. package/dist/tools/ast-grep/downloader.d.ts.map +1 -0
  204. package/dist/tools/ast-grep/downloader.js +137 -0
  205. package/dist/tools/ast-grep/downloader.js.map +1 -0
  206. package/dist/tools/ast-grep/index.d.ts +7 -0
  207. package/dist/tools/ast-grep/index.d.ts.map +1 -0
  208. package/dist/tools/ast-grep/index.js +6 -0
  209. package/dist/tools/ast-grep/index.js.map +1 -0
  210. package/dist/tools/ast-grep/tools.d.ts +33 -0
  211. package/dist/tools/ast-grep/tools.d.ts.map +1 -0
  212. package/dist/tools/ast-grep/tools.js +140 -0
  213. package/dist/tools/ast-grep/tools.js.map +1 -0
  214. package/dist/tools/ast-grep/types.d.ts +68 -0
  215. package/dist/tools/ast-grep/types.d.ts.map +1 -0
  216. package/dist/tools/ast-grep/types.js +2 -0
  217. package/dist/tools/ast-grep/types.js.map +1 -0
  218. package/dist/tools/ast-grep/utils.d.ts +4 -0
  219. package/dist/tools/ast-grep/utils.d.ts.map +1 -0
  220. package/dist/tools/ast-grep/utils.js +55 -0
  221. package/dist/tools/ast-grep/utils.js.map +1 -0
  222. package/dist/tools/browser/index.d.ts +6 -0
  223. package/dist/tools/browser/index.d.ts.map +1 -0
  224. package/dist/tools/browser/index.js +5 -0
  225. package/dist/tools/browser/index.js.map +1 -0
  226. package/dist/tools/browser/stream.d.ts +112 -0
  227. package/dist/tools/browser/stream.d.ts.map +1 -0
  228. package/dist/tools/browser/stream.js +228 -0
  229. package/dist/tools/browser/stream.js.map +1 -0
  230. package/dist/tools/browser/tool.d.ts +144 -0
  231. package/dist/tools/browser/tool.d.ts.map +1 -0
  232. package/dist/tools/browser/tool.js +214 -0
  233. package/dist/tools/browser/tool.js.map +1 -0
  234. package/dist/tools/browser/types.d.ts +216 -0
  235. package/dist/tools/browser/types.d.ts.map +1 -0
  236. package/dist/tools/browser/types.js +146 -0
  237. package/dist/tools/browser/types.js.map +1 -0
  238. package/dist/tools/deep-reasoning/constants.d.ts +11 -0
  239. package/dist/tools/deep-reasoning/constants.d.ts.map +1 -0
  240. package/dist/tools/deep-reasoning/constants.js +35 -0
  241. package/dist/tools/deep-reasoning/constants.js.map +1 -0
  242. package/dist/tools/deep-reasoning/engine.d.ts +20 -0
  243. package/dist/tools/deep-reasoning/engine.d.ts.map +1 -0
  244. package/dist/tools/deep-reasoning/engine.js +77 -0
  245. package/dist/tools/deep-reasoning/engine.js.map +1 -0
  246. package/dist/tools/deep-reasoning/index.d.ts +5 -0
  247. package/dist/tools/deep-reasoning/index.d.ts.map +1 -0
  248. package/dist/tools/deep-reasoning/index.js +7 -0
  249. package/dist/tools/deep-reasoning/index.js.map +1 -0
  250. package/dist/tools/deep-reasoning/tools.d.ts +12 -0
  251. package/dist/tools/deep-reasoning/tools.d.ts.map +1 -0
  252. package/dist/tools/deep-reasoning/tools.js +23 -0
  253. package/dist/tools/deep-reasoning/tools.js.map +1 -0
  254. package/dist/tools/deep-reasoning/types.d.ts +66 -0
  255. package/dist/tools/deep-reasoning/types.d.ts.map +1 -0
  256. package/dist/tools/deep-reasoning/types.js +13 -0
  257. package/dist/tools/deep-reasoning/types.js.map +1 -0
  258. package/dist/tools/factory.d.ts +109 -0
  259. package/dist/tools/factory.d.ts.map +1 -0
  260. package/dist/tools/factory.js +166 -0
  261. package/dist/tools/factory.js.map +1 -0
  262. package/dist/tools/file/index.d.ts +8 -0
  263. package/dist/tools/file/index.d.ts.map +1 -0
  264. package/dist/tools/file/index.js +8 -0
  265. package/dist/tools/file/index.js.map +1 -0
  266. package/dist/tools/file/tools.d.ts +45 -0
  267. package/dist/tools/file/tools.d.ts.map +1 -0
  268. package/dist/tools/file/tools.js +206 -0
  269. package/dist/tools/file/tools.js.map +1 -0
  270. package/dist/tools/glob/cli.d.ts +8 -0
  271. package/dist/tools/glob/cli.d.ts.map +1 -0
  272. package/dist/tools/glob/cli.js +168 -0
  273. package/dist/tools/glob/cli.js.map +1 -0
  274. package/dist/tools/glob/constants.d.ts +7 -0
  275. package/dist/tools/glob/constants.d.ts.map +1 -0
  276. package/dist/tools/glob/constants.js +17 -0
  277. package/dist/tools/glob/constants.js.map +1 -0
  278. package/dist/tools/glob/index.d.ts +6 -0
  279. package/dist/tools/glob/index.d.ts.map +1 -0
  280. package/dist/tools/glob/index.js +5 -0
  281. package/dist/tools/glob/index.js.map +1 -0
  282. package/dist/tools/glob/tools.d.ts +15 -0
  283. package/dist/tools/glob/tools.d.ts.map +1 -0
  284. package/dist/tools/glob/tools.js +74 -0
  285. package/dist/tools/glob/tools.js.map +1 -0
  286. package/dist/tools/glob/types.d.ts +20 -0
  287. package/dist/tools/glob/types.d.ts.map +1 -0
  288. package/dist/tools/glob/types.js +2 -0
  289. package/dist/tools/glob/types.js.map +1 -0
  290. package/dist/tools/glob/utils.d.ts +3 -0
  291. package/dist/tools/glob/utils.d.ts.map +1 -0
  292. package/dist/tools/glob/utils.js +20 -0
  293. package/dist/tools/glob/utils.js.map +1 -0
  294. package/dist/tools/grep/cli.d.ts +4 -0
  295. package/dist/tools/grep/cli.d.ts.map +1 -0
  296. package/dist/tools/grep/cli.js +224 -0
  297. package/dist/tools/grep/cli.js.map +1 -0
  298. package/dist/tools/grep/constants.d.ts +19 -0
  299. package/dist/tools/grep/constants.d.ts.map +1 -0
  300. package/dist/tools/grep/constants.js +115 -0
  301. package/dist/tools/grep/constants.js.map +1 -0
  302. package/dist/tools/grep/downloader.d.ts +3 -0
  303. package/dist/tools/grep/downloader.d.ts.map +1 -0
  304. package/dist/tools/grep/downloader.js +164 -0
  305. package/dist/tools/grep/downloader.js.map +1 -0
  306. package/dist/tools/grep/index.d.ts +7 -0
  307. package/dist/tools/grep/index.d.ts.map +1 -0
  308. package/dist/tools/grep/index.js +6 -0
  309. package/dist/tools/grep/index.js.map +1 -0
  310. package/dist/tools/grep/tools.d.ts +19 -0
  311. package/dist/tools/grep/tools.d.ts.map +1 -0
  312. package/dist/tools/grep/tools.js +82 -0
  313. package/dist/tools/grep/tools.js.map +1 -0
  314. package/dist/tools/grep/types.d.ts +37 -0
  315. package/dist/tools/grep/types.d.ts.map +1 -0
  316. package/dist/tools/grep/types.js +2 -0
  317. package/dist/tools/grep/types.js.map +1 -0
  318. package/dist/tools/grep/utils.d.ts +4 -0
  319. package/dist/tools/grep/utils.d.ts.map +1 -0
  320. package/dist/tools/grep/utils.js +41 -0
  321. package/dist/tools/grep/utils.js.map +1 -0
  322. package/dist/tools/index.d.ts +21 -0
  323. package/dist/tools/index.d.ts.map +1 -0
  324. package/dist/tools/index.js +33 -0
  325. package/dist/tools/index.js.map +1 -0
  326. package/dist/tools/model-retry.d.ts +54 -0
  327. package/dist/tools/model-retry.d.ts.map +1 -0
  328. package/dist/tools/model-retry.js +110 -0
  329. package/dist/tools/model-retry.js.map +1 -0
  330. package/dist/tools/plan/constants.d.ts +18 -0
  331. package/dist/tools/plan/constants.d.ts.map +1 -0
  332. package/dist/tools/plan/constants.js +13 -0
  333. package/dist/tools/plan/constants.js.map +1 -0
  334. package/dist/tools/plan/index.d.ts +5 -0
  335. package/dist/tools/plan/index.d.ts.map +1 -0
  336. package/dist/tools/plan/index.js +7 -0
  337. package/dist/tools/plan/index.js.map +1 -0
  338. package/dist/tools/plan/tools.d.ts +16 -0
  339. package/dist/tools/plan/tools.d.ts.map +1 -0
  340. package/dist/tools/plan/tools.js +217 -0
  341. package/dist/tools/plan/tools.js.map +1 -0
  342. package/dist/tools/plan/types.d.ts +75 -0
  343. package/dist/tools/plan/types.d.ts.map +1 -0
  344. package/dist/tools/plan/types.js +16 -0
  345. package/dist/tools/plan/types.js.map +1 -0
  346. package/dist/tools/plan/utils.d.ts +9 -0
  347. package/dist/tools/plan/utils.d.ts.map +1 -0
  348. package/dist/tools/plan/utils.js +27 -0
  349. package/dist/tools/plan/utils.js.map +1 -0
  350. package/dist/tools/progress/index.d.ts +53 -0
  351. package/dist/tools/progress/index.d.ts.map +1 -0
  352. package/dist/tools/progress/index.js +144 -0
  353. package/dist/tools/progress/index.js.map +1 -0
  354. package/dist/tools/provider.d.ts +97 -0
  355. package/dist/tools/provider.d.ts.map +1 -0
  356. package/dist/tools/provider.js +178 -0
  357. package/dist/tools/provider.js.map +1 -0
  358. package/dist/tools/search-skills.d.ts +44 -0
  359. package/dist/tools/search-skills.d.ts.map +1 -0
  360. package/dist/tools/search-skills.js +134 -0
  361. package/dist/tools/search-skills.js.map +1 -0
  362. package/dist/tools/shell/background.d.ts +38 -0
  363. package/dist/tools/shell/background.d.ts.map +1 -0
  364. package/dist/tools/shell/background.js +229 -0
  365. package/dist/tools/shell/background.js.map +1 -0
  366. package/dist/tools/shell/constants.d.ts +10 -0
  367. package/dist/tools/shell/constants.d.ts.map +1 -0
  368. package/dist/tools/shell/constants.js +55 -0
  369. package/dist/tools/shell/constants.js.map +1 -0
  370. package/dist/tools/shell/index.d.ts +7 -0
  371. package/dist/tools/shell/index.d.ts.map +1 -0
  372. package/dist/tools/shell/index.js +5 -0
  373. package/dist/tools/shell/index.js.map +1 -0
  374. package/dist/tools/shell/tools.d.ts +22 -0
  375. package/dist/tools/shell/tools.d.ts.map +1 -0
  376. package/dist/tools/shell/tools.js +70 -0
  377. package/dist/tools/shell/tools.js.map +1 -0
  378. package/dist/tools/shell/types.d.ts +30 -0
  379. package/dist/tools/shell/types.d.ts.map +1 -0
  380. package/dist/tools/shell/types.js +10 -0
  381. package/dist/tools/shell/types.js.map +1 -0
  382. package/dist/tools/shell/utils.d.ts +7 -0
  383. package/dist/tools/shell/utils.d.ts.map +1 -0
  384. package/dist/tools/shell/utils.js +26 -0
  385. package/dist/tools/shell/utils.js.map +1 -0
  386. package/dist/tools/spawn-agent/index.d.ts +96 -0
  387. package/dist/tools/spawn-agent/index.d.ts.map +1 -0
  388. package/dist/tools/spawn-agent/index.js +168 -0
  389. package/dist/tools/spawn-agent/index.js.map +1 -0
  390. package/dist/tools/utils/errors.d.ts +21 -0
  391. package/dist/tools/utils/errors.d.ts.map +1 -0
  392. package/dist/tools/utils/errors.js +29 -0
  393. package/dist/tools/utils/errors.js.map +1 -0
  394. package/dist/tools/utils/shell.d.ts +23 -0
  395. package/dist/tools/utils/shell.d.ts.map +1 -0
  396. package/dist/tools/utils/shell.js +99 -0
  397. package/dist/tools/utils/shell.js.map +1 -0
  398. package/dist/tools/utils/tool-result.d.ts +6 -0
  399. package/dist/tools/utils/tool-result.d.ts.map +1 -0
  400. package/dist/tools/utils/tool-result.js +22 -0
  401. package/dist/tools/utils/tool-result.js.map +1 -0
  402. package/dist/types/agent.d.ts +218 -0
  403. package/dist/types/agent.d.ts.map +1 -0
  404. package/dist/types/agent.js +6 -0
  405. package/dist/types/agent.js.map +1 -0
  406. package/dist/types/index.d.ts +7 -0
  407. package/dist/types/index.d.ts.map +1 -0
  408. package/dist/types/index.js +6 -0
  409. package/dist/types/index.js.map +1 -0
  410. package/dist/types/lifecycle.d.ts +218 -0
  411. package/dist/types/lifecycle.d.ts.map +1 -0
  412. package/dist/types/lifecycle.js +99 -0
  413. package/dist/types/lifecycle.js.map +1 -0
  414. package/dist/types/streaming.d.ts +120 -0
  415. package/dist/types/streaming.d.ts.map +1 -0
  416. package/dist/types/streaming.js +6 -0
  417. package/dist/types/streaming.js.map +1 -0
  418. package/dist/usage-limits.d.ts +63 -0
  419. package/dist/usage-limits.d.ts.map +1 -0
  420. package/dist/usage-limits.js +88 -0
  421. package/dist/usage-limits.js.map +1 -0
  422. package/dist/utils/logger.d.ts +35 -0
  423. package/dist/utils/logger.d.ts.map +1 -0
  424. package/dist/utils/logger.js +149 -0
  425. package/dist/utils/logger.js.map +1 -0
  426. package/dist/workflow/builders/adapt.d.ts +20 -0
  427. package/dist/workflow/builders/adapt.d.ts.map +1 -0
  428. package/dist/workflow/builders/adapt.js +33 -0
  429. package/dist/workflow/builders/adapt.js.map +1 -0
  430. package/dist/workflow/builders/index.d.ts +8 -0
  431. package/dist/workflow/builders/index.d.ts.map +1 -0
  432. package/dist/workflow/builders/index.js +7 -0
  433. package/dist/workflow/builders/index.js.map +1 -0
  434. package/dist/workflow/builders/parallel.d.ts +25 -0
  435. package/dist/workflow/builders/parallel.d.ts.map +1 -0
  436. package/dist/workflow/builders/parallel.js +60 -0
  437. package/dist/workflow/builders/parallel.js.map +1 -0
  438. package/dist/workflow/builders/pipeline.d.ts +22 -0
  439. package/dist/workflow/builders/pipeline.d.ts.map +1 -0
  440. package/dist/workflow/builders/pipeline.js +48 -0
  441. package/dist/workflow/builders/pipeline.js.map +1 -0
  442. package/dist/workflow/builders/types.d.ts +54 -0
  443. package/dist/workflow/builders/types.d.ts.map +1 -0
  444. package/dist/workflow/builders/types.js +5 -0
  445. package/dist/workflow/builders/types.js.map +1 -0
  446. package/dist/workflow/durable-agent.d.ts +128 -0
  447. package/dist/workflow/durable-agent.d.ts.map +1 -0
  448. package/dist/workflow/durable-agent.js +323 -0
  449. package/dist/workflow/durable-agent.js.map +1 -0
  450. package/dist/workflow/durable-tool.d.ts +103 -0
  451. package/dist/workflow/durable-tool.d.ts.map +1 -0
  452. package/dist/workflow/durable-tool.js +173 -0
  453. package/dist/workflow/durable-tool.js.map +1 -0
  454. package/dist/workflow/hooks.d.ts +318 -0
  455. package/dist/workflow/hooks.d.ts.map +1 -0
  456. package/dist/workflow/hooks.js +629 -0
  457. package/dist/workflow/hooks.js.map +1 -0
  458. package/dist/workflow/index.d.ts +17 -0
  459. package/dist/workflow/index.d.ts.map +1 -0
  460. package/dist/workflow/index.js +24 -0
  461. package/dist/workflow/index.js.map +1 -0
  462. package/dist/workflow/schedulers.d.ts +231 -0
  463. package/dist/workflow/schedulers.d.ts.map +1 -0
  464. package/dist/workflow/schedulers.js +250 -0
  465. package/dist/workflow/schedulers.js.map +1 -0
  466. package/dist/workflow/team/create-team.d.ts +34 -0
  467. package/dist/workflow/team/create-team.d.ts.map +1 -0
  468. package/dist/workflow/team/create-team.js +242 -0
  469. package/dist/workflow/team/create-team.js.map +1 -0
  470. package/dist/workflow/team/index.d.ts +9 -0
  471. package/dist/workflow/team/index.d.ts.map +1 -0
  472. package/dist/workflow/team/index.js +8 -0
  473. package/dist/workflow/team/index.js.map +1 -0
  474. package/dist/workflow/team/machines.d.ts +152 -0
  475. package/dist/workflow/team/machines.d.ts.map +1 -0
  476. package/dist/workflow/team/machines.js +197 -0
  477. package/dist/workflow/team/machines.js.map +1 -0
  478. package/dist/workflow/team/task-board.d.ts +47 -0
  479. package/dist/workflow/team/task-board.d.ts.map +1 -0
  480. package/dist/workflow/team/task-board.js +111 -0
  481. package/dist/workflow/team/task-board.js.map +1 -0
  482. package/dist/workflow/team/tools.d.ts +66 -0
  483. package/dist/workflow/team/tools.d.ts.map +1 -0
  484. package/dist/workflow/team/tools.js +100 -0
  485. package/dist/workflow/team/tools.js.map +1 -0
  486. package/dist/workflow/team/types.d.ts +109 -0
  487. package/dist/workflow/team/types.d.ts.map +1 -0
  488. package/dist/workflow/team/types.js +5 -0
  489. package/dist/workflow/team/types.js.map +1 -0
  490. package/dist/workflow/templates.d.ts +71 -0
  491. package/dist/workflow/templates.d.ts.map +1 -0
  492. package/dist/workflow/templates.js +132 -0
  493. package/dist/workflow/templates.js.map +1 -0
  494. package/dist/workflow/utils.d.ts +29 -0
  495. package/dist/workflow/utils.d.ts.map +1 -0
  496. package/dist/workflow/utils.js +84 -0
  497. package/dist/workflow/utils.js.map +1 -0
  498. package/dist/wrappers/best-of-n.d.ts +69 -0
  499. package/dist/wrappers/best-of-n.d.ts.map +1 -0
  500. package/dist/wrappers/best-of-n.js +242 -0
  501. package/dist/wrappers/best-of-n.js.map +1 -0
  502. package/package.json +101 -0
@@ -0,0 +1,227 @@
1
+ /**
2
+ * @agntk/core - Unified Memory Engine
3
+ *
4
+ * Single write path: remember() → LLM extraction → parallel writes to Vectra + Graph.
5
+ * Implements Mem0 ADD/UPDATE/DELETE/NOOP pattern with Hindsight 4-network taxonomy.
6
+ *
7
+ * Architecture:
8
+ * - VectorStore: Semantic similarity search (Vectra)
9
+ * - GraphStore: Structural relationships (Graphology via QueryPort)
10
+ * - ExtractionModel: LLM-powered fact extraction
11
+ * - ContradictionDetector: Write-time conflict detection
12
+ */
13
+ import { createLogger } from '@agntk/logger';
14
+ import { extractFacts, } from './extraction.js';
15
+ const log = createLogger('@agntk/core:memory-engine');
16
+ // ============================================================================
17
+ // Implementation
18
+ // ============================================================================
19
+ /**
20
+ * Create a unified memory engine.
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * const engine = createMemoryEngine({
25
+ * vectorStore: await createMemoryStore({ path: './.memory' }),
26
+ * graphStore: new GraphologyAdapter(),
27
+ * extractionModel: openai('gpt-4o-mini'),
28
+ * });
29
+ *
30
+ * // Single remember() does extraction + parallel writes
31
+ * const result = await engine.remember('TypeScript 5.3 supports import attributes');
32
+ * ```
33
+ */
34
+ export function createMemoryEngine(config) {
35
+ const { vectorStore, graphStore, extractionModel, contradictionDetector, defaultTopK = 5, defaultThreshold = 0.7, } = config;
36
+ return {
37
+ async remember(text, metadata) {
38
+ const writeId = generateWriteId();
39
+ const timestamp = new Date().toISOString();
40
+ log.debug('remember() — unified write path', { writeId, textLength: text.length });
41
+ // Step 1: Extract facts via LLM (if model provided)
42
+ let facts = [];
43
+ if (extractionModel) {
44
+ try {
45
+ const done = log.time('extraction');
46
+ const result = await extractFacts(text, { model: extractionModel });
47
+ facts = result.facts;
48
+ done();
49
+ log.info('Extraction complete', { factCount: facts.length });
50
+ }
51
+ catch (error) {
52
+ log.warn('Extraction failed, continuing with raw text', { error: String(error) });
53
+ }
54
+ }
55
+ // Step 2: Check for contradictions against existing memories
56
+ let contradictionResult;
57
+ if (contradictionDetector && facts.length > 0) {
58
+ try {
59
+ contradictionResult = await detectContradictions(facts, vectorStore, contradictionDetector, graphStore, defaultTopK, defaultThreshold);
60
+ }
61
+ catch (error) {
62
+ log.warn('Contradiction detection failed, continuing', { error: String(error) });
63
+ }
64
+ }
65
+ // Step 3: Determine operation type
66
+ const operation = contradictionResult ? 'UPDATE' : 'ADD';
67
+ // Step 4: Parallel writes to vector store + graph store
68
+ const writePromises = [];
69
+ let vectorStoreId;
70
+ let graphStoreId;
71
+ // Vector store: store the raw text + extracted facts as metadata
72
+ writePromises.push(vectorStore.remember(text, {
73
+ ...metadata,
74
+ writeId,
75
+ timestamp,
76
+ operation,
77
+ networks: facts.map((f) => f.network),
78
+ factCount: facts.length,
79
+ facts: facts.map((f) => f.fact),
80
+ }).then((id) => { vectorStoreId = id; }));
81
+ // Graph store: create episode + link entities
82
+ if (graphStore && facts.length > 0) {
83
+ const episodeType = classifyEpisodeType(facts);
84
+ const entityNames = [...new Set(facts.flatMap((f) => f.entities.map((e) => e.name)))];
85
+ const relationshipStrings = facts.flatMap((f) => f.relationships.map((r) => `${r.from}-[${r.type}]->${r.to}`));
86
+ writePromises.push((async () => {
87
+ await graphStore.upsertEpisode({
88
+ id: writeId,
89
+ timestamp,
90
+ type: episodeType,
91
+ summary: facts.map((f) => f.fact).join('; '),
92
+ content: text,
93
+ entities: entityNames,
94
+ relationships: relationshipStrings,
95
+ });
96
+ graphStoreId = writeId;
97
+ // Link entities to the episode
98
+ for (const entityName of entityNames) {
99
+ await graphStore.linkEpisodeEntity(writeId, entityName);
100
+ }
101
+ })());
102
+ }
103
+ await Promise.all(writePromises);
104
+ log.info('Unified write complete', {
105
+ writeId,
106
+ operation,
107
+ factCount: facts.length,
108
+ vectorStoreId,
109
+ graphStoreId,
110
+ hasContradiction: !!contradictionResult,
111
+ });
112
+ return {
113
+ id: writeId,
114
+ operation,
115
+ facts,
116
+ vectorStoreId,
117
+ graphStoreId,
118
+ contradiction: contradictionResult,
119
+ };
120
+ },
121
+ async recall(query, options) {
122
+ return vectorStore.recall(query, {
123
+ topK: options?.topK ?? defaultTopK,
124
+ threshold: options?.threshold ?? defaultThreshold,
125
+ });
126
+ },
127
+ async queryKnowledge(query, limit = 10) {
128
+ if (!graphStore) {
129
+ log.debug('queryKnowledge called without graph store — returning empty');
130
+ return [];
131
+ }
132
+ const episodes = await graphStore.getEpisodesByQuery(query, limit);
133
+ return episodes.map((ep) => ({
134
+ id: ep.id ?? ep.properties?.id,
135
+ summary: ep.summary ?? ep.properties?.summary,
136
+ content: ep.content ?? ep.properties?.content,
137
+ timestamp: ep.timestamp ?? ep.properties?.timestamp,
138
+ type: ep.type ?? ep.properties?.type,
139
+ }));
140
+ },
141
+ async forget(id) {
142
+ return vectorStore.forget(id);
143
+ },
144
+ async count() {
145
+ return vectorStore.count();
146
+ },
147
+ async close() {
148
+ await vectorStore.close();
149
+ },
150
+ };
151
+ }
152
+ // ============================================================================
153
+ // Helpers
154
+ // ============================================================================
155
+ function generateWriteId() {
156
+ return `mem_${Date.now()}_${Math.random().toString(36).slice(2, 11)}`;
157
+ }
158
+ /**
159
+ * Classify the episode type based on the dominant memory network.
160
+ */
161
+ function classifyEpisodeType(facts) {
162
+ const counts = {
163
+ world_fact: 0,
164
+ experience: 0,
165
+ entity_summary: 0,
166
+ belief: 0,
167
+ };
168
+ for (const fact of facts) {
169
+ counts[fact.network]++;
170
+ }
171
+ // Map network types to episode types
172
+ if (counts.experience > 0)
173
+ return 'action';
174
+ if (counts.belief > 0)
175
+ return 'decision';
176
+ if (counts.entity_summary > counts.world_fact)
177
+ return 'observation';
178
+ return 'learning';
179
+ }
180
+ /**
181
+ * Check new facts against existing memories for contradictions.
182
+ */
183
+ async function detectContradictions(newFacts, vectorStore, detector, graphStore, topK, threshold) {
184
+ // For each new world_fact or belief, check against similar existing memories
185
+ const checkableFacts = newFacts.filter((f) => f.network === 'world_fact' || f.network === 'belief');
186
+ for (const newFact of checkableFacts) {
187
+ const existing = await vectorStore.recall(newFact.fact, { topK, threshold });
188
+ for (const match of existing) {
189
+ const contradiction = detector.detect(match.item.text, newFact.fact, { id: match.item.id, source: 'memory', timestamp: match.item.timestamp.toISOString() }, { id: 'new', source: 'input', timestamp: new Date().toISOString() });
190
+ if (contradiction) {
191
+ log.info('Contradiction detected', {
192
+ existing: match.item.text.slice(0, 80),
193
+ new: newFact.fact.slice(0, 80),
194
+ });
195
+ // Store the contradiction in graph store if available
196
+ if (graphStore) {
197
+ try {
198
+ await graphStore.upsertContradiction({
199
+ id: contradiction.id,
200
+ detectedAt: contradiction.detectedAt,
201
+ resolution_winner: null,
202
+ resolution_reasoning: null,
203
+ factA_id: match.item.id,
204
+ factA_statement: match.item.text,
205
+ factA_source: 'memory',
206
+ factA_timestamp: match.item.timestamp.toISOString(),
207
+ factB_id: 'new',
208
+ factB_statement: newFact.fact,
209
+ factB_source: 'input',
210
+ factB_timestamp: new Date().toISOString(),
211
+ });
212
+ }
213
+ catch (error) {
214
+ log.warn('Failed to store contradiction in graph', { error: String(error) });
215
+ }
216
+ }
217
+ return {
218
+ id: contradiction.id,
219
+ existingFact: match.item.text,
220
+ newFact: newFact.fact,
221
+ };
222
+ }
223
+ }
224
+ }
225
+ return undefined;
226
+ }
227
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/memory/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @agntk/core - Memory Extraction Pipeline
3
+ *
4
+ * LLM-powered extraction for the markdown-based memory system.
5
+ * The LLM receives current memory.md + new input and returns updated memory.md.
6
+ * No vector store, no embeddings — the LLM handles curation, dedup, and contradiction detection.
7
+ */
8
+ import { type LanguageModel } from 'ai';
9
+ /** Hindsight 4-network memory taxonomy (used as section headers in memory.md) */
10
+ export type MemoryNetworkType = 'world_fact' | 'experience' | 'entity_summary' | 'belief';
11
+ export declare const EMPTY_MEMORY_MD = "# Memory\n\n## World Facts\n\n## Decisions\n\n## Entity Knowledge\n\n## Preferences & Patterns\n";
12
+ /**
13
+ * Send current memory + new input to LLM, get back updated memory.md content.
14
+ */
15
+ export declare function extractAndUpdateMemory(currentMemory: string | null, input: string, model: LanguageModel): Promise<string>;
16
+ /**
17
+ * Send current memory + fact to forget to LLM, get back updated memory.md content.
18
+ */
19
+ export declare function forgetFromMemory(currentMemory: string | null, factToForget: string, model: LanguageModel): Promise<string>;
20
+ /**
21
+ * Generate a formatted decision log entry from a decision description.
22
+ */
23
+ export declare function generateDecisionEntry(input: string, model: LanguageModel): Promise<string>;
24
+ //# sourceMappingURL=extraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../../src/memory/extraction.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,IAAI,CAAC;AAStD,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,YAAY,GAAG,gBAAgB,GAAG,QAAQ,CAAC;AAsD1F,eAAO,MAAM,eAAe,qGAS3B,CAAC;AAMF;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,CAAC,CAcjB"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * @agntk/core - Memory Extraction Pipeline
3
+ *
4
+ * LLM-powered extraction for the markdown-based memory system.
5
+ * The LLM receives current memory.md + new input and returns updated memory.md.
6
+ * No vector store, no embeddings — the LLM handles curation, dedup, and contradiction detection.
7
+ */
8
+ import { generateText } from 'ai';
9
+ import { createLogger } from '@agntk/logger';
10
+ const log = createLogger('@agntk/core:extraction');
11
+ // ============================================================================
12
+ // Prompts
13
+ // ============================================================================
14
+ const MEMORY_UPDATE_PROMPT = `You are a memory manager. Given the input and the current contents of memory.md, determine what to update.
15
+
16
+ CURRENT MEMORY.MD:
17
+ {CURRENT_MEMORY}
18
+
19
+ INPUT TO PROCESS:
20
+ "{INPUT}"
21
+
22
+ Respond with the updated memory.md contents. Rules:
23
+ - Add new facts under the appropriate section (World Facts, Decisions, Entity Knowledge, Preferences & Patterns)
24
+ - If a new fact contradicts an existing one, REPLACE the old fact
25
+ - If the fact is already captured, skip it
26
+ - Keep each section concise — facts as bullet points, one line each
27
+ - Remove facts that are no longer true
28
+ - Maximum ~200 lines total
29
+ - Always include all 4 section headers, even if a section is empty
30
+
31
+ Respond ONLY with the updated memory.md content. No explanations.`;
32
+ const MEMORY_FORGET_PROMPT = `You are a memory manager. Remove the specified fact from the current memory.md contents.
33
+
34
+ CURRENT MEMORY.MD:
35
+ {CURRENT_MEMORY}
36
+
37
+ FACT TO REMOVE:
38
+ "{INPUT}"
39
+
40
+ Remove the fact (or the closest matching fact) from memory.md. If the fact is not found, return the contents unchanged.
41
+
42
+ Respond ONLY with the updated memory.md content. No explanations.`;
43
+ const DECISION_ENTRY_PROMPT = `You are a decision logger. A decision was just made. Write a concise log entry in this exact format:
44
+
45
+ ## {DATE} — [Decision Title]
46
+ **Context:** [Why this came up]
47
+ **Decision:** [What was decided]
48
+ **Rationale:** [Why this choice]
49
+ **Alternatives considered:** [What else was considered, if any]
50
+
51
+ The decision:
52
+ "{INPUT}"
53
+
54
+ Respond ONLY with the formatted decision entry. No explanations.`;
55
+ // ============================================================================
56
+ // Empty memory template
57
+ // ============================================================================
58
+ export const EMPTY_MEMORY_MD = `# Memory
59
+
60
+ ## World Facts
61
+
62
+ ## Decisions
63
+
64
+ ## Entity Knowledge
65
+
66
+ ## Preferences & Patterns
67
+ `;
68
+ // ============================================================================
69
+ // Extraction Functions
70
+ // ============================================================================
71
+ /**
72
+ * Send current memory + new input to LLM, get back updated memory.md content.
73
+ */
74
+ export async function extractAndUpdateMemory(currentMemory, input, model) {
75
+ const memory = currentMemory?.trim() || EMPTY_MEMORY_MD;
76
+ const prompt = MEMORY_UPDATE_PROMPT
77
+ .replace('{CURRENT_MEMORY}', memory)
78
+ .replace('{INPUT}', input.replace(/"/g, '\\"'));
79
+ log.debug('Extracting memory update', { inputLength: input.length, memoryLength: memory.length });
80
+ try {
81
+ const { text } = await generateText({ model, prompt, temperature: 0.1 });
82
+ const result = text.trim();
83
+ if (!result) {
84
+ log.warn('Empty extraction result, returning current memory');
85
+ return memory;
86
+ }
87
+ log.debug('Memory updated', { oldLength: memory.length, newLength: result.length });
88
+ return result;
89
+ }
90
+ catch (error) {
91
+ log.error('Memory extraction failed', { error: error instanceof Error ? error.message : String(error) });
92
+ return memory;
93
+ }
94
+ }
95
+ /**
96
+ * Send current memory + fact to forget to LLM, get back updated memory.md content.
97
+ */
98
+ export async function forgetFromMemory(currentMemory, factToForget, model) {
99
+ const memory = currentMemory?.trim() || EMPTY_MEMORY_MD;
100
+ const prompt = MEMORY_FORGET_PROMPT
101
+ .replace('{CURRENT_MEMORY}', memory)
102
+ .replace('{INPUT}', factToForget.replace(/"/g, '\\"'));
103
+ try {
104
+ const { text } = await generateText({ model, prompt, temperature: 0.1 });
105
+ return text.trim() || memory;
106
+ }
107
+ catch (error) {
108
+ log.error('Memory forget failed', { error: error instanceof Error ? error.message : String(error) });
109
+ return memory;
110
+ }
111
+ }
112
+ /**
113
+ * Generate a formatted decision log entry from a decision description.
114
+ */
115
+ export async function generateDecisionEntry(input, model) {
116
+ const date = new Date().toISOString().split('T')[0];
117
+ const prompt = DECISION_ENTRY_PROMPT
118
+ .replace('{DATE}', date)
119
+ .replace('{INPUT}', input.replace(/"/g, '\\"'));
120
+ try {
121
+ const { text } = await generateText({ model, prompt, temperature: 0.2 });
122
+ return text.trim();
123
+ }
124
+ catch (error) {
125
+ log.error('Decision entry generation failed', { error: error instanceof Error ? error.message : String(error) });
126
+ // Fallback: simple entry
127
+ return `## ${date} — Decision\n**Decision:** ${input}`;
128
+ }
129
+ }
130
+ //# sourceMappingURL=extraction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extraction.js","sourceRoot":"","sources":["../../src/memory/extraction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @agntk/core - Memory Loader
3
+ *
4
+ * Loads memory files from a MemoryStore and formats them as a string
5
+ * for injection into the agent's system prompt.
6
+ *
7
+ * Load order (from PLAN.md):
8
+ * 1. ~/.agntk/identity.md
9
+ * 2. ~/.agntk/preferences.md
10
+ * 3. .agntk/project.md (or CLAUDE.md / AGENTS.md)
11
+ * 4. .agntk/memory.md
12
+ * 5. .agntk/context.md
13
+ */
14
+ import type { MemoryStore } from './types.js';
15
+ /**
16
+ * Load all always-on memory files and format as a system prompt section.
17
+ * Missing files are silently skipped.
18
+ */
19
+ export declare function loadMemoryContext(store: MemoryStore): Promise<string>;
20
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/memory/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQ3C;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAwD3E"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * @agntk/core - Memory Loader
3
+ *
4
+ * Loads memory files from a MemoryStore and formats them as a string
5
+ * for injection into the agent's system prompt.
6
+ *
7
+ * Load order (from PLAN.md):
8
+ * 1. ~/.agntk/identity.md
9
+ * 2. ~/.agntk/preferences.md
10
+ * 3. .agntk/project.md (or CLAUDE.md / AGENTS.md)
11
+ * 4. .agntk/memory.md
12
+ * 5. .agntk/context.md
13
+ */
14
+ import { createLogger } from '@agntk/logger';
15
+ const log = createLogger('@agntk/core:memory-loader');
16
+ /** Rough token estimate: ~4 chars per token */
17
+ const CHARS_PER_TOKEN = 4;
18
+ const TOKEN_WARNING_THRESHOLD = 2000;
19
+ /**
20
+ * Load all always-on memory files and format as a system prompt section.
21
+ * Missing files are silently skipped.
22
+ */
23
+ export async function loadMemoryContext(store) {
24
+ const sections = [];
25
+ // 1. Identity (global, human-authored)
26
+ const identity = await store.loadIdentity();
27
+ if (identity) {
28
+ sections.push(formatSection('Identity', identity));
29
+ }
30
+ // 2. Preferences (global, agent-curated)
31
+ const preferences = await store.loadPreferences();
32
+ if (preferences) {
33
+ sections.push(formatSection('Preferences', preferences));
34
+ }
35
+ // 3. Project (local, human-authored — falls back to CLAUDE.md / AGENTS.md)
36
+ const project = await store.loadProject();
37
+ if (project) {
38
+ sections.push(formatSection('Project', project));
39
+ }
40
+ // 4. Memory (local, agent-curated facts)
41
+ const memory = await store.loadMemory();
42
+ if (memory) {
43
+ sections.push(formatSection('Memory', memory));
44
+ }
45
+ // 5. Context (local, agent-rewritten each session)
46
+ const context = await store.loadContext();
47
+ if (context) {
48
+ sections.push(formatSection('Current Context', context));
49
+ }
50
+ if (sections.length === 0) {
51
+ return '';
52
+ }
53
+ const result = '# Persistent Memory\n\n' + sections.join('\n\n');
54
+ // Warn if memory context is large
55
+ const estimatedTokens = Math.ceil(result.length / CHARS_PER_TOKEN);
56
+ if (estimatedTokens > TOKEN_WARNING_THRESHOLD) {
57
+ log.warn('Memory context is large', {
58
+ estimatedTokens,
59
+ threshold: TOKEN_WARNING_THRESHOLD,
60
+ chars: result.length,
61
+ });
62
+ }
63
+ log.debug('Memory context loaded', {
64
+ sections: sections.length,
65
+ chars: result.length,
66
+ estimatedTokens,
67
+ });
68
+ return result;
69
+ }
70
+ function formatSection(title, content) {
71
+ return `## ${title}\n\n${content}`;
72
+ }
73
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/memory/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,MAAM,GAAG,GAAG,YAAY,CAAC,2BAA2B,CAAC,CAAC;AAEtD,+CAA+C;AAC/C,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAkB;IACxD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,uCAAuC;IACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;IAC5C,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,yCAAyC;IACzC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;IAClD,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,2EAA2E;IAC3E,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,yCAAyC;IACzC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;IACxC,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,mDAAmD;IACnD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,yBAAyB,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEjE,kCAAkC;IAClC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;IACnE,IAAI,eAAe,GAAG,uBAAuB,EAAE,CAAC;QAC9C,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAClC,eAAe;YACf,SAAS,EAAE,uBAAuB;YAClC,KAAK,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE;QACjC,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,OAAe;IACnD,OAAO,MAAM,KAAK,OAAO,OAAO,EAAE,CAAC;AACrC,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @agntk/core - MarkdownMemoryStore
3
+ *
4
+ * File-based MemoryStore implementation that reads/writes .agntk/ markdown files.
5
+ * Zero dependencies beyond Node.js built-ins.
6
+ */
7
+ import type { MemoryStore } from './types.js';
8
+ export interface MarkdownMemoryStoreOptions {
9
+ /** Project-local memory directory. Default: '.agntk' (relative to workspaceRoot) */
10
+ projectDir?: string;
11
+ /** Global memory directory. Default: '~/.agntk' */
12
+ globalDir?: string;
13
+ /** Workspace root for resolving project directory. Default: process.cwd() */
14
+ workspaceRoot?: string;
15
+ }
16
+ /**
17
+ * Reads/writes markdown memory files from .agntk/ and ~/.agntk/ directories.
18
+ */
19
+ export declare class MarkdownMemoryStore implements MemoryStore {
20
+ private readonly projectPath;
21
+ private readonly globalPath;
22
+ private readonly workspaceRoot;
23
+ constructor(options?: MarkdownMemoryStoreOptions);
24
+ loadIdentity(): Promise<string | null>;
25
+ loadPreferences(): Promise<string | null>;
26
+ loadProject(): Promise<string | null>;
27
+ loadMemory(): Promise<string | null>;
28
+ loadContext(): Promise<string | null>;
29
+ loadDecisions(): Promise<string | null>;
30
+ saveContext(content: string): Promise<void>;
31
+ saveMemory(content: string): Promise<void>;
32
+ savePreferences(content: string): Promise<void>;
33
+ appendDecision(entry: string): Promise<void>;
34
+ /** Get the resolved project directory path */
35
+ getProjectPath(): string;
36
+ /** Get the resolved global directory path */
37
+ getGlobalPath(): string;
38
+ private readFileOrNull;
39
+ private writeFileSafe;
40
+ private ensureDir;
41
+ }
42
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/memory/store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA2B3C,MAAM,WAAW,0BAA0B;IACzC,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,OAAO,GAAE,0BAA+B;IAQ9C,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAItC,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIzC,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAiBrC,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIpC,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIrC,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMvC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlD,8CAA8C;IAC9C,cAAc,IAAI,MAAM;IAIxB,6CAA6C;IAC7C,aAAa,IAAI,MAAM;YAMT,cAAc;YASd,aAAa;YAOb,SAAS;CAMxB"}