@rudderjs/ai 1.17.3 → 1.18.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 (377) hide show
  1. package/README.md +19 -1274
  2. package/dist/budget-orm/index.d.ts +1 -95
  3. package/dist/budget-orm/index.d.ts.map +1 -1
  4. package/dist/budget-orm/index.js +4 -176
  5. package/dist/budget-orm/index.js.map +1 -1
  6. package/dist/chat-mentions.d.ts +1 -58
  7. package/dist/chat-mentions.d.ts.map +1 -1
  8. package/dist/chat-mentions.js +4 -80
  9. package/dist/chat-mentions.js.map +1 -1
  10. package/dist/commands/ai-eval.d.ts +1 -92
  11. package/dist/commands/ai-eval.d.ts.map +1 -1
  12. package/dist/commands/ai-eval.js +4 -377
  13. package/dist/commands/ai-eval.js.map +1 -1
  14. package/dist/commands/make-agent.d.ts +1 -2
  15. package/dist/commands/make-agent.d.ts.map +1 -1
  16. package/dist/commands/make-agent.js +4 -22
  17. package/dist/commands/make-agent.js.map +1 -1
  18. package/dist/computer-use/index.d.ts +1 -52
  19. package/dist/computer-use/index.d.ts.map +1 -1
  20. package/dist/computer-use/index.js +4 -50
  21. package/dist/computer-use/index.js.map +1 -1
  22. package/dist/conversation-orm/index.d.ts +1 -108
  23. package/dist/conversation-orm/index.d.ts.map +1 -1
  24. package/dist/conversation-orm/index.js +4 -214
  25. package/dist/conversation-orm/index.js.map +1 -1
  26. package/dist/doctor.d.ts +1 -1
  27. package/dist/doctor.d.ts.map +1 -1
  28. package/dist/doctor.js +4 -65
  29. package/dist/doctor.js.map +1 -1
  30. package/dist/eval/index.d.ts +1 -270
  31. package/dist/eval/index.d.ts.map +1 -1
  32. package/dist/eval/index.js +4 -509
  33. package/dist/eval/index.js.map +1 -1
  34. package/dist/gateway/index.d.ts +1 -10
  35. package/dist/gateway/index.d.ts.map +1 -1
  36. package/dist/gateway/index.js +4 -10
  37. package/dist/gateway/index.js.map +1 -1
  38. package/dist/index.d.ts +1 -66
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +4 -78
  41. package/dist/index.js.map +1 -1
  42. package/dist/mcp/index.d.ts +1 -15
  43. package/dist/mcp/index.d.ts.map +1 -1
  44. package/dist/mcp/index.js +4 -14
  45. package/dist/mcp/index.js.map +1 -1
  46. package/dist/memory-embedding/index.d.ts +1 -120
  47. package/dist/memory-embedding/index.d.ts.map +1 -1
  48. package/dist/memory-embedding/index.js +4 -228
  49. package/dist/memory-embedding/index.js.map +1 -1
  50. package/dist/memory-orm/index.d.ts +1 -117
  51. package/dist/memory-orm/index.d.ts.map +1 -1
  52. package/dist/memory-orm/index.js +4 -186
  53. package/dist/memory-orm/index.js.map +1 -1
  54. package/dist/node/index.d.ts +1 -2
  55. package/dist/node/index.d.ts.map +1 -1
  56. package/dist/node/index.js +4 -2
  57. package/dist/node/index.js.map +1 -1
  58. package/dist/observers.d.ts +1 -129
  59. package/dist/observers.d.ts.map +1 -1
  60. package/dist/observers.js +4 -39
  61. package/dist/observers.js.map +1 -1
  62. package/dist/react/index.d.ts +1 -15
  63. package/dist/react/index.d.ts.map +1 -1
  64. package/dist/react/index.js +4 -15
  65. package/dist/react/index.js.map +1 -1
  66. package/dist/server/index.d.ts +1 -1
  67. package/dist/server/index.d.ts.map +1 -1
  68. package/dist/server/index.js +4 -1
  69. package/dist/server/index.js.map +1 -1
  70. package/package.json +9 -13
  71. package/boost/guidelines.md +0 -260
  72. package/boost/skills/ai-agents/SKILL.md +0 -240
  73. package/boost/skills/ai-tools/SKILL.md +0 -260
  74. package/dist/agent-run-store.d.ts +0 -161
  75. package/dist/agent-run-store.d.ts.map +0 -1
  76. package/dist/agent-run-store.js +0 -98
  77. package/dist/agent-run-store.js.map +0 -1
  78. package/dist/agent-sse.d.ts +0 -153
  79. package/dist/agent-sse.d.ts.map +0 -1
  80. package/dist/agent-sse.js +0 -282
  81. package/dist/agent-sse.js.map +0 -1
  82. package/dist/agent.d.ts +0 -508
  83. package/dist/agent.d.ts.map +0 -1
  84. package/dist/agent.js +0 -1538
  85. package/dist/agent.js.map +0 -1
  86. package/dist/attachment.d.ts +0 -31
  87. package/dist/attachment.d.ts.map +0 -1
  88. package/dist/attachment.js +0 -89
  89. package/dist/attachment.js.map +0 -1
  90. package/dist/audio.d.ts +0 -45
  91. package/dist/audio.d.ts.map +0 -1
  92. package/dist/audio.js +0 -93
  93. package/dist/audio.js.map +0 -1
  94. package/dist/base64.d.ts +0 -7
  95. package/dist/base64.d.ts.map +0 -1
  96. package/dist/base64.js +0 -39
  97. package/dist/base64.js.map +0 -1
  98. package/dist/budget/pricing.d.ts +0 -124
  99. package/dist/budget/pricing.d.ts.map +0 -1
  100. package/dist/budget/pricing.js +0 -175
  101. package/dist/budget/pricing.js.map +0 -1
  102. package/dist/budget/storage.d.ts +0 -104
  103. package/dist/budget/storage.d.ts.map +0 -1
  104. package/dist/budget/storage.js +0 -0
  105. package/dist/budget/storage.js.map +0 -1
  106. package/dist/budget/with-budget.d.ts +0 -119
  107. package/dist/budget/with-budget.d.ts.map +0 -1
  108. package/dist/budget/with-budget.js +0 -175
  109. package/dist/budget/with-budget.js.map +0 -1
  110. package/dist/cached-embedding.d.ts +0 -14
  111. package/dist/cached-embedding.d.ts.map +0 -1
  112. package/dist/cached-embedding.js +0 -44
  113. package/dist/cached-embedding.js.map +0 -1
  114. package/dist/computer-use/actions.d.ts +0 -214
  115. package/dist/computer-use/actions.d.ts.map +0 -1
  116. package/dist/computer-use/actions.js +0 -48
  117. package/dist/computer-use/actions.js.map +0 -1
  118. package/dist/computer-use/errors.d.ts +0 -57
  119. package/dist/computer-use/errors.d.ts.map +0 -1
  120. package/dist/computer-use/errors.js +0 -76
  121. package/dist/computer-use/errors.js.map +0 -1
  122. package/dist/computer-use/playwright.d.ts +0 -76
  123. package/dist/computer-use/playwright.d.ts.map +0 -1
  124. package/dist/computer-use/playwright.js +0 -270
  125. package/dist/computer-use/playwright.js.map +0 -1
  126. package/dist/computer-use/tool.d.ts +0 -154
  127. package/dist/computer-use/tool.d.ts.map +0 -1
  128. package/dist/computer-use/tool.js +0 -210
  129. package/dist/computer-use/tool.js.map +0 -1
  130. package/dist/continuation-validation.d.ts +0 -85
  131. package/dist/continuation-validation.d.ts.map +0 -1
  132. package/dist/continuation-validation.js +0 -166
  133. package/dist/continuation-validation.js.map +0 -1
  134. package/dist/conversation-persistence.d.ts +0 -46
  135. package/dist/conversation-persistence.d.ts.map +0 -1
  136. package/dist/conversation-persistence.js +0 -176
  137. package/dist/conversation-persistence.js.map +0 -1
  138. package/dist/conversation.d.ts +0 -11
  139. package/dist/conversation.d.ts.map +0 -1
  140. package/dist/conversation.js +0 -55
  141. package/dist/conversation.js.map +0 -1
  142. package/dist/eval/fixtures.d.ts +0 -65
  143. package/dist/eval/fixtures.d.ts.map +0 -1
  144. package/dist/eval/fixtures.js +0 -110
  145. package/dist/eval/fixtures.js.map +0 -1
  146. package/dist/eval/html-reporter.d.ts +0 -25
  147. package/dist/eval/html-reporter.d.ts.map +0 -1
  148. package/dist/eval/html-reporter.js +0 -209
  149. package/dist/eval/html-reporter.js.map +0 -1
  150. package/dist/eval/json-reporter.d.ts +0 -43
  151. package/dist/eval/json-reporter.d.ts.map +0 -1
  152. package/dist/eval/json-reporter.js +0 -40
  153. package/dist/eval/json-reporter.js.map +0 -1
  154. package/dist/facade.d.ts +0 -96
  155. package/dist/facade.d.ts.map +0 -1
  156. package/dist/facade.js +0 -146
  157. package/dist/facade.js.map +0 -1
  158. package/dist/fake.d.ts +0 -201
  159. package/dist/fake.d.ts.map +0 -1
  160. package/dist/fake.js +0 -428
  161. package/dist/fake.js.map +0 -1
  162. package/dist/file-search.d.ts +0 -168
  163. package/dist/file-search.d.ts.map +0 -1
  164. package/dist/file-search.js +0 -158
  165. package/dist/file-search.js.map +0 -1
  166. package/dist/files.d.ts +0 -27
  167. package/dist/files.d.ts.map +0 -1
  168. package/dist/files.js +0 -44
  169. package/dist/files.js.map +0 -1
  170. package/dist/gateway/http-gateway-adapter.d.ts +0 -94
  171. package/dist/gateway/http-gateway-adapter.d.ts.map +0 -1
  172. package/dist/gateway/http-gateway-adapter.js +0 -106
  173. package/dist/gateway/http-gateway-adapter.js.map +0 -1
  174. package/dist/gateway/sse.d.ts +0 -28
  175. package/dist/gateway/sse.d.ts.map +0 -1
  176. package/dist/gateway/sse.js +0 -78
  177. package/dist/gateway/sse.js.map +0 -1
  178. package/dist/handoff.d.ts +0 -95
  179. package/dist/handoff.d.ts.map +0 -1
  180. package/dist/handoff.js +0 -78
  181. package/dist/handoff.js.map +0 -1
  182. package/dist/handoffs-driver.d.ts +0 -58
  183. package/dist/handoffs-driver.d.ts.map +0 -1
  184. package/dist/handoffs-driver.js +0 -103
  185. package/dist/handoffs-driver.js.map +0 -1
  186. package/dist/image.d.ts +0 -40
  187. package/dist/image.d.ts.map +0 -1
  188. package/dist/image.js +0 -109
  189. package/dist/image.js.map +0 -1
  190. package/dist/mcp/client-tools.d.ts +0 -39
  191. package/dist/mcp/client-tools.d.ts.map +0 -1
  192. package/dist/mcp/client-tools.js +0 -147
  193. package/dist/mcp/client-tools.js.map +0 -1
  194. package/dist/mcp/server-from-agent.d.ts +0 -24
  195. package/dist/mcp/server-from-agent.d.ts.map +0 -1
  196. package/dist/mcp/server-from-agent.js +0 -113
  197. package/dist/mcp/server-from-agent.js.map +0 -1
  198. package/dist/mcp/types.d.ts +0 -64
  199. package/dist/mcp/types.d.ts.map +0 -1
  200. package/dist/mcp/types.js +0 -6
  201. package/dist/mcp/types.js.map +0 -1
  202. package/dist/memory-extract.d.ts +0 -60
  203. package/dist/memory-extract.d.ts.map +0 -1
  204. package/dist/memory-extract.js +0 -163
  205. package/dist/memory-extract.js.map +0 -1
  206. package/dist/memory-inject.d.ts +0 -39
  207. package/dist/memory-inject.d.ts.map +0 -1
  208. package/dist/memory-inject.js +0 -135
  209. package/dist/memory-inject.js.map +0 -1
  210. package/dist/memory.d.ts +0 -55
  211. package/dist/memory.d.ts.map +0 -1
  212. package/dist/memory.js +0 -132
  213. package/dist/memory.js.map +0 -1
  214. package/dist/middleware.d.ts +0 -18
  215. package/dist/middleware.d.ts.map +0 -1
  216. package/dist/middleware.js +0 -72
  217. package/dist/middleware.js.map +0 -1
  218. package/dist/node/attachment.d.ts +0 -6
  219. package/dist/node/attachment.d.ts.map +0 -1
  220. package/dist/node/attachment.js +0 -35
  221. package/dist/node/attachment.js.map +0 -1
  222. package/dist/node/transcription.d.ts +0 -4
  223. package/dist/node/transcription.d.ts.map +0 -1
  224. package/dist/node/transcription.js +0 -8
  225. package/dist/node/transcription.js.map +0 -1
  226. package/dist/output.d.ts +0 -22
  227. package/dist/output.d.ts.map +0 -1
  228. package/dist/output.js +0 -60
  229. package/dist/output.js.map +0 -1
  230. package/dist/provider-tools.d.ts +0 -87
  231. package/dist/provider-tools.d.ts.map +0 -1
  232. package/dist/provider-tools.js +0 -189
  233. package/dist/provider-tools.js.map +0 -1
  234. package/dist/providers/anthropic.d.ts +0 -24
  235. package/dist/providers/anthropic.d.ts.map +0 -1
  236. package/dist/providers/anthropic.js +0 -405
  237. package/dist/providers/anthropic.js.map +0 -1
  238. package/dist/providers/azure.d.ts +0 -13
  239. package/dist/providers/azure.d.ts.map +0 -1
  240. package/dist/providers/azure.js +0 -15
  241. package/dist/providers/azure.js.map +0 -1
  242. package/dist/providers/bedrock.d.ts +0 -75
  243. package/dist/providers/bedrock.d.ts.map +0 -1
  244. package/dist/providers/bedrock.js +0 -181
  245. package/dist/providers/bedrock.js.map +0 -1
  246. package/dist/providers/cohere.d.ts +0 -13
  247. package/dist/providers/cohere.d.ts.map +0 -1
  248. package/dist/providers/cohere.js +0 -87
  249. package/dist/providers/cohere.js.map +0 -1
  250. package/dist/providers/deepseek.d.ts +0 -12
  251. package/dist/providers/deepseek.d.ts.map +0 -1
  252. package/dist/providers/deepseek.js +0 -15
  253. package/dist/providers/deepseek.js.map +0 -1
  254. package/dist/providers/elevenlabs.d.ts +0 -98
  255. package/dist/providers/elevenlabs.d.ts.map +0 -1
  256. package/dist/providers/elevenlabs.js +0 -229
  257. package/dist/providers/elevenlabs.js.map +0 -1
  258. package/dist/providers/google-cache-registry.d.ts +0 -132
  259. package/dist/providers/google-cache-registry.d.ts.map +0 -1
  260. package/dist/providers/google-cache-registry.js +0 -209
  261. package/dist/providers/google-cache-registry.js.map +0 -1
  262. package/dist/providers/google.d.ts +0 -38
  263. package/dist/providers/google.d.ts.map +0 -1
  264. package/dist/providers/google.js +0 -903
  265. package/dist/providers/google.js.map +0 -1
  266. package/dist/providers/groq.d.ts +0 -12
  267. package/dist/providers/groq.d.ts.map +0 -1
  268. package/dist/providers/groq.js +0 -15
  269. package/dist/providers/groq.js.map +0 -1
  270. package/dist/providers/jina.d.ts +0 -13
  271. package/dist/providers/jina.d.ts.map +0 -1
  272. package/dist/providers/jina.js +0 -90
  273. package/dist/providers/jina.js.map +0 -1
  274. package/dist/providers/mistral.d.ts +0 -13
  275. package/dist/providers/mistral.d.ts.map +0 -1
  276. package/dist/providers/mistral.js +0 -46
  277. package/dist/providers/mistral.js.map +0 -1
  278. package/dist/providers/ollama.d.ts +0 -11
  279. package/dist/providers/ollama.d.ts.map +0 -1
  280. package/dist/providers/ollama.js +0 -15
  281. package/dist/providers/ollama.js.map +0 -1
  282. package/dist/providers/openai.d.ts +0 -79
  283. package/dist/providers/openai.d.ts.map +0 -1
  284. package/dist/providers/openai.js +0 -792
  285. package/dist/providers/openai.js.map +0 -1
  286. package/dist/providers/openrouter.d.ts +0 -43
  287. package/dist/providers/openrouter.d.ts.map +0 -1
  288. package/dist/providers/openrouter.js +0 -21
  289. package/dist/providers/openrouter.js.map +0 -1
  290. package/dist/providers/voyage.d.ts +0 -91
  291. package/dist/providers/voyage.d.ts.map +0 -1
  292. package/dist/providers/voyage.js +0 -166
  293. package/dist/providers/voyage.js.map +0 -1
  294. package/dist/providers/xai.d.ts +0 -12
  295. package/dist/providers/xai.d.ts.map +0 -1
  296. package/dist/providers/xai.js +0 -15
  297. package/dist/providers/xai.js.map +0 -1
  298. package/dist/queue-job.d.ts +0 -100
  299. package/dist/queue-job.d.ts.map +0 -1
  300. package/dist/queue-job.js +0 -185
  301. package/dist/queue-job.js.map +0 -1
  302. package/dist/react/agent-run.d.ts +0 -111
  303. package/dist/react/agent-run.d.ts.map +0 -1
  304. package/dist/react/agent-run.js +0 -107
  305. package/dist/react/agent-run.js.map +0 -1
  306. package/dist/react/useAgentRun.d.ts +0 -68
  307. package/dist/react/useAgentRun.d.ts.map +0 -1
  308. package/dist/react/useAgentRun.js +0 -125
  309. package/dist/react/useAgentRun.js.map +0 -1
  310. package/dist/registry.d.ts +0 -45
  311. package/dist/registry.d.ts.map +0 -1
  312. package/dist/registry.js +0 -131
  313. package/dist/registry.js.map +0 -1
  314. package/dist/rerank.d.ts +0 -20
  315. package/dist/rerank.d.ts.map +0 -1
  316. package/dist/rerank.js +0 -40
  317. package/dist/rerank.js.map +0 -1
  318. package/dist/resume-approval.d.ts +0 -30
  319. package/dist/resume-approval.d.ts.map +0 -1
  320. package/dist/resume-approval.js +0 -147
  321. package/dist/resume-approval.js.map +0 -1
  322. package/dist/sanitize-conversation.d.ts +0 -43
  323. package/dist/sanitize-conversation.d.ts.map +0 -1
  324. package/dist/sanitize-conversation.js +0 -85
  325. package/dist/sanitize-conversation.js.map +0 -1
  326. package/dist/scoped-tool.d.ts +0 -98
  327. package/dist/scoped-tool.d.ts.map +0 -1
  328. package/dist/scoped-tool.js +0 -174
  329. package/dist/scoped-tool.js.map +0 -1
  330. package/dist/server/provider.d.ts +0 -22
  331. package/dist/server/provider.d.ts.map +0 -1
  332. package/dist/server/provider.js +0 -194
  333. package/dist/server/provider.js.map +0 -1
  334. package/dist/similarity-search.d.ts +0 -163
  335. package/dist/similarity-search.d.ts.map +0 -1
  336. package/dist/similarity-search.js +0 -147
  337. package/dist/similarity-search.js.map +0 -1
  338. package/dist/sub-agent-run-store.d.ts +0 -157
  339. package/dist/sub-agent-run-store.d.ts.map +0 -1
  340. package/dist/sub-agent-run-store.js +0 -87
  341. package/dist/sub-agent-run-store.js.map +0 -1
  342. package/dist/tool-execution.d.ts +0 -16
  343. package/dist/tool-execution.d.ts.map +0 -1
  344. package/dist/tool-execution.js +0 -498
  345. package/dist/tool-execution.js.map +0 -1
  346. package/dist/tool-helpers.d.ts +0 -77
  347. package/dist/tool-helpers.d.ts.map +0 -1
  348. package/dist/tool-helpers.js +0 -117
  349. package/dist/tool-helpers.js.map +0 -1
  350. package/dist/tool.d.ts +0 -216
  351. package/dist/tool.d.ts.map +0 -1
  352. package/dist/tool.js +0 -175
  353. package/dist/tool.js.map +0 -1
  354. package/dist/transcription.d.ts +0 -42
  355. package/dist/transcription.d.ts.map +0 -1
  356. package/dist/transcription.js +0 -77
  357. package/dist/transcription.js.map +0 -1
  358. package/dist/types.d.ts +0 -1020
  359. package/dist/types.d.ts.map +0 -1
  360. package/dist/types.js +0 -2
  361. package/dist/types.js.map +0 -1
  362. package/dist/util/hash.d.ts +0 -11
  363. package/dist/util/hash.d.ts.map +0 -1
  364. package/dist/util/hash.js +0 -23
  365. package/dist/util/hash.js.map +0 -1
  366. package/dist/vector-stores/index.d.ts +0 -96
  367. package/dist/vector-stores/index.d.ts.map +0 -1
  368. package/dist/vector-stores/index.js +0 -153
  369. package/dist/vector-stores/index.js.map +0 -1
  370. package/dist/vercel-protocol.d.ts +0 -18
  371. package/dist/vercel-protocol.d.ts.map +0 -1
  372. package/dist/vercel-protocol.js +0 -75
  373. package/dist/vercel-protocol.js.map +0 -1
  374. package/dist/zod-to-json-schema.d.ts +0 -16
  375. package/dist/zod-to-json-schema.d.ts.map +0 -1
  376. package/dist/zod-to-json-schema.js +0 -17
  377. package/dist/zod-to-json-schema.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory-orm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACX,MAAM,aAAa,CAAA;AAIpB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,OAAgB,KAAK,SAAe;IAEpC,OAAgB,QAAQ,WAAmD;IAEnE,EAAE,EAAS,MAAM,CAAA;IACjB,MAAM,EAAK,MAAM,CAAA;IACjB,IAAI,EAAO,MAAM,CAAA;IACzB,6EAA6E;IACrE,IAAI,EAAO,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,EAAM,MAAM,GAAG,IAAI,CAAA;IAChC;;;;;OAKG;IACK,SAAS,EAAE,UAAU,GAAG,IAAI,CAAA;IAC5B,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,EAAE,IAAI,GAAG,IAAI,CAAA;IAE9B,wDAAwD;IACxD,OAAO,IAAI,MAAM,EAAE;CASpB;AAID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,aAAc,YAAW,UAAU;IACxC,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAI,MAAM,EACd,IAAI,CAAC,EAAG;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,WAAW,CAAC;IASjB,MAAM,CACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAG,MAAM,EACd,IAAI,CAAC,EAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAC1C,OAAO,CAAC,WAAW,EAAE,CAAC;IAgBnB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,IAAI,CACR,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAG;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,OAAO,CAAC,WAAW,EAAE,CAAC;IAMnB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/C;AAID;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,4eAelC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory-orm/index.ts"],"names":[],"mappings":"AAGA,cAAc,6BAA6B,CAAA"}
