@cogitator-ai/core 0.18.6 → 0.19.2

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 (378) hide show
  1. package/README.md +103 -31
  2. package/dist/agent-tool.d.ts +2 -2
  3. package/dist/agent-tool.d.ts.map +1 -1
  4. package/dist/agent-tool.js +3 -2
  5. package/dist/agent-tool.js.map +1 -1
  6. package/dist/agent.d.ts.map +1 -1
  7. package/dist/agent.js +10 -2
  8. package/dist/agent.js.map +1 -1
  9. package/dist/cache/cache-key.d.ts.map +1 -1
  10. package/dist/cache/cache-key.js +3 -0
  11. package/dist/cache/cache-key.js.map +1 -1
  12. package/dist/cache/index.d.ts +5 -5
  13. package/dist/cache/index.js +4 -4
  14. package/dist/cache/storage/index.d.ts +3 -3
  15. package/dist/cache/storage/index.js +2 -2
  16. package/dist/cache/storage/memory.d.ts.map +1 -1
  17. package/dist/cache/storage/memory.js +3 -1
  18. package/dist/cache/storage/memory.js.map +1 -1
  19. package/dist/cache/storage/redis.d.ts +1 -0
  20. package/dist/cache/storage/redis.d.ts.map +1 -1
  21. package/dist/cache/storage/redis.js +47 -22
  22. package/dist/cache/storage/redis.js.map +1 -1
  23. package/dist/cache/tool-cache.d.ts.map +1 -1
  24. package/dist/cache/tool-cache.js +14 -7
  25. package/dist/cache/tool-cache.js.map +1 -1
  26. package/dist/causal/capabilities/causal-explainer.js +2 -2
  27. package/dist/causal/capabilities/causal-planner.js +1 -1
  28. package/dist/causal/causal-reasoner.d.ts +4 -4
  29. package/dist/causal/causal-reasoner.d.ts.map +1 -1
  30. package/dist/causal/causal-reasoner.js +17 -13
  31. package/dist/causal/causal-reasoner.js.map +1 -1
  32. package/dist/causal/discovery/causal-extractor.js +1 -1
  33. package/dist/causal/discovery/causal-validator.js +1 -1
  34. package/dist/causal/discovery/hypothesis-generator.js +1 -1
  35. package/dist/causal/discovery/prompts.d.ts.map +1 -1
  36. package/dist/causal/discovery/prompts.js +44 -10
  37. package/dist/causal/discovery/prompts.js.map +1 -1
  38. package/dist/causal/graph/causal-graph.d.ts.map +1 -1
  39. package/dist/causal/graph/causal-graph.js +3 -3
  40. package/dist/causal/graph/causal-graph.js.map +1 -1
  41. package/dist/causal/graph/graph-builder.js +1 -1
  42. package/dist/causal/index.d.ts +27 -27
  43. package/dist/causal/index.js +17 -17
  44. package/dist/causal/inference/adjustment.js +1 -1
  45. package/dist/causal/inference/d-separation.d.ts.map +1 -1
  46. package/dist/causal/inference/d-separation.js +12 -31
  47. package/dist/causal/inference/d-separation.js.map +1 -1
  48. package/dist/causal/inference/inference-engine.d.ts +2 -1
  49. package/dist/causal/inference/inference-engine.d.ts.map +1 -1
  50. package/dist/causal/inference/inference-engine.js +55 -10
  51. package/dist/causal/inference/inference-engine.js.map +1 -1
  52. package/dist/causal/stores/causal-graph-store.d.ts.map +1 -1
  53. package/dist/causal/stores/causal-graph-store.js +33 -3
  54. package/dist/causal/stores/causal-graph-store.js.map +1 -1
  55. package/dist/causal/stores/causal-pattern-store.d.ts.map +1 -1
  56. package/dist/causal/stores/causal-pattern-store.js +13 -4
  57. package/dist/causal/stores/causal-pattern-store.js.map +1 -1
  58. package/dist/causal/stores/intervention-log.d.ts.map +1 -1
  59. package/dist/causal/stores/intervention-log.js +17 -3
  60. package/dist/causal/stores/intervention-log.js.map +1 -1
  61. package/dist/cogitator/index.d.ts +5 -5
  62. package/dist/cogitator/index.d.ts.map +1 -1
  63. package/dist/cogitator/index.js +5 -5
  64. package/dist/cogitator/index.js.map +1 -1
  65. package/dist/cogitator/initializers.d.ts +6 -6
  66. package/dist/cogitator/initializers.js +7 -7
  67. package/dist/cogitator/initializers.js.map +1 -1
  68. package/dist/cogitator/message-builder.d.ts +2 -2
  69. package/dist/cogitator/message-builder.js +1 -1
  70. package/dist/cogitator/streaming.d.ts +3 -3
  71. package/dist/cogitator/streaming.d.ts.map +1 -1
  72. package/dist/cogitator/streaming.js +20 -1
  73. package/dist/cogitator/streaming.js.map +1 -1
  74. package/dist/cogitator/tool-executor.d.ts +9 -4
  75. package/dist/cogitator/tool-executor.d.ts.map +1 -1
  76. package/dist/cogitator/tool-executor.js +31 -15
  77. package/dist/cogitator/tool-executor.js.map +1 -1
  78. package/dist/cogitator.d.ts +1 -1
  79. package/dist/cogitator.js +1 -1
  80. package/dist/constitutional/constitutional-ai.d.ts.map +1 -1
  81. package/dist/constitutional/constitutional-ai.js +17 -9
  82. package/dist/constitutional/constitutional-ai.js.map +1 -1
  83. package/dist/constitutional/critique-reviser.js +2 -2
  84. package/dist/constitutional/index.d.ts +12 -12
  85. package/dist/constitutional/index.js +7 -7
  86. package/dist/constitutional/input-filter.d.ts.map +1 -1
  87. package/dist/constitutional/input-filter.js +18 -11
  88. package/dist/constitutional/input-filter.js.map +1 -1
  89. package/dist/constitutional/output-filter.d.ts.map +1 -1
  90. package/dist/constitutional/output-filter.js +18 -11
  91. package/dist/constitutional/output-filter.js.map +1 -1
  92. package/dist/context/context-manager.d.ts.map +1 -1
  93. package/dist/context/context-manager.js +3 -4
  94. package/dist/context/context-manager.js.map +1 -1
  95. package/dist/context/index.d.ts +3 -3
  96. package/dist/context/index.js +2 -2
  97. package/dist/context/strategies/hybrid.js +4 -4
  98. package/dist/context/strategies/index.d.ts +5 -5
  99. package/dist/context/strategies/index.js +5 -5
  100. package/dist/context/strategies/sliding-window.js +1 -1
  101. package/dist/context/strategies/summarize.js +1 -1
  102. package/dist/context/strategies/truncate.d.ts +3 -0
  103. package/dist/context/strategies/truncate.d.ts.map +1 -1
  104. package/dist/context/strategies/truncate.js +61 -1
  105. package/dist/context/strategies/truncate.js.map +1 -1
  106. package/dist/cost-routing/budget-enforcer.d.ts +1 -1
  107. package/dist/cost-routing/cost-estimator.d.ts +1 -1
  108. package/dist/cost-routing/cost-estimator.d.ts.map +1 -1
  109. package/dist/cost-routing/cost-estimator.js +5 -15
  110. package/dist/cost-routing/cost-estimator.js.map +1 -1
  111. package/dist/cost-routing/cost-router.d.ts +1 -1
  112. package/dist/cost-routing/cost-router.js +4 -4
  113. package/dist/cost-routing/index.d.ts +7 -7
  114. package/dist/cost-routing/index.js +7 -7
  115. package/dist/cost-routing/model-selector.d.ts.map +1 -1
  116. package/dist/cost-routing/model-selector.js +6 -12
  117. package/dist/cost-routing/model-selector.js.map +1 -1
  118. package/dist/cost-routing/task-analyzer.d.ts.map +1 -1
  119. package/dist/cost-routing/task-analyzer.js +15 -8
  120. package/dist/cost-routing/task-analyzer.js.map +1 -1
  121. package/dist/index.d.ts +42 -39
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +24 -23
  124. package/dist/index.js.map +1 -1
  125. package/dist/learning/ab-testing.d.ts +1 -0
  126. package/dist/learning/ab-testing.d.ts.map +1 -1
  127. package/dist/learning/ab-testing.js +34 -13
  128. package/dist/learning/ab-testing.js.map +1 -1
  129. package/dist/learning/agent-optimizer.d.ts +5 -3
  130. package/dist/learning/agent-optimizer.d.ts.map +1 -1
  131. package/dist/learning/agent-optimizer.js +43 -15
  132. package/dist/learning/agent-optimizer.js.map +1 -1
  133. package/dist/learning/auto-optimizer.d.ts +4 -4
  134. package/dist/learning/auto-optimizer.d.ts.map +1 -1
  135. package/dist/learning/auto-optimizer.js +3 -0
  136. package/dist/learning/auto-optimizer.js.map +1 -1
  137. package/dist/learning/demo-selector.d.ts +1 -0
  138. package/dist/learning/demo-selector.d.ts.map +1 -1
  139. package/dist/learning/demo-selector.js +20 -11
  140. package/dist/learning/demo-selector.js.map +1 -1
  141. package/dist/learning/index.d.ts +23 -23
  142. package/dist/learning/index.js +12 -12
  143. package/dist/learning/instruction-optimizer.js +1 -1
  144. package/dist/learning/metrics.d.ts.map +1 -1
  145. package/dist/learning/metrics.js +4 -1
  146. package/dist/learning/metrics.js.map +1 -1
  147. package/dist/learning/postgres-trace-store.d.ts.map +1 -1
  148. package/dist/learning/postgres-trace-store.js +73 -20
  149. package/dist/learning/postgres-trace-store.js.map +1 -1
  150. package/dist/learning/prompt-logger.d.ts +3 -2
  151. package/dist/learning/prompt-logger.d.ts.map +1 -1
  152. package/dist/learning/prompt-logger.js +11 -3
  153. package/dist/learning/prompt-logger.js.map +1 -1
  154. package/dist/learning/prompt-monitor.js +2 -2
  155. package/dist/learning/prompt-monitor.js.map +1 -1
  156. package/dist/learning/prompts.d.ts.map +1 -1
  157. package/dist/learning/prompts.js +2 -1
  158. package/dist/learning/prompts.js.map +1 -1
  159. package/dist/learning/trace-store.d.ts +2 -0
  160. package/dist/learning/trace-store.d.ts.map +1 -1
  161. package/dist/learning/trace-store.js +25 -11
  162. package/dist/learning/trace-store.js.map +1 -1
  163. package/dist/llm/anthropic.d.ts +2 -1
  164. package/dist/llm/anthropic.d.ts.map +1 -1
  165. package/dist/llm/anthropic.js +35 -9
  166. package/dist/llm/anthropic.js.map +1 -1
  167. package/dist/llm/azure.d.ts +1 -1
  168. package/dist/llm/azure.js +1 -1
  169. package/dist/llm/bedrock.d.ts +1 -1
  170. package/dist/llm/bedrock.d.ts.map +1 -1
  171. package/dist/llm/bedrock.js +25 -8
  172. package/dist/llm/bedrock.js.map +1 -1
  173. package/dist/llm/debug.d.ts +1 -0
  174. package/dist/llm/debug.d.ts.map +1 -1
  175. package/dist/llm/debug.js +42 -10
  176. package/dist/llm/debug.js.map +1 -1
  177. package/dist/llm/errors.d.ts.map +1 -1
  178. package/dist/llm/errors.js +5 -4
  179. package/dist/llm/errors.js.map +1 -1
  180. package/dist/llm/google.d.ts +3 -1
  181. package/dist/llm/google.d.ts.map +1 -1
  182. package/dist/llm/google.js +127 -63
  183. package/dist/llm/google.js.map +1 -1
  184. package/dist/llm/index.d.ts +11 -11
  185. package/dist/llm/index.d.ts.map +1 -1
  186. package/dist/llm/index.js +49 -19
  187. package/dist/llm/index.js.map +1 -1
  188. package/dist/llm/ollama.d.ts +1 -1
  189. package/dist/llm/ollama.d.ts.map +1 -1
  190. package/dist/llm/ollama.js +97 -47
  191. package/dist/llm/ollama.js.map +1 -1
  192. package/dist/llm/openai-compatible-base.d.ts +2 -2
  193. package/dist/llm/openai-compatible-base.d.ts.map +1 -1
  194. package/dist/llm/openai-compatible-base.js +27 -8
  195. package/dist/llm/openai-compatible-base.js.map +1 -1
  196. package/dist/llm/openai.d.ts +4 -2
  197. package/dist/llm/openai.d.ts.map +1 -1
  198. package/dist/llm/openai.js +3 -2
  199. package/dist/llm/openai.js.map +1 -1
  200. package/dist/observability/index.d.ts +2 -2
  201. package/dist/observability/index.js +2 -2
  202. package/dist/observability/langfuse.d.ts +3 -0
  203. package/dist/observability/langfuse.d.ts.map +1 -1
  204. package/dist/observability/langfuse.js +24 -1
  205. package/dist/observability/langfuse.js.map +1 -1
  206. package/dist/observability/opentelemetry.d.ts +1 -0
  207. package/dist/observability/opentelemetry.d.ts.map +1 -1
  208. package/dist/observability/opentelemetry.js +5 -0
  209. package/dist/observability/opentelemetry.js.map +1 -1
  210. package/dist/reasoning/branch-evaluator.d.ts +1 -1
  211. package/dist/reasoning/branch-evaluator.d.ts.map +1 -1
  212. package/dist/reasoning/branch-evaluator.js +9 -4
  213. package/dist/reasoning/branch-evaluator.js.map +1 -1
  214. package/dist/reasoning/branch-generator.js +1 -1
  215. package/dist/reasoning/index.d.ts +4 -4
  216. package/dist/reasoning/index.js +4 -4
  217. package/dist/reasoning/prompts.d.ts.map +1 -1
  218. package/dist/reasoning/prompts.js +13 -0
  219. package/dist/reasoning/prompts.js.map +1 -1
  220. package/dist/reasoning/thought-tree.d.ts +1 -1
  221. package/dist/reasoning/thought-tree.js +3 -3
  222. package/dist/reflection/index.d.ts +3 -3
  223. package/dist/reflection/index.js +3 -3
  224. package/dist/reflection/reflection-engine.d.ts.map +1 -1
  225. package/dist/reflection/reflection-engine.js +10 -4
  226. package/dist/reflection/reflection-engine.js.map +1 -1
  227. package/dist/registry.js +1 -1
  228. package/dist/runtime.d.ts +8 -5
  229. package/dist/runtime.d.ts.map +1 -1
  230. package/dist/runtime.js +110 -23
  231. package/dist/runtime.js.map +1 -1
  232. package/dist/security/classifiers/index.d.ts +2 -2
  233. package/dist/security/classifiers/index.js +2 -2
  234. package/dist/security/classifiers/llm-classifier.d.ts.map +1 -1
  235. package/dist/security/classifiers/llm-classifier.js +5 -9
  236. package/dist/security/classifiers/llm-classifier.js.map +1 -1
  237. package/dist/security/classifiers/local-classifier.d.ts.map +1 -1
  238. package/dist/security/classifiers/local-classifier.js +3 -1
  239. package/dist/security/classifiers/local-classifier.js.map +1 -1
  240. package/dist/security/index.d.ts +4 -4
  241. package/dist/security/index.js +3 -3
  242. package/dist/security/patterns.d.ts.map +1 -1
  243. package/dist/security/patterns.js +2 -0
  244. package/dist/security/patterns.js.map +1 -1
  245. package/dist/security/prompt-injection-detector.js +2 -2
  246. package/dist/skill.d.ts +8 -0
  247. package/dist/skill.d.ts.map +1 -0
  248. package/dist/skill.js +77 -0
  249. package/dist/skill.js.map +1 -0
  250. package/dist/time-travel/checkpoint-store.d.ts +3 -0
  251. package/dist/time-travel/checkpoint-store.d.ts.map +1 -1
  252. package/dist/time-travel/checkpoint-store.js +76 -40
  253. package/dist/time-travel/checkpoint-store.js.map +1 -1
  254. package/dist/time-travel/comparator.d.ts.map +1 -1
  255. package/dist/time-travel/comparator.js +7 -1
  256. package/dist/time-travel/comparator.js.map +1 -1
  257. package/dist/time-travel/forker.d.ts +3 -3
  258. package/dist/time-travel/forker.d.ts.map +1 -1
  259. package/dist/time-travel/forker.js +4 -1
  260. package/dist/time-travel/forker.js.map +1 -1
  261. package/dist/time-travel/index.d.ts +5 -5
  262. package/dist/time-travel/index.js +5 -5
  263. package/dist/time-travel/replayer.d.ts +2 -2
  264. package/dist/time-travel/replayer.d.ts.map +1 -1
  265. package/dist/time-travel/replayer.js.map +1 -1
  266. package/dist/time-travel/time-travel.d.ts +2 -2
  267. package/dist/time-travel/time-travel.d.ts.map +1 -1
  268. package/dist/time-travel/time-travel.js +13 -13
  269. package/dist/time-travel/time-travel.js.map +1 -1
  270. package/dist/tool.d.ts.map +1 -1
  271. package/dist/tool.js +26 -8
  272. package/dist/tool.js.map +1 -1
  273. package/dist/tools/audio-generate.d.ts.map +1 -1
  274. package/dist/tools/audio-generate.js +33 -16
  275. package/dist/tools/audio-generate.js.map +1 -1
  276. package/dist/tools/audio-transcribe.d.ts.map +1 -1
  277. package/dist/tools/audio-transcribe.js +26 -9
  278. package/dist/tools/audio-transcribe.js.map +1 -1
  279. package/dist/tools/base64.d.ts +4 -4
  280. package/dist/tools/base64.d.ts.map +1 -1
  281. package/dist/tools/base64.js +22 -7
  282. package/dist/tools/base64.js.map +1 -1
  283. package/dist/tools/calculator.d.ts.map +1 -1
  284. package/dist/tools/calculator.js +13 -2
  285. package/dist/tools/calculator.js.map +1 -1
  286. package/dist/tools/capabilities-tool.d.ts +8 -0
  287. package/dist/tools/capabilities-tool.d.ts.map +1 -0
  288. package/dist/tools/capabilities-tool.js +35 -0
  289. package/dist/tools/capabilities-tool.js.map +1 -0
  290. package/dist/tools/datetime.js +1 -1
  291. package/dist/tools/device-tools.d.ts +3 -0
  292. package/dist/tools/device-tools.d.ts.map +1 -0
  293. package/dist/tools/device-tools.js +91 -0
  294. package/dist/tools/device-tools.js.map +1 -0
  295. package/dist/tools/email.d.ts.map +1 -1
  296. package/dist/tools/email.js +39 -11
  297. package/dist/tools/email.js.map +1 -1
  298. package/dist/tools/exec.d.ts +9 -9
  299. package/dist/tools/exec.d.ts.map +1 -1
  300. package/dist/tools/exec.js +16 -3
  301. package/dist/tools/exec.js.map +1 -1
  302. package/dist/tools/filesystem.js +1 -1
  303. package/dist/tools/github.d.ts.map +1 -1
  304. package/dist/tools/github.js +29 -21
  305. package/dist/tools/github.js.map +1 -1
  306. package/dist/tools/hash.js +1 -1
  307. package/dist/tools/http.d.ts.map +1 -1
  308. package/dist/tools/http.js +9 -8
  309. package/dist/tools/http.js.map +1 -1
  310. package/dist/tools/image-analyze.js +1 -1
  311. package/dist/tools/image-generate.d.ts.map +1 -1
  312. package/dist/tools/image-generate.js +35 -18
  313. package/dist/tools/image-generate.js.map +1 -1
  314. package/dist/tools/index.d.ts +58 -42
  315. package/dist/tools/index.d.ts.map +1 -1
  316. package/dist/tools/index.js +45 -40
  317. package/dist/tools/index.js.map +1 -1
  318. package/dist/tools/json.js +1 -1
  319. package/dist/tools/memory-tools.d.ts +50 -0
  320. package/dist/tools/memory-tools.d.ts.map +1 -0
  321. package/dist/tools/memory-tools.js +125 -0
  322. package/dist/tools/memory-tools.js.map +1 -0
  323. package/dist/tools/random.d.ts +7 -1
  324. package/dist/tools/random.d.ts.map +1 -1
  325. package/dist/tools/random.js +11 -4
  326. package/dist/tools/random.js.map +1 -1
  327. package/dist/tools/regex.d.ts.map +1 -1
  328. package/dist/tools/regex.js +4 -1
  329. package/dist/tools/regex.js.map +1 -1
  330. package/dist/tools/scheduler-tools.d.ts +32 -0
  331. package/dist/tools/scheduler-tools.d.ts.map +1 -0
  332. package/dist/tools/scheduler-tools.js +104 -0
  333. package/dist/tools/scheduler-tools.js.map +1 -0
  334. package/dist/tools/self-config.d.ts +9 -0
  335. package/dist/tools/self-config.d.ts.map +1 -0
  336. package/dist/tools/self-config.js +62 -0
  337. package/dist/tools/self-config.js.map +1 -0
  338. package/dist/tools/self-tools.d.ts +7 -0
  339. package/dist/tools/self-tools.d.ts.map +1 -0
  340. package/dist/tools/self-tools.js +172 -0
  341. package/dist/tools/self-tools.js.map +1 -0
  342. package/dist/tools/sleep.d.ts +5 -0
  343. package/dist/tools/sleep.d.ts.map +1 -1
  344. package/dist/tools/sleep.js +20 -3
  345. package/dist/tools/sleep.js.map +1 -1
  346. package/dist/tools/sql-query.d.ts.map +1 -1
  347. package/dist/tools/sql-query.js +148 -13
  348. package/dist/tools/sql-query.js.map +1 -1
  349. package/dist/tools/uuid.js +1 -1
  350. package/dist/tools/vector-search.d.ts.map +1 -1
  351. package/dist/tools/vector-search.js +82 -62
  352. package/dist/tools/vector-search.js.map +1 -1
  353. package/dist/tools/web-scrape.d.ts.map +1 -1
  354. package/dist/tools/web-scrape.js +9 -8
  355. package/dist/tools/web-scrape.js.map +1 -1
  356. package/dist/tools/web-search.d.ts.map +1 -1
  357. package/dist/tools/web-search.js +32 -14
  358. package/dist/tools/web-search.js.map +1 -1
  359. package/dist/utils/abort.d.ts +9 -0
  360. package/dist/utils/abort.d.ts.map +1 -0
  361. package/dist/utils/abort.js +43 -0
  362. package/dist/utils/abort.js.map +1 -0
  363. package/dist/utils/audio-fetch.d.ts +5 -1
  364. package/dist/utils/audio-fetch.d.ts.map +1 -1
  365. package/dist/utils/audio-fetch.js +13 -6
  366. package/dist/utils/audio-fetch.js.map +1 -1
  367. package/dist/utils/fallback.d.ts +2 -2
  368. package/dist/utils/fallback.js +1 -1
  369. package/dist/utils/image-fetch.d.ts +4 -0
  370. package/dist/utils/image-fetch.d.ts.map +1 -1
  371. package/dist/utils/image-fetch.js +13 -6
  372. package/dist/utils/image-fetch.js.map +1 -1
  373. package/dist/utils/index.d.ts +5 -5
  374. package/dist/utils/index.js +5 -5
  375. package/dist/utils/retry.d.ts.map +1 -1
  376. package/dist/utils/retry.js +3 -0
  377. package/dist/utils/retry.js.map +1 -1
  378. package/package.json +7 -3
