@aigne/core 1.72.0 → 1.74.0-beta

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 (827) hide show
  1. package/README.md +11 -11
  2. package/dist/_virtual/rolldown_runtime.cjs +29 -0
  3. package/dist/agents/agent.cjs +874 -0
  4. package/dist/agents/agent.d.cts +967 -0
  5. package/dist/agents/agent.d.cts.map +1 -0
  6. package/dist/agents/agent.d.mts +967 -0
  7. package/dist/agents/agent.d.mts.map +1 -0
  8. package/dist/agents/agent.mjs +863 -0
  9. package/dist/agents/agent.mjs.map +1 -0
  10. package/dist/agents/ai-agent.cjs +524 -0
  11. package/dist/agents/ai-agent.d.cts +401 -0
  12. package/dist/agents/ai-agent.d.cts.map +1 -0
  13. package/dist/agents/ai-agent.d.mts +401 -0
  14. package/dist/agents/ai-agent.d.mts.map +1 -0
  15. package/dist/agents/ai-agent.mjs +519 -0
  16. package/dist/agents/ai-agent.mjs.map +1 -0
  17. package/dist/agents/chat-model.cjs +397 -0
  18. package/dist/agents/chat-model.d.cts +674 -0
  19. package/dist/agents/chat-model.d.cts.map +1 -0
  20. package/dist/agents/chat-model.d.mts +674 -0
  21. package/dist/agents/chat-model.d.mts.map +1 -0
  22. package/dist/agents/chat-model.mjs +391 -0
  23. package/dist/agents/chat-model.mjs.map +1 -0
  24. package/dist/agents/guide-rail-agent.cjs +17 -0
  25. package/dist/agents/guide-rail-agent.d.cts +67 -0
  26. package/dist/agents/guide-rail-agent.d.cts.map +1 -0
  27. package/dist/agents/guide-rail-agent.d.mts +67 -0
  28. package/dist/agents/guide-rail-agent.d.mts.map +1 -0
  29. package/dist/agents/guide-rail-agent.mjs +17 -0
  30. package/dist/agents/guide-rail-agent.mjs.map +1 -0
  31. package/dist/agents/image-agent.cjs +74 -0
  32. package/dist/agents/image-agent.d.cts +44 -0
  33. package/dist/agents/image-agent.d.cts.map +1 -0
  34. package/dist/agents/image-agent.d.mts +44 -0
  35. package/dist/agents/image-agent.d.mts.map +1 -0
  36. package/dist/agents/image-agent.mjs +72 -0
  37. package/dist/agents/image-agent.mjs.map +1 -0
  38. package/dist/agents/image-model.cjs +83 -0
  39. package/dist/agents/image-model.d.cts +276 -0
  40. package/dist/agents/image-model.d.cts.map +1 -0
  41. package/dist/agents/image-model.d.mts +276 -0
  42. package/dist/agents/image-model.d.mts.map +1 -0
  43. package/dist/agents/image-model.mjs +81 -0
  44. package/dist/agents/image-model.mjs.map +1 -0
  45. package/dist/agents/mcp-agent.cjs +307 -0
  46. package/dist/agents/mcp-agent.d.cts +235 -0
  47. package/dist/agents/mcp-agent.d.cts.map +1 -0
  48. package/dist/agents/mcp-agent.d.mts +235 -0
  49. package/dist/agents/mcp-agent.d.mts.map +1 -0
  50. package/dist/agents/mcp-agent.mjs +303 -0
  51. package/dist/agents/mcp-agent.mjs.map +1 -0
  52. package/dist/agents/model.cjs +143 -0
  53. package/dist/agents/model.d.cts +257 -0
  54. package/dist/agents/model.d.cts.map +1 -0
  55. package/dist/agents/model.d.mts +257 -0
  56. package/dist/agents/model.d.mts.map +1 -0
  57. package/dist/agents/model.mjs +136 -0
  58. package/dist/agents/model.mjs.map +1 -0
  59. package/dist/agents/team-agent.cjs +342 -0
  60. package/dist/agents/team-agent.d.cts +390 -0
  61. package/dist/agents/team-agent.d.cts.map +1 -0
  62. package/dist/agents/team-agent.d.mts +390 -0
  63. package/dist/agents/team-agent.d.mts.map +1 -0
  64. package/dist/agents/team-agent.mjs +339 -0
  65. package/dist/agents/team-agent.mjs.map +1 -0
  66. package/dist/agents/transform-agent.cjs +77 -0
  67. package/dist/agents/transform-agent.d.cts +99 -0
  68. package/dist/agents/transform-agent.d.cts.map +1 -0
  69. package/dist/agents/transform-agent.d.mts +99 -0
  70. package/dist/agents/transform-agent.d.mts.map +1 -0
  71. package/dist/agents/transform-agent.mjs +76 -0
  72. package/dist/agents/transform-agent.mjs.map +1 -0
  73. package/dist/agents/types.cjs +30 -0
  74. package/dist/agents/types.d.cts +34 -0
  75. package/dist/agents/types.d.cts.map +1 -0
  76. package/dist/agents/types.d.mts +34 -0
  77. package/dist/agents/types.d.mts.map +1 -0
  78. package/dist/agents/types.mjs +25 -0
  79. package/dist/agents/types.mjs.map +1 -0
  80. package/dist/agents/user-agent.cjs +87 -0
  81. package/dist/agents/user-agent.d.cts +32 -0
  82. package/dist/agents/user-agent.d.cts.map +1 -0
  83. package/dist/agents/user-agent.d.mts +32 -0
  84. package/dist/agents/user-agent.d.mts.map +1 -0
  85. package/dist/agents/user-agent.mjs +88 -0
  86. package/dist/agents/user-agent.mjs.map +1 -0
  87. package/dist/agents/video-model.cjs +66 -0
  88. package/dist/agents/video-model.d.cts +286 -0
  89. package/dist/agents/video-model.d.cts.map +1 -0
  90. package/dist/agents/video-model.d.mts +286 -0
  91. package/dist/agents/video-model.d.mts.map +1 -0
  92. package/dist/agents/video-model.mjs +64 -0
  93. package/dist/agents/video-model.mjs.map +1 -0
  94. package/dist/aigne/aigne.cjs +235 -0
  95. package/dist/aigne/aigne.d.cts +340 -0
  96. package/dist/aigne/aigne.d.cts.map +1 -0
  97. package/dist/aigne/aigne.d.mts +340 -0
  98. package/dist/aigne/aigne.d.mts.map +1 -0
  99. package/dist/aigne/aigne.mjs +235 -0
  100. package/dist/aigne/aigne.mjs.map +1 -0
  101. package/dist/aigne/context.cjs +377 -0
  102. package/dist/aigne/context.d.cts +226 -0
  103. package/dist/aigne/context.d.cts.map +1 -0
  104. package/dist/aigne/context.d.mts +226 -0
  105. package/dist/aigne/context.d.mts.map +1 -0
  106. package/dist/aigne/context.mjs +376 -0
  107. package/dist/aigne/context.mjs.map +1 -0
  108. package/dist/aigne/index.cjs +4 -0
  109. package/dist/aigne/index.d.mts +5 -0
  110. package/dist/aigne/index.mjs +6 -0
  111. package/dist/aigne/message-queue.cjs +102 -0
  112. package/dist/aigne/message-queue.d.cts +52 -0
  113. package/dist/aigne/message-queue.d.cts.map +1 -0
  114. package/dist/aigne/message-queue.d.mts +52 -0
  115. package/dist/aigne/message-queue.d.mts.map +1 -0
  116. package/dist/aigne/message-queue.mjs +99 -0
  117. package/dist/aigne/message-queue.mjs.map +1 -0
  118. package/dist/aigne/type.d.cts +32 -0
  119. package/dist/aigne/type.d.cts.map +1 -0
  120. package/dist/aigne/type.d.mts +32 -0
  121. package/dist/aigne/type.d.mts.map +1 -0
  122. package/dist/aigne/usage.cjs +29 -0
  123. package/dist/aigne/usage.d.cts +32 -0
  124. package/dist/aigne/usage.d.cts.map +1 -0
  125. package/dist/aigne/usage.d.mts +32 -0
  126. package/dist/aigne/usage.d.mts.map +1 -0
  127. package/dist/aigne/usage.mjs +28 -0
  128. package/dist/aigne/usage.mjs.map +1 -0
  129. package/dist/index.cjs +142 -0
  130. package/dist/index.d.cts +29 -0
  131. package/dist/index.d.mts +31 -0
  132. package/dist/index.mjs +31 -0
  133. package/dist/loader/agent-js.cjs +23 -0
  134. package/dist/loader/agent-js.d.cts +9 -0
  135. package/dist/loader/agent-js.d.cts.map +1 -0
  136. package/dist/loader/agent-js.d.mts +10 -0
  137. package/dist/loader/agent-js.d.mts.map +1 -0
  138. package/dist/loader/agent-js.mjs +23 -0
  139. package/dist/loader/agent-js.mjs.map +1 -0
  140. package/dist/loader/agent-yaml.cjs +109 -0
  141. package/dist/loader/agent-yaml.d.cts +87 -0
  142. package/dist/loader/agent-yaml.d.cts.map +1 -0
  143. package/dist/loader/agent-yaml.d.mts +87 -0
  144. package/dist/loader/agent-yaml.d.mts.map +1 -0
  145. package/dist/loader/agent-yaml.mjs +106 -0
  146. package/dist/loader/agent-yaml.mjs.map +1 -0
  147. package/dist/loader/agents.cjs +19 -0
  148. package/dist/loader/agents.d.cts +9 -0
  149. package/dist/loader/agents.d.cts.map +1 -0
  150. package/dist/loader/agents.d.mts +9 -0
  151. package/dist/loader/agents.d.mts.map +1 -0
  152. package/dist/loader/agents.mjs +20 -0
  153. package/dist/loader/agents.mjs.map +1 -0
  154. package/dist/loader/error.cjs +6 -0
  155. package/dist/loader/error.d.cts +5 -0
  156. package/dist/loader/error.d.cts.map +1 -0
  157. package/dist/loader/error.d.mts +5 -0
  158. package/dist/loader/error.d.mts.map +1 -0
  159. package/dist/loader/error.mjs +6 -0
  160. package/dist/loader/error.mjs.map +1 -0
  161. package/dist/loader/function-agent.cjs +9 -0
  162. package/dist/loader/function-agent.d.cts +7 -0
  163. package/dist/loader/function-agent.d.cts.map +1 -0
  164. package/dist/loader/function-agent.d.mts +7 -0
  165. package/dist/loader/function-agent.d.mts.map +1 -0
  166. package/dist/loader/function-agent.mjs +9 -0
  167. package/dist/loader/function-agent.mjs.map +1 -0
  168. package/dist/loader/index.cjs +233 -0
  169. package/dist/loader/index.d.cts +255 -0
  170. package/dist/loader/index.d.cts.map +1 -0
  171. package/dist/loader/index.d.mts +255 -0
  172. package/dist/loader/index.d.mts.map +1 -0
  173. package/dist/loader/index.mjs +228 -0
  174. package/dist/loader/index.mjs.map +1 -0
  175. package/dist/loader/schema.cjs +135 -0
  176. package/dist/loader/schema.d.cts +177 -0
  177. package/dist/loader/schema.d.cts.map +1 -0
  178. package/dist/loader/schema.d.mts +177 -0
  179. package/dist/loader/schema.d.mts.map +1 -0
  180. package/dist/loader/schema.mjs +127 -0
  181. package/dist/loader/schema.mjs.map +1 -0
  182. package/dist/memory/index.cjs +3 -0
  183. package/dist/memory/index.d.mts +3 -0
  184. package/dist/memory/index.mjs +5 -0
  185. package/dist/memory/memory.cjs +134 -0
  186. package/dist/memory/memory.d.cts +103 -0
  187. package/dist/memory/memory.d.cts.map +1 -0
  188. package/dist/memory/memory.d.mts +103 -0
  189. package/dist/memory/memory.d.mts.map +1 -0
  190. package/dist/memory/memory.mjs +133 -0
  191. package/dist/memory/memory.mjs.map +1 -0
  192. package/dist/memory/recorder.cjs +61 -0
  193. package/dist/memory/recorder.d.cts +98 -0
  194. package/dist/memory/recorder.d.cts.map +1 -0
  195. package/dist/memory/recorder.d.mts +98 -0
  196. package/dist/memory/recorder.d.mts.map +1 -0
  197. package/dist/memory/recorder.mjs +59 -0
  198. package/dist/memory/recorder.mjs.map +1 -0
  199. package/dist/memory/retriever.cjs +60 -0
  200. package/dist/memory/retriever.d.cts +111 -0
  201. package/dist/memory/retriever.d.cts.map +1 -0
  202. package/dist/memory/retriever.d.mts +111 -0
  203. package/dist/memory/retriever.d.mts.map +1 -0
  204. package/dist/memory/retriever.mjs +58 -0
  205. package/dist/memory/retriever.mjs.map +1 -0
  206. package/dist/prompt/agent-session.cjs +700 -0
  207. package/dist/prompt/agent-session.d.cts +167 -0
  208. package/dist/prompt/agent-session.d.cts.map +1 -0
  209. package/dist/prompt/agent-session.d.mts +167 -0
  210. package/dist/prompt/agent-session.d.mts.map +1 -0
  211. package/dist/prompt/agent-session.mjs +700 -0
  212. package/dist/prompt/agent-session.mjs.map +1 -0
  213. package/dist/prompt/compact/compactor.cjs +50 -0
  214. package/dist/prompt/compact/compactor.mjs +50 -0
  215. package/dist/prompt/compact/compactor.mjs.map +1 -0
  216. package/dist/prompt/compact/session-memory-extractor.cjs +137 -0
  217. package/dist/prompt/compact/session-memory-extractor.mjs +137 -0
  218. package/dist/prompt/compact/session-memory-extractor.mjs.map +1 -0
  219. package/dist/prompt/compact/types.cjs +59 -0
  220. package/dist/prompt/compact/types.d.cts +341 -0
  221. package/dist/prompt/compact/types.d.cts.map +1 -0
  222. package/dist/prompt/compact/types.d.mts +341 -0
  223. package/dist/prompt/compact/types.d.mts.map +1 -0
  224. package/dist/prompt/compact/types.mjs +49 -0
  225. package/dist/prompt/compact/types.mjs.map +1 -0
  226. package/dist/prompt/compact/user-memory-extractor.cjs +118 -0
  227. package/dist/prompt/compact/user-memory-extractor.mjs +118 -0
  228. package/dist/prompt/compact/user-memory-extractor.mjs.map +1 -0
  229. package/dist/prompt/context/afs/history.cjs +30 -0
  230. package/dist/prompt/context/afs/history.mjs +30 -0
  231. package/dist/prompt/context/afs/history.mjs.map +1 -0
  232. package/dist/prompt/context/afs/index.cjs +60 -0
  233. package/dist/prompt/context/afs/index.mjs +61 -0
  234. package/dist/prompt/context/afs/index.mjs.map +1 -0
  235. package/dist/prompt/context/index.cjs +18 -0
  236. package/dist/prompt/context/index.mjs +19 -0
  237. package/dist/prompt/context/index.mjs.map +1 -0
  238. package/dist/prompt/filters/index.cjs +22 -0
  239. package/dist/prompt/filters/index.mjs +21 -0
  240. package/dist/prompt/filters/index.mjs.map +1 -0
  241. package/dist/prompt/prompt-builder.cjs +291 -0
  242. package/dist/prompt/prompt-builder.d.cts +57 -0
  243. package/dist/prompt/prompt-builder.d.cts.map +1 -0
  244. package/dist/prompt/prompt-builder.d.mts +57 -0
  245. package/dist/prompt/prompt-builder.d.mts.map +1 -0
  246. package/dist/prompt/prompt-builder.mjs +291 -0
  247. package/dist/prompt/prompt-builder.mjs.map +1 -0
  248. package/dist/prompt/prompts/afs-builtin-prompt.cjs +12 -0
  249. package/dist/prompt/prompts/afs-builtin-prompt.mjs +13 -0
  250. package/dist/prompt/prompts/afs-builtin-prompt.mjs.map +1 -0
  251. package/dist/prompt/prompts/memory-message-template.cjs +10 -0
  252. package/dist/prompt/prompts/memory-message-template.mjs +10 -0
  253. package/dist/prompt/prompts/memory-message-template.mjs.map +1 -0
  254. package/dist/prompt/prompts/structured-stream-instructions.cjs +30 -0
  255. package/dist/prompt/prompts/structured-stream-instructions.mjs +30 -0
  256. package/dist/prompt/prompts/structured-stream-instructions.mjs.map +1 -0
  257. package/dist/prompt/skills/afs/agent-skill/agent-skill.cjs +66 -0
  258. package/dist/prompt/skills/afs/agent-skill/agent-skill.mjs +66 -0
  259. package/dist/prompt/skills/afs/agent-skill/agent-skill.mjs.map +1 -0
  260. package/dist/prompt/skills/afs/agent-skill/skill-loader.cjs +42 -0
  261. package/dist/prompt/skills/afs/agent-skill/skill-loader.mjs +41 -0
  262. package/dist/prompt/skills/afs/agent-skill/skill-loader.mjs.map +1 -0
  263. package/dist/prompt/skills/afs/base.cjs +9 -0
  264. package/dist/prompt/skills/afs/base.mjs +10 -0
  265. package/dist/prompt/skills/afs/base.mjs.map +1 -0
  266. package/dist/prompt/skills/afs/delete.cjs +50 -0
  267. package/dist/prompt/skills/afs/delete.mjs +50 -0
  268. package/dist/prompt/skills/afs/delete.mjs.map +1 -0
  269. package/dist/prompt/skills/afs/edit.cjs +92 -0
  270. package/dist/prompt/skills/afs/edit.mjs +92 -0
  271. package/dist/prompt/skills/afs/edit.mjs.map +1 -0
  272. package/dist/prompt/skills/afs/exec.cjs +36 -0
  273. package/dist/prompt/skills/afs/exec.mjs +36 -0
  274. package/dist/prompt/skills/afs/exec.mjs.map +1 -0
  275. package/dist/prompt/skills/afs/index.cjs +28 -0
  276. package/dist/prompt/skills/afs/index.mjs +29 -0
  277. package/dist/prompt/skills/afs/index.mjs.map +1 -0
  278. package/dist/prompt/skills/afs/list.cjs +69 -0
  279. package/dist/prompt/skills/afs/list.mjs +69 -0
  280. package/dist/prompt/skills/afs/list.mjs.map +1 -0
  281. package/dist/prompt/skills/afs/read.cjs +86 -0
  282. package/dist/prompt/skills/afs/read.mjs +86 -0
  283. package/dist/prompt/skills/afs/read.mjs.map +1 -0
  284. package/dist/prompt/skills/afs/rename.cjs +53 -0
  285. package/dist/prompt/skills/afs/rename.mjs +53 -0
  286. package/dist/prompt/skills/afs/rename.mjs.map +1 -0
  287. package/dist/prompt/skills/afs/search.cjs +63 -0
  288. package/dist/prompt/skills/afs/search.mjs +63 -0
  289. package/dist/prompt/skills/afs/search.mjs.map +1 -0
  290. package/dist/prompt/skills/afs/write.cjs +51 -0
  291. package/dist/prompt/skills/afs/write.mjs +51 -0
  292. package/dist/prompt/skills/afs/write.mjs.map +1 -0
  293. package/dist/prompt/template.cjs +229 -0
  294. package/dist/prompt/template.d.cts +247 -0
  295. package/dist/prompt/template.d.cts.map +1 -0
  296. package/dist/prompt/template.d.mts +247 -0
  297. package/dist/prompt/template.d.mts.map +1 -0
  298. package/dist/prompt/template.mjs +219 -0
  299. package/dist/prompt/template.mjs.map +1 -0
  300. package/dist/utils/agent-utils.cjs +49 -0
  301. package/dist/utils/agent-utils.d.cts +22 -0
  302. package/dist/utils/agent-utils.d.cts.map +1 -0
  303. package/dist/utils/agent-utils.d.mts +22 -0
  304. package/dist/utils/agent-utils.d.mts.map +1 -0
  305. package/dist/utils/agent-utils.mjs +46 -0
  306. package/dist/utils/agent-utils.mjs.map +1 -0
  307. package/dist/utils/camelize.cjs +34 -0
  308. package/dist/utils/camelize.d.cts +9 -0
  309. package/dist/utils/camelize.d.cts.map +1 -0
  310. package/dist/utils/camelize.d.mts +9 -0
  311. package/dist/utils/camelize.d.mts.map +1 -0
  312. package/dist/utils/camelize.mjs +33 -0
  313. package/dist/utils/camelize.mjs.map +1 -0
  314. package/dist/utils/event-stream.cjs +136 -0
  315. package/dist/utils/event-stream.d.cts +20 -0
  316. package/dist/utils/event-stream.d.cts.map +1 -0
  317. package/dist/utils/event-stream.d.mts +20 -0
  318. package/dist/utils/event-stream.d.mts.map +1 -0
  319. package/dist/utils/event-stream.mjs +133 -0
  320. package/dist/utils/event-stream.mjs.map +1 -0
  321. package/dist/utils/fetch.cjs +32 -0
  322. package/dist/utils/fetch.d.cts +8 -0
  323. package/dist/utils/fetch.d.cts.map +1 -0
  324. package/dist/utils/fetch.d.mts +8 -0
  325. package/dist/utils/fetch.d.mts.map +1 -0
  326. package/dist/utils/fetch.mjs +32 -0
  327. package/dist/utils/fetch.mjs.map +1 -0
  328. package/dist/utils/json-schema.cjs +107 -0
  329. package/dist/utils/json-schema.d.cts +20 -0
  330. package/dist/utils/json-schema.d.cts.map +1 -0
  331. package/dist/utils/json-schema.d.mts +20 -0
  332. package/dist/utils/json-schema.d.mts.map +1 -0
  333. package/dist/utils/json-schema.mjs +102 -0
  334. package/dist/utils/json-schema.mjs.map +1 -0
  335. package/dist/utils/json-utils.cjs +46 -0
  336. package/dist/utils/json-utils.d.cts +28 -0
  337. package/dist/utils/json-utils.d.cts.map +1 -0
  338. package/dist/utils/json-utils.d.mts +28 -0
  339. package/dist/utils/json-utils.d.mts.map +1 -0
  340. package/dist/utils/json-utils.mjs +44 -0
  341. package/dist/utils/json-utils.mjs.map +1 -0
  342. package/dist/utils/logger.cjs +72 -0
  343. package/dist/utils/logger.d.cts +41 -0
  344. package/dist/utils/logger.d.cts.map +1 -0
  345. package/dist/utils/logger.d.mts +41 -0
  346. package/dist/utils/logger.d.mts.map +1 -0
  347. package/dist/utils/logger.mjs +68 -0
  348. package/dist/utils/logger.mjs.map +1 -0
  349. package/dist/utils/mcp-utils.cjs +53 -0
  350. package/dist/utils/mcp-utils.d.cts +10 -0
  351. package/dist/utils/mcp-utils.d.cts.map +1 -0
  352. package/dist/utils/mcp-utils.d.mts +10 -0
  353. package/dist/utils/mcp-utils.d.mts.map +1 -0
  354. package/dist/utils/mcp-utils.mjs +51 -0
  355. package/dist/utils/mcp-utils.mjs.map +1 -0
  356. package/dist/utils/model-utils.cjs +12 -0
  357. package/dist/utils/model-utils.d.cts +8 -0
  358. package/dist/utils/model-utils.d.cts.map +1 -0
  359. package/dist/utils/model-utils.d.mts +8 -0
  360. package/dist/utils/model-utils.d.mts.map +1 -0
  361. package/dist/utils/model-utils.mjs +12 -0
  362. package/dist/utils/model-utils.mjs.map +1 -0
  363. package/dist/utils/promise.cjs +17 -0
  364. package/dist/utils/promise.d.cts +10 -0
  365. package/dist/utils/promise.d.cts.map +1 -0
  366. package/dist/utils/promise.d.mts +10 -0
  367. package/dist/utils/promise.d.mts.map +1 -0
  368. package/dist/utils/promise.mjs +17 -0
  369. package/dist/utils/promise.mjs.map +1 -0
  370. package/dist/utils/prompts.cjs +19 -0
  371. package/dist/utils/prompts.d.cts +6 -0
  372. package/dist/utils/prompts.d.cts.map +1 -0
  373. package/dist/utils/prompts.d.mts +6 -0
  374. package/dist/utils/prompts.d.mts.map +1 -0
  375. package/dist/utils/prompts.mjs +18 -0
  376. package/dist/utils/prompts.mjs.map +1 -0
  377. package/dist/utils/queue.cjs +273 -0
  378. package/dist/utils/queue.d.cts +60 -0
  379. package/dist/utils/queue.d.cts.map +1 -0
  380. package/dist/utils/queue.d.mts +60 -0
  381. package/dist/utils/queue.d.mts.map +1 -0
  382. package/dist/utils/queue.mjs +271 -0
  383. package/dist/utils/queue.mjs.map +1 -0
  384. package/dist/utils/role-utils.cjs +40 -0
  385. package/dist/utils/role-utils.d.cts +32 -0
  386. package/dist/utils/role-utils.d.cts.map +1 -0
  387. package/dist/utils/role-utils.d.mts +32 -0
  388. package/dist/utils/role-utils.d.mts.map +1 -0
  389. package/dist/utils/role-utils.mjs +38 -0
  390. package/dist/utils/role-utils.mjs.map +1 -0
  391. package/dist/utils/stream-polyfill.cjs +37 -0
  392. package/dist/utils/stream-polyfill.d.cts +1 -0
  393. package/dist/utils/stream-polyfill.d.mts +1 -0
  394. package/dist/utils/stream-polyfill.mjs +38 -0
  395. package/dist/utils/stream-polyfill.mjs.map +1 -0
  396. package/dist/utils/stream-utils.cjs +187 -0
  397. package/dist/utils/stream-utils.d.cts +30 -0
  398. package/dist/utils/stream-utils.d.cts.map +1 -0
  399. package/dist/utils/stream-utils.d.mts +30 -0
  400. package/dist/utils/stream-utils.d.mts.map +1 -0
  401. package/dist/utils/stream-utils.mjs +174 -0
  402. package/dist/utils/stream-utils.mjs.map +1 -0
  403. package/dist/utils/structured-stream-extractor.cjs +63 -0
  404. package/dist/utils/structured-stream-extractor.d.cts +23 -0
  405. package/dist/utils/structured-stream-extractor.d.cts.map +1 -0
  406. package/dist/utils/structured-stream-extractor.d.mts +23 -0
  407. package/dist/utils/structured-stream-extractor.d.mts.map +1 -0
  408. package/dist/utils/structured-stream-extractor.mjs +64 -0
  409. package/dist/utils/structured-stream-extractor.mjs.map +1 -0
  410. package/dist/utils/test/agent-response.cjs +16 -0
  411. package/dist/utils/test/agent-response.d.cts +12 -0
  412. package/dist/utils/test/agent-response.d.cts.map +1 -0
  413. package/dist/utils/test/agent-response.d.mts +13 -0
  414. package/dist/utils/test/agent-response.d.mts.map +1 -0
  415. package/dist/utils/test/agent-response.mjs +17 -0
  416. package/dist/utils/test/agent-response.mjs.map +1 -0
  417. package/dist/utils/test/openai-like-utils.cjs +73 -0
  418. package/dist/utils/test/openai-like-utils.d.cts +13 -0
  419. package/dist/utils/test/openai-like-utils.d.cts.map +1 -0
  420. package/dist/utils/test/openai-like-utils.d.mts +14 -0
  421. package/dist/utils/test/openai-like-utils.d.mts.map +1 -0
  422. package/dist/utils/test/openai-like-utils.mjs +68 -0
  423. package/dist/utils/test/openai-like-utils.mjs.map +1 -0
  424. package/dist/utils/token-estimator.cjs +57 -0
  425. package/dist/utils/token-estimator.d.cts +13 -0
  426. package/dist/utils/token-estimator.d.cts.map +1 -0
  427. package/dist/utils/token-estimator.d.mts +13 -0
  428. package/dist/utils/token-estimator.d.mts.map +1 -0
  429. package/dist/utils/token-estimator.mjs +57 -0
  430. package/dist/utils/token-estimator.mjs.map +1 -0
  431. package/dist/utils/type-utils.cjs +159 -0
  432. package/dist/utils/type-utils.d.cts +32 -0
  433. package/dist/utils/type-utils.d.cts.map +1 -0
  434. package/dist/utils/type-utils.d.mts +32 -0
  435. package/dist/utils/type-utils.d.mts.map +1 -0
  436. package/dist/utils/type-utils.mjs +141 -0
  437. package/dist/utils/type-utils.mjs.map +1 -0
  438. package/dist/utils/typed-event-emitter.cjs +0 -0
  439. package/dist/utils/typed-event-emitter.d.cts +13 -0
  440. package/dist/utils/typed-event-emitter.d.cts.map +1 -0
  441. package/dist/utils/typed-event-emitter.d.mts +13 -0
  442. package/dist/utils/typed-event-emitter.d.mts.map +1 -0
  443. package/dist/utils/typed-event-emitter.mjs +1 -0
  444. package/package.json +143 -62
  445. package/CHANGELOG.md +0 -2584
  446. package/lib/cjs/agents/agent.d.ts +0 -961
  447. package/lib/cjs/agents/agent.js +0 -961
  448. package/lib/cjs/agents/ai-agent.d.ts +0 -395
  449. package/lib/cjs/agents/ai-agent.js +0 -572
  450. package/lib/cjs/agents/chat-model.d.ts +0 -672
  451. package/lib/cjs/agents/chat-model.js +0 -457
  452. package/lib/cjs/agents/guide-rail-agent.d.ts +0 -62
  453. package/lib/cjs/agents/guide-rail-agent.js +0 -14
  454. package/lib/cjs/agents/image-agent.d.ts +0 -38
  455. package/lib/cjs/agents/image-agent.js +0 -71
  456. package/lib/cjs/agents/image-model.d.ts +0 -270
  457. package/lib/cjs/agents/image-model.js +0 -91
  458. package/lib/cjs/agents/mcp-agent.d.ts +0 -231
  459. package/lib/cjs/agents/mcp-agent.js +0 -366
  460. package/lib/cjs/agents/model.d.ts +0 -252
  461. package/lib/cjs/agents/model.js +0 -180
  462. package/lib/cjs/agents/team-agent.d.ts +0 -382
  463. package/lib/cjs/agents/team-agent.js +0 -386
  464. package/lib/cjs/agents/transform-agent.d.ts +0 -94
  465. package/lib/cjs/agents/transform-agent.js +0 -80
  466. package/lib/cjs/agents/types.d.ts +0 -31
  467. package/lib/cjs/agents/types.js +0 -40
  468. package/lib/cjs/agents/user-agent.d.ts +0 -27
  469. package/lib/cjs/agents/user-agent.js +0 -90
  470. package/lib/cjs/agents/video-model.d.ts +0 -280
  471. package/lib/cjs/agents/video-model.js +0 -67
  472. package/lib/cjs/aigne/aigne.d.ts +0 -335
  473. package/lib/cjs/aigne/aigne.js +0 -248
  474. package/lib/cjs/aigne/context.d.ts +0 -220
  475. package/lib/cjs/aigne/context.js +0 -423
  476. package/lib/cjs/aigne/index.d.ts +0 -4
  477. package/lib/cjs/aigne/index.js +0 -20
  478. package/lib/cjs/aigne/message-queue.d.ts +0 -48
  479. package/lib/cjs/aigne/message-queue.js +0 -109
  480. package/lib/cjs/aigne/type.d.ts +0 -26
  481. package/lib/cjs/aigne/type.js +0 -2
  482. package/lib/cjs/aigne/usage.d.ts +0 -28
  483. package/lib/cjs/aigne/usage.js +0 -34
  484. package/lib/cjs/index.d.ts +0 -21
  485. package/lib/cjs/index.js +0 -37
  486. package/lib/cjs/loader/agent-js.d.ts +0 -2
  487. package/lib/cjs/loader/agent-js.js +0 -21
  488. package/lib/cjs/loader/agent-yaml.d.ts +0 -78
  489. package/lib/cjs/loader/agent-yaml.js +0 -120
  490. package/lib/cjs/loader/agents.d.ts +0 -4
  491. package/lib/cjs/loader/agents.js +0 -17
  492. package/lib/cjs/loader/error.d.ts +0 -2
  493. package/lib/cjs/loader/error.js +0 -6
  494. package/lib/cjs/loader/function-agent.d.ts +0 -2
  495. package/lib/cjs/loader/function-agent.js +0 -7
  496. package/lib/cjs/loader/index.d.ts +0 -247
  497. package/lib/cjs/loader/index.js +0 -266
  498. package/lib/cjs/loader/schema.d.ts +0 -167
  499. package/lib/cjs/loader/schema.js +0 -162
  500. package/lib/cjs/memory/index.d.ts +0 -3
  501. package/lib/cjs/memory/index.js +0 -19
  502. package/lib/cjs/memory/memory.d.ts +0 -93
  503. package/lib/cjs/memory/memory.js +0 -147
  504. package/lib/cjs/memory/recorder.d.ts +0 -93
  505. package/lib/cjs/memory/recorder.js +0 -63
  506. package/lib/cjs/memory/retriever.d.ts +0 -106
  507. package/lib/cjs/memory/retriever.js +0 -60
  508. package/lib/cjs/package.json +0 -3
  509. package/lib/cjs/prompt/agent-session.d.ts +0 -163
  510. package/lib/cjs/prompt/agent-session.js +0 -1008
  511. package/lib/cjs/prompt/compact/compactor.d.ts +0 -7
  512. package/lib/cjs/prompt/compact/compactor.js +0 -52
  513. package/lib/cjs/prompt/compact/session-memory-extractor.d.ts +0 -7
  514. package/lib/cjs/prompt/compact/session-memory-extractor.js +0 -143
  515. package/lib/cjs/prompt/compact/types.d.ts +0 -336
  516. package/lib/cjs/prompt/compact/types.js +0 -53
  517. package/lib/cjs/prompt/compact/user-memory-extractor.d.ts +0 -7
  518. package/lib/cjs/prompt/compact/user-memory-extractor.js +0 -124
  519. package/lib/cjs/prompt/context/afs/history.d.ts +0 -9
  520. package/lib/cjs/prompt/context/afs/history.js +0 -33
  521. package/lib/cjs/prompt/context/afs/index.d.ts +0 -20
  522. package/lib/cjs/prompt/context/afs/index.js +0 -54
  523. package/lib/cjs/prompt/context/index.d.ts +0 -31
  524. package/lib/cjs/prompt/context/index.js +0 -18
  525. package/lib/cjs/prompt/filters/index.d.ts +0 -2
  526. package/lib/cjs/prompt/filters/index.js +0 -51
  527. package/lib/cjs/prompt/prompt-builder.d.ts +0 -50
  528. package/lib/cjs/prompt/prompt-builder.js +0 -352
  529. package/lib/cjs/prompt/prompts/afs-builtin-prompt.d.ts +0 -4
  530. package/lib/cjs/prompt/prompts/afs-builtin-prompt.js +0 -36
  531. package/lib/cjs/prompt/prompts/memory-message-template.d.ts +0 -1
  532. package/lib/cjs/prompt/prompts/memory-message-template.js +0 -8
  533. package/lib/cjs/prompt/prompts/structured-stream-instructions.d.ts +0 -7
  534. package/lib/cjs/prompt/prompts/structured-stream-instructions.js +0 -27
  535. package/lib/cjs/prompt/skills/afs/agent-skill/agent-skill.d.ts +0 -19
  536. package/lib/cjs/prompt/skills/afs/agent-skill/agent-skill.js +0 -69
  537. package/lib/cjs/prompt/skills/afs/agent-skill/skill-loader.d.ts +0 -12
  538. package/lib/cjs/prompt/skills/afs/agent-skill/skill-loader.js +0 -50
  539. package/lib/cjs/prompt/skills/afs/base.d.ts +0 -4
  540. package/lib/cjs/prompt/skills/afs/base.js +0 -8
  541. package/lib/cjs/prompt/skills/afs/delete.d.ts +0 -19
  542. package/lib/cjs/prompt/skills/afs/delete.js +0 -54
  543. package/lib/cjs/prompt/skills/afs/edit.d.ts +0 -24
  544. package/lib/cjs/prompt/skills/afs/edit.js +0 -124
  545. package/lib/cjs/prompt/skills/afs/exec.d.ts +0 -16
  546. package/lib/cjs/prompt/skills/afs/exec.js +0 -43
  547. package/lib/cjs/prompt/skills/afs/index.d.ts +0 -3
  548. package/lib/cjs/prompt/skills/afs/index.js +0 -26
  549. package/lib/cjs/prompt/skills/afs/list.d.ts +0 -24
  550. package/lib/cjs/prompt/skills/afs/list.js +0 -81
  551. package/lib/cjs/prompt/skills/afs/read.d.ts +0 -28
  552. package/lib/cjs/prompt/skills/afs/read.js +0 -105
  553. package/lib/cjs/prompt/skills/afs/rename.d.ts +0 -21
  554. package/lib/cjs/prompt/skills/afs/rename.js +0 -59
  555. package/lib/cjs/prompt/skills/afs/search.d.ts +0 -24
  556. package/lib/cjs/prompt/skills/afs/search.js +0 -71
  557. package/lib/cjs/prompt/skills/afs/write.d.ts +0 -20
  558. package/lib/cjs/prompt/skills/afs/write.js +0 -59
  559. package/lib/cjs/prompt/template.d.ts +0 -243
  560. package/lib/cjs/prompt/template.js +0 -265
  561. package/lib/cjs/utils/agent-utils.d.ts +0 -13
  562. package/lib/cjs/utils/agent-utils.js +0 -60
  563. package/lib/cjs/utils/camelize.d.ts +0 -7
  564. package/lib/cjs/utils/camelize.js +0 -38
  565. package/lib/cjs/utils/event-stream.d.ts +0 -15
  566. package/lib/cjs/utils/event-stream.js +0 -158
  567. package/lib/cjs/utils/fetch.d.ts +0 -4
  568. package/lib/cjs/utils/fetch.js +0 -36
  569. package/lib/cjs/utils/json-schema.d.ts +0 -15
  570. package/lib/cjs/utils/json-schema.js +0 -123
  571. package/lib/cjs/utils/json-utils.d.ts +0 -24
  572. package/lib/cjs/utils/json-utils.js +0 -48
  573. package/lib/cjs/utils/logger.d.ts +0 -39
  574. package/lib/cjs/utils/logger.js +0 -81
  575. package/lib/cjs/utils/mcp-utils.d.ts +0 -5
  576. package/lib/cjs/utils/mcp-utils.js +0 -52
  577. package/lib/cjs/utils/model-utils.d.ts +0 -3
  578. package/lib/cjs/utils/model-utils.js +0 -10
  579. package/lib/cjs/utils/promise.d.ts +0 -6
  580. package/lib/cjs/utils/promise.js +0 -12
  581. package/lib/cjs/utils/prompts.d.ts +0 -2
  582. package/lib/cjs/utils/prompts.js +0 -22
  583. package/lib/cjs/utils/queue.d.ts +0 -57
  584. package/lib/cjs/utils/queue.js +0 -318
  585. package/lib/cjs/utils/role-utils.d.ts +0 -31
  586. package/lib/cjs/utils/role-utils.js +0 -37
  587. package/lib/cjs/utils/stream-polyfill.d.ts +0 -1
  588. package/lib/cjs/utils/stream-polyfill.js +0 -38
  589. package/lib/cjs/utils/stream-utils.d.ts +0 -26
  590. package/lib/cjs/utils/stream-utils.js +0 -235
  591. package/lib/cjs/utils/structured-stream-extractor.d.ts +0 -14
  592. package/lib/cjs/utils/structured-stream-extractor.js +0 -68
  593. package/lib/cjs/utils/token-estimator.d.ts +0 -9
  594. package/lib/cjs/utils/token-estimator.js +0 -66
  595. package/lib/cjs/utils/type-utils.d.ts +0 -31
  596. package/lib/cjs/utils/type-utils.js +0 -202
  597. package/lib/cjs/utils/typed-event-emitter.d.ts +0 -10
  598. package/lib/cjs/utils/typed-event-emitter.js +0 -2
  599. package/lib/dts/agents/agent.d.ts +0 -961
  600. package/lib/dts/agents/ai-agent.d.ts +0 -395
  601. package/lib/dts/agents/chat-model.d.ts +0 -672
  602. package/lib/dts/agents/guide-rail-agent.d.ts +0 -62
  603. package/lib/dts/agents/image-agent.d.ts +0 -38
  604. package/lib/dts/agents/image-model.d.ts +0 -270
  605. package/lib/dts/agents/mcp-agent.d.ts +0 -231
  606. package/lib/dts/agents/model.d.ts +0 -252
  607. package/lib/dts/agents/team-agent.d.ts +0 -382
  608. package/lib/dts/agents/transform-agent.d.ts +0 -94
  609. package/lib/dts/agents/types.d.ts +0 -31
  610. package/lib/dts/agents/user-agent.d.ts +0 -27
  611. package/lib/dts/agents/video-model.d.ts +0 -280
  612. package/lib/dts/aigne/aigne.d.ts +0 -335
  613. package/lib/dts/aigne/context.d.ts +0 -220
  614. package/lib/dts/aigne/index.d.ts +0 -4
  615. package/lib/dts/aigne/message-queue.d.ts +0 -48
  616. package/lib/dts/aigne/type.d.ts +0 -26
  617. package/lib/dts/aigne/usage.d.ts +0 -28
  618. package/lib/dts/index.d.ts +0 -21
  619. package/lib/dts/loader/agent-js.d.ts +0 -2
  620. package/lib/dts/loader/agent-yaml.d.ts +0 -78
  621. package/lib/dts/loader/agents.d.ts +0 -4
  622. package/lib/dts/loader/error.d.ts +0 -2
  623. package/lib/dts/loader/function-agent.d.ts +0 -2
  624. package/lib/dts/loader/index.d.ts +0 -247
  625. package/lib/dts/loader/schema.d.ts +0 -167
  626. package/lib/dts/memory/index.d.ts +0 -3
  627. package/lib/dts/memory/memory.d.ts +0 -93
  628. package/lib/dts/memory/recorder.d.ts +0 -93
  629. package/lib/dts/memory/retriever.d.ts +0 -106
  630. package/lib/dts/prompt/agent-session.d.ts +0 -163
  631. package/lib/dts/prompt/compact/compactor.d.ts +0 -7
  632. package/lib/dts/prompt/compact/session-memory-extractor.d.ts +0 -7
  633. package/lib/dts/prompt/compact/types.d.ts +0 -336
  634. package/lib/dts/prompt/compact/user-memory-extractor.d.ts +0 -7
  635. package/lib/dts/prompt/context/afs/history.d.ts +0 -9
  636. package/lib/dts/prompt/context/afs/index.d.ts +0 -20
  637. package/lib/dts/prompt/context/index.d.ts +0 -31
  638. package/lib/dts/prompt/filters/index.d.ts +0 -2
  639. package/lib/dts/prompt/prompt-builder.d.ts +0 -50
  640. package/lib/dts/prompt/prompts/afs-builtin-prompt.d.ts +0 -4
  641. package/lib/dts/prompt/prompts/memory-message-template.d.ts +0 -1
  642. package/lib/dts/prompt/prompts/structured-stream-instructions.d.ts +0 -7
  643. package/lib/dts/prompt/skills/afs/agent-skill/agent-skill.d.ts +0 -19
  644. package/lib/dts/prompt/skills/afs/agent-skill/skill-loader.d.ts +0 -12
  645. package/lib/dts/prompt/skills/afs/base.d.ts +0 -4
  646. package/lib/dts/prompt/skills/afs/delete.d.ts +0 -19
  647. package/lib/dts/prompt/skills/afs/edit.d.ts +0 -24
  648. package/lib/dts/prompt/skills/afs/exec.d.ts +0 -16
  649. package/lib/dts/prompt/skills/afs/index.d.ts +0 -3
  650. package/lib/dts/prompt/skills/afs/list.d.ts +0 -24
  651. package/lib/dts/prompt/skills/afs/read.d.ts +0 -28
  652. package/lib/dts/prompt/skills/afs/rename.d.ts +0 -21
  653. package/lib/dts/prompt/skills/afs/search.d.ts +0 -24
  654. package/lib/dts/prompt/skills/afs/write.d.ts +0 -20
  655. package/lib/dts/prompt/template.d.ts +0 -243
  656. package/lib/dts/utils/agent-utils.d.ts +0 -13
  657. package/lib/dts/utils/camelize.d.ts +0 -7
  658. package/lib/dts/utils/event-stream.d.ts +0 -15
  659. package/lib/dts/utils/fetch.d.ts +0 -4
  660. package/lib/dts/utils/json-schema.d.ts +0 -15
  661. package/lib/dts/utils/json-utils.d.ts +0 -24
  662. package/lib/dts/utils/logger.d.ts +0 -39
  663. package/lib/dts/utils/mcp-utils.d.ts +0 -5
  664. package/lib/dts/utils/model-utils.d.ts +0 -3
  665. package/lib/dts/utils/promise.d.ts +0 -6
  666. package/lib/dts/utils/prompts.d.ts +0 -2
  667. package/lib/dts/utils/queue.d.ts +0 -57
  668. package/lib/dts/utils/role-utils.d.ts +0 -31
  669. package/lib/dts/utils/stream-polyfill.d.ts +0 -1
  670. package/lib/dts/utils/stream-utils.d.ts +0 -26
  671. package/lib/dts/utils/structured-stream-extractor.d.ts +0 -14
  672. package/lib/dts/utils/token-estimator.d.ts +0 -9
  673. package/lib/dts/utils/type-utils.d.ts +0 -31
  674. package/lib/dts/utils/typed-event-emitter.d.ts +0 -10
  675. package/lib/esm/agents/agent.d.ts +0 -961
  676. package/lib/esm/agents/agent.js +0 -911
  677. package/lib/esm/agents/ai-agent.d.ts +0 -395
  678. package/lib/esm/agents/ai-agent.js +0 -535
  679. package/lib/esm/agents/chat-model.d.ts +0 -672
  680. package/lib/esm/agents/chat-model.js +0 -419
  681. package/lib/esm/agents/guide-rail-agent.d.ts +0 -62
  682. package/lib/esm/agents/guide-rail-agent.js +0 -11
  683. package/lib/esm/agents/image-agent.d.ts +0 -38
  684. package/lib/esm/agents/image-agent.js +0 -64
  685. package/lib/esm/agents/image-model.d.ts +0 -270
  686. package/lib/esm/agents/image-model.js +0 -87
  687. package/lib/esm/agents/mcp-agent.d.ts +0 -231
  688. package/lib/esm/agents/mcp-agent.js +0 -325
  689. package/lib/esm/agents/model.d.ts +0 -252
  690. package/lib/esm/agents/model.js +0 -143
  691. package/lib/esm/agents/team-agent.d.ts +0 -382
  692. package/lib/esm/agents/team-agent.js +0 -346
  693. package/lib/esm/agents/transform-agent.d.ts +0 -94
  694. package/lib/esm/agents/transform-agent.js +0 -73
  695. package/lib/esm/agents/types.d.ts +0 -31
  696. package/lib/esm/agents/types.js +0 -30
  697. package/lib/esm/agents/user-agent.d.ts +0 -27
  698. package/lib/esm/agents/user-agent.js +0 -86
  699. package/lib/esm/agents/video-model.d.ts +0 -280
  700. package/lib/esm/agents/video-model.js +0 -63
  701. package/lib/esm/aigne/aigne.d.ts +0 -335
  702. package/lib/esm/aigne/aigne.js +0 -244
  703. package/lib/esm/aigne/context.d.ts +0 -220
  704. package/lib/esm/aigne/context.js +0 -416
  705. package/lib/esm/aigne/index.d.ts +0 -4
  706. package/lib/esm/aigne/index.js +0 -4
  707. package/lib/esm/aigne/message-queue.d.ts +0 -48
  708. package/lib/esm/aigne/message-queue.js +0 -104
  709. package/lib/esm/aigne/type.d.ts +0 -26
  710. package/lib/esm/aigne/type.js +0 -1
  711. package/lib/esm/aigne/usage.d.ts +0 -28
  712. package/lib/esm/aigne/usage.js +0 -30
  713. package/lib/esm/index.d.ts +0 -21
  714. package/lib/esm/index.js +0 -21
  715. package/lib/esm/loader/agent-js.d.ts +0 -2
  716. package/lib/esm/loader/agent-js.js +0 -18
  717. package/lib/esm/loader/agent-yaml.d.ts +0 -78
  718. package/lib/esm/loader/agent-yaml.js +0 -113
  719. package/lib/esm/loader/agents.d.ts +0 -4
  720. package/lib/esm/loader/agents.js +0 -14
  721. package/lib/esm/loader/error.d.ts +0 -2
  722. package/lib/esm/loader/error.js +0 -2
  723. package/lib/esm/loader/function-agent.d.ts +0 -2
  724. package/lib/esm/loader/function-agent.js +0 -4
  725. package/lib/esm/loader/index.d.ts +0 -247
  726. package/lib/esm/loader/index.js +0 -258
  727. package/lib/esm/loader/schema.d.ts +0 -167
  728. package/lib/esm/loader/schema.js +0 -153
  729. package/lib/esm/memory/index.d.ts +0 -3
  730. package/lib/esm/memory/index.js +0 -3
  731. package/lib/esm/memory/memory.d.ts +0 -93
  732. package/lib/esm/memory/memory.js +0 -142
  733. package/lib/esm/memory/recorder.d.ts +0 -93
  734. package/lib/esm/memory/recorder.js +0 -59
  735. package/lib/esm/memory/retriever.d.ts +0 -106
  736. package/lib/esm/memory/retriever.js +0 -56
  737. package/lib/esm/package.json +0 -3
  738. package/lib/esm/prompt/agent-session.d.ts +0 -163
  739. package/lib/esm/prompt/agent-session.js +0 -968
  740. package/lib/esm/prompt/compact/compactor.d.ts +0 -7
  741. package/lib/esm/prompt/compact/compactor.js +0 -48
  742. package/lib/esm/prompt/compact/session-memory-extractor.d.ts +0 -7
  743. package/lib/esm/prompt/compact/session-memory-extractor.js +0 -139
  744. package/lib/esm/prompt/compact/types.d.ts +0 -336
  745. package/lib/esm/prompt/compact/types.js +0 -50
  746. package/lib/esm/prompt/compact/user-memory-extractor.d.ts +0 -7
  747. package/lib/esm/prompt/compact/user-memory-extractor.js +0 -120
  748. package/lib/esm/prompt/context/afs/history.d.ts +0 -9
  749. package/lib/esm/prompt/context/afs/history.js +0 -30
  750. package/lib/esm/prompt/context/afs/index.d.ts +0 -20
  751. package/lib/esm/prompt/context/afs/index.js +0 -51
  752. package/lib/esm/prompt/context/index.d.ts +0 -31
  753. package/lib/esm/prompt/context/index.js +0 -15
  754. package/lib/esm/prompt/filters/index.d.ts +0 -2
  755. package/lib/esm/prompt/filters/index.js +0 -15
  756. package/lib/esm/prompt/prompt-builder.d.ts +0 -50
  757. package/lib/esm/prompt/prompt-builder.js +0 -348
  758. package/lib/esm/prompt/prompts/afs-builtin-prompt.d.ts +0 -4
  759. package/lib/esm/prompt/prompts/afs-builtin-prompt.js +0 -32
  760. package/lib/esm/prompt/prompts/memory-message-template.d.ts +0 -1
  761. package/lib/esm/prompt/prompts/memory-message-template.js +0 -5
  762. package/lib/esm/prompt/prompts/structured-stream-instructions.d.ts +0 -7
  763. package/lib/esm/prompt/prompts/structured-stream-instructions.js +0 -24
  764. package/lib/esm/prompt/skills/afs/agent-skill/agent-skill.d.ts +0 -19
  765. package/lib/esm/prompt/skills/afs/agent-skill/agent-skill.js +0 -65
  766. package/lib/esm/prompt/skills/afs/agent-skill/skill-loader.d.ts +0 -12
  767. package/lib/esm/prompt/skills/afs/agent-skill/skill-loader.js +0 -43
  768. package/lib/esm/prompt/skills/afs/base.d.ts +0 -4
  769. package/lib/esm/prompt/skills/afs/base.js +0 -4
  770. package/lib/esm/prompt/skills/afs/delete.d.ts +0 -19
  771. package/lib/esm/prompt/skills/afs/delete.js +0 -50
  772. package/lib/esm/prompt/skills/afs/edit.d.ts +0 -24
  773. package/lib/esm/prompt/skills/afs/edit.js +0 -120
  774. package/lib/esm/prompt/skills/afs/exec.d.ts +0 -16
  775. package/lib/esm/prompt/skills/afs/exec.js +0 -39
  776. package/lib/esm/prompt/skills/afs/index.d.ts +0 -3
  777. package/lib/esm/prompt/skills/afs/index.js +0 -23
  778. package/lib/esm/prompt/skills/afs/list.d.ts +0 -24
  779. package/lib/esm/prompt/skills/afs/list.js +0 -77
  780. package/lib/esm/prompt/skills/afs/read.d.ts +0 -28
  781. package/lib/esm/prompt/skills/afs/read.js +0 -101
  782. package/lib/esm/prompt/skills/afs/rename.d.ts +0 -21
  783. package/lib/esm/prompt/skills/afs/rename.js +0 -55
  784. package/lib/esm/prompt/skills/afs/search.d.ts +0 -24
  785. package/lib/esm/prompt/skills/afs/search.js +0 -67
  786. package/lib/esm/prompt/skills/afs/write.d.ts +0 -20
  787. package/lib/esm/prompt/skills/afs/write.js +0 -55
  788. package/lib/esm/prompt/template.d.ts +0 -243
  789. package/lib/esm/prompt/template.js +0 -249
  790. package/lib/esm/utils/agent-utils.d.ts +0 -13
  791. package/lib/esm/utils/agent-utils.js +0 -54
  792. package/lib/esm/utils/camelize.d.ts +0 -7
  793. package/lib/esm/utils/camelize.js +0 -34
  794. package/lib/esm/utils/event-stream.d.ts +0 -15
  795. package/lib/esm/utils/event-stream.js +0 -151
  796. package/lib/esm/utils/fetch.d.ts +0 -4
  797. package/lib/esm/utils/fetch.js +0 -33
  798. package/lib/esm/utils/json-schema.d.ts +0 -15
  799. package/lib/esm/utils/json-schema.js +0 -114
  800. package/lib/esm/utils/json-utils.d.ts +0 -24
  801. package/lib/esm/utils/json-utils.js +0 -41
  802. package/lib/esm/utils/logger.d.ts +0 -39
  803. package/lib/esm/utils/logger.js +0 -73
  804. package/lib/esm/utils/mcp-utils.d.ts +0 -5
  805. package/lib/esm/utils/mcp-utils.js +0 -47
  806. package/lib/esm/utils/model-utils.d.ts +0 -3
  807. package/lib/esm/utils/model-utils.js +0 -7
  808. package/lib/esm/utils/promise.d.ts +0 -6
  809. package/lib/esm/utils/promise.js +0 -9
  810. package/lib/esm/utils/prompts.d.ts +0 -2
  811. package/lib/esm/utils/prompts.js +0 -18
  812. package/lib/esm/utils/queue.d.ts +0 -57
  813. package/lib/esm/utils/queue.js +0 -315
  814. package/lib/esm/utils/role-utils.d.ts +0 -31
  815. package/lib/esm/utils/role-utils.js +0 -33
  816. package/lib/esm/utils/stream-polyfill.d.ts +0 -1
  817. package/lib/esm/utils/stream-polyfill.js +0 -37
  818. package/lib/esm/utils/stream-utils.d.ts +0 -26
  819. package/lib/esm/utils/stream-utils.js +0 -217
  820. package/lib/esm/utils/structured-stream-extractor.d.ts +0 -14
  821. package/lib/esm/utils/structured-stream-extractor.js +0 -64
  822. package/lib/esm/utils/token-estimator.d.ts +0 -9
  823. package/lib/esm/utils/token-estimator.js +0 -63
  824. package/lib/esm/utils/type-utils.d.ts +0 -31
  825. package/lib/esm/utils/type-utils.js +0 -181
  826. package/lib/esm/utils/typed-event-emitter.d.ts +0 -10
  827. package/lib/esm/utils/typed-event-emitter.js +0 -1