@@ -1,187 +1,5 @@
1
- /**
2
- * `@rudderjs/ai/memory-orm` — ORM-backed {@link UserMemory} for #A4 Phase 4.
3
- *
4
- * Stores per-user facts in a `UserMemory` table via the registered
5
- * `@rudderjs/orm` adapter (Prisma today; Drizzle as well once the user's
6
- * tables are wired). Drop-in alongside Phase 1's in-process
7
- * `MemoryUserMemory`.
8
- *
9
- * Wire it from your AI config:
10
- *
11
- * ```ts
12
- * // config/ai.ts
13
- * import type { AiConfig } from '@rudderjs/ai'
14
- * import { OrmUserMemory } from '@rudderjs/ai/memory-orm'
15
- *
16
- * export default {
17
- * default: 'anthropic/claude-sonnet-4-5',
18
- * providers: { ... },
19
- * memory: new OrmUserMemory(),
20
- * } satisfies AiConfig
21
- * ```
22
- *
23
- * The schema lives at `@rudderjs/ai/memory-orm`'s {@link userMemoryPrismaSchema}
24
- * — copy it into your Prisma schema. The optional `embedding Bytes?`
25
- * column is shipped here in Phase 4 (intentionally nullable) so Phase 5's
26
- * `EmbeddingUserMemory` can populate it without forcing an additive
27
- * migration.
28
- */
29
- import { Model } from '@rudderjs/orm';
30
- // ─── ORM Model ────────────────────────────────────────────
31
- /**
32
- * The Model row backing {@link OrmUserMemory}. Exposed so apps that
33
- * want their own queries (admin views, audit dumps) can use the
34
- * familiar `UserMemoryRecord.where(...).get()` instead of routing
35
- * everything through the {@link UserMemory} interface.
36
- *
37
- * Tags persist as a JSON-encoded string in the `tags` column — both
38
- * Prisma's portable `String?` and Drizzle's `text` work without
39
- * needing native array columns. The {@link UserMemory.recall} path
40
- * filters tags in JavaScript for the same reason.
41
- *
42
- * The `embedding Bytes?` column is in the schema as of Phase 4
43
- * (nullable) so `@rudderjs/ai/memory-embedding`'s `EmbeddingUserMemory`
44
- * (Phase 5) writes the Float32-packed vector here on `remember()` and
45
- * reads it for cosine recall. `OrmUserMemory` ignores it — the
46
- * column stays `null` for any row stored without the embedding
47
- * composer.
48
- */
49
- export class UserMemoryRecord extends Model {
50
- static table = 'userMemory';
51
- static fillable = ['userId', 'fact', 'tags', 'score', 'embedding'];
52
- /** Parsed tags array; empty when nothing was stored. */
53
- getTags() {
54
- if (this.tags == null || this.tags === '')
55
- return [];
56
- try {
57
- const parsed = JSON.parse(this.tags);
58
- return Array.isArray(parsed) ? parsed.filter(t => typeof t === 'string') : [];
59
- }
60
- catch {
61
- return [];
62
- }
63
- }
64
- }
65
- // ─── UserMemory adapter ───────────────────────────────────
66
- /**
67
- * `UserMemory` implementation that persists rows to the registered
68
- * ORM adapter. Designed for production use — the in-process
69
- * `MemoryUserMemory` is for tests and dev.
70
- *
71
- * Adapter coverage:
72
- * - Prisma — works out of the box; copy {@link userMemoryPrismaSchema}
73
- * into your schema.
74
- * - Drizzle — works once you define a table matching the schema's
75
- * columns and register it via `tables: { userMemory: <table> }` on
76
- * the `drizzle()` config.
77
- *
78
- * Recall semantics: case-insensitive **token-OR-LIKE** matching against
79
- * the `fact` column. The query is tokenized on non-alphanumeric
80
- * boundaries (≥3-char tokens) and any row whose `fact` matches at
81
- * least one token via `LIKE %tok%` is returned. Mirrors Phase 1's
82
- * `MemoryUserMemory.recall()` behavior so the two backends are
83
- * swap-compatible. Tag scope is applied JS-side after fetch — pushing
84
- * tag-array filtering into the WHERE is adapter-specific and lands in a
85
- * follow-up.
86
- */
87
- export class OrmUserMemory {
88
- async remember(userId, fact, opts) {
89
- const data = { userId, fact };
90
- if (opts?.tags !== undefined)
91
- data['tags'] = JSON.stringify(opts.tags);
92
- if (opts?.score !== undefined)
93
- data['score'] = opts.score;
94
- const created = await UserMemoryRecord.create(data);
95
- return rowToEntry(created);
96
- }
97
- async recall(userId, query, opts) {
98
- const tokens = tokenize(query);
99
- let q = UserMemoryRecord.where('userId', userId);
100
- if (tokens.size > 0) {
101
- const tokenList = [...tokens];
102
- q = q.whereGroup(g => {
103
- for (const tok of tokenList)
104
- g.orWhere('fact', 'LIKE', `%${tok}%`);
105
- });
106
- }
107
- const rows = await q.orderBy('createdAt', 'ASC').get();
108
- const entries = rows.map(rowToEntry).filter(e => matchesTags(e, opts?.tags));
109
- return capLimit(entries, opts?.limit);
110
- }
111
- async forget(userId, factId) {
112
- const row = await UserMemoryRecord.where('id', factId).where('userId', userId).first();
113
- if (row)
114
- await row.delete();
115
- }
116
- async list(userId, opts) {
117
- const rows = await UserMemoryRecord.where('userId', userId).orderBy('createdAt', 'ASC').get();
118
- const entries = rows.map(rowToEntry).filter(e => matchesTags(e, opts?.tags));
119
- return capLimit(entries, opts?.limit);
120
- }
121
- async forgetAll(userId) {
122
- await UserMemoryRecord.where('userId', userId).deleteAll();
123
- }
124
- }
125
- // ─── Schema reference ─────────────────────────────────────
126
- /**
127
- * Reference Prisma schema for `OrmUserMemory`. Copy into your
128
- * `prisma/schema/<file>.prisma` (or paste alongside an existing
129
- * model). The `embedding Bytes?` column is intentionally nullable so
130
- * Phase 5's `EmbeddingUserMemory` becomes additive — no schema
131
- * migration when you upgrade.
132
- *
133
- * SQLite stores `Bytes` as `BLOB`; Postgres stores it as `bytea`.
134
- * Both work for the dot-product implementation Phase 5 will use.
135
- */
136
- export const userMemoryPrismaSchema = `model UserMemory {
137
- id String @id @default(cuid())
138
- userId String
139
- fact String
140
- /// JSON-encoded \`string[]\` of tags, or null
141
- tags String?
142
- /// Confidence score in [0, 1] — extract sets this from the model's self-rating
143
- score Float?
144
- /// Phase 5 — vector embedding for cosine recall (nullable so Phase 4 ignores it)
145
- embedding Bytes?
146
- createdAt DateTime @default(now())
147
- updatedAt DateTime @updatedAt
148
-
149
- @@index([userId])
150
- }
151
- `;
152
- // ─── Helpers ──────────────────────────────────────────────
153
- function rowToEntry(row) {
154
- const tags = row.getTags();
155
- const out = {
156
- id: row.id,
157
- userId: row.userId,
158
- fact: row.fact,
159
- createdAt: row.createdAt,
160
- };
161
- if (tags.length > 0)
162
- out.tags = tags;
163
- if (row.score != null)
164
- out.score = row.score;
165
- if (row.updatedAt != null)
166
- out.updatedAt = row.updatedAt;
167
- return out;
168
- }
169
- function tokenize(s) {
170
- const out = new Set();
171
- for (const tok of s.toLowerCase().split(/[^a-z0-9]+/)) {
172
- if (tok.length >= 3)
173
- out.add(tok);
174
- }
175
- return out;
176
- }
177
- function matchesTags(entry, wanted) {
178
- if (!wanted || wanted.length === 0)
179
- return true;
180
- if (!entry.tags || entry.tags.length === 0)
181
- return false;
182
- return wanted.every(t => entry.tags.includes(t));
183
- }
184
- function capLimit(items, limit) {
185
- return limit !== undefined && limit > 0 ? items.slice(0, limit) : items;
186
- }
1
+ // @rudderjs/ai is deprecated. The AI engine now lives in @gemstack/ai-sdk.
2
+ // This module re-exports it for backwards compatibility; import from
3
+ // '@gemstack/ai-sdk/memory-orm' directly in new code.
4
+ export * from '@gemstack/ai-sdk/memory-orm';
187
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory-orm/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory-orm/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qEAAqE;AACrE,sDAAsD;AACtD,cAAc,6BAA6B,CAAA"}
@@ -1,3 +1,2 @@
1
- export { documentFromPath, imageFromPath } from './attachment.js';
2
- export { transcribeFromPath } from './transcription.js';
1
+ export * from '@gemstack/ai-sdk/node';
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAGA,cAAc,uBAAuB,CAAA"}
@@ -1,3 +1,5 @@
1
- export { documentFromPath, imageFromPath } from './attachment.js';
2
- export { transcribeFromPath } from './transcription.js';
1
+ // @rudderjs/ai is deprecated. The AI engine now lives in @gemstack/ai-sdk.
2
+ // This module re-exports it for backwards compatibility; import from
3
+ // '@gemstack/ai-sdk/node' directly in new code.
4
+ export * from '@gemstack/ai-sdk/node';
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qEAAqE;AACrE,gDAAgD;AAChD,cAAc,uBAAuB,CAAA"}
@@ -1,130 +1,2 @@
1
- /**
2
- * AI agent event observers — process-wide pub/sub for agent executions
3
- * made through `@rudderjs/ai`. Any package can subscribe to be notified
4
- * about completed or failed agent runs.
5
- *
6
- * Used today by `@rudderjs/telescope`'s AiCollector to record agent
7
- * executions into the dashboard. The registry is defined here (inside
8
- * `@rudderjs/ai`) so the observer contract lives with the package that
9
- * owns the AI abstraction.
10
- */
11
- export interface AiObserverToolCall {
12
- id: string;
13
- name: string;
14
- args: unknown;
15
- result: unknown;
16
- duration: number;
17
- needsApproval: boolean;
18
- }
19
- export interface AiObserverStep {
20
- iteration: number;
21
- model: string;
22
- tokens: {
23
- prompt: number;
24
- completion: number;
25
- total: number;
26
- };
27
- finishReason: string;
28
- toolCalls: AiObserverToolCall[];
29
- }
30
- /** Discriminated union of every event the AI agent loop can emit. */
31
- export type AiEvent = {
32
- kind: 'agent.completed';
33
- agentName: string;
34
- model: string;
35
- provider: string;
36
- input: string;
37
- output: string;
38
- steps: AiObserverStep[];
39
- tokens: {
40
- prompt: number;
41
- completion: number;
42
- total: number;
43
- };
44
- duration: number;
45
- finishReason: string;
46
- streaming: boolean;
47
- conversationId: string | null;
48
- failoverAttempts: number;
49
- } | {
50
- kind: 'agent.failed';
51
- agentName: string;
52
- model: string;
53
- provider: string;
54
- input: string;
55
- output: string;
56
- steps: AiObserverStep[];
57
- tokens: {
58
- prompt: number;
59
- completion: number;
60
- total: number;
61
- };
62
- duration: number;
63
- finishReason: string;
64
- streaming: boolean;
65
- conversationId: string | null;
66
- failoverAttempts: number;
67
- error: string;
68
- } | {
69
- /**
70
- * Emitted after each iteration of the agent loop, before the next
71
- * provider call (or before the loop exits). Lets observers report
72
- * incremental progress — token usage so far, tools called this step
73
- * — without waiting for the full run to finish. Fires for every step
74
- * in both `prompt()` and `stream()` runs.
75
- */
76
- kind: 'agent.step.completed';
77
- agentName: string;
78
- model: string;
79
- provider: string;
80
- iteration: number;
81
- step: AiObserverStep;
82
- /** Cumulative usage across all completed steps. */
83
- tokens: {
84
- prompt: number;
85
- completion: number;
86
- total: number;
87
- };
88
- /** Cumulative wall-clock ms since the loop started. */
89
- duration: number;
90
- streaming: boolean;
91
- conversationId: string | null;
92
- } | {
93
- /**
94
- * Emitted by the eval framework runner (`@rudderjs/ai/eval`) after
95
- * each case completes — passing, failing, or skipped. Telescope's
96
- * AI collector aggregates pass-rate over time per `(suite, case)`
97
- * pair (#A5 Phase 4).
98
- *
99
- * Skipped cases still emit so the dashboard shows coverage gaps.
100
- * `score` is present for graded metrics (semanticMatch, llmJudge);
101
- * absent for binary metrics (exactMatch, regex). `reason` is the
102
- * failure / skip explanation when present.
103
- */
104
- kind: 'agent.eval.completed';
105
- suite: string;
106
- case: string;
107
- status: 'passed' | 'failed' | 'skipped';
108
- pass: boolean;
109
- score?: number;
110
- reason?: string;
111
- tokens: number;
112
- cost: number;
113
- duration: number;
114
- };
115
- export type AiObserver = (event: AiEvent) => void;
116
- export declare class AiObserverRegistry {
117
- private observers;
118
- /** Subscribe; returns an unsubscribe function. */
119
- subscribe(fn: AiObserver): () => void;
120
- /**
121
- * Called by `runAgentLoop()` / `runAgentLoopStreaming()` after each
122
- * agent execution. Errors thrown by observers are swallowed —
123
- * observability must never break agent runs.
124
- */
125
- emit(event: AiEvent): void;
126
- /** Test-cleanup hook (public — other packages reset across the boundary). */
127
- reset(): void;
128
- }
129
- export declare const aiObservers: AiObserverRegistry;
1
+ export * from '@gemstack/ai-sdk/observers';
130
2
  //# sourceMappingURL=observers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"observers.d.ts","sourceRoot":"","sources":["../src/observers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observers.d.ts","sourceRoot":"","sources":["../src/observers.ts"],"names":[],"mappings":"AAGA,cAAc,4BAA4B,CAAA"}