@@ -1,5 +1,7 @@
1
1
  import { z } from 'zod';
2
- import { tool } from '../tool';
2
+ import { tool } from '../tool.js';
3
+ import { createLinkedAbortController, getAbortErrorMessage } from '../utils/abort.js';
4
+ const IMAGE_GENERATION_TIMEOUT_MS = 60_000;
3
5
  export function createGenerateImageTool(config = {}) {
4
6
  const { apiKey, baseUrl = 'https://api.openai.com/v1' } = config;
5
7
  return tool({
@@ -23,27 +25,42 @@ export function createGenerateImageTool(config = {}) {
23
25
  .describe('"vivid" for dramatic/hyper-real images, "natural" for more realistic/subdued.'),
24
26
  }),
25
27
  sideEffects: ['network', 'external'],
26
- execute: async ({ prompt, size, quality, style }) => {
28
+ execute: async ({ prompt, size, quality, style }, context) => {
27
29
  const key = apiKey || process.env.OPENAI_API_KEY;
28
30
  if (!key) {
29
31
  throw new Error('OpenAI API key required for image generation. Set OPENAI_API_KEY environment variable.');
30
32
  }
31
- const response = await fetch(`${baseUrl}/images/generations`, {
32
- method: 'POST',
33
- headers: {
34
- 'Content-Type': 'application/json',
35
- Authorization: `Bearer ${key}`,
36
- },
37
- body: JSON.stringify({
38
- model: 'dall-e-3',
39
- prompt,
40
- n: 1,
41
- size: size || '1024x1024',
42
- quality: quality || 'standard',
43
- style: style || 'vivid',
44
- response_format: 'url',
45
- }),
46
- });
33
+ const abort = createLinkedAbortController(context?.signal, IMAGE_GENERATION_TIMEOUT_MS);
34
+ let response;
35
+ try {
36
+ response = await fetch(`${baseUrl}/images/generations`, {
37
+ method: 'POST',
38
+ headers: {
39
+ 'Content-Type': 'application/json',
40
+ Authorization: `Bearer ${key}`,
41
+ },
42
+ body: JSON.stringify({
43
+ model: 'dall-e-3',
44
+ prompt,
45
+ n: 1,
46
+ size: size || '1024x1024',
47
+ quality: quality || 'standard',
48
+ style: style || 'vivid',
49
+ response_format: 'url',
50
+ }),
51
+ signal: abort.signal,
52
+ });
53
+ }
54
+ catch (err) {
55
+ const error = err;
56
+ if (error.name === 'AbortError') {
57
+ throw new Error(getAbortErrorMessage('Image generation request', abort, IMAGE_GENERATION_TIMEOUT_MS));
58
+ }
59
+ throw err;
60
+ }
61
+ finally {
62
+ abort.cleanup();
63
+ }
47
64
  if (!response.ok) {
48
65
  const error = await response.text();
49
66
  throw new Error(`Image generation failed: ${response.status} ${error}`);
@@ -1 +1 @@
1
- {"version":3,"file":"image-generate.js","sourceRoot":"","sources":["../../src/tools/image-generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-generate.js","sourceRoot":"","sources":["../../src/tools/image-generate.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,30 @@
1
- export { calculator } from './calculator';
2
- export { datetime } from './datetime';
3
- export { uuid } from './uuid';
4
- export { randomNumber, randomString } from './random';
5
- export { hash } from './hash';
6
- export { base64Encode, base64Decode } from './base64';
7
- export { sleep } from './sleep';
8
- export { jsonParse, jsonStringify } from './json';
9
- export { regexMatch, regexReplace } from './regex';
10
- export { fileRead, fileWrite, fileList, fileExists, fileDelete } from './filesystem';
11
- export { httpRequest } from './http';
12
- export { exec } from './exec';
13
- export { webSearch } from './web-search';
14
- export { webScrape } from './web-scrape';
15
- export { sqlQuery } from './sql-query';
16
- export { vectorSearch } from './vector-search';
17
- export { sendEmail } from './email';
18
- export { githubApi } from './github';
19
- export { createAnalyzeImageTool, type AnalyzeImageConfig, type AnalyzeImageInput, } from './image-analyze';
20
- export { createGenerateImageTool, type GenerateImageConfig, type GenerateImageInput, } from './image-generate';
21
- export { createTranscribeAudioTool, type TranscribeAudioConfig, type TranscriptionModel, type TranscriptionWord, type TranscriptionResult, } from './audio-transcribe';
22
- export { createGenerateSpeechTool, type GenerateSpeechConfig, type TTSModel, type TTSVoice, type TTSFormat, type SpeechResult, } from './audio-generate';
1
+ export { calculator } from './calculator.js';
2
+ export { datetime } from './datetime.js';
3
+ export { uuid } from './uuid.js';
4
+ export { randomNumber, randomString } from './random.js';
5
+ export { hash } from './hash.js';
6
+ export { base64Encode, base64Decode } from './base64.js';
7
+ export { sleep } from './sleep.js';
8
+ export { jsonParse, jsonStringify } from './json.js';
9
+ export { regexMatch, regexReplace } from './regex.js';
10
+ export { fileRead, fileWrite, fileList, fileExists, fileDelete } from './filesystem.js';
11
+ export { httpRequest } from './http.js';
12
+ export { exec } from './exec.js';
13
+ export { webSearch } from './web-search.js';
14
+ export { webScrape } from './web-scrape.js';
15
+ export { sqlQuery } from './sql-query.js';
16
+ export { vectorSearch } from './vector-search.js';
17
+ export { sendEmail } from './email.js';
18
+ export { githubApi } from './github.js';
19
+ export { createMemoryTools, type MemoryToolsConfig, type CoreFactsLike } from './memory-tools.js';
20
+ export { createSchedulerTools, type SchedulerToolsConfig } from './scheduler-tools.js';
21
+ export { createCapabilitiesTool } from './capabilities-tool.js';
22
+ export { createDeviceTools } from './device-tools.js';
23
+ export { createSelfTools, loadCustomTools } from './self-tools.js';
24
+ export { createAnalyzeImageTool, type AnalyzeImageConfig, type AnalyzeImageInput, } from './image-analyze.js';
25
+ export { createGenerateImageTool, type GenerateImageConfig, type GenerateImageInput, } from './image-generate.js';
26
+ export { createTranscribeAudioTool, type TranscribeAudioConfig, type TranscriptionModel, type TranscriptionWord, type TranscriptionResult, } from './audio-transcribe.js';
27
+ export { createGenerateSpeechTool, type GenerateSpeechConfig, type TTSModel, type TTSVoice, type TTSFormat, type SpeechResult, } from './audio-generate.js';
23
28
  export declare const builtinTools: readonly [import("@cogitator-ai/types").Tool<{
24
29
  expression: string;
25
30
  }, {
@@ -72,7 +77,13 @@ export declare const builtinTools: readonly [import("@cogitator-ai/types").Tool<
72
77
  result: number;
73
78
  min: number;
74
79
  max: number;
75
- integer: boolean;
80
+ integer: true;
81
+ error?: undefined;
82
+ } | {
83
+ result: number;
84
+ min: number;
85
+ max: number;
86
+ integer: false;
76
87
  error?: undefined;
77
88
  }>, import("@cogitator-ai/types").Tool<{
78
89
  length: number;
@@ -105,18 +116,23 @@ export declare const builtinTools: readonly [import("@cogitator-ai/types").Tool<
105
116
  data: string;
106
117
  urlSafe?: boolean | undefined;
107
118
  }, {
108
- result: string;
109
- urlSafe: boolean;
110
- error?: undefined;
111
- } | {
112
119
  error: string;
113
120
  result?: undefined;
114
121
  urlSafe?: undefined;
122
+ } | {
123
+ result: string;
124
+ urlSafe: boolean;
125
+ error?: undefined;
115
126
  }>, import("@cogitator-ai/types").Tool<{
116
127
  ms: number;
117
128
  }, {
129
+ error: string;
118
130
  slept: number;
119
131
  requested: number;
132
+ } | {
133
+ slept: number;
134
+ requested: number;
135
+ error?: undefined;
120
136
  }>, import("@cogitator-ai/types").Tool<{
121
137
  json: string;
122
138
  }, {
@@ -229,7 +245,7 @@ export declare const builtinTools: readonly [import("@cogitator-ai/types").Tool<
229
245
  recursive?: boolean | undefined;
230
246
  includeHidden?: boolean | undefined;
231
247
  }, {
232
- entries: import("./filesystem").FileEntry[];
248
+ entries: import("./filesystem.js").FileEntry[];
233
249
  count: number;
234
250
  path: string;
235
251
  recursive: boolean;
@@ -303,6 +319,15 @@ export declare const builtinTools: readonly [import("@cogitator-ai/types").Tool<
303
319
  timeout?: number | undefined;
304
320
  env?: Record<string, string> | undefined;
305
321
  }, {
322
+ error: string;
323
+ command: string;
324
+ stdout?: undefined;
325
+ stderr?: undefined;
326
+ exitCode?: undefined;
327
+ truncatedStdout?: undefined;
328
+ truncatedStderr?: undefined;
329
+ timeout?: undefined;
330
+ } | {
306
331
  stdout: string;
307
332
  stderr: string;
308
333
  exitCode: number;
@@ -325,16 +350,7 @@ export declare const builtinTools: readonly [import("@cogitator-ai/types").Tool<
325
350
  stderr: string;
326
351
  exitCode: number;
327
352
  command: string;
328
- truncatedStdout?: undefined;
329
- truncatedStderr?: undefined;
330
353
  error?: undefined;
331
- timeout?: undefined;
332
- } | {
333
- error: string;
334
- command: string;
335
- stdout?: undefined;
336
- stderr?: undefined;
337
- exitCode?: undefined;
338
354
  truncatedStdout?: undefined;
339
355
  truncatedStderr?: undefined;
340
356
  timeout?: undefined;
@@ -344,7 +360,7 @@ export declare const builtinTools: readonly [import("@cogitator-ai/types").Tool<
344
360
  maxResults?: number | undefined;
345
361
  searchDepth?: "basic" | "advanced" | undefined;
346
362
  includeAnswer?: boolean | undefined;
347
- }, import("./web-search").SearchResponse | {
363
+ }, import("./web-search.js").SearchResponse | {
348
364
  error: string;
349
365
  query?: undefined;
350
366
  provider?: undefined;
@@ -360,7 +376,7 @@ export declare const builtinTools: readonly [import("@cogitator-ai/types").Tool<
360
376
  timeout?: number | undefined;
361
377
  includeLinks?: boolean | undefined;
362
378
  includeImages?: boolean | undefined;
363
- }, import("./web-scrape").ScrapeResult | {
379
+ }, import("./web-scrape.js").ScrapeResult | {
364
380
  error: string;
365
381
  url: string;
366
382
  }>, import("@cogitator-ai/types").Tool<{
@@ -370,7 +386,7 @@ export declare const builtinTools: readonly [import("@cogitator-ai/types").Tool<
370
386
  params?: unknown[] | undefined;
371
387
  maxRows?: number | undefined;
372
388
  readOnly?: boolean | undefined;
373
- }, import("./sql-query").QueryResult | {
389
+ }, import("./sql-query.js").QueryResult | {
374
390
  error: string;
375
391
  database?: undefined;
376
392
  } | {
@@ -385,7 +401,7 @@ export declare const builtinTools: readonly [import("@cogitator-ai/types").Tool<
385
401
  embeddingProvider?: "ollama" | "openai" | "google" | undefined;
386
402
  embeddingModel?: string | undefined;
387
403
  connectionString?: string | undefined;
388
- }, import("./vector-search").VectorSearchResponse | {
404
+ }, import("./vector-search.js").VectorSearchResponse | {
389
405
  error: string;
390
406
  query?: undefined;
391
407
  } | {
@@ -401,7 +417,7 @@ export declare const builtinTools: readonly [import("@cogitator-ai/types").Tool<
401
417
  cc?: string | string[] | undefined;
402
418
  bcc?: string | string[] | undefined;
403
419
  provider?: "resend" | "smtp" | undefined;
404
- }, import("./email").EmailResult | {
420
+ }, import("./email.js").EmailResult | {
405
421
  error: string;
406
422
  provider?: undefined;
407
423
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAErF,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EACL,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,yBAAyB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAqB1B,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA2Bf,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAErF,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/F,OAAO,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EACL,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,yBAAyB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAqB1B,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA2Bf,CAAC"}
@@ -1,43 +1,48 @@
1
- export { calculator } from './calculator';
2
- export { datetime } from './datetime';
3
- export { uuid } from './uuid';
4
- export { randomNumber, randomString } from './random';
5
- export { hash } from './hash';
6
- export { base64Encode, base64Decode } from './base64';
7
- export { sleep } from './sleep';
8
- export { jsonParse, jsonStringify } from './json';
9
- export { regexMatch, regexReplace } from './regex';
10
- export { fileRead, fileWrite, fileList, fileExists, fileDelete } from './filesystem';
11
- export { httpRequest } from './http';
12
- export { exec } from './exec';
13
- export { webSearch } from './web-search';
14
- export { webScrape } from './web-scrape';
15
- export { sqlQuery } from './sql-query';
16
- export { vectorSearch } from './vector-search';
17
- export { sendEmail } from './email';
18
- export { githubApi } from './github';
19
- export { createAnalyzeImageTool, } from './image-analyze';
20
- export { createGenerateImageTool, } from './image-generate';
21
- export { createTranscribeAudioTool, } from './audio-transcribe';
22
- export { createGenerateSpeechTool, } from './audio-generate';
23
- import { calculator } from './calculator';
24
- import { datetime } from './datetime';
25
- import { uuid } from './uuid';
26
- import { randomNumber, randomString } from './random';
27
- import { hash } from './hash';
28
- import { base64Encode, base64Decode } from './base64';
29
- import { sleep } from './sleep';
30
- import { jsonParse, jsonStringify } from './json';
31
- import { regexMatch, regexReplace } from './regex';
32
- import { fileRead, fileWrite, fileList, fileExists, fileDelete } from './filesystem';
33
- import { httpRequest } from './http';
34
- import { exec } from './exec';
35
- import { webSearch } from './web-search';
36
- import { webScrape } from './web-scrape';
37
- import { sqlQuery } from './sql-query';
38
- import { vectorSearch } from './vector-search';
39
- import { sendEmail } from './email';
40
- import { githubApi } from './github';
1
+ export { calculator } from './calculator.js';
2
+ export { datetime } from './datetime.js';
3
+ export { uuid } from './uuid.js';
4
+ export { randomNumber, randomString } from './random.js';
5
+ export { hash } from './hash.js';
6
+ export { base64Encode, base64Decode } from './base64.js';
7
+ export { sleep } from './sleep.js';
8
+ export { jsonParse, jsonStringify } from './json.js';
9
+ export { regexMatch, regexReplace } from './regex.js';
10
+ export { fileRead, fileWrite, fileList, fileExists, fileDelete } from './filesystem.js';
11
+ export { httpRequest } from './http.js';
12
+ export { exec } from './exec.js';
13
+ export { webSearch } from './web-search.js';
14
+ export { webScrape } from './web-scrape.js';
15
+ export { sqlQuery } from './sql-query.js';
16
+ export { vectorSearch } from './vector-search.js';
17
+ export { sendEmail } from './email.js';
18
+ export { githubApi } from './github.js';
19
+ export { createMemoryTools } from './memory-tools.js';
20
+ export { createSchedulerTools } from './scheduler-tools.js';
21
+ export { createCapabilitiesTool } from './capabilities-tool.js';
22
+ export { createDeviceTools } from './device-tools.js';
23
+ export { createSelfTools, loadCustomTools } from './self-tools.js';
24
+ export { createAnalyzeImageTool, } from './image-analyze.js';
25
+ export { createGenerateImageTool, } from './image-generate.js';
26
+ export { createTranscribeAudioTool, } from './audio-transcribe.js';
27
+ export { createGenerateSpeechTool, } from './audio-generate.js';
28
+ import { calculator } from './calculator.js';
29
+ import { datetime } from './datetime.js';
30
+ import { uuid } from './uuid.js';
31
+ import { randomNumber, randomString } from './random.js';
32
+ import { hash } from './hash.js';
33
+ import { base64Encode, base64Decode } from './base64.js';
34
+ import { sleep } from './sleep.js';
35
+ import { jsonParse, jsonStringify } from './json.js';
36
+ import { regexMatch, regexReplace } from './regex.js';
37
+ import { fileRead, fileWrite, fileList, fileExists, fileDelete } from './filesystem.js';
38
+ import { httpRequest } from './http.js';
39
+ import { exec } from './exec.js';
40
+ import { webSearch } from './web-search.js';
41
+ import { webScrape } from './web-scrape.js';
42
+ import { sqlQuery } from './sql-query.js';
43
+ import { vectorSearch } from './vector-search.js';
44
+ import { sendEmail } from './email.js';
45
+ import { githubApi } from './github.js';
41
46
  export const builtinTools = [
42
47
  calculator,
43
48
  datetime,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * JSON tools - parse and stringify JSON
3
3
  */
4
4
  import { z } from 'zod';
5
- import { tool } from '../tool';
5
+ import { tool } from '../tool.js';
6
6
  const jsonParseParams = z.object({
7
7
  json: z.string().describe('The JSON string to parse'),
8
8
  });
@@ -0,0 +1,50 @@
1
+ import type { GraphAdapter } from '@cogitator-ai/types';
2
+ export interface CoreFactsLike {
3
+ set(key: string, value: string): Promise<void>;
4
+ get(key: string): Promise<string | null>;
5
+ getAll(): Promise<Record<string, string>>;
6
+ }
7
+ export interface MemoryToolsConfig {
8
+ graphAdapter: GraphAdapter;
9
+ coreFacts?: CoreFactsLike;
10
+ embeddingFn?: (text: string) => Promise<number[]>;
11
+ agentId: string;
12
+ }
13
+ export declare function createMemoryTools(config: MemoryToolsConfig): (import("@cogitator-ai/types").Tool<{
14
+ fact: string;
15
+ category?: string | undefined;
16
+ isCoreFact?: boolean | undefined;
17
+ coreFactKey?: string | undefined;
18
+ }, {
19
+ saved: boolean;
20
+ error: string;
21
+ id?: undefined;
22
+ } | {
23
+ saved: boolean;
24
+ id: string;
25
+ error?: undefined;
26
+ }> | import("@cogitator-ai/types").Tool<{
27
+ query: string;
28
+ }, {
29
+ results: {
30
+ fact: string;
31
+ type: string;
32
+ confidence: number;
33
+ }[];
34
+ coreFacts: Record<string, string>;
35
+ }> | import("@cogitator-ai/types").Tool<{
36
+ query: string;
37
+ }, {
38
+ deleted: number;
39
+ items: string[];
40
+ failed: {
41
+ id: string;
42
+ name: string;
43
+ error: string;
44
+ }[];
45
+ } | {
46
+ deleted: number;
47
+ items: string[];
48
+ failed?: undefined;
49
+ }>)[];
50
+ //# sourceMappingURL=memory-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-tools.d.ts","sourceRoot":"","sources":["../../src/tools/memory-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;CACjB;AAoBD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;;;;;;;;;;;;;;;;;cA+C3B,MAAM;cAAQ,MAAM;oBAAc,MAAM;;;;;;;;;YA0DxC,MAAM;cAAQ,MAAM;eAAS,MAAM;;;;;;MAkBlE"}
@@ -0,0 +1,125 @@
1
+ import { z } from 'zod';
2
+ import { tool } from '../tool.js';
3
+ const rememberParams = z.object({
4
+ fact: z.string().describe('The fact or piece of information to remember'),
5
+ category: z.string().optional().describe('Category to organize this fact under'),
6
+ isCoreFact: z.boolean().optional().describe('Whether this is a core fact about the user'),
7
+ coreFactKey: z
8
+ .string()
9
+ .optional()
10
+ .describe('Key for the core fact (required if isCoreFact is true)'),
11
+ });
12
+ const recallParams = z.object({
13
+ query: z.string().describe('Search query to find relevant memories'),
14
+ });
15
+ const forgetParams = z.object({
16
+ query: z.string().describe('Pattern to match facts to delete'),
17
+ });
18
+ export function createMemoryTools(config) {
19
+ const { graphAdapter, coreFacts, embeddingFn, agentId } = config;
20
+ const remember = tool({
21
+ name: 'remember',
22
+ description: 'Save a fact or piece of information to long-term memory. Use this when the user shares important information that should be remembered across conversations.',
23
+ parameters: rememberParams,
24
+ execute: async ({ fact, category, isCoreFact, coreFactKey }) => {
25
+ if (isCoreFact && !coreFactKey) {
26
+ return { saved: false, error: 'coreFactKey is required when isCoreFact is true' };
27
+ }
28
+ const embedding = embeddingFn ? await embeddingFn(fact) : undefined;
29
+ const properties = {};
30
+ if (category)
31
+ properties.category = category;
32
+ const result = await graphAdapter.addNode({
33
+ agentId,
34
+ name: fact,
35
+ type: 'concept',
36
+ aliases: [],
37
+ properties,
38
+ embedding,
39
+ confidence: 1,
40
+ source: 'user',
41
+ });
42
+ if (!result.success) {
43
+ return { saved: false, error: result.error };
44
+ }
45
+ if (isCoreFact && coreFactKey && coreFacts) {
46
+ await coreFacts.set(coreFactKey, fact);
47
+ }
48
+ return { saved: true, id: result.data.id };
49
+ },
50
+ });
51
+ const recall = tool({
52
+ name: 'recall',
53
+ description: 'Search long-term memory for relevant facts and information. Returns both semantic matches from the knowledge graph and core facts.',
54
+ parameters: recallParams,
55
+ execute: async ({ query }) => {
56
+ const results = [];
57
+ if (embeddingFn) {
58
+ const vector = await embeddingFn(query);
59
+ const searchOpts = {
60
+ agentId,
61
+ vector,
62
+ limit: 10,
63
+ };
64
+ const semanticResult = await graphAdapter.searchNodesSemantic(searchOpts);
65
+ if (semanticResult.success) {
66
+ for (const node of semanticResult.data) {
67
+ results.push({
68
+ fact: node.name,
69
+ type: 'semantic',
70
+ confidence: node.score,
71
+ });
72
+ }
73
+ }
74
+ }
75
+ else {
76
+ const nodeQuery = {
77
+ agentId,
78
+ namePattern: query,
79
+ limit: 10,
80
+ };
81
+ const textResult = await graphAdapter.queryNodes(nodeQuery);
82
+ if (textResult.success) {
83
+ for (const node of textResult.data) {
84
+ results.push({
85
+ fact: node.name,
86
+ type: 'text',
87
+ confidence: node.confidence ?? 1,
88
+ });
89
+ }
90
+ }
91
+ }
92
+ const coreFactsData = coreFacts ? await coreFacts.getAll() : {};
93
+ return { results, coreFacts: coreFactsData };
94
+ },
95
+ });
96
+ const forget = tool({
97
+ name: 'forget',
98
+ description: 'Delete facts from long-term memory that match the given pattern. Use with care as this permanently removes information.',
99
+ parameters: forgetParams,
100
+ execute: async ({ query }) => {
101
+ const nodeQuery = {
102
+ agentId,
103
+ namePattern: query,
104
+ };
105
+ const found = await graphAdapter.queryNodes(nodeQuery);
106
+ const nodes = found.success ? found.data : [];
107
+ const items = [];
108
+ const failed = [];
109
+ for (const node of nodes) {
110
+ const result = await graphAdapter.deleteNode(node.id);
111
+ if (result.success) {
112
+ items.push(node.name);
113
+ }
114
+ else {
115
+ failed.push({ id: node.id, name: node.name, error: result.error });
116
+ }
117
+ }
118
+ return failed.length > 0
119
+ ? { deleted: items.length, items, failed }
120
+ : { deleted: items.length, items };
121
+ },
122
+ });
123
+ return [remember, recall, forget];
124
+ }
125
+ //# sourceMappingURL=memory-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../../src/tools/memory-tools.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,13 @@ export declare const randomNumber: import("@cogitator-ai/types").Tool<{
15
15
  result: number;
16
16
  min: number;
17
17
  max: number;
18
- integer: boolean;
18
+ integer: true;
19
+ error?: undefined;
20
+ } | {
21
+ result: number;
22
+ min: number;
23
+ max: number;
24
+ integer: false;
19
25
  error?: undefined;
20
26
  }>;
21
27
  export declare const randomString: import("@cogitator-ai/types").Tool<{
@@ -1 +1 @@
1
- {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/tools/random.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;EAavB,CAAC;AAeH,eAAO,MAAM,YAAY;;;;;;;EAsBvB,CAAC"}
1
+ {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/tools/random.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;EAoBvB,CAAC;AAeH,eAAO,MAAM,YAAY;;;;;;;EAsBvB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { randomBytes } from 'node:crypto';
5
5
  import { z } from 'zod';
6
- import { tool } from '../tool';
6
+ import { tool } from '../tool.js';
7
7
  const randomNumberParams = z.object({
8
8
  min: z.number().optional().describe('Minimum value (default: 0)'),
9
9
  max: z.number().optional().describe('Maximum value (default: 1)'),
@@ -17,9 +17,16 @@ export const randomNumber = tool({
17
17
  if (min >= max) {
18
18
  return { error: 'min must be less than max', min, max };
19
19
  }
20
- const result = integer
21
- ? Math.floor(Math.random() * (max - min + 1)) + min
22
- : Math.random() * (max - min) + min;
20
+ if (integer) {
21
+ const minInt = Math.ceil(min);
22
+ const maxInt = Math.floor(max);
23
+ if (minInt > maxInt) {
24
+ return { error: 'range contains no integers', min, max };
25
+ }
26
+ const result = Math.floor(Math.random() * (maxInt - minInt + 1)) + minInt;
27
+ return { result, min, max, integer };
28
+ }
29
+ const result = Math.random() * (max - min) + min;
23
30
  return { result, min, max, integer };
24
31
  },
25
32
  });