@@ -0,0 +1,228 @@
1
+ import { isAgent } from "../utils/agent-utils.mjs";
2
+ import { flat, isNil, isNonNullable, omitBy, tryOrThrow } from "../utils/type-utils.mjs";
3
+ import { Agent } from "../agents/agent.mjs";
4
+ import { camelizeSchema, chatModelSchema, imageModelSchema, optionalize } from "./schema.mjs";
5
+ import { loadAgentFromYamlFile } from "./agent-yaml.mjs";
6
+ import { loadAgentFromJsFile } from "./agent-js.mjs";
7
+ import { builtinAgents } from "./agents.mjs";
8
+ import { AFS } from "@aigne/afs";
9
+ import { nodejs } from "@aigne/utils/nodejs";
10
+ import { parse } from "yaml";
11
+ import { z as z$1 } from "zod";
12
+
13
+ //#region src/loader/index.ts
14
+ const AIGNE_FILE_NAME = ["aigne.yaml", "aigne.yml"];
15
+ async function load(path, options = {}) {
16
+ const { aigne, rootDir } = await loadAIGNEFile(path);
17
+ const flatCliAgents = (cliAgent) => {
18
+ if (typeof cliAgent === "string") return [cliAgent];
19
+ return flat(cliAgent.url, cliAgent.agents?.flatMap(flatCliAgents));
20
+ };
21
+ const allAgentPaths = new Set(flat(aigne.agents, aigne.skills, aigne.mcpServer?.agents, aigne.cli?.init, aigne.cli?.chat, aigne.cli?.agents?.flatMap((i) => typeof i === "string" ? i : flatCliAgents(i))).map((i) => nodejs.path.join(rootDir, i)));
22
+ const allAgents = {};
23
+ for (const path$1 of allAgentPaths) allAgents[path$1] = await loadAgent(path$1, {
24
+ ...options,
25
+ aigne
26
+ });
27
+ const pickAgent = (path$1) => allAgents[nodejs.path.join(rootDir, path$1)];
28
+ const pickAgents = (paths) => paths.map((filename) => pickAgent(filename)).filter(isNonNullable);
29
+ const mapCliAgents = (cliAgent) => {
30
+ if (typeof cliAgent === "string") return { agent: pickAgent(cliAgent) };
31
+ return {
32
+ ...cliAgent,
33
+ agent: cliAgent.url ? pickAgent(cliAgent.url) : void 0,
34
+ agents: cliAgent.agents?.map(mapCliAgents)
35
+ };
36
+ };
37
+ return {
38
+ ...aigne,
39
+ rootDir,
40
+ model: typeof options.model === "function" ? await options.model(aigne.model) : options.model,
41
+ imageModel: typeof options.imageModel === "function" ? aigne.imageModel ? await options.imageModel(aigne.imageModel) : void 0 : options.imageModel,
42
+ agents: pickAgents(aigne.agents ?? []),
43
+ skills: pickAgents(aigne.skills ?? []),
44
+ mcpServer: { agents: pickAgents(aigne.mcpServer?.agents ?? []) },
45
+ cli: {
46
+ init: aigne.cli?.init ? pickAgents([aigne.cli.init])[0] : void 0,
47
+ chat: aigne.cli?.chat ? pickAgents([aigne.cli.chat])[0] : void 0,
48
+ agents: aigne.cli?.agents?.map(mapCliAgents)
49
+ }
50
+ };
51
+ }
52
+ async function loadAgent(path, options, agentOptions) {
53
+ if ([
54
+ ".js",
55
+ ".mjs",
56
+ ".ts",
57
+ ".mts"
58
+ ].includes(nodejs.path.extname(path))) {
59
+ const agent = await loadAgentFromJsFile(path, options);
60
+ if (agent instanceof Agent) return agent;
61
+ return parseAgent(path, agent, options, agentOptions);
62
+ }
63
+ if ([".yml", ".yaml"].includes(nodejs.path.extname(path))) return parseAgent(path, await loadAgentFromYamlFile(path, options), options, agentOptions);
64
+ throw new Error(`Unsupported agent file type: ${path}`);
65
+ }
66
+ async function loadNestAgent(path, agent, options, agentOptions) {
67
+ return typeof agent === "object" && "type" in agent ? parseAgent(path, agent, options, agentOptions) : typeof agent === "string" ? loadAgent(nodejs.path.join(nodejs.path.dirname(path), agent), options, agentOptions) : loadAgent(nodejs.path.join(nodejs.path.dirname(path), agent.url), options, {
68
+ ...agentOptions,
69
+ defaultInput: agent.defaultInput,
70
+ hooks: await parseHooks(path, agent.hooks, options)
71
+ });
72
+ }
73
+ async function parseHooks(path, hooks, options) {
74
+ hooks = [hooks].flat().filter(isNonNullable);
75
+ if (!hooks.length) return void 0;
76
+ return await Promise.all(hooks.map(async (hook) => ({
77
+ priority: hook.priority,
78
+ onStart: hook.onStart ? await loadNestAgent(path, hook.onStart, options) : void 0,
79
+ onSuccess: hook.onSuccess ? await loadNestAgent(path, hook.onSuccess, options) : void 0,
80
+ onError: hook.onError ? await loadNestAgent(path, hook.onError, options) : void 0,
81
+ onEnd: hook.onEnd ? await loadNestAgent(path, hook.onEnd, options) : void 0,
82
+ onSkillStart: hook.onSkillStart ? await loadNestAgent(path, hook.onSkillStart, options) : void 0,
83
+ onSkillEnd: hook.onSkillEnd ? await loadNestAgent(path, hook.onSkillEnd, options) : void 0,
84
+ onHandoff: hook.onHandoff ? await loadNestAgent(path, hook.onHandoff, options) : void 0
85
+ })));
86
+ }
87
+ async function loadSkills(path, skills, options) {
88
+ const loadedSkills = [];
89
+ for (const skill of skills) loadedSkills.push(await loadNestAgent(path, skill, options));
90
+ return loadedSkills;
91
+ }
92
+ async function parseAgent(path, agent, options, agentOptions) {
93
+ if (isAgent(agent)) return agent;
94
+ const memory = "memory" in agent && options?.memories?.length ? await loadMemory(options.memories, typeof agent.memory === "object" ? agent.memory.provider : void 0, typeof agent.memory === "object" ? agent.memory : {}) : void 0;
95
+ let afs;
96
+ if (agent.afs !== false && (!agent.afs || agent.afs === true) && options?.afs?.sharedAFS) afs = options.afs.sharedAFS;
97
+ else if (agent.afs === true) afs = new AFS();
98
+ else if (agent.afs) {
99
+ afs = new AFS({});
100
+ const loadAFSContextPresets = async (presets) => {
101
+ return Object.fromEntries(await Promise.all(Object.entries(presets).map(async ([key, value]) => {
102
+ const [select, per, dedupe] = await Promise.all([
103
+ value.select,
104
+ value.per,
105
+ value.dedupe
106
+ ].map(async (item) => {
107
+ if (!item?.agent) return void 0;
108
+ const agent$1 = await loadNestAgent(path, item.agent, options, { afs });
109
+ return { invoke: (input, options$1) => options$1.context.invoke(agent$1, input, {
110
+ ...options$1,
111
+ streaming: false
112
+ }) };
113
+ }));
114
+ return [key, {
115
+ ...value,
116
+ select,
117
+ per,
118
+ dedupe
119
+ }];
120
+ })));
121
+ };
122
+ const context = {
123
+ search: { presets: await loadAFSContextPresets(agent.afs.context?.search?.presets || {}) },
124
+ list: { presets: await loadAFSContextPresets(agent.afs.context?.list?.presets || {}) }
125
+ };
126
+ afs.options.context = context;
127
+ for (const m of agent.afs.modules || []) {
128
+ const moduleName = typeof m === "string" ? m : m.module;
129
+ const mod = options?.afs?.availableModules?.find((mod$1) => mod$1.module === moduleName || mod$1.alias?.includes(moduleName));
130
+ if (!mod) throw new Error(`AFS module not found: ${typeof m === "string" ? m : m.module}`);
131
+ const module = await mod.load({
132
+ filepath: path,
133
+ parsed: typeof m === "string" ? {} : m.options
134
+ });
135
+ afs.mount(module);
136
+ }
137
+ }
138
+ const skills = "skills" in agent && agent.skills ? await loadSkills(path, agent.skills, {
139
+ ...options,
140
+ afs: {
141
+ ...options?.afs,
142
+ sharedAFS: agent.shareAFS && afs || options?.afs?.sharedAFS
143
+ }
144
+ }) : [];
145
+ const model = agent.model && typeof options?.model === "function" ? await options.model({
146
+ ...options.aigne?.model,
147
+ ...omitBy(agent.model, (v) => isNil(v))
148
+ }) : void 0;
149
+ const imageModel = agent.imageModel && typeof options?.imageModel === "function" ? await options.imageModel({
150
+ ...options.aigne?.imageModel,
151
+ ...omitBy(agent.imageModel, (v) => isNil(v))
152
+ }) : void 0;
153
+ const baseOptions = {
154
+ ...agentOptions,
155
+ ...agent,
156
+ model,
157
+ imageModel,
158
+ memory,
159
+ hooks: [...await parseHooks(path, agent.hooks, options) ?? [], ...[agentOptions?.hooks].flat().filter(isNonNullable)],
160
+ skills: [...agentOptions?.skills || [], ...skills],
161
+ afs: afs || agentOptions?.afs
162
+ };
163
+ let agentClass = builtinAgents[agent.type];
164
+ if (!agentClass) {
165
+ if (!options?.require) throw new Error(`Module loader is not provided to load agent type module ${agent.type} from ${path}`);
166
+ const Mod = await options.require(agent.type, { parent: path });
167
+ if (typeof Mod?.default?.prototype?.constructor !== "function") throw new Error(`The agent type module ${agent.type} does not export a default Agent class`);
168
+ agentClass = Mod.default;
169
+ }
170
+ if (!agentClass) throw new Error(`Unsupported agent type: ${agent.type} from ${path}`);
171
+ return await agentClass.load({
172
+ filepath: path,
173
+ parsed: baseOptions,
174
+ options: {
175
+ ...options,
176
+ loadNestAgent
177
+ }
178
+ });
179
+ }
180
+ async function loadMemory(memories, provider, options) {
181
+ const M = !provider ? memories[0] : memories.find((i) => i.name.toLowerCase().includes(provider.toLowerCase()));
182
+ if (!M) throw new Error(`Unsupported memory: ${provider}`);
183
+ return new M(options);
184
+ }
185
+ const cliAgentSchema = z$1.union([z$1.string(), z$1.object({
186
+ url: optionalize(z$1.string()),
187
+ name: optionalize(z$1.string()),
188
+ alias: optionalize(z$1.array(z$1.string())),
189
+ description: optionalize(z$1.string()),
190
+ agents: optionalize(z$1.array(z$1.lazy(() => cliAgentSchema)))
191
+ })]);
192
+ const aigneFileSchema = camelizeSchema(z$1.object({
193
+ name: optionalize(z$1.string()),
194
+ description: optionalize(z$1.string()),
195
+ model: optionalize(chatModelSchema),
196
+ imageModel: optionalize(imageModelSchema),
197
+ agents: optionalize(z$1.array(z$1.string())),
198
+ skills: optionalize(z$1.array(z$1.string())),
199
+ mcpServer: optionalize(z$1.object({ agents: optionalize(z$1.array(z$1.string())) })),
200
+ cli: optionalize(z$1.object({
201
+ init: optionalize(z$1.string()),
202
+ chat: optionalize(z$1.string()),
203
+ agents: optionalize(z$1.array(cliAgentSchema))
204
+ }))
205
+ }));
206
+ async function loadAIGNEFile(path) {
207
+ const file = await findAIGNEFile(path);
208
+ const raw = await tryOrThrow(() => nodejs.fs.readFile(file, "utf8"), (error) => /* @__PURE__ */ new Error(`Failed to load aigne.yaml from ${file}: ${error.message}`));
209
+ const json = tryOrThrow(() => parse(raw), (error) => /* @__PURE__ */ new Error(`Failed to parse aigne.yaml from ${file}: ${error.message}`));
210
+ return {
211
+ aigne: tryOrThrow(() => aigneFileSchema.parse({
212
+ ...json,
213
+ model: json.model || json.chatModel || json.chat_model
214
+ }), (error) => /* @__PURE__ */ new Error(`Failed to validate aigne.yaml from ${file}: ${error.message}`)),
215
+ rootDir: nodejs.path.dirname(file)
216
+ };
217
+ }
218
+ async function findAIGNEFile(path) {
219
+ const possibleFiles = AIGNE_FILE_NAME.includes(nodejs.path.basename(path)) ? [path] : AIGNE_FILE_NAME.map((name) => nodejs.path.join(path, name));
220
+ for (const file of possibleFiles) try {
221
+ if ((await nodejs.fs.stat(file)).isFile()) return file;
222
+ } catch {}
223
+ throw new Error(`aigne.yaml not found in ${path}. Please ensure you are in the correct directory or provide a valid path.`);
224
+ }
225
+
226
+ //#endregion
227
+ export { findAIGNEFile, load, loadAIGNEFile, loadAgent, loadNestAgent, parseAgent };
228
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":["path","agent","options","mod","z"],"sources":["../../src/loader/index.ts"],"sourcesContent":["import { AFS, type AFSContext, type AFSContextPreset, type AFSModule } from \"@aigne/afs\";\nimport { nodejs } from \"@aigne/utils/nodejs\";\nimport { parse } from \"yaml\";\nimport { type ZodType, z } from \"zod\";\nimport { Agent, type AgentHooks, type AgentOptions } from \"../agents/agent.js\";\nimport type { ChatModel } from \"../agents/chat-model.js\";\nimport type { ImageModel } from \"../agents/image-model.js\";\nimport type { AIGNEOptions } from \"../aigne/aigne.js\";\nimport type { AIGNECLIAgent } from \"../aigne/type.js\";\nimport type { MemoryAgent, MemoryAgentOptions } from \"../memory/memory.js\";\nimport { isAgent } from \"../utils/agent-utils.js\";\nimport {\n flat,\n isNil,\n isNonNullable,\n omitBy,\n type PromiseOrValue,\n tryOrThrow,\n} from \"../utils/type-utils.js\";\nimport { loadAgentFromJsFile } from \"./agent-js.js\";\nimport {\n type AFSContextPresetSchema,\n type HooksSchema,\n loadAgentFromYamlFile,\n type NestAgentSchema,\n} from \"./agent-yaml.js\";\nimport { builtinAgents } from \"./agents.js\";\nimport { camelizeSchema, chatModelSchema, imageModelSchema, optionalize } from \"./schema.js\";\n\nconst AIGNE_FILE_NAME = [\"aigne.yaml\", \"aigne.yml\"];\n\nexport interface LoadOptions {\n memories?: { new (parameters?: MemoryAgentOptions): MemoryAgent }[];\n model?:\n | ChatModel\n | ((model?: z.infer<typeof aigneFileSchema>[\"model\"]) => PromiseOrValue<ChatModel | undefined>);\n imageModel?:\n | ImageModel\n | ((\n model?: z.infer<typeof aigneFileSchema>[\"imageModel\"],\n ) => PromiseOrValue<ImageModel | undefined>);\n afs?: {\n sharedAFS?: AFS;\n availableModules?: {\n module: string;\n alias?: string[];\n load: (options: { filepath: string; parsed?: object }) => PromiseOrValue<AFSModule>;\n }[];\n };\n aigne?: z.infer<typeof aigneFileSchema>;\n require?: (modulePath: string, options: { parent?: string }) => Promise<any>;\n}\n\nexport interface AgentLoadOptions extends LoadOptions {\n loadNestAgent: (\n path: string,\n agent: NestAgentSchema,\n options: LoadOptions,\n agentOptions?: AgentOptions<any, any> & Record<string, unknown>,\n ) => Promise<Agent>;\n}\n\nexport async function load(path: string, options: LoadOptions = {}): Promise<AIGNEOptions> {\n const { aigne, rootDir } = await loadAIGNEFile(path);\n\n const flatCliAgents = (cliAgent: CliAgent): string[] => {\n if (typeof cliAgent === \"string\") return [cliAgent];\n return flat(cliAgent.url, cliAgent.agents?.flatMap(flatCliAgents));\n };\n\n const allAgentPaths = new Set(\n flat(\n aigne.agents,\n aigne.skills,\n aigne.mcpServer?.agents,\n aigne.cli?.init,\n aigne.cli?.chat,\n aigne.cli?.agents?.flatMap((i) => (typeof i === \"string\" ? i : flatCliAgents(i))),\n ).map((i) => nodejs.path.join(rootDir, i)),\n );\n\n const allAgents: { [path: string]: Agent } = {};\n\n for (const path of allAgentPaths) {\n allAgents[path] = await loadAgent(path, { ...options, aigne });\n }\n\n const pickAgent = (path: string) => allAgents[nodejs.path.join(rootDir, path)];\n\n const pickAgents = (paths: string[]) =>\n paths.map((filename) => pickAgent(filename)).filter(isNonNullable);\n\n const mapCliAgents = (cliAgent: CliAgent): AIGNECLIAgent => {\n if (typeof cliAgent === \"string\") return { agent: pickAgent(cliAgent) };\n\n return {\n ...cliAgent,\n agent: cliAgent.url ? pickAgent(cliAgent.url) : undefined,\n agents: cliAgent.agents?.map(mapCliAgents),\n };\n };\n\n return {\n ...aigne,\n rootDir,\n model: typeof options.model === \"function\" ? await options.model(aigne.model) : options.model,\n imageModel:\n typeof options.imageModel === \"function\"\n ? aigne.imageModel\n ? await options.imageModel(aigne.imageModel)\n : undefined\n : options.imageModel,\n agents: pickAgents(aigne.agents ?? []),\n skills: pickAgents(aigne.skills ?? []),\n mcpServer: {\n agents: pickAgents(aigne.mcpServer?.agents ?? []),\n },\n cli: {\n init: aigne.cli?.init ? pickAgents([aigne.cli.init])[0] : undefined,\n chat: aigne.cli?.chat ? pickAgents([aigne.cli.chat])[0] : undefined,\n agents: aigne.cli?.agents?.map(mapCliAgents),\n },\n };\n}\n\nexport async function loadAgent(\n path: string,\n options: LoadOptions,\n agentOptions?: AgentOptions,\n): Promise<Agent> {\n if ([\".js\", \".mjs\", \".ts\", \".mts\"].includes(nodejs.path.extname(path))) {\n const agent = await loadAgentFromJsFile(path, options);\n if (agent instanceof Agent) return agent;\n return parseAgent(path, agent, options, agentOptions);\n }\n\n if ([\".yml\", \".yaml\"].includes(nodejs.path.extname(path))) {\n const agent = await loadAgentFromYamlFile(path, options);\n\n return parseAgent(path, agent, options, agentOptions);\n }\n\n throw new Error(`Unsupported agent file type: ${path}`);\n}\n\nexport async function loadNestAgent(\n path: string,\n agent: NestAgentSchema,\n options: LoadOptions,\n agentOptions?: AgentOptions<any, any> & Record<string, unknown>,\n): Promise<Agent> {\n return typeof agent === \"object\" && \"type\" in agent\n ? parseAgent(path, agent, options, agentOptions)\n : typeof agent === \"string\"\n ? loadAgent(nodejs.path.join(nodejs.path.dirname(path), agent), options, agentOptions)\n : loadAgent(nodejs.path.join(nodejs.path.dirname(path), agent.url), options, {\n ...agentOptions,\n defaultInput: agent.defaultInput,\n hooks: await parseHooks(path, agent.hooks, options),\n });\n}\n\nasync function parseHooks(\n path: string,\n hooks: HooksSchema | HooksSchema[] | undefined,\n options: LoadOptions,\n): Promise<AgentHooks[] | undefined> {\n hooks = [hooks].flat().filter(isNonNullable);\n if (!hooks.length) return undefined;\n\n type AllHooks = Required<AgentHooks>;\n\n return await Promise.all(\n hooks.map(\n async (hook): Promise<{ [key in keyof AllHooks]: AllHooks[key] | undefined }> => ({\n priority: hook.priority,\n onStart: hook.onStart ? await loadNestAgent(path, hook.onStart, options) : undefined,\n onSuccess: hook.onSuccess ? await loadNestAgent(path, hook.onSuccess, options) : undefined,\n onError: hook.onError ? await loadNestAgent(path, hook.onError, options) : undefined,\n onEnd: hook.onEnd ? await loadNestAgent(path, hook.onEnd, options) : undefined,\n onSkillStart: hook.onSkillStart\n ? await loadNestAgent(path, hook.onSkillStart, options)\n : undefined,\n onSkillEnd: hook.onSkillEnd\n ? await loadNestAgent(path, hook.onSkillEnd, options)\n : undefined,\n onHandoff: hook.onHandoff ? await loadNestAgent(path, hook.onHandoff, options) : undefined,\n }),\n ),\n );\n}\n\nasync function loadSkills(\n path: string,\n skills: NestAgentSchema[],\n options: LoadOptions,\n): Promise<Agent[]> {\n const loadedSkills: Agent[] = [];\n for (const skill of skills) {\n loadedSkills.push(await loadNestAgent(path, skill, options));\n }\n return loadedSkills;\n}\n\nexport async function parseAgent(\n path: string,\n agent: Awaited<ReturnType<typeof loadAgentFromYamlFile>>,\n options: LoadOptions,\n agentOptions?: AgentOptions,\n): Promise<Agent> {\n if (isAgent(agent)) return agent;\n\n const memory =\n \"memory\" in agent && options?.memories?.length\n ? await loadMemory(\n options.memories,\n typeof agent.memory === \"object\" ? agent.memory.provider : undefined,\n typeof agent.memory === \"object\" ? agent.memory : {},\n )\n : undefined;\n\n let afs: AFS | undefined;\n if (agent.afs !== false && (!agent.afs || agent.afs === true) && options?.afs?.sharedAFS) {\n afs = options.afs.sharedAFS;\n } else if (agent.afs === true) {\n afs = new AFS();\n } else if (agent.afs) {\n afs = new AFS({});\n\n const loadAFSContextPresets = async (\n presets: Record<string, AFSContextPresetSchema>,\n ): Promise<Record<string, AFSContextPreset>> => {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(presets).map<Promise<[string, AFSContextPreset]>>(async ([key, value]) => {\n const [select, per, dedupe] = await Promise.all(\n [value.select, value.per, value.dedupe].map(async (item) => {\n if (!item?.agent) return undefined;\n const agent = await loadNestAgent(path, item.agent, options, { afs });\n return {\n invoke: (input: any, options: any) =>\n options.context.invoke(agent, input, {\n ...options,\n streaming: false,\n }),\n };\n }),\n );\n\n return [key, { ...value, select, per, dedupe }];\n }),\n ),\n );\n };\n\n const context: AFSContext = {\n search: {\n presets: await loadAFSContextPresets(agent.afs.context?.search?.presets || {}),\n },\n list: {\n presets: await loadAFSContextPresets(agent.afs.context?.list?.presets || {}),\n },\n };\n\n afs.options.context = context;\n\n for (const m of agent.afs.modules || []) {\n const moduleName = typeof m === \"string\" ? m : m.module;\n\n const mod = options?.afs?.availableModules?.find(\n (mod) => mod.module === moduleName || mod.alias?.includes(moduleName),\n );\n if (!mod) throw new Error(`AFS module not found: ${typeof m === \"string\" ? m : m.module}`);\n\n const module = await mod.load({\n filepath: path,\n parsed: typeof m === \"string\" ? {} : m.options,\n });\n\n afs.mount(module);\n }\n }\n\n const skills =\n \"skills\" in agent && agent.skills\n ? await loadSkills(path, agent.skills, {\n ...options,\n afs: { ...options?.afs, sharedAFS: (agent.shareAFS && afs) || options?.afs?.sharedAFS },\n })\n : [];\n\n const model =\n agent.model && typeof options?.model === \"function\"\n ? await options.model({ ...options.aigne?.model, ...omitBy(agent.model, (v) => isNil(v)) })\n : undefined;\n const imageModel =\n agent.imageModel && typeof options?.imageModel === \"function\"\n ? await options.imageModel({\n ...options.aigne?.imageModel,\n ...omitBy(agent.imageModel, (v) => isNil(v)),\n })\n : undefined;\n\n const baseOptions: AgentOptions<any, any> = {\n ...agentOptions,\n ...agent,\n model,\n imageModel,\n memory,\n hooks: [\n ...((await parseHooks(path, agent.hooks, options)) ?? []),\n ...[agentOptions?.hooks].flat().filter(isNonNullable),\n ],\n skills: [...(agentOptions?.skills || []), ...skills],\n afs: afs || agentOptions?.afs,\n };\n\n let agentClass = builtinAgents[agent.type];\n\n if (!agentClass) {\n if (!options?.require)\n throw new Error(\n `Module loader is not provided to load agent type module ${agent.type} from ${path}`,\n );\n const Mod = await options.require(agent.type, { parent: path });\n if (typeof Mod?.default?.prototype?.constructor !== \"function\") {\n throw new Error(`The agent type module ${agent.type} does not export a default Agent class`);\n }\n\n agentClass = Mod.default;\n }\n\n if (!agentClass) {\n throw new Error(`Unsupported agent type: ${agent.type} from ${path}`);\n }\n\n return await agentClass.load({\n filepath: path,\n parsed: baseOptions,\n options: { ...options, loadNestAgent },\n });\n}\n\nasync function loadMemory(\n memories: NonNullable<LoadOptions[\"memories\"]>,\n provider?: string,\n options?: MemoryAgentOptions,\n) {\n const M = !provider\n ? memories[0]\n : memories.find((i) => i.name.toLowerCase().includes(provider.toLowerCase()));\n if (!M) throw new Error(`Unsupported memory: ${provider}`);\n\n return new M(options);\n}\n\ntype CliAgent =\n | string\n | {\n url?: string;\n name?: string;\n alias?: string[];\n description?: string;\n agents?: CliAgent[];\n };\n\nconst cliAgentSchema: ZodType<CliAgent> = z.union([\n z.string(),\n z.object({\n url: optionalize(z.string()),\n name: optionalize(z.string()),\n alias: optionalize(z.array(z.string())),\n description: optionalize(z.string()),\n agents: optionalize(z.array(z.lazy(() => cliAgentSchema))),\n }),\n]);\n\nconst aigneFileSchema = camelizeSchema(\n z.object({\n name: optionalize(z.string()),\n description: optionalize(z.string()),\n model: optionalize(chatModelSchema),\n imageModel: optionalize(imageModelSchema),\n agents: optionalize(z.array(z.string())),\n skills: optionalize(z.array(z.string())),\n mcpServer: optionalize(\n z.object({\n agents: optionalize(z.array(z.string())),\n }),\n ),\n cli: optionalize(\n z.object({\n init: optionalize(z.string()),\n chat: optionalize(z.string()),\n agents: optionalize(z.array(cliAgentSchema)),\n }),\n ),\n }),\n);\n\nexport async function loadAIGNEFile(path: string): Promise<{\n aigne: z.infer<typeof aigneFileSchema>;\n rootDir: string;\n}> {\n const file = await findAIGNEFile(path);\n\n const raw = await tryOrThrow(\n () => nodejs.fs.readFile(file, \"utf8\"),\n (error) => new Error(`Failed to load aigne.yaml from ${file}: ${error.message}`),\n );\n\n const json = tryOrThrow(\n () => parse(raw),\n (error) => new Error(`Failed to parse aigne.yaml from ${file}: ${error.message}`),\n );\n\n const aigne = tryOrThrow(\n () =>\n aigneFileSchema.parse({ ...json, model: json.model || json.chatModel || json.chat_model }),\n (error) => new Error(`Failed to validate aigne.yaml from ${file}: ${error.message}`),\n );\n\n return { aigne, rootDir: nodejs.path.dirname(file) };\n}\n\nexport async function findAIGNEFile(path: string): Promise<string> {\n const possibleFiles = AIGNE_FILE_NAME.includes(nodejs.path.basename(path))\n ? [path]\n : AIGNE_FILE_NAME.map((name) => nodejs.path.join(path, name));\n\n for (const file of possibleFiles) {\n try {\n const stat = await nodejs.fs.stat(file);\n\n if (stat.isFile()) return file;\n } catch {}\n }\n\n throw new Error(\n `aigne.yaml not found in ${path}. Please ensure you are in the correct directory or provide a valid path.`,\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_utils_type_utils = require('../utils/type-utils.cjs');
3
+ const require_types = require('../agents/types.cjs');
4
+ require('../agents/agent.cjs');
5
+ const require_chat_model = require('../agents/chat-model.cjs');
6
+ const require_template = require('../prompt/template.cjs');
7
+ const require_prompt_builder = require('../prompt/prompt-builder.cjs');
8
+ const require_utils_camelize = require('../utils/camelize.cjs');
9
+ let _aigne_utils_nodejs = require("@aigne/utils/nodejs");
10
+ let yaml = require("yaml");
11
+ let zod = require("zod");
12
+
13
+ //#region src/loader/schema.ts
14
+ const inputOutputSchema = ({ path }) => {
15
+ const includeExternalSchema = async (schema) => {
16
+ if (schema?.type === "object" && schema.properties) return {
17
+ ...schema,
18
+ properties: Object.fromEntries(await Promise.all(Object.entries(schema.properties).map(async ([key, value]) => [key, await includeExternalSchema(value)])))
19
+ };
20
+ if (schema?.type === "array" && schema.items) return {
21
+ ...schema,
22
+ items: await includeExternalSchema(schema.items)
23
+ };
24
+ if (typeof schema === "string") {
25
+ const raw = await _aigne_utils_nodejs.nodejs.fs.readFile(_aigne_utils_nodejs.nodejs.path.join(_aigne_utils_nodejs.nodejs.path.dirname(path), schema), "utf8");
26
+ return nestedJsonSchema.parseAsync((0, yaml.parse)(raw));
27
+ }
28
+ return schema;
29
+ };
30
+ const nestedJsonSchema = zod.z.object({ type: zod.z.string() }).passthrough().transform((v) => includeExternalSchema(v));
31
+ const jsonSchemaSchema = zod.z.object({
32
+ type: zod.z.literal("object"),
33
+ properties: zod.z.record(zod.z.any()),
34
+ required: zod.z.array(zod.z.string()).optional(),
35
+ additionalProperties: zod.z.boolean().optional()
36
+ }).transform((v) => includeExternalSchema(v));
37
+ return zod.z.union([zod.z.string().transform((v) => _aigne_utils_nodejs.nodejs.fs.readFile(_aigne_utils_nodejs.nodejs.path.join(_aigne_utils_nodejs.nodejs.path.dirname(path), v), "utf8").then((raw) => jsonSchemaSchema.parseAsync((0, yaml.parse)(raw)))), jsonSchemaSchema]);
38
+ };
39
+ const defaultInputSchema = zod.z.record(zod.z.string(), require_types.getterSchema(zod.z.unknown()));
40
+ const chatModelObjectSchema = camelizeSchema(zod.z.object({
41
+ model: optionalize(require_types.getterSchema(zod.z.string())),
42
+ temperature: optionalize(require_types.getterSchema(zod.z.number().min(0).max(2))),
43
+ topP: optionalize(require_types.getterSchema(zod.z.number().min(0))),
44
+ frequencyPenalty: optionalize(require_types.getterSchema(zod.z.number().min(-2).max(2))),
45
+ presencePenalty: optionalize(require_types.getterSchema(zod.z.number().min(-2).max(2))),
46
+ thinkingEffort: optionalize(require_types.getterSchema(zod.z.union([
47
+ zod.z.number().int(),
48
+ zod.z.literal("high"),
49
+ zod.z.literal("medium"),
50
+ zod.z.literal("low"),
51
+ zod.z.literal("minimal")
52
+ ])))
53
+ }).passthrough());
54
+ const chatModelSchema = zod.z.preprocess((v) => {
55
+ if (!require_utils_type_utils.isRecord(v)) return v;
56
+ return {
57
+ ...v,
58
+ model: v.model || (v.provider && v.name ? `${v.provider || ""}:${v.name || ""}` : void 0) || void 0
59
+ };
60
+ }, zod.z.union([zod.z.string(), chatModelObjectSchema])).transform((v) => typeof v === "string" ? { model: v } : v);
61
+ const imageModelObjectSchema = camelizeSchema(zod.z.object({ model: optionalize(require_types.getterSchema(zod.z.string())) }).passthrough());
62
+ const imageModelSchema = zod.z.union([zod.z.string(), imageModelObjectSchema]).transform((v) => typeof v === "string" ? { model: v } : v);
63
+ function optionalize(schema) {
64
+ return schema.nullish().transform((v) => v ?? void 0);
65
+ }
66
+ function camelizeSchema(schema, { shallow = true } = {}) {
67
+ return zod.z.preprocess((v) => require_utils_type_utils.isRecord(v) ? require_utils_camelize.camelize(v, shallow) : v, schema);
68
+ }
69
+ function preprocessSchema(fn, schema) {
70
+ return zod.z.preprocess(fn, schema);
71
+ }
72
+ const instructionItemSchema = camelizeSchema(zod.z.union([zod.z.object({
73
+ role: require_chat_model.roleSchema.default("system"),
74
+ url: zod.z.string(),
75
+ cacheControl: optionalize(zod.z.object({
76
+ type: zod.z.literal("ephemeral"),
77
+ ttl: optionalize(zod.z.union([zod.z.literal("5m"), zod.z.literal("1h")]))
78
+ }))
79
+ }), zod.z.object({
80
+ role: require_chat_model.roleSchema.default("system"),
81
+ content: zod.z.string(),
82
+ cacheControl: optionalize(zod.z.object({
83
+ type: zod.z.literal("ephemeral"),
84
+ ttl: optionalize(zod.z.union([zod.z.literal("5m"), zod.z.literal("1h")]))
85
+ }))
86
+ })]));
87
+ const parseInstructionItem = ({ filepath }) => async ({ role, cacheControl, ...v }) => {
88
+ if (role === "tool") throw new Error(`'tool' role is not allowed in instruction item in agent file ${filepath}`);
89
+ if ("content" in v && typeof v.content === "string") return {
90
+ role,
91
+ content: v.content,
92
+ path: filepath,
93
+ cacheControl
94
+ };
95
+ if ("url" in v && typeof v.url === "string") {
96
+ const url = _aigne_utils_nodejs.nodejs.path.isAbsolute(v.url) ? v.url : _aigne_utils_nodejs.nodejs.path.join(_aigne_utils_nodejs.nodejs.path.dirname(filepath), v.url);
97
+ return _aigne_utils_nodejs.nodejs.fs.readFile(url, "utf8").then((content) => ({
98
+ role,
99
+ content,
100
+ path: url,
101
+ cacheControl
102
+ }));
103
+ }
104
+ throw new Error(`Invalid instruction item in agent file ${filepath}. Expected 'content' or 'url' property`);
105
+ };
106
+ const getInstructionsSchema = ({ filepath }) => zod.z.union([
107
+ zod.z.string(),
108
+ instructionItemSchema,
109
+ zod.z.array(instructionItemSchema)
110
+ ]).transform(async (v) => {
111
+ if (typeof v === "string") return [{
112
+ role: "system",
113
+ content: v,
114
+ path: filepath
115
+ }];
116
+ if (Array.isArray(v)) return Promise.all(v.map((item) => parseInstructionItem({ filepath })(item)));
117
+ return [await parseInstructionItem({ filepath })(v)];
118
+ });
119
+ function instructionsToPromptBuilder(instructions) {
120
+ return new require_prompt_builder.PromptBuilder({ instructions: typeof instructions === "string" ? instructions : require_template.ChatMessagesTemplate.from(require_template.parseChatMessages(instructions.map((i) => ({
121
+ ...i,
122
+ options: { workingDir: _aigne_utils_nodejs.nodejs.path.dirname(i.path) }
123
+ })))) });
124
+ }
125
+
126
+ //#endregion
127
+ exports.camelizeSchema = camelizeSchema;
128
+ exports.chatModelSchema = chatModelSchema;
129
+ exports.defaultInputSchema = defaultInputSchema;
130
+ exports.getInstructionsSchema = getInstructionsSchema;
131
+ exports.imageModelSchema = imageModelSchema;
132
+ exports.inputOutputSchema = inputOutputSchema;
133
+ exports.instructionsToPromptBuilder = instructionsToPromptBuilder;
134
+ exports.optionalize = optionalize;
135
+ exports.preprocessSchema = preprocessSchema;
@@ -0,0 +1,177 @@
1
+ import { Role } from "../agents/chat-model.cjs";
2
+ import { PromptBuilder } from "../prompt/prompt-builder.cjs";
3
+ import { ZodType, z } from "zod";
4
+
5
+ //#region src/loader/schema.d.ts
6
+ declare const inputOutputSchema: ({
7
+ path
8
+ }: {
9
+ path: string;
10
+ }) => z.ZodUnion<[ZodType<any, z.ZodTypeDef, any>, z.ZodEffects<z.ZodObject<{
11
+ type: z.ZodLiteral<"object">;
12
+ properties: z.ZodRecord<z.ZodString, z.ZodAny>;
13
+ required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
14
+ additionalProperties: z.ZodOptional<z.ZodBoolean>;
15
+ }, "strip", z.ZodTypeAny, {
16
+ type: "object";
17
+ properties: Record<string, any>;
18
+ required?: string[] | undefined;
19
+ additionalProperties?: boolean | undefined;
20
+ }, {
21
+ type: "object";
22
+ properties: Record<string, any>;
23
+ required?: string[] | undefined;
24
+ additionalProperties?: boolean | undefined;
25
+ }>, any, {
26
+ type: "object";
27
+ properties: Record<string, any>;
28
+ required?: string[] | undefined;
29
+ additionalProperties?: boolean | undefined;
30
+ }>]>;
31
+ declare const defaultInputSchema: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodUnknown, z.ZodObject<{
32
+ $get: z.ZodString;
33
+ }, "strip", z.ZodTypeAny, {
34
+ $get: string;
35
+ }, {
36
+ $get: string;
37
+ }>]>>;
38
+ declare const chatModelObjectSchema: z.ZodObject<{
39
+ model: ZodType<string | {
40
+ $get: string;
41
+ } | undefined, z.ZodTypeDef, string | {
42
+ $get: string;
43
+ } | undefined>;
44
+ temperature: ZodType<number | {
45
+ $get: string;
46
+ } | undefined, z.ZodTypeDef, number | {
47
+ $get: string;
48
+ } | undefined>;
49
+ topP: ZodType<number | {
50
+ $get: string;
51
+ } | undefined, z.ZodTypeDef, number | {
52
+ $get: string;
53
+ } | undefined>;
54
+ frequencyPenalty: ZodType<number | {
55
+ $get: string;
56
+ } | undefined, z.ZodTypeDef, number | {
57
+ $get: string;
58
+ } | undefined>;
59
+ presencePenalty: ZodType<number | {
60
+ $get: string;
61
+ } | undefined, z.ZodTypeDef, number | {
62
+ $get: string;
63
+ } | undefined>;
64
+ thinkingEffort: ZodType<number | "high" | "medium" | "low" | "minimal" | {
65
+ $get: string;
66
+ } | undefined, z.ZodTypeDef, number | "high" | "medium" | "low" | "minimal" | {
67
+ $get: string;
68
+ } | undefined>;
69
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
70
+ model: ZodType<string | {
71
+ $get: string;
72
+ } | undefined, z.ZodTypeDef, string | {
73
+ $get: string;
74
+ } | undefined>;
75
+ temperature: ZodType<number | {
76
+ $get: string;
77
+ } | undefined, z.ZodTypeDef, number | {
78
+ $get: string;
79
+ } | undefined>;
80
+ topP: ZodType<number | {
81
+ $get: string;
82
+ } | undefined, z.ZodTypeDef, number | {
83
+ $get: string;
84
+ } | undefined>;
85
+ frequencyPenalty: ZodType<number | {
86
+ $get: string;
87
+ } | undefined, z.ZodTypeDef, number | {
88
+ $get: string;
89
+ } | undefined>;
90
+ presencePenalty: ZodType<number | {
91
+ $get: string;
92
+ } | undefined, z.ZodTypeDef, number | {
93
+ $get: string;
94
+ } | undefined>;
95
+ thinkingEffort: ZodType<number | "high" | "medium" | "low" | "minimal" | {
96
+ $get: string;
97
+ } | undefined, z.ZodTypeDef, number | "high" | "medium" | "low" | "minimal" | {
98
+ $get: string;
99
+ } | undefined>;
100
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
101
+ model: ZodType<string | {
102
+ $get: string;
103
+ } | undefined, z.ZodTypeDef, string | {
104
+ $get: string;
105
+ } | undefined>;
106
+ temperature: ZodType<number | {
107
+ $get: string;
108
+ } | undefined, z.ZodTypeDef, number | {
109
+ $get: string;
110
+ } | undefined>;
111
+ topP: ZodType<number | {
112
+ $get: string;
113
+ } | undefined, z.ZodTypeDef, number | {
114
+ $get: string;
115
+ } | undefined>;
116
+ frequencyPenalty: ZodType<number | {
117
+ $get: string;
118
+ } | undefined, z.ZodTypeDef, number | {
119
+ $get: string;
120
+ } | undefined>;
121
+ presencePenalty: ZodType<number | {
122
+ $get: string;
123
+ } | undefined, z.ZodTypeDef, number | {
124
+ $get: string;
125
+ } | undefined>;
126
+ thinkingEffort: ZodType<number | "high" | "medium" | "low" | "minimal" | {
127
+ $get: string;
128
+ } | undefined, z.ZodTypeDef, number | "high" | "medium" | "low" | "minimal" | {
129
+ $get: string;
130
+ } | undefined>;
131
+ }, z.ZodTypeAny, "passthrough">>;
132
+ declare const chatModelSchema: typeof chatModelObjectSchema;
133
+ declare const imageModelObjectSchema: z.ZodObject<{
134
+ model: ZodType<string | {
135
+ $get: string;
136
+ } | undefined, z.ZodTypeDef, string | {
137
+ $get: string;
138
+ } | undefined>;
139
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
140
+ model: ZodType<string | {
141
+ $get: string;
142
+ } | undefined, z.ZodTypeDef, string | {
143
+ $get: string;
144
+ } | undefined>;
145
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
146
+ model: ZodType<string | {
147
+ $get: string;
148
+ } | undefined, z.ZodTypeDef, string | {
149
+ $get: string;
150
+ } | undefined>;
151
+ }, z.ZodTypeAny, "passthrough">>;
152
+ declare const imageModelSchema: typeof imageModelObjectSchema;
153
+ declare function optionalize<T>(schema: ZodType<T>): ZodType<T | undefined>;
154
+ declare function camelizeSchema<T extends ZodType>(schema: T, {
155
+ shallow
156
+ }?: {
157
+ shallow?: boolean;
158
+ }): T;
159
+ declare function preprocessSchema<T extends ZodType>(fn: (data: unknown) => unknown, schema: T): T;
160
+ type Instructions = {
161
+ role: Exclude<Role, "tool">;
162
+ content: string;
163
+ path: string;
164
+ cacheControl?: {
165
+ type: "ephemeral";
166
+ ttl?: "5m" | "1h";
167
+ };
168
+ }[];
169
+ declare const getInstructionsSchema: ({
170
+ filepath
171
+ }: {
172
+ filepath: string;
173
+ }) => ZodType<Instructions>;
174
+ declare function instructionsToPromptBuilder(instructions: Instructions | string): PromptBuilder;
175
+ //#endregion
176
+ export { Instructions, camelizeSchema, chatModelSchema, defaultInputSchema, getInstructionsSchema, imageModelSchema, inputOutputSchema, instructionsToPromptBuilder, optionalize, preprocessSchema };
177
+ //# sourceMappingURL=schema.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.cts","names":[],"sources":["../../src/loader/schema.ts"],"mappings":";;;;;cAUa,iBAAA;EAAA;AAAA;EAAA,IAAA;AAAA,MAA+C,CAAA,CAAA,QAAA,EAAA,OAAA,MAAA,CAAA,CAAA,UAAA,QAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,SAAA;EAAA,IAAA;;;;;;;;;;;;;;;;;;;;cA2D/C,kBAAA,EAAkB,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,SAAA,EAAA,CAAA,CAAA,QAAA,EAAA,CAAA,CAAA,UAAA,EAAA,CAAA,CAAA,SAAA;EAAA,IAAA;;;;;;cAEzB,qBAAA,EAAqB,CAAA,CAAA,SAAA;EAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuBd,eAAA,SAgBY,qBAAA;AAAA,cAEnB,sBAAA,EAAsB,CAAA,CAAA,SAAA;EAAA,KAAA;;;;;;;;;;;;;;;;;;cAQf,gBAAA,SAIY,sBAAA;AAAA,iBAET,WAAA,GAAA,CAAA,MAAA,EAAuB,OAAA,CAAQ,CAAA,IAAK,OAAA,CAAQ,CAAA;AAAA,iBAI5C,cAAA,WAAyB,OAAA,CAAA,CAAA,MAAA,EAC/B,CAAA;EAAA;AAAA;EAAA,OAAA;AAAA,IAEP,CAAA;AAAA,iBAIa,gBAAA,WAA2B,OAAA,CAAA,CAAA,EAAA,GAAA,IAAA,uBAAA,MAAA,EAAiD,CAAA,GAAI,CAAA;AAAA,KA6BpF,YAAA;EAAA,IAAA,EACJ,OAAA,CAAQ,IAAA;EAAA,OAAA;EAAA,IAAA;EAAA,YAAA;IAAA,IAAA;IAAA,GAAA;EAAA;AAAA;AAAA,cAmCH,qBAAA;EAAA;AAAA;EAAA,QAAA;AAAA,MAWQ,OAAA,CAAQ,YAAA;AAAA,iBAEb,2BAAA,CAAA,YAAA,EAA0C,YAAA,YAAqB,aAAA"}