package/dist/observers.js CHANGED
@@ -1,40 +1,5 @@
1
- /**
2
- * AI agent event observers process-wide pub/sub for agent executions
3
- * made through `@rudderjs/ai`. Any package can subscribe to be notified
4
- * about completed or failed agent runs.
5
- *
6
- * Used today by `@rudderjs/telescope`'s AiCollector to record agent
7
- * executions into the dashboard. The registry is defined here (inside
8
- * `@rudderjs/ai`) so the observer contract lives with the package that
9
- * owns the AI abstraction.
10
- */
11
- export class AiObserverRegistry {
12
- observers = [];
13
- /** Subscribe; returns an unsubscribe function. */
14
- subscribe(fn) {
15
- this.observers.push(fn);
16
- return () => { this.observers = this.observers.filter(o => o !== fn); };
17
- }
18
- /**
19
- * Called by `runAgentLoop()` / `runAgentLoopStreaming()` after each
20
- * agent execution. Errors thrown by observers are swallowed —
21
- * observability must never break agent runs.
22
- */
23
- emit(event) {
24
- for (const o of this.observers) {
25
- try {
26
- o(event);
27
- }
28
- catch { /* observer errors must not break agents */ }
29
- }
30
- }
31
- /** Test-cleanup hook (public — other packages reset across the boundary). */
32
- reset() { this.observers = []; }
33
- }
34
- // Process-wide singleton, like `httpObservers` in `@rudderjs/http`.
35
- const _g = globalThis;
36
- if (!_g['__rudderjs_ai_observers__']) {
37
- _g['__rudderjs_ai_observers__'] = new AiObserverRegistry();
38
- }
39
- export const aiObservers = _g['__rudderjs_ai_observers__'];
1
+ // @rudderjs/ai is deprecated. The AI engine now lives in @gemstack/ai-sdk.
2
+ // This module re-exports it for backwards compatibility; import from
3
+ // '@gemstack/ai-sdk/observers' directly in new code.
4
+ export * from '@gemstack/ai-sdk/observers';
40
5
  //# sourceMappingURL=observers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"observers.js","sourceRoot":"","sources":["../src/observers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqGH,MAAM,OAAO,kBAAkB;IACrB,SAAS,GAAiB,EAAE,CAAA;IAEpC,kDAAkD;IAClD,SAAS,CAAC,EAAc;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvB,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;IACxE,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,KAAc;QACjB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC;gBAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,2CAA2C,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,KAAK,KAAW,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA,CAAC,CAAC;CACtC;AAED,oEAAoE;AACpE,MAAM,EAAE,GAAG,UAAqC,CAAA;AAChD,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,CAAC;IACrC,EAAE,CAAC,2BAA2B,CAAC,GAAG,IAAI,kBAAkB,EAAE,CAAA;AAC5D,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC,2BAA2B,CAAuB,CAAA"}
1
+ {"version":3,"file":"observers.js","sourceRoot":"","sources":["../src/observers.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qEAAqE;AACrE,qDAAqD;AACrD,cAAc,4BAA4B,CAAA"}
@@ -1,16 +1,2 @@
1
- /**
2
- * React client runtime for `@rudderjs/ai`.
3
- *
4
- * The agent framework, providers, and the runtime-agnostic agent-SSE protocol
5
- * (`readAgentStream` + the server framers) live in the main `@rudderjs/ai`
6
- * entry. This subpath adds the React hook that drives a streamed agent run from
7
- * a component — same split as `@rudderjs/sync/react` (the main entry stays
8
- * React-free; React lives behind `/react`).
9
- *
10
- * Peer requirement: `react@>=19.2.0`.
11
- */
12
- export { useAgentRun } from './useAgentRun.js';
13
- export type { AgentRunStatus, UseAgentRunOptions, UseAgentRunResult, } from './useAgentRun.js';
14
- export { appendAgentOutput, executeClientTools, driveAgentRun, } from './agent-run.js';
15
- export type { AgentRunOutput, AgentToolResult, AgentRunRequest, AgentRunDriverOptions, } from './agent-run.js';
1
+ export * from '@gemstack/ai-sdk/react';
16
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AAIzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,GACd,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,cAAc,EACd,eAAe,EACf,eAAe,EACf,qBAAqB,GACtB,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAGA,cAAc,wBAAwB,CAAA"}
@@ -1,16 +1,5 @@
1
- /**
2
- * React client runtime for `@rudderjs/ai`.
3
- *
4
- * The agent framework, providers, and the runtime-agnostic agent-SSE protocol
5
- * (`readAgentStream` + the server framers) live in the main `@rudderjs/ai`
6
- * entry. This subpath adds the React hook that drives a streamed agent run from
7
- * a component — same split as `@rudderjs/sync/react` (the main entry stays
8
- * React-free; React lives behind `/react`).
9
- *
10
- * Peer requirement: `react@>=19.2.0`.
11
- */
12
- export { useAgentRun } from './useAgentRun.js';
13
- // Framework-free core — exported so apps can drive a run outside React (or
14
- // unit-test their own integration) and so the output/request types are nameable.
15
- export { appendAgentOutput, executeClientTools, driveAgentRun, } from './agent-run.js';
1
+ // @rudderjs/ai is deprecated. The AI engine now lives in @gemstack/ai-sdk.
2
+ // This module re-exports it for backwards compatibility; import from
3
+ // '@gemstack/ai-sdk/react' directly in new code.
4
+ export * from '@gemstack/ai-sdk/react';
16
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAO9C,2EAA2E;AAC3E,iFAAiF;AACjF,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,GACd,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qEAAqE;AACrE,iDAAiD;AACjD,cAAc,wBAAwB,CAAA"}
@@ -1,2 +1,2 @@
1
- export { AiProvider } from './provider.js';
1
+ export * from '@gemstack/ai-sdk/server';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAGA,cAAc,yBAAyB,CAAA"}
@@ -1,2 +1,5 @@
1
- export { AiProvider } from './provider.js';
1
+ // @rudderjs/ai is deprecated. The AI engine now lives in @gemstack/ai-sdk.
2
+ // This module re-exports it for backwards compatibility; import from
3
+ // '@gemstack/ai-sdk/server' directly in new code.
4
+ export * from '@gemstack/ai-sdk/server';
2
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qEAAqE;AACrE,kDAAkD;AAClD,cAAc,yBAAyB,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rudderjs/ai",
3
- "version": "1.17.3",
4
- "description": "AI engine providers, agents, tools, streaming, middleware",
3
+ "version": "1.18.0",
4
+ "description": "[Deprecated] Moved to @gemstack/ai-sdk. This package now re-exports it for backwards compatibility.",
5
5
  "rudderjs": {
6
6
  "provider": "AiProvider",
7
7
  "providerSubpath": "./server",
@@ -18,8 +18,7 @@
18
18
  "node": ">=22.12.0"
19
19
  },
20
20
  "files": [
21
- "dist",
22
- "boost"
21
+ "dist"
23
22
  ],
24
23
  "main": "./dist/index.js",
25
24
  "types": "./dist/index.d.ts",
@@ -94,15 +93,13 @@
94
93
  }
95
94
  },
96
95
  "dependencies": {
97
- "zod": "^4.0.0",
98
- "@rudderjs/console": "^1.4.3",
99
- "@rudderjs/json-schema": "^1.1.0"
96
+ "@gemstack/ai-sdk": "^0.1.0"
100
97
  },
101
98
  "peerDependencies": {
102
99
  "@modelcontextprotocol/sdk": "^1.29.0",
103
100
  "react": ">=19.2.0",
104
- "@rudderjs/core": "^1.13.2",
105
- "@rudderjs/orm": "^1.21.3"
101
+ "@rudderjs/orm": "^1.22.0",
102
+ "@rudderjs/core": "^1.13.3"
106
103
  },
107
104
  "peerDependenciesMeta": {
108
105
  "@rudderjs/core": {
@@ -126,21 +123,20 @@
126
123
  "openai": ">=4.70.0"
127
124
  },
128
125
  "devDependencies": {
126
+ "@gemstack/ai-sdk": "^0.1.0",
129
127
  "@modelcontextprotocol/sdk": "^1.29.0",
130
128
  "@types/node": "^20.0.0",
131
129
  "@types/react": "^19.2.0",
132
130
  "react": "^19.2.0",
133
131
  "typescript": "^5.4.0",
134
- "@rudderjs/console": "^1.4.3",
135
- "@rudderjs/core": "^1.13.2",
136
- "@rudderjs/orm": "^1.21.3"
132
+ "@rudderjs/orm": "^1.22.0",
133
+ "@rudderjs/core": "^1.13.3"
137
134
  },
138
135
  "author": "Suleiman Shahbari",
139
136
  "scripts": {
140
137
  "build": "tsc -p tsconfig.build.json",
141
138
  "dev": "tsc -p tsconfig.build.json --watch",
142
139
  "typecheck": "tsc --noEmit",
143
- "test": "tsc -p tsconfig.test.json && cd dist-test && node --test",
144
140
  "clean": "rm -rf dist"
145
141
  }
146
142
  }