beeai-framework 0.1.20 → 0.1.22

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 (485) hide show
  1. package/dist/adapters/a2a/agents/agent.cjs +4 -4
  2. package/dist/adapters/a2a/agents/agent.cjs.map +1 -1
  3. package/dist/adapters/a2a/agents/agent.d.cts +6 -10
  4. package/dist/adapters/a2a/agents/agent.d.ts +6 -10
  5. package/dist/adapters/a2a/agents/agent.js +4 -4
  6. package/dist/adapters/a2a/agents/agent.js.map +1 -1
  7. package/dist/adapters/a2a/agents/events.d.cts +1 -1
  8. package/dist/adapters/a2a/agents/events.d.ts +1 -1
  9. package/dist/adapters/a2a/agents/types.d.cts +2 -2
  10. package/dist/adapters/a2a/agents/types.d.ts +2 -2
  11. package/dist/adapters/a2a/agents/utils.cjs +2 -2
  12. package/dist/adapters/a2a/agents/utils.cjs.map +1 -1
  13. package/dist/adapters/a2a/agents/utils.js +2 -2
  14. package/dist/adapters/a2a/agents/utils.js.map +1 -1
  15. package/dist/adapters/a2a/serve/agent_executor.cjs +1 -3
  16. package/dist/adapters/a2a/serve/agent_executor.cjs.map +1 -1
  17. package/dist/adapters/a2a/serve/agent_executor.d.cts +4 -3
  18. package/dist/adapters/a2a/serve/agent_executor.d.ts +4 -3
  19. package/dist/adapters/a2a/serve/agent_executor.js +1 -3
  20. package/dist/adapters/a2a/serve/agent_executor.js.map +1 -1
  21. package/dist/adapters/a2a/serve/server.cjs +15 -0
  22. package/dist/adapters/a2a/serve/server.cjs.map +1 -1
  23. package/dist/adapters/a2a/serve/server.d.cts +4 -2
  24. package/dist/adapters/a2a/serve/server.d.ts +4 -2
  25. package/dist/adapters/a2a/serve/server.js +15 -0
  26. package/dist/adapters/a2a/serve/server.js.map +1 -1
  27. package/dist/adapters/acp/agents/agent.d.cts +6 -10
  28. package/dist/adapters/acp/agents/agent.d.ts +6 -10
  29. package/dist/adapters/acp/agents/events.d.cts +1 -1
  30. package/dist/adapters/acp/agents/events.d.ts +1 -1
  31. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.cjs +4 -4
  32. package/dist/adapters/agentstack/agents/agent.cjs.map +1 -0
  33. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.d.cts +18 -16
  34. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.d.ts +18 -16
  35. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.js +4 -4
  36. package/dist/adapters/agentstack/agents/agent.js.map +1 -0
  37. package/dist/adapters/agentstack/agents/events.d.cts +23 -0
  38. package/dist/adapters/agentstack/agents/events.d.ts +23 -0
  39. package/dist/adapters/{beeai_platform → agentstack}/agents/types.d.cts +4 -4
  40. package/dist/adapters/{beeai_platform → agentstack}/agents/types.d.ts +4 -4
  41. package/dist/adapters/amazon-bedrock/backend/chat.cjs +3 -2
  42. package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -1
  43. package/dist/adapters/amazon-bedrock/backend/chat.d.cts +5 -6
  44. package/dist/adapters/amazon-bedrock/backend/chat.d.ts +5 -6
  45. package/dist/adapters/amazon-bedrock/backend/chat.js +3 -2
  46. package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -1
  47. package/dist/adapters/amazon-bedrock/backend/embedding.cjs +2 -2
  48. package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -1
  49. package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +4 -4
  50. package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +4 -4
  51. package/dist/adapters/amazon-bedrock/backend/embedding.js +2 -2
  52. package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -1
  53. package/dist/adapters/anthropic/backend/chat.cjs +3 -2
  54. package/dist/adapters/anthropic/backend/chat.cjs.map +1 -1
  55. package/dist/adapters/anthropic/backend/chat.d.cts +5 -6
  56. package/dist/adapters/anthropic/backend/chat.d.ts +5 -6
  57. package/dist/adapters/anthropic/backend/chat.js +3 -2
  58. package/dist/adapters/anthropic/backend/chat.js.map +1 -1
  59. package/dist/adapters/anthropic/backend/embedding.d.cts +2 -2
  60. package/dist/adapters/anthropic/backend/embedding.d.ts +2 -2
  61. package/dist/adapters/azure-openai/backend/chat.cjs +3 -2
  62. package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -1
  63. package/dist/adapters/azure-openai/backend/chat.d.cts +5 -6
  64. package/dist/adapters/azure-openai/backend/chat.d.ts +5 -6
  65. package/dist/adapters/azure-openai/backend/chat.js +3 -2
  66. package/dist/adapters/azure-openai/backend/chat.js.map +1 -1
  67. package/dist/adapters/azure-openai/backend/embedding.cjs +2 -2
  68. package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -1
  69. package/dist/adapters/azure-openai/backend/embedding.d.cts +3 -3
  70. package/dist/adapters/azure-openai/backend/embedding.d.ts +3 -3
  71. package/dist/adapters/azure-openai/backend/embedding.js +2 -2
  72. package/dist/adapters/azure-openai/backend/embedding.js.map +1 -1
  73. package/dist/adapters/dummy/backend/chat.d.cts +2 -2
  74. package/dist/adapters/dummy/backend/chat.d.ts +2 -2
  75. package/dist/adapters/dummy/backend/embedding.d.cts +2 -2
  76. package/dist/adapters/dummy/backend/embedding.d.ts +2 -2
  77. package/dist/adapters/google-vertex/backend/chat.cjs +3 -2
  78. package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -1
  79. package/dist/adapters/google-vertex/backend/chat.d.cts +5 -6
  80. package/dist/adapters/google-vertex/backend/chat.d.ts +5 -6
  81. package/dist/adapters/google-vertex/backend/chat.js +3 -2
  82. package/dist/adapters/google-vertex/backend/chat.js.map +1 -1
  83. package/dist/adapters/google-vertex/backend/embedding.d.cts +2 -2
  84. package/dist/adapters/google-vertex/backend/embedding.d.ts +2 -2
  85. package/dist/adapters/groq/backend/chat.cjs +3 -2
  86. package/dist/adapters/groq/backend/chat.cjs.map +1 -1
  87. package/dist/adapters/groq/backend/chat.d.cts +5 -6
  88. package/dist/adapters/groq/backend/chat.d.ts +5 -6
  89. package/dist/adapters/groq/backend/chat.js +3 -2
  90. package/dist/adapters/groq/backend/chat.js.map +1 -1
  91. package/dist/adapters/groq/backend/embedding.d.cts +2 -2
  92. package/dist/adapters/groq/backend/embedding.d.ts +2 -2
  93. package/dist/adapters/langchain/backend/chat.cjs +6 -5
  94. package/dist/adapters/langchain/backend/chat.cjs.map +1 -1
  95. package/dist/adapters/langchain/backend/chat.d.cts +2 -2
  96. package/dist/adapters/langchain/backend/chat.d.ts +2 -2
  97. package/dist/adapters/langchain/backend/chat.js +6 -5
  98. package/dist/adapters/langchain/backend/chat.js.map +1 -1
  99. package/dist/adapters/langchain/backend/embedding.d.cts +3 -3
  100. package/dist/adapters/langchain/backend/embedding.d.ts +3 -3
  101. package/dist/adapters/langchain/tools.d.cts +1 -1
  102. package/dist/adapters/langchain/tools.d.ts +1 -1
  103. package/dist/adapters/ollama/backend/chat.cjs +1 -4
  104. package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
  105. package/dist/adapters/ollama/backend/chat.d.cts +4 -4
  106. package/dist/adapters/ollama/backend/chat.d.ts +4 -4
  107. package/dist/adapters/ollama/backend/chat.js +1 -4
  108. package/dist/adapters/ollama/backend/chat.js.map +1 -1
  109. package/dist/adapters/ollama/backend/client.cjs +2 -2
  110. package/dist/adapters/ollama/backend/client.cjs.map +1 -1
  111. package/dist/adapters/ollama/backend/client.d.cts +1 -1
  112. package/dist/adapters/ollama/backend/client.d.ts +1 -1
  113. package/dist/adapters/ollama/backend/client.js +1 -1
  114. package/dist/adapters/ollama/backend/client.js.map +1 -1
  115. package/dist/adapters/ollama/backend/embedding.cjs.map +1 -1
  116. package/dist/adapters/ollama/backend/embedding.d.cts +3 -3
  117. package/dist/adapters/ollama/backend/embedding.d.ts +3 -3
  118. package/dist/adapters/ollama/backend/embedding.js.map +1 -1
  119. package/dist/adapters/openai/backend/chat.cjs +3 -2
  120. package/dist/adapters/openai/backend/chat.cjs.map +1 -1
  121. package/dist/adapters/openai/backend/chat.d.cts +5 -6
  122. package/dist/adapters/openai/backend/chat.d.ts +5 -6
  123. package/dist/adapters/openai/backend/chat.js +3 -2
  124. package/dist/adapters/openai/backend/chat.js.map +1 -1
  125. package/dist/adapters/openai/backend/client.cjs +2 -11
  126. package/dist/adapters/openai/backend/client.cjs.map +1 -1
  127. package/dist/adapters/openai/backend/client.js +3 -12
  128. package/dist/adapters/openai/backend/client.js.map +1 -1
  129. package/dist/adapters/openai/backend/embedding.cjs +2 -2
  130. package/dist/adapters/openai/backend/embedding.cjs.map +1 -1
  131. package/dist/adapters/openai/backend/embedding.d.cts +4 -4
  132. package/dist/adapters/openai/backend/embedding.d.ts +4 -4
  133. package/dist/adapters/openai/backend/embedding.js +2 -2
  134. package/dist/adapters/openai/backend/embedding.js.map +1 -1
  135. package/dist/adapters/vercel/backend/chat.cjs +26 -21
  136. package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
  137. package/dist/adapters/vercel/backend/chat.d.cts +6 -4
  138. package/dist/adapters/vercel/backend/chat.d.ts +6 -4
  139. package/dist/adapters/vercel/backend/chat.js +27 -22
  140. package/dist/adapters/vercel/backend/chat.js.map +1 -1
  141. package/dist/adapters/vercel/backend/embedding.cjs.map +1 -1
  142. package/dist/adapters/vercel/backend/embedding.d.cts +3 -3
  143. package/dist/adapters/vercel/backend/embedding.d.ts +3 -3
  144. package/dist/adapters/vercel/backend/embedding.js.map +1 -1
  145. package/dist/adapters/vercel/backend/utils.cjs +26 -0
  146. package/dist/adapters/vercel/backend/utils.cjs.map +1 -1
  147. package/dist/adapters/vercel/backend/utils.d.cts +20 -2
  148. package/dist/adapters/vercel/backend/utils.d.ts +20 -2
  149. package/dist/adapters/vercel/backend/utils.js +25 -1
  150. package/dist/adapters/vercel/backend/utils.js.map +1 -1
  151. package/dist/adapters/watsonx/backend/chat.cjs +10 -4
  152. package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
  153. package/dist/adapters/watsonx/backend/chat.d.cts +2 -2
  154. package/dist/adapters/watsonx/backend/chat.d.ts +2 -2
  155. package/dist/adapters/watsonx/backend/chat.js +10 -4
  156. package/dist/adapters/watsonx/backend/chat.js.map +1 -1
  157. package/dist/adapters/watsonx/backend/embedding.d.cts +2 -2
  158. package/dist/adapters/watsonx/backend/embedding.d.ts +2 -2
  159. package/dist/adapters/xai/backend/chat.cjs +3 -2
  160. package/dist/adapters/xai/backend/chat.cjs.map +1 -1
  161. package/dist/adapters/xai/backend/chat.d.cts +5 -6
  162. package/dist/adapters/xai/backend/chat.d.ts +5 -6
  163. package/dist/adapters/xai/backend/chat.js +3 -2
  164. package/dist/adapters/xai/backend/chat.js.map +1 -1
  165. package/dist/{agent-I0Saf4A1.d.cts → agent-BMfyig7X.d.cts} +5 -4
  166. package/dist/{agent-CtrCeN7o.d.ts → agent-Dxw8AGWb.d.ts} +5 -4
  167. package/dist/agents/base.cjs +5 -2
  168. package/dist/agents/base.cjs.map +1 -1
  169. package/dist/agents/base.d.cts +2 -2
  170. package/dist/agents/base.d.ts +2 -2
  171. package/dist/agents/base.js +5 -2
  172. package/dist/agents/base.js.map +1 -1
  173. package/dist/agents/experimental/replan/agent.d.cts +3 -3
  174. package/dist/agents/experimental/replan/agent.d.ts +3 -3
  175. package/dist/agents/experimental/replan/prompts.d.cts +1 -1
  176. package/dist/agents/experimental/replan/prompts.d.ts +1 -1
  177. package/dist/agents/experimental/streamlit/agent.d.cts +8 -12
  178. package/dist/agents/experimental/streamlit/agent.d.ts +8 -12
  179. package/dist/agents/react/agent.d.cts +5 -4
  180. package/dist/agents/react/agent.d.ts +5 -4
  181. package/dist/agents/react/prompts.d.cts +1 -1
  182. package/dist/agents/react/prompts.d.ts +1 -1
  183. package/dist/agents/react/runners/base.cjs.map +1 -1
  184. package/dist/agents/react/runners/base.d.cts +5 -4
  185. package/dist/agents/react/runners/base.d.ts +5 -4
  186. package/dist/agents/react/runners/base.js.map +1 -1
  187. package/dist/agents/react/runners/deep-think/prompts.d.cts +1 -1
  188. package/dist/agents/react/runners/deep-think/prompts.d.ts +1 -1
  189. package/dist/agents/react/runners/deep-think/runner.d.cts +6 -5
  190. package/dist/agents/react/runners/deep-think/runner.d.ts +6 -5
  191. package/dist/agents/react/runners/default/runner.cjs.map +1 -1
  192. package/dist/agents/react/runners/default/runner.d.cts +6 -5
  193. package/dist/agents/react/runners/default/runner.d.ts +6 -5
  194. package/dist/agents/react/runners/default/runner.js.map +1 -1
  195. package/dist/agents/react/runners/granite/prompts.d.cts +1 -1
  196. package/dist/agents/react/runners/granite/prompts.d.ts +1 -1
  197. package/dist/agents/react/runners/granite/runner.cjs +4 -2
  198. package/dist/agents/react/runners/granite/runner.cjs.map +1 -1
  199. package/dist/agents/react/runners/granite/runner.d.cts +6 -5
  200. package/dist/agents/react/runners/granite/runner.d.ts +6 -5
  201. package/dist/agents/react/runners/granite/runner.js +4 -2
  202. package/dist/agents/react/runners/granite/runner.js.map +1 -1
  203. package/dist/agents/react/types.d.cts +3 -2
  204. package/dist/agents/react/types.d.ts +3 -2
  205. package/dist/agents/requirement/agent.cjs +162 -0
  206. package/dist/agents/requirement/agent.cjs.map +1 -0
  207. package/dist/agents/requirement/agent.d.cts +29 -0
  208. package/dist/agents/requirement/agent.d.ts +29 -0
  209. package/dist/agents/requirement/agent.js +160 -0
  210. package/dist/agents/requirement/agent.js.map +1 -0
  211. package/dist/agents/requirement/prompts.cjs +95 -0
  212. package/dist/agents/requirement/prompts.cjs.map +1 -0
  213. package/dist/agents/requirement/prompts.d.cts +107 -0
  214. package/dist/agents/requirement/prompts.d.ts +107 -0
  215. package/dist/agents/requirement/prompts.js +90 -0
  216. package/dist/agents/requirement/prompts.js.map +1 -0
  217. package/dist/agents/requirement/requirements/conditional.cjs +190 -0
  218. package/dist/agents/requirement/requirements/conditional.cjs.map +1 -0
  219. package/dist/agents/requirement/requirements/conditional.d.cts +71 -0
  220. package/dist/agents/requirement/requirements/conditional.d.ts +71 -0
  221. package/dist/agents/requirement/requirements/conditional.js +188 -0
  222. package/dist/agents/requirement/requirements/conditional.js.map +1 -0
  223. package/dist/agents/requirement/requirements/requirement.cjs +107 -0
  224. package/dist/agents/requirement/requirements/requirement.cjs.map +1 -0
  225. package/dist/agents/requirement/requirements/requirement.d.cts +59 -0
  226. package/dist/agents/requirement/requirements/requirement.d.ts +59 -0
  227. package/dist/agents/requirement/requirements/requirement.js +104 -0
  228. package/dist/agents/requirement/requirements/requirement.js.map +1 -0
  229. package/dist/agents/requirement/requirements/utils.cjs +74 -0
  230. package/dist/agents/requirement/requirements/utils.cjs.map +1 -0
  231. package/dist/agents/requirement/requirements/utils.d.cts +40 -0
  232. package/dist/agents/requirement/requirements/utils.d.ts +40 -0
  233. package/dist/agents/requirement/requirements/utils.js +69 -0
  234. package/dist/agents/requirement/requirements/utils.js.map +1 -0
  235. package/dist/agents/requirement/runner.cjs +252 -0
  236. package/dist/agents/requirement/runner.cjs.map +1 -0
  237. package/dist/agents/requirement/runner.d.cts +117 -0
  238. package/dist/agents/requirement/runner.d.ts +117 -0
  239. package/dist/agents/requirement/runner.js +250 -0
  240. package/dist/agents/requirement/runner.js.map +1 -0
  241. package/dist/agents/requirement/types.cjs +40 -0
  242. package/dist/agents/requirement/types.cjs.map +1 -0
  243. package/dist/agents/requirement/types.d.cts +24 -0
  244. package/dist/agents/requirement/types.d.ts +24 -0
  245. package/dist/agents/requirement/types.js +35 -0
  246. package/dist/agents/requirement/types.js.map +1 -0
  247. package/dist/agents/requirement/utils/llm.cjs +202 -0
  248. package/dist/agents/requirement/utils/llm.cjs.map +1 -0
  249. package/dist/agents/requirement/utils/llm.d.cts +50 -0
  250. package/dist/agents/requirement/utils/llm.d.ts +50 -0
  251. package/dist/agents/requirement/utils/llm.js +199 -0
  252. package/dist/agents/requirement/utils/llm.js.map +1 -0
  253. package/dist/agents/requirement/utils/tool.cjs +94 -0
  254. package/dist/agents/requirement/utils/tool.cjs.map +1 -0
  255. package/dist/agents/requirement/utils/tool.d.cts +24 -0
  256. package/dist/agents/requirement/utils/tool.d.ts +24 -0
  257. package/dist/agents/requirement/utils/tool.js +91 -0
  258. package/dist/agents/requirement/utils/tool.js.map +1 -0
  259. package/dist/agents/requirement/utils/toolCallChecker.cjs +61 -0
  260. package/dist/agents/requirement/utils/toolCallChecker.cjs.map +1 -0
  261. package/dist/agents/requirement/utils/toolCallChecker.d.cts +28 -0
  262. package/dist/agents/requirement/utils/toolCallChecker.d.ts +28 -0
  263. package/dist/agents/requirement/utils/toolCallChecker.js +59 -0
  264. package/dist/agents/requirement/utils/toolCallChecker.js.map +1 -0
  265. package/dist/agents/toolCalling/agent.cjs +9 -5
  266. package/dist/agents/toolCalling/agent.cjs.map +1 -1
  267. package/dist/agents/toolCalling/agent.d.cts +8 -12
  268. package/dist/agents/toolCalling/agent.d.ts +8 -12
  269. package/dist/agents/toolCalling/agent.js +9 -5
  270. package/dist/agents/toolCalling/agent.js.map +1 -1
  271. package/dist/agents/toolCalling/types.d.cts +1 -1
  272. package/dist/agents/toolCalling/types.d.ts +1 -1
  273. package/dist/agents/types.d.cts +2 -2
  274. package/dist/agents/types.d.ts +2 -2
  275. package/dist/backend/backend.d.cts +2 -2
  276. package/dist/backend/backend.d.ts +2 -2
  277. package/dist/backend/chat.cjs +1 -1
  278. package/dist/backend/chat.cjs.map +1 -1
  279. package/dist/backend/chat.d.cts +2 -2
  280. package/dist/backend/chat.d.ts +2 -2
  281. package/dist/backend/chat.js +1 -1
  282. package/dist/backend/chat.js.map +1 -1
  283. package/dist/backend/core.d.cts +2 -2
  284. package/dist/backend/core.d.ts +2 -2
  285. package/dist/backend/embedding.d.cts +2 -2
  286. package/dist/backend/embedding.d.ts +2 -2
  287. package/dist/backend/message.cjs +59 -3
  288. package/dist/backend/message.cjs.map +1 -1
  289. package/dist/backend/message.d.cts +3 -0
  290. package/dist/backend/message.d.ts +3 -0
  291. package/dist/backend/message.js +59 -3
  292. package/dist/backend/message.js.map +1 -1
  293. package/dist/backend/utils.d.cts +2 -2
  294. package/dist/backend/utils.d.ts +2 -2
  295. package/dist/{base-BsY2baWy.d.ts → base-BurRTBA7.d.ts} +4 -2
  296. package/dist/{base-BP7v-NSL.d.cts → base-v-PYIq5G.d.cts} +4 -2
  297. package/dist/cache/fileCache.cjs.map +1 -1
  298. package/dist/cache/fileCache.js.map +1 -1
  299. package/dist/{chat-W9j8T6UU.d.ts → chat-BbCYMAdE.d.ts} +4 -2
  300. package/dist/{chat-CR4yfOR9.d.cts → chat-DB_cf15S.d.cts} +4 -2
  301. package/dist/context.cjs +22 -5
  302. package/dist/context.cjs.map +1 -1
  303. package/dist/context.d.cts +19 -6
  304. package/dist/context.d.ts +19 -6
  305. package/dist/context.js +23 -7
  306. package/dist/context.js.map +1 -1
  307. package/dist/emitter/emitter.cjs +19 -13
  308. package/dist/emitter/emitter.cjs.map +1 -1
  309. package/dist/emitter/emitter.d.cts +1 -1
  310. package/dist/emitter/emitter.d.ts +1 -1
  311. package/dist/emitter/emitter.js +19 -13
  312. package/dist/emitter/emitter.js.map +1 -1
  313. package/dist/emitter/types.d.cts +1 -1
  314. package/dist/emitter/types.d.ts +1 -1
  315. package/dist/{emitter-DWEsd-ud.d.cts → emitter-CGKd_-kK.d.cts} +6 -5
  316. package/dist/{emitter-C9nwGLt6.d.ts → emitter-CN7I4uSV.d.ts} +6 -5
  317. package/dist/index.d.cts +5 -5
  318. package/dist/index.d.ts +5 -5
  319. package/dist/internals/fetcher.d.cts +1 -1
  320. package/dist/internals/fetcher.d.ts +1 -1
  321. package/dist/internals/helpers/array.cjs +35 -0
  322. package/dist/internals/helpers/array.cjs.map +1 -1
  323. package/dist/internals/helpers/array.d.cts +6 -1
  324. package/dist/internals/helpers/array.d.ts +6 -1
  325. package/dist/internals/helpers/array.js +35 -1
  326. package/dist/internals/helpers/array.js.map +1 -1
  327. package/dist/internals/helpers/object.cjs +30 -5
  328. package/dist/internals/helpers/object.cjs.map +1 -1
  329. package/dist/internals/helpers/object.d.cts +3 -2
  330. package/dist/internals/helpers/object.d.ts +3 -2
  331. package/dist/internals/helpers/object.js +29 -5
  332. package/dist/internals/helpers/object.js.map +1 -1
  333. package/dist/internals/helpers/prototype.cjs +5 -0
  334. package/dist/internals/helpers/prototype.cjs.map +1 -1
  335. package/dist/internals/helpers/prototype.d.cts +2 -1
  336. package/dist/internals/helpers/prototype.d.ts +2 -1
  337. package/dist/internals/helpers/prototype.js +5 -1
  338. package/dist/internals/helpers/prototype.js.map +1 -1
  339. package/dist/internals/types.cjs.map +1 -1
  340. package/dist/internals/types.d.cts +1 -1
  341. package/dist/internals/types.d.ts +1 -1
  342. package/dist/internals/types.js.map +1 -1
  343. package/dist/logger/logger.cjs +8 -4
  344. package/dist/logger/logger.cjs.map +1 -1
  345. package/dist/logger/logger.d.cts +21 -15
  346. package/dist/logger/logger.d.ts +21 -15
  347. package/dist/logger/logger.js +6 -3
  348. package/dist/logger/logger.js.map +1 -1
  349. package/dist/logger/pretty.cjs +2 -2
  350. package/dist/logger/pretty.cjs.map +1 -1
  351. package/dist/logger/pretty.js +2 -2
  352. package/dist/logger/pretty.js.map +1 -1
  353. package/dist/memory/slidingMemory.d.cts +1 -1
  354. package/dist/memory/slidingMemory.d.ts +1 -1
  355. package/dist/memory/summarizeMemory.d.cts +2 -2
  356. package/dist/memory/summarizeMemory.d.ts +2 -2
  357. package/dist/middleware/trajectory.cjs +322 -0
  358. package/dist/middleware/trajectory.cjs.map +1 -0
  359. package/dist/middleware/trajectory.d.cts +115 -0
  360. package/dist/middleware/trajectory.d.ts +115 -0
  361. package/dist/middleware/trajectory.js +320 -0
  362. package/dist/middleware/trajectory.js.map +1 -0
  363. package/dist/parsers/linePrefix.cjs.map +1 -1
  364. package/dist/parsers/linePrefix.d.cts +4 -8
  365. package/dist/parsers/linePrefix.d.ts +4 -8
  366. package/dist/parsers/linePrefix.js.map +1 -1
  367. package/dist/serializer/serializer.cjs +5 -4
  368. package/dist/serializer/serializer.cjs.map +1 -1
  369. package/dist/serializer/serializer.d.cts +1 -1
  370. package/dist/serializer/serializer.d.ts +1 -1
  371. package/dist/serializer/serializer.js +5 -4
  372. package/dist/serializer/serializer.js.map +1 -1
  373. package/dist/serializer/utils.cjs +3 -0
  374. package/dist/serializer/utils.cjs.map +1 -1
  375. package/dist/serializer/utils.d.cts +1 -1
  376. package/dist/serializer/utils.d.ts +1 -1
  377. package/dist/serializer/utils.js +3 -0
  378. package/dist/serializer/utils.js.map +1 -1
  379. package/dist/{serializer-CQxucveV.d.ts → serializer-53t8gGQa.d.ts} +3 -2
  380. package/dist/{serializer-BKn50Vnx.d.cts → serializer-c51B2z6d.d.cts} +3 -2
  381. package/dist/template.cjs +20 -0
  382. package/dist/template.cjs.map +1 -1
  383. package/dist/template.d.cts +1 -0
  384. package/dist/template.d.ts +1 -0
  385. package/dist/template.js +20 -0
  386. package/dist/template.js.map +1 -1
  387. package/dist/tools/arxiv.cjs.map +1 -1
  388. package/dist/tools/arxiv.d.cts +1 -1
  389. package/dist/tools/arxiv.d.ts +1 -1
  390. package/dist/tools/arxiv.js.map +1 -1
  391. package/dist/tools/base.cjs.map +1 -1
  392. package/dist/tools/base.d.cts +3 -2
  393. package/dist/tools/base.d.ts +3 -2
  394. package/dist/tools/base.js.map +1 -1
  395. package/dist/tools/calculator.d.cts +1 -1
  396. package/dist/tools/calculator.d.ts +1 -1
  397. package/dist/tools/custom.d.cts +2 -2
  398. package/dist/tools/custom.d.ts +2 -2
  399. package/dist/tools/database/elasticsearch.cjs.map +1 -1
  400. package/dist/tools/database/elasticsearch.d.cts +1 -1
  401. package/dist/tools/database/elasticsearch.d.ts +1 -1
  402. package/dist/tools/database/elasticsearch.js.map +1 -1
  403. package/dist/tools/database/milvus.cjs +3 -3
  404. package/dist/tools/database/milvus.cjs.map +1 -1
  405. package/dist/tools/database/milvus.d.cts +3 -3
  406. package/dist/tools/database/milvus.d.ts +3 -3
  407. package/dist/tools/database/milvus.js +3 -3
  408. package/dist/tools/database/milvus.js.map +1 -1
  409. package/dist/tools/database/qdrant.cjs +2 -2
  410. package/dist/tools/database/qdrant.cjs.map +1 -1
  411. package/dist/tools/database/qdrant.d.cts +1 -1
  412. package/dist/tools/database/qdrant.d.ts +1 -1
  413. package/dist/tools/database/qdrant.js +2 -2
  414. package/dist/tools/database/qdrant.js.map +1 -1
  415. package/dist/tools/database/sql.cjs.map +1 -1
  416. package/dist/tools/database/sql.d.cts +1 -1
  417. package/dist/tools/database/sql.d.ts +1 -1
  418. package/dist/tools/database/sql.js.map +1 -1
  419. package/dist/tools/llm.d.cts +2 -2
  420. package/dist/tools/llm.d.ts +2 -2
  421. package/dist/tools/mcp.d.cts +1 -1
  422. package/dist/tools/mcp.d.ts +1 -1
  423. package/dist/tools/openapi.d.cts +1 -1
  424. package/dist/tools/openapi.d.ts +1 -1
  425. package/dist/tools/python/output.d.cts +1 -1
  426. package/dist/tools/python/output.d.ts +1 -1
  427. package/dist/tools/python/python.d.cts +2 -2
  428. package/dist/tools/python/python.d.ts +2 -2
  429. package/dist/tools/search/base.cjs.map +1 -1
  430. package/dist/tools/search/base.d.cts +1 -1
  431. package/dist/tools/search/base.d.ts +1 -1
  432. package/dist/tools/search/base.js.map +1 -1
  433. package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -1
  434. package/dist/tools/search/duckDuckGoSearch.d.cts +1 -1
  435. package/dist/tools/search/duckDuckGoSearch.d.ts +1 -1
  436. package/dist/tools/search/duckDuckGoSearch.js.map +1 -1
  437. package/dist/tools/search/googleSearch.cjs.map +1 -1
  438. package/dist/tools/search/googleSearch.d.cts +1 -1
  439. package/dist/tools/search/googleSearch.d.ts +1 -1
  440. package/dist/tools/search/googleSearch.js.map +1 -1
  441. package/dist/tools/search/searXNGSearch.d.cts +1 -1
  442. package/dist/tools/search/searXNGSearch.d.ts +1 -1
  443. package/dist/tools/search/wikipedia.cjs +25 -0
  444. package/dist/tools/search/wikipedia.cjs.map +1 -1
  445. package/dist/tools/search/wikipedia.d.cts +2 -3
  446. package/dist/tools/search/wikipedia.d.ts +2 -3
  447. package/dist/tools/search/wikipedia.js +23 -0
  448. package/dist/tools/search/wikipedia.js.map +1 -1
  449. package/dist/tools/similarity.d.cts +1 -1
  450. package/dist/tools/similarity.d.ts +1 -1
  451. package/dist/tools/think.cjs +52 -0
  452. package/dist/tools/think.cjs.map +1 -0
  453. package/dist/tools/think.d.cts +47 -0
  454. package/dist/tools/think.d.ts +47 -0
  455. package/dist/tools/think.js +50 -0
  456. package/dist/tools/think.js.map +1 -0
  457. package/dist/tools/weather/openMeteo.cjs.map +1 -1
  458. package/dist/tools/weather/openMeteo.d.cts +1 -1
  459. package/dist/tools/weather/openMeteo.d.ts +1 -1
  460. package/dist/tools/weather/openMeteo.js.map +1 -1
  461. package/dist/tools/web/webCrawler.cjs.map +1 -1
  462. package/dist/tools/web/webCrawler.d.cts +1 -1
  463. package/dist/tools/web/webCrawler.d.ts +1 -1
  464. package/dist/tools/web/webCrawler.js.map +1 -1
  465. package/dist/types-BXkkbABd.d.ts +213 -0
  466. package/dist/types-Cx6f43du.d.cts +213 -0
  467. package/dist/version.cjs +1 -1
  468. package/dist/version.js +1 -1
  469. package/dist/workflows/agent.d.cts +3 -3
  470. package/dist/workflows/agent.d.ts +3 -3
  471. package/dist/workflows/workflow.d.cts +1 -1
  472. package/dist/workflows/workflow.d.ts +1 -1
  473. package/package.json +70 -69
  474. package/dist/adapters/beeai_platform/agents/agent.cjs.map +0 -1
  475. package/dist/adapters/beeai_platform/agents/agent.js.map +0 -1
  476. package/dist/adapters/beeai_platform/agents/events.d.cts +0 -23
  477. package/dist/adapters/beeai_platform/agents/events.d.ts +0 -23
  478. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.cjs +0 -0
  479. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.cjs.map +0 -0
  480. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.js +0 -0
  481. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.js.map +0 -0
  482. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.cjs +0 -0
  483. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.cjs.map +0 -0
  484. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.js +0 -0
  485. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.js.map +0 -0
@@ -17,6 +17,7 @@ interface EmitterOptions {
17
17
  once?: boolean;
18
18
  persistent?: boolean;
19
19
  matchNested?: boolean;
20
+ priority?: number;
20
21
  }
21
22
  interface EventTrace {
22
23
  id: string;
@@ -61,7 +62,7 @@ interface Listener<T = any> {
61
62
  readonly options?: EmitterOptions;
62
63
  }
63
64
  declare class Emitter<T = Record<keyof any, Callback<unknown>>> extends Serializable {
64
- protected listeners: Set<Listener<any>>;
65
+ protected listeners: Listener[];
65
66
  protected readonly groupId?: string;
66
67
  readonly namespace: string[];
67
68
  readonly creator?: object;
@@ -87,13 +88,13 @@ declare class Emitter<T = Record<keyof any, Callback<unknown>>> extends Serializ
87
88
  context: object;
88
89
  trace: EventTrace | undefined;
89
90
  listeners: {
90
- readonly options?: EmitterOptions | undefined;
91
- readonly raw: Matcher;
92
- readonly callback: Callback<any>;
91
+ options?: EmitterOptions | undefined;
92
+ raw: Matcher;
93
+ callback: Callback<any>;
93
94
  }[];
94
95
  cleanups: CleanupFn[];
95
96
  };
96
97
  loadSnapshot({ listeners, ...snapshot }: ReturnType<typeof this.createSnapshot>): void;
97
98
  }
98
99
 
99
- export { type Callback as C, Emitter as E, type InferCallbackValue as I, type MatcherFn as M, type StringKey as S, type Matcher as a, type CleanupFn as b, type EmitterOptions as c, type EventTrace as d, type EventMeta as e, type EmitterInput as f, type EmitterChildInput as g };
100
+ export { type Callback as C, Emitter as E, type InferCallbackValue as I, type MatcherFn as M, type StringKey as S, type EventMeta as a, type Matcher as b, type CleanupFn as c, type EmitterOptions as d, type EventTrace as e, type EmitterInput as f, type EmitterChildInput as g };
package/dist/index.d.cts CHANGED
@@ -2,11 +2,11 @@ export { Logger, LoggerBindings, LoggerError, LoggerInput, LoggerLevel, LoggerLe
2
2
  export { PromptTemplate, PromptTemplateError, PromptTemplateInput, PromptTemplateRenderFn, PromptTemplateRenderInput, ValidationPromptTemplateError } from './template.cjs';
3
3
  export { AbortError, FrameworkError, FrameworkErrorOptions, NotImplementedError, ValueError } from './errors.cjs';
4
4
  export { Version } from './version.cjs';
5
- export { S as SerializeFactory, a as Serializer } from './serializer-BKn50Vnx.cjs';
6
- export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from './base-BP7v-NSL.cjs';
7
- export { k as ChatConfig, m as ChatModel, i as ChatModelCache, h as ChatModelEmitter, g as ChatModelEvents, e as ChatModelFinishReason, d as ChatModelInput, a as ChatModelObjectInput, b as ChatModelObjectOutput, n as ChatModelOutput, C as ChatModelParameters, c as ChatModelToolChoice, l as ChatModelToolChoiceSupport, f as ChatModelUsage, j as ConfigFn } from './chat-CR4yfOR9.cjs';
5
+ export { S as SerializeFactory, a as Serializer } from './serializer-c51B2z6d.cjs';
6
+ export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from './base-v-PYIq5G.cjs';
7
+ export { k as ChatConfig, m as ChatModel, i as ChatModelCache, h as ChatModelEmitter, g as ChatModelEvents, e as ChatModelFinishReason, d as ChatModelInput, a as ChatModelObjectInput, b as ChatModelObjectOutput, n as ChatModelOutput, C as ChatModelParameters, c as ChatModelToolChoice, l as ChatModelToolChoiceSupport, f as ChatModelUsage, j as ConfigFn } from './chat-DB_cf15S.cjs';
8
8
  export { EmbeddingModel, EmbeddingModelEmitter, EmbeddingModelEvents, EmbeddingModelInput, EmbeddingModelOutput } from './backend/embedding.cjs';
9
- export { AnyTool, BaseToolOptions, BaseToolRunOptions, DynamicTool, InferToolOutput, JSONToolOutput, RetryOptions, StringToolOutput, Tool, ToolEmitter, ToolError, ToolEvents, ToolInput, ToolInputRaw, ToolInputValidationError, ToolOutput, ToolSnapshot } from './tools/base.cjs';
9
+ export { AnyTool, AnyToolClass, BaseToolOptions, BaseToolRunOptions, DynamicTool, InferToolOutput, JSONToolOutput, RetryOptions, StringToolOutput, Tool, ToolEmitter, ToolError, ToolEvents, ToolInput, ToolInputRaw, ToolInputValidationError, ToolOutput, ToolSnapshot } from './tools/base.cjs';
10
10
  import 'pino';
11
11
  import './internals/serializable.cjs';
12
12
  import './internals/types.cjs';
@@ -14,7 +14,7 @@ import './internals/helpers/guards.cjs';
14
14
  import 'zod';
15
15
  import 'ajv';
16
16
  import './context.cjs';
17
- import './emitter-DWEsd-ud.cjs';
17
+ import './emitter-CGKd_-kK.cjs';
18
18
  import './internals/helpers/promise.cjs';
19
19
  import './memory/base.cjs';
20
20
  import './backend/message.cjs';
package/dist/index.d.ts CHANGED
@@ -2,11 +2,11 @@ export { Logger, LoggerBindings, LoggerError, LoggerInput, LoggerLevel, LoggerLe
2
2
  export { PromptTemplate, PromptTemplateError, PromptTemplateInput, PromptTemplateRenderFn, PromptTemplateRenderInput, ValidationPromptTemplateError } from './template.js';
3
3
  export { AbortError, FrameworkError, FrameworkErrorOptions, NotImplementedError, ValueError } from './errors.js';
4
4
  export { Version } from './version.js';
5
- export { S as SerializeFactory, a as Serializer } from './serializer-CQxucveV.js';
6
- export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from './base-BsY2baWy.js';
7
- export { k as ChatConfig, m as ChatModel, i as ChatModelCache, h as ChatModelEmitter, g as ChatModelEvents, e as ChatModelFinishReason, d as ChatModelInput, a as ChatModelObjectInput, b as ChatModelObjectOutput, n as ChatModelOutput, C as ChatModelParameters, c as ChatModelToolChoice, l as ChatModelToolChoiceSupport, f as ChatModelUsage, j as ConfigFn } from './chat-W9j8T6UU.js';
5
+ export { S as SerializeFactory, a as Serializer } from './serializer-53t8gGQa.js';
6
+ export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from './base-BurRTBA7.js';
7
+ export { k as ChatConfig, m as ChatModel, i as ChatModelCache, h as ChatModelEmitter, g as ChatModelEvents, e as ChatModelFinishReason, d as ChatModelInput, a as ChatModelObjectInput, b as ChatModelObjectOutput, n as ChatModelOutput, C as ChatModelParameters, c as ChatModelToolChoice, l as ChatModelToolChoiceSupport, f as ChatModelUsage, j as ConfigFn } from './chat-BbCYMAdE.js';
8
8
  export { EmbeddingModel, EmbeddingModelEmitter, EmbeddingModelEvents, EmbeddingModelInput, EmbeddingModelOutput } from './backend/embedding.js';
9
- export { AnyTool, BaseToolOptions, BaseToolRunOptions, DynamicTool, InferToolOutput, JSONToolOutput, RetryOptions, StringToolOutput, Tool, ToolEmitter, ToolError, ToolEvents, ToolInput, ToolInputRaw, ToolInputValidationError, ToolOutput, ToolSnapshot } from './tools/base.js';
9
+ export { AnyTool, AnyToolClass, BaseToolOptions, BaseToolRunOptions, DynamicTool, InferToolOutput, JSONToolOutput, RetryOptions, StringToolOutput, Tool, ToolEmitter, ToolError, ToolEvents, ToolInput, ToolInputRaw, ToolInputValidationError, ToolOutput, ToolSnapshot } from './tools/base.js';
10
10
  import 'pino';
11
11
  import './internals/serializable.js';
12
12
  import './internals/types.js';
@@ -14,7 +14,7 @@ import './internals/helpers/guards.js';
14
14
  import 'zod';
15
15
  import 'ajv';
16
16
  import './context.js';
17
- import './emitter-C9nwGLt6.js';
17
+ import './emitter-CN7I4uSV.js';
18
18
  import './internals/helpers/promise.js';
19
19
  import './memory/base.js';
20
20
  import './backend/message.js';
@@ -2,7 +2,7 @@ import { FrameworkError } from '../errors.cjs';
2
2
  import { Serializable } from './serializable.cjs';
3
3
  import { EventSourceMessage } from '@ai-zen/node-fetch-event-source';
4
4
  import { FetchEventSourceInit } from '@ai-zen/node-fetch-event-source/lib/cjs/fetch.js';
5
- import { C as Callback, E as Emitter } from '../emitter-DWEsd-ud.cjs';
5
+ import { C as Callback, E as Emitter } from '../emitter-CGKd_-kK.cjs';
6
6
  import './types.cjs';
7
7
  import './helpers/guards.cjs';
8
8
 
@@ -2,7 +2,7 @@ import { FrameworkError } from '../errors.js';
2
2
  import { Serializable } from './serializable.js';
3
3
  import { EventSourceMessage } from '@ai-zen/node-fetch-event-source';
4
4
  import { FetchEventSourceInit } from '@ai-zen/node-fetch-event-source/lib/cjs/fetch.js';
5
- import { C as Callback, E as Emitter } from '../emitter-C9nwGLt6.js';
5
+ import { C as Callback, E as Emitter } from '../emitter-CN7I4uSV.js';
6
6
  import './types.js';
7
7
  import './helpers/guards.js';
8
8
 
@@ -22,9 +22,44 @@ function hasMinLength(arr, n) {
22
22
  return arr.length >= n;
23
23
  }
24
24
  __name(hasMinLength, "hasMinLength");
25
+ function watchArray(array, handlers) {
26
+ return new Proxy(array, {
27
+ set(target, property, value, receiver) {
28
+ const apply = /* @__PURE__ */ __name(() => Reflect.set(target, property, value, receiver), "apply");
29
+ const index = Number(property);
30
+ if (!Number.isInteger(index) || index < 0) {
31
+ return apply();
32
+ }
33
+ const isAdd = !(property in target);
34
+ const oldValue = target[index];
35
+ const result = apply();
36
+ if (isAdd) {
37
+ handlers.onAdd?.(value);
38
+ } else if (oldValue !== value) {
39
+ handlers.onRemove?.(oldValue);
40
+ handlers.onAdd?.(value);
41
+ }
42
+ return result;
43
+ },
44
+ deleteProperty(target, property) {
45
+ const index = Number(property);
46
+ if (!Number.isInteger(index) || index < 0) {
47
+ return Reflect.deleteProperty(target, property);
48
+ }
49
+ const oldValue = target[index];
50
+ const result = Reflect.deleteProperty(target, property);
51
+ if (result && oldValue !== void 0) {
52
+ handlers.onRemove?.(oldValue);
53
+ }
54
+ return result;
55
+ }
56
+ });
57
+ }
58
+ __name(watchArray, "watchArray");
25
59
 
26
60
  exports.castArray = castArray;
27
61
  exports.hasMinLength = hasMinLength;
28
62
  exports.removeFromArray = removeFromArray;
63
+ exports.watchArray = watchArray;
29
64
  //# sourceMappingURL=array.cjs.map
30
65
  //# sourceMappingURL=array.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/array.ts"],"names":["removeFromArray","arr","target","index","findIndex","value","splice","castArray","result","Array","isArray","hasMinLength","n","length"],"mappings":";;;;AAKO,SAASA,eAAAA,CAAmBC,KAAUC,MAAAA,EAAS;AACpD,EAAA,MAAMC,QAAQF,GAAAA,CAAIG,SAAAA,CAAU,CAACC,KAAAA,KAAUA,UAAUH,MAAAA,CAAAA;AACjD,EAAA,IAAIC,UAAU,EAAA,EAAI;AAChB,IAAA,OAAO,KAAA;AACT;AAEAF,EAAAA,GAAAA,CAAIK,MAAAA,CAAOH,OAAO,CAAA,CAAA;AAClB,EAAA,OAAO,IAAA;AACT;AARgBH,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAUT,SAASO,UAAaN,GAAAA,EAAM;AACjC,EAAA,MAAMO,MAAAA,GAASC,KAAAA,CAAMC,OAAAA,CAAQT,GAAAA,IAAOA,GAAAA,GAAM;AAACA,IAAAA;;AAC3C,EAAA,OAAOO,MAAAA;AACT;AAHgBD,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;AAST,SAASI,YAAAA,CAAkCV,KAAUW,CAAAA,EAAI;AAC9D,EAAA,OAAOX,IAAIY,MAAAA,IAAUD,CAAAA;AACvB;AAFgBD,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA","file":"array.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function removeFromArray<T>(arr: T[], target: T): boolean {\n const index = arr.findIndex((value) => value === target);\n if (index === -1) {\n return false;\n }\n\n arr.splice(index, 1);\n return true;\n}\n\nexport function castArray<T>(arr: T) {\n const result = Array.isArray(arr) ? arr : [arr];\n return result as T extends unknown[] ? T : [T];\n}\n\ntype HasMinLength<T, N extends number, T2 extends any[] = []> = T2[\"length\"] extends N\n ? [...T2, ...T[]]\n : HasMinLength<T, N, [any, ...T2]>;\n\nexport function hasMinLength<T, N extends number>(arr: T[], n: N): arr is HasMinLength<T, N> {\n return arr.length >= n;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/array.ts"],"names":["removeFromArray","arr","target","index","findIndex","value","splice","castArray","result","Array","isArray","hasMinLength","n","length","watchArray","array","handlers","Proxy","set","property","receiver","apply","Reflect","Number","isInteger","isAdd","oldValue","onAdd","onRemove","deleteProperty","undefined"],"mappings":";;;;AAKO,SAASA,eAAAA,CAAmBC,KAAUC,MAAAA,EAAS;AACpD,EAAA,MAAMC,QAAQF,GAAAA,CAAIG,SAAAA,CAAU,CAACC,KAAAA,KAAUA,UAAUH,MAAAA,CAAAA;AACjD,EAAA,IAAIC,UAAU,EAAA,EAAI;AAChB,IAAA,OAAO,KAAA;AACT;AAEAF,EAAAA,GAAAA,CAAIK,MAAAA,CAAOH,OAAO,CAAA,CAAA;AAClB,EAAA,OAAO,IAAA;AACT;AARgBH,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAUT,SAASO,UAAaN,GAAAA,EAAM;AACjC,EAAA,MAAMO,MAAAA,GAASC,KAAAA,CAAMC,OAAAA,CAAQT,GAAAA,IAAOA,GAAAA,GAAM;AAACA,IAAAA;;AAC3C,EAAA,OAAOO,MAAAA;AACT;AAHgBD,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;AAST,SAASI,YAAAA,CAAkCV,KAAUW,CAAAA,EAAI;AAC9D,EAAA,OAAOX,IAAIY,MAAAA,IAAUD,CAAAA;AACvB;AAFgBD,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAST,SAASG,UAAAA,CAAcC,OAAYC,QAAAA,EAAgC;AAKxE,EAAA,OAAO,IAAIC,MAAMF,KAAAA,EAAO;IACtBG,GAAAA,CAAIhB,MAAAA,EAAQiB,QAAAA,EAAUd,KAAAA,EAAOe,QAAAA,EAAQ;AACnC,MAAA,MAAMC,KAAAA,gCAAcC,OAAAA,CAAQJ,GAAAA,CAAIhB,QAAQiB,QAAAA,EAAUd,KAAAA,EAAOe,QAAAA,CAAAA,EAA3C,OAAA,CAAA;AAEd,MAAA,MAAMjB,KAAAA,GAAQoB,OAAOJ,QAAAA,CAAAA;AAGrB,MAAA,IAAI,CAACI,MAAAA,CAAOC,SAAAA,CAAUrB,KAAAA,CAAAA,IAAUA,QAAQ,CAAA,EAAG;AACzC,QAAA,OAAOkB,KAAAA,EAAAA;AACT;AAEA,MAAA,MAAMI,KAAAA,GAAQ,EAAEN,QAAAA,IAAYjB,MAAAA,CAAAA;AAC5B,MAAA,MAAMwB,QAAAA,GAAWxB,OAAOC,KAAAA,CAAAA;AACxB,MAAA,MAAMK,SAASa,KAAAA,EAAAA;AAEf,MAAA,IAAII,KAAAA,EAAO;AACTT,QAAAA,QAAAA,CAASW,QAAQtB,KAAAA,CAAAA;AACnB,OAAA,MAAA,IAAWqB,aAAarB,KAAAA,EAAO;AAE7BW,QAAAA,QAAAA,CAASY,WAAWF,QAAAA,CAAAA;AACpBV,QAAAA,QAAAA,CAASW,QAAQtB,KAAAA,CAAAA;AACnB;AAEA,MAAA,OAAOG,MAAAA;AACT,KAAA;AAEAqB,IAAAA,cAAAA,CAAe3B,QAAQiB,QAAAA,EAAQ;AAC7B,MAAA,MAAMhB,KAAAA,GAAQoB,OAAOJ,QAAAA,CAAAA;AAErB,MAAA,IAAI,CAACI,MAAAA,CAAOC,SAAAA,CAAUrB,KAAAA,CAAAA,IAAUA,QAAQ,CAAA,EAAG;AACzC,QAAA,OAAOmB,OAAAA,CAAQO,cAAAA,CAAe3B,MAAAA,EAAQiB,QAAAA,CAAAA;AACxC;AAEA,MAAA,MAAMO,QAAAA,GAAWxB,OAAOC,KAAAA,CAAAA;AACxB,MAAA,MAAMK,MAAAA,GAASc,OAAAA,CAAQO,cAAAA,CAAe3B,MAAAA,EAAQiB,QAAAA,CAAAA;AAE9C,MAAA,IAAIX,MAAAA,IAAUkB,aAAaI,MAAAA,EAAW;AACpCd,QAAAA,QAAAA,CAASY,WAAWF,QAAAA,CAAAA;AACtB;AAEA,MAAA,OAAOlB,MAAAA;AACT;GACF,CAAA;AACF;AAhDgBM,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA","file":"array.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function removeFromArray<T>(arr: T[], target: T): boolean {\n const index = arr.findIndex((value) => value === target);\n if (index === -1) {\n return false;\n }\n\n arr.splice(index, 1);\n return true;\n}\n\nexport function castArray<T>(arr: T) {\n const result = Array.isArray(arr) ? arr : [arr];\n return result as T extends unknown[] ? T : [T];\n}\n\ntype HasMinLength<T, N extends number, T2 extends any[] = []> = T2[\"length\"] extends N\n ? [...T2, ...T[]]\n : HasMinLength<T, N, [any, ...T2]>;\n\nexport function hasMinLength<T, N extends number>(arr: T[], n: N): arr is HasMinLength<T, N> {\n return arr.length >= n;\n}\n\ninterface ArrayChangeHandlers<T> {\n onAdd?: (value: T) => void;\n onRemove?: (value: T) => void;\n}\n\nexport function watchArray<T>(array: T[], handlers: ArrayChangeHandlers<T>): T[] {\n /**\n * Does not handle 'length' modification\n */\n\n return new Proxy(array, {\n set(target, property, value, receiver) {\n const apply = () => Reflect.set(target, property, value, receiver);\n\n const index = Number(property);\n\n // Ignore non-index and length changes\n if (!Number.isInteger(index) || index < 0) {\n return apply();\n }\n\n const isAdd = !(property in target);\n const oldValue = target[index];\n const result = apply();\n\n if (isAdd) {\n handlers.onAdd?.(value);\n } else if (oldValue !== value) {\n // Treat replacement as removal + add\n handlers.onRemove?.(oldValue);\n handlers.onAdd?.(value);\n }\n\n return result;\n },\n\n deleteProperty(target, property) {\n const index = Number(property);\n\n if (!Number.isInteger(index) || index < 0) {\n return Reflect.deleteProperty(target, property);\n }\n\n const oldValue = target[index];\n const result = Reflect.deleteProperty(target, property);\n\n if (result && oldValue !== undefined) {\n handlers.onRemove?.(oldValue);\n }\n\n return result;\n },\n });\n}\n"]}
@@ -6,5 +6,10 @@ declare function removeFromArray<T>(arr: T[], target: T): boolean;
6
6
  declare function castArray<T>(arr: T): T extends unknown[] ? T : [T];
7
7
  type HasMinLength<T, N extends number, T2 extends any[] = []> = T2["length"] extends N ? [...T2, ...T[]] : HasMinLength<T, N, [any, ...T2]>;
8
8
  declare function hasMinLength<T, N extends number>(arr: T[], n: N): arr is HasMinLength<T, N>;
9
+ interface ArrayChangeHandlers<T> {
10
+ onAdd?: (value: T) => void;
11
+ onRemove?: (value: T) => void;
12
+ }
13
+ declare function watchArray<T>(array: T[], handlers: ArrayChangeHandlers<T>): T[];
9
14
 
10
- export { castArray, hasMinLength, removeFromArray };
15
+ export { castArray, hasMinLength, removeFromArray, watchArray };
@@ -6,5 +6,10 @@ declare function removeFromArray<T>(arr: T[], target: T): boolean;
6
6
  declare function castArray<T>(arr: T): T extends unknown[] ? T : [T];
7
7
  type HasMinLength<T, N extends number, T2 extends any[] = []> = T2["length"] extends N ? [...T2, ...T[]] : HasMinLength<T, N, [any, ...T2]>;
8
8
  declare function hasMinLength<T, N extends number>(arr: T[], n: N): arr is HasMinLength<T, N>;
9
+ interface ArrayChangeHandlers<T> {
10
+ onAdd?: (value: T) => void;
11
+ onRemove?: (value: T) => void;
12
+ }
13
+ declare function watchArray<T>(array: T[], handlers: ArrayChangeHandlers<T>): T[];
9
14
 
10
- export { castArray, hasMinLength, removeFromArray };
15
+ export { castArray, hasMinLength, removeFromArray, watchArray };
@@ -20,7 +20,41 @@ function hasMinLength(arr, n) {
20
20
  return arr.length >= n;
21
21
  }
22
22
  __name(hasMinLength, "hasMinLength");
23
+ function watchArray(array, handlers) {
24
+ return new Proxy(array, {
25
+ set(target, property, value, receiver) {
26
+ const apply = /* @__PURE__ */ __name(() => Reflect.set(target, property, value, receiver), "apply");
27
+ const index = Number(property);
28
+ if (!Number.isInteger(index) || index < 0) {
29
+ return apply();
30
+ }
31
+ const isAdd = !(property in target);
32
+ const oldValue = target[index];
33
+ const result = apply();
34
+ if (isAdd) {
35
+ handlers.onAdd?.(value);
36
+ } else if (oldValue !== value) {
37
+ handlers.onRemove?.(oldValue);
38
+ handlers.onAdd?.(value);
39
+ }
40
+ return result;
41
+ },
42
+ deleteProperty(target, property) {
43
+ const index = Number(property);
44
+ if (!Number.isInteger(index) || index < 0) {
45
+ return Reflect.deleteProperty(target, property);
46
+ }
47
+ const oldValue = target[index];
48
+ const result = Reflect.deleteProperty(target, property);
49
+ if (result && oldValue !== void 0) {
50
+ handlers.onRemove?.(oldValue);
51
+ }
52
+ return result;
53
+ }
54
+ });
55
+ }
56
+ __name(watchArray, "watchArray");
23
57
 
24
- export { castArray, hasMinLength, removeFromArray };
58
+ export { castArray, hasMinLength, removeFromArray, watchArray };
25
59
  //# sourceMappingURL=array.js.map
26
60
  //# sourceMappingURL=array.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/array.ts"],"names":["removeFromArray","arr","target","index","findIndex","value","splice","castArray","result","Array","isArray","hasMinLength","n","length"],"mappings":";;AAKO,SAASA,eAAAA,CAAmBC,KAAUC,MAAAA,EAAS;AACpD,EAAA,MAAMC,QAAQF,GAAAA,CAAIG,SAAAA,CAAU,CAACC,KAAAA,KAAUA,UAAUH,MAAAA,CAAAA;AACjD,EAAA,IAAIC,UAAU,EAAA,EAAI;AAChB,IAAA,OAAO,KAAA;AACT;AAEAF,EAAAA,GAAAA,CAAIK,MAAAA,CAAOH,OAAO,CAAA,CAAA;AAClB,EAAA,OAAO,IAAA;AACT;AARgBH,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAUT,SAASO,UAAaN,GAAAA,EAAM;AACjC,EAAA,MAAMO,MAAAA,GAASC,KAAAA,CAAMC,OAAAA,CAAQT,GAAAA,IAAOA,GAAAA,GAAM;AAACA,IAAAA;;AAC3C,EAAA,OAAOO,MAAAA;AACT;AAHgBD,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;AAST,SAASI,YAAAA,CAAkCV,KAAUW,CAAAA,EAAI;AAC9D,EAAA,OAAOX,IAAIY,MAAAA,IAAUD,CAAAA;AACvB;AAFgBD,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA","file":"array.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function removeFromArray<T>(arr: T[], target: T): boolean {\n const index = arr.findIndex((value) => value === target);\n if (index === -1) {\n return false;\n }\n\n arr.splice(index, 1);\n return true;\n}\n\nexport function castArray<T>(arr: T) {\n const result = Array.isArray(arr) ? arr : [arr];\n return result as T extends unknown[] ? T : [T];\n}\n\ntype HasMinLength<T, N extends number, T2 extends any[] = []> = T2[\"length\"] extends N\n ? [...T2, ...T[]]\n : HasMinLength<T, N, [any, ...T2]>;\n\nexport function hasMinLength<T, N extends number>(arr: T[], n: N): arr is HasMinLength<T, N> {\n return arr.length >= n;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/array.ts"],"names":["removeFromArray","arr","target","index","findIndex","value","splice","castArray","result","Array","isArray","hasMinLength","n","length","watchArray","array","handlers","Proxy","set","property","receiver","apply","Reflect","Number","isInteger","isAdd","oldValue","onAdd","onRemove","deleteProperty","undefined"],"mappings":";;AAKO,SAASA,eAAAA,CAAmBC,KAAUC,MAAAA,EAAS;AACpD,EAAA,MAAMC,QAAQF,GAAAA,CAAIG,SAAAA,CAAU,CAACC,KAAAA,KAAUA,UAAUH,MAAAA,CAAAA;AACjD,EAAA,IAAIC,UAAU,EAAA,EAAI;AAChB,IAAA,OAAO,KAAA;AACT;AAEAF,EAAAA,GAAAA,CAAIK,MAAAA,CAAOH,OAAO,CAAA,CAAA;AAClB,EAAA,OAAO,IAAA;AACT;AARgBH,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAUT,SAASO,UAAaN,GAAAA,EAAM;AACjC,EAAA,MAAMO,MAAAA,GAASC,KAAAA,CAAMC,OAAAA,CAAQT,GAAAA,IAAOA,GAAAA,GAAM;AAACA,IAAAA;;AAC3C,EAAA,OAAOO,MAAAA;AACT;AAHgBD,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;AAST,SAASI,YAAAA,CAAkCV,KAAUW,CAAAA,EAAI;AAC9D,EAAA,OAAOX,IAAIY,MAAAA,IAAUD,CAAAA;AACvB;AAFgBD,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAST,SAASG,UAAAA,CAAcC,OAAYC,QAAAA,EAAgC;AAKxE,EAAA,OAAO,IAAIC,MAAMF,KAAAA,EAAO;IACtBG,GAAAA,CAAIhB,MAAAA,EAAQiB,QAAAA,EAAUd,KAAAA,EAAOe,QAAAA,EAAQ;AACnC,MAAA,MAAMC,KAAAA,gCAAcC,OAAAA,CAAQJ,GAAAA,CAAIhB,QAAQiB,QAAAA,EAAUd,KAAAA,EAAOe,QAAAA,CAAAA,EAA3C,OAAA,CAAA;AAEd,MAAA,MAAMjB,KAAAA,GAAQoB,OAAOJ,QAAAA,CAAAA;AAGrB,MAAA,IAAI,CAACI,MAAAA,CAAOC,SAAAA,CAAUrB,KAAAA,CAAAA,IAAUA,QAAQ,CAAA,EAAG;AACzC,QAAA,OAAOkB,KAAAA,EAAAA;AACT;AAEA,MAAA,MAAMI,KAAAA,GAAQ,EAAEN,QAAAA,IAAYjB,MAAAA,CAAAA;AAC5B,MAAA,MAAMwB,QAAAA,GAAWxB,OAAOC,KAAAA,CAAAA;AACxB,MAAA,MAAMK,SAASa,KAAAA,EAAAA;AAEf,MAAA,IAAII,KAAAA,EAAO;AACTT,QAAAA,QAAAA,CAASW,QAAQtB,KAAAA,CAAAA;AACnB,OAAA,MAAA,IAAWqB,aAAarB,KAAAA,EAAO;AAE7BW,QAAAA,QAAAA,CAASY,WAAWF,QAAAA,CAAAA;AACpBV,QAAAA,QAAAA,CAASW,QAAQtB,KAAAA,CAAAA;AACnB;AAEA,MAAA,OAAOG,MAAAA;AACT,KAAA;AAEAqB,IAAAA,cAAAA,CAAe3B,QAAQiB,QAAAA,EAAQ;AAC7B,MAAA,MAAMhB,KAAAA,GAAQoB,OAAOJ,QAAAA,CAAAA;AAErB,MAAA,IAAI,CAACI,MAAAA,CAAOC,SAAAA,CAAUrB,KAAAA,CAAAA,IAAUA,QAAQ,CAAA,EAAG;AACzC,QAAA,OAAOmB,OAAAA,CAAQO,cAAAA,CAAe3B,MAAAA,EAAQiB,QAAAA,CAAAA;AACxC;AAEA,MAAA,MAAMO,QAAAA,GAAWxB,OAAOC,KAAAA,CAAAA;AACxB,MAAA,MAAMK,MAAAA,GAASc,OAAAA,CAAQO,cAAAA,CAAe3B,MAAAA,EAAQiB,QAAAA,CAAAA;AAE9C,MAAA,IAAIX,MAAAA,IAAUkB,aAAaI,MAAAA,EAAW;AACpCd,QAAAA,QAAAA,CAASY,WAAWF,QAAAA,CAAAA;AACtB;AAEA,MAAA,OAAOlB,MAAAA;AACT;GACF,CAAA;AACF;AAhDgBM,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA","file":"array.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function removeFromArray<T>(arr: T[], target: T): boolean {\n const index = arr.findIndex((value) => value === target);\n if (index === -1) {\n return false;\n }\n\n arr.splice(index, 1);\n return true;\n}\n\nexport function castArray<T>(arr: T) {\n const result = Array.isArray(arr) ? arr : [arr];\n return result as T extends unknown[] ? T : [T];\n}\n\ntype HasMinLength<T, N extends number, T2 extends any[] = []> = T2[\"length\"] extends N\n ? [...T2, ...T[]]\n : HasMinLength<T, N, [any, ...T2]>;\n\nexport function hasMinLength<T, N extends number>(arr: T[], n: N): arr is HasMinLength<T, N> {\n return arr.length >= n;\n}\n\ninterface ArrayChangeHandlers<T> {\n onAdd?: (value: T) => void;\n onRemove?: (value: T) => void;\n}\n\nexport function watchArray<T>(array: T[], handlers: ArrayChangeHandlers<T>): T[] {\n /**\n * Does not handle 'length' modification\n */\n\n return new Proxy(array, {\n set(target, property, value, receiver) {\n const apply = () => Reflect.set(target, property, value, receiver);\n\n const index = Number(property);\n\n // Ignore non-index and length changes\n if (!Number.isInteger(index) || index < 0) {\n return apply();\n }\n\n const isAdd = !(property in target);\n const oldValue = target[index];\n const result = apply();\n\n if (isAdd) {\n handlers.onAdd?.(value);\n } else if (oldValue !== value) {\n // Treat replacement as removal + add\n handlers.onRemove?.(oldValue);\n handlers.onAdd?.(value);\n }\n\n return result;\n },\n\n deleteProperty(target, property) {\n const index = Number(property);\n\n if (!Number.isInteger(index) || index < 0) {\n return Reflect.deleteProperty(target, property);\n }\n\n const oldValue = target[index];\n const result = Reflect.deleteProperty(target, property);\n\n if (result && oldValue !== undefined) {\n handlers.onRemove?.(oldValue);\n }\n\n return result;\n },\n });\n}\n"]}
@@ -78,12 +78,20 @@ function getProp(target, paths, defaultValue = void 0) {
78
78
  return value;
79
79
  }
80
80
  __name(getProp, "getProp");
81
- function deleteProps(target, keys) {
82
- keys.forEach((key) => {
81
+ function popProp(target, key, fallback = null) {
82
+ if (!hasProp(target, key)) {
83
+ return fallback;
84
+ }
85
+ const value = getProp(target, [
86
+ key
87
+ ]);
88
+ try {
83
89
  delete target[key];
84
- });
90
+ } catch {
91
+ }
92
+ return value;
85
93
  }
86
- __name(deleteProps, "deleteProps");
94
+ __name(popProp, "popProp");
87
95
  function updateObject(old, update) {
88
96
  for (const [key, val] of Object.entries(update)) {
89
97
  const existing = old[key];
@@ -124,11 +132,26 @@ function mapObj(obj) {
124
132
  };
125
133
  }
126
134
  __name(mapObj, "mapObj");
135
+ function safeDefineProperty(target, key, get) {
136
+ try {
137
+ Object.defineProperty(target, key, {
138
+ enumerable: false,
139
+ configurable: false,
140
+ get() {
141
+ return get();
142
+ }
143
+ });
144
+ } catch (e) {
145
+ if (!(e instanceof TypeError)) {
146
+ throw e;
147
+ }
148
+ }
149
+ }
150
+ __name(safeDefineProperty, "safeDefineProperty");
127
151
 
128
152
  exports.assign = assign;
129
153
  exports.assignFactory = assignFactory;
130
154
  exports.customMerge = customMerge;
131
- exports.deleteProps = deleteProps;
132
155
  exports.getProp = getProp;
133
156
  exports.getPropStrict = getPropStrict;
134
157
  exports.hasProp = hasProp;
@@ -136,6 +159,8 @@ exports.hasProps = hasProps;
136
159
  exports.mapObj = mapObj;
137
160
  exports.omitEmptyValues = omitEmptyValues;
138
161
  exports.omitUndefined = omitUndefined;
162
+ exports.popProp = popProp;
163
+ exports.safeDefineProperty = safeDefineProperty;
139
164
  exports.setProp = setProp;
140
165
  exports.updateObject = updateObject;
141
166
  //# sourceMappingURL=object.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/object.ts"],"names":["assignFactory","target","source","Object","assign","a","b","omitEmptyValues","R","pickBy","isTruthy","omitUndefined","isDefined","hasProp","key","Boolean","prototype","hasOwnProperty","call","hasProps","keys","every","setProp","paths","value","entry","entries","idx","isPlainObject","isArray","TypeError","isLast","length","newValue","getPropStrict","path","getProp","defaultValue","undefined","deleteProps","forEach","updateObject","old","update","val","existing","FrameworkError","context","customMerge","results","processors","finalResult","next","oldValue","takeFirstBy","mapObj","obj","fn","updated","pair"],"mappings":"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","file":"object.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as R from \"remeda\";\nimport { FrameworkError } from \"@/errors.js\";\n\nexport type Override<T, T2 extends Partial<T>> = {\n [K in keyof T2]: K extends keyof T ? T2[K] : never;\n};\n\nexport function assignFactory<T extends NonNullable<unknown>, T2 extends Partial<T>>(target: T) {\n return (source: NonNullable<Override<T, T2>>) => {\n Object.assign(target, source);\n };\n}\n\nexport const assign = <T extends NonNullable<unknown>, T2 extends Partial<T>>(\n a: T,\n b: NonNullable<Override<T, T2>>,\n) => assignFactory(a)(b);\nexport const omitEmptyValues = R.pickBy(R.isTruthy);\nexport const omitUndefined = R.pickBy(R.isDefined);\n\nexport function hasProp<T>(target: T | undefined, key: keyof T): key is keyof T {\n return Boolean(target) && Object.prototype.hasOwnProperty.call(target, key);\n}\n\nexport function hasProps<T>(keys: (keyof T)[]) {\n return (target: T | undefined) => keys.every((key) => hasProp(target, key));\n}\n\nexport function setProp(target: unknown, paths: readonly (keyof any)[], value: unknown) {\n for (const entry of paths.entries()) {\n const [idx, key] = entry as [number, keyof object];\n if (!R.isPlainObject(target) && !R.isArray(target)) {\n throw new TypeError(\"Only plain objects and arrays are supported!\");\n }\n\n const isLast = idx === paths.length - 1;\n const newValue = isLast ? value : (target[key] ?? {});\n Object.assign(target, { [key]: newValue });\n target = target[key];\n }\n}\n\nexport function getPropStrict(target: NonNullable<unknown>, path: string): any {\n if (!target || !(path in target)) {\n throw new TypeError(`Target does not contain key \"${path}\"`);\n }\n return target[path as keyof typeof target];\n}\n\nexport function getProp(\n target: unknown,\n paths: readonly (keyof any)[],\n defaultValue: any = undefined,\n) {\n let value: any = target;\n if (!value) {\n return undefined;\n }\n\n for (const key of paths) {\n if (!hasProp(value, key)) {\n return defaultValue;\n }\n value = value[key];\n }\n return value;\n}\n\nexport function deleteProps<T, K extends keyof T>(target: T, keys: readonly K[]) {\n keys.forEach((key) => {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete target[key];\n });\n}\n\nexport function updateObject<T extends object, L extends object>(\n old: T,\n update: L,\n): asserts old is T & L {\n for (const [key, val] of Object.entries(update)) {\n const existing = old[key as keyof T];\n if (existing !== undefined && existing !== null) {\n throw new FrameworkError(\n `Cannot update object. Key '${key}' already exists and is defined.`,\n [],\n {\n context: {\n existing,\n update: val,\n },\n },\n );\n }\n old[key as keyof T] = val;\n }\n}\n\nexport function customMerge<T extends NonNullable<unknown>>(\n results: T[],\n processors: {\n [K in keyof T]: (value: T[K], oldValue: T[K]) => T[K];\n },\n) {\n if (results.length === 0) {\n throw new TypeError(\"Cannot merge content of an empty array!\");\n }\n\n const finalResult = {} as T;\n for (const next of results) {\n for (const [key, value] of R.entries(next)) {\n const oldValue = finalResult[key as keyof T];\n // @ts-expect-error weak typing due to generated types\n finalResult[key] = (processors[key] ?? R.takeFirstBy(1))(value, oldValue);\n }\n }\n return finalResult;\n}\n\nexport function mapObj<T extends object>(obj: T) {\n return function <K extends keyof T, R = T[K]>(\n fn: (key: K, value: T[K]) => R,\n ): Record<keyof T, R> {\n const updated = {} as Record<keyof T, R>;\n for (const pair of Object.entries(obj)) {\n const [key, value] = pair as [K, T[K]];\n updated[key] = fn(key, value);\n }\n return updated;\n };\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/object.ts"],"names":["assignFactory","target","source","Object","assign","a","b","omitEmptyValues","R","pickBy","isTruthy","omitUndefined","isDefined","hasProp","key","Boolean","prototype","hasOwnProperty","call","hasProps","keys","every","setProp","paths","value","entry","entries","idx","isPlainObject","isArray","TypeError","isLast","length","newValue","getPropStrict","path","getProp","defaultValue","undefined","popProp","fallback","updateObject","old","update","val","existing","FrameworkError","context","customMerge","results","processors","finalResult","next","oldValue","takeFirstBy","mapObj","obj","fn","updated","pair","safeDefineProperty","get","defineProperty","enumerable","configurable","e"],"mappings":"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","file":"object.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as R from \"remeda\";\nimport { FrameworkError } from \"@/errors.js\";\n\nexport type Override<T, T2 extends Partial<T>> = {\n [K in keyof T2]: K extends keyof T ? T2[K] : never;\n};\n\nexport function assignFactory<T extends NonNullable<unknown>, T2 extends Partial<T>>(target: T) {\n return (source: NonNullable<Override<T, T2>>) => {\n Object.assign(target, source);\n };\n}\n\nexport const assign = <T extends NonNullable<unknown>, T2 extends Partial<T>>(\n a: T,\n b: NonNullable<Override<T, T2>>,\n) => assignFactory(a)(b);\nexport const omitEmptyValues = R.pickBy(R.isTruthy);\nexport const omitUndefined = R.pickBy(R.isDefined);\n\nexport function hasProp<T>(target: T | undefined, key: keyof T): key is keyof T {\n return Boolean(target) && Object.prototype.hasOwnProperty.call(target, key);\n}\n\nexport function hasProps<T>(keys: (keyof T)[]) {\n return (target: T | undefined) => keys.every((key) => hasProp(target, key));\n}\n\nexport function setProp(target: unknown, paths: readonly (keyof any)[], value: unknown) {\n for (const entry of paths.entries()) {\n const [idx, key] = entry as [number, keyof object];\n if (!R.isPlainObject(target) && !R.isArray(target)) {\n throw new TypeError(\"Only plain objects and arrays are supported!\");\n }\n\n const isLast = idx === paths.length - 1;\n const newValue = isLast ? value : (target[key] ?? {});\n Object.assign(target, { [key]: newValue });\n target = target[key];\n }\n}\n\nexport function getPropStrict(target: NonNullable<unknown>, path: string): any {\n if (!target || !(path in target)) {\n throw new TypeError(`Target does not contain key \"${path}\"`);\n }\n return target[path as keyof typeof target];\n}\n\nexport function getProp(\n target: unknown,\n paths: readonly (keyof any)[],\n defaultValue: any = undefined,\n) {\n let value: any = target;\n if (!value) {\n return undefined;\n }\n\n for (const key of paths) {\n if (!hasProp(value, key)) {\n return defaultValue;\n }\n value = value[key];\n }\n return value;\n}\n\nexport function popProp<T, K extends keyof T>(\n target: T,\n key: K,\n fallback: T[K] | null = null,\n): T[K] | null {\n if (!hasProp(target, key)) {\n return fallback;\n }\n const value = getProp(target, [key]);\n try {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete target[key];\n } catch {\n /* empty */\n }\n return value;\n}\n\nexport function updateObject<T extends object, L extends object>(\n old: T,\n update: L,\n): asserts old is T & L {\n for (const [key, val] of Object.entries(update)) {\n const existing = old[key as keyof T];\n if (existing !== undefined && existing !== null) {\n throw new FrameworkError(\n `Cannot update object. Key '${key}' already exists and is defined.`,\n [],\n {\n context: {\n existing,\n update: val,\n },\n },\n );\n }\n old[key as keyof T] = val;\n }\n}\n\nexport function customMerge<T extends NonNullable<unknown>>(\n results: T[],\n processors: {\n [K in keyof T]: (value: T[K], oldValue: T[K]) => T[K];\n },\n) {\n if (results.length === 0) {\n throw new TypeError(\"Cannot merge content of an empty array!\");\n }\n\n const finalResult = {} as T;\n for (const next of results) {\n for (const [key, value] of R.entries(next)) {\n const oldValue = finalResult[key as keyof T];\n // @ts-expect-error weak typing due to generated types\n finalResult[key] = (processors[key] ?? R.takeFirstBy(1))(value, oldValue);\n }\n }\n return finalResult;\n}\n\nexport function mapObj<T extends object>(obj: T) {\n return function <K extends keyof T, R = T[K]>(\n fn: (key: K, value: T[K]) => R,\n ): Record<keyof T, R> {\n const updated = {} as Record<keyof T, R>;\n for (const pair of Object.entries(obj)) {\n const [key, value] = pair as [K, T[K]];\n updated[key] = fn(key, value);\n }\n return updated;\n };\n}\n\nexport function safeDefineProperty<T, K extends keyof T>(target: T, key: K, get: () => T[K]) {\n try {\n Object.defineProperty(target, key, {\n enumerable: false,\n configurable: false,\n get() {\n return get();\n },\n });\n } catch (e) {\n if (!(e instanceof TypeError)) {\n throw e;\n }\n }\n}\n"]}
@@ -14,11 +14,12 @@ declare function hasProps<T>(keys: (keyof T)[]): (target: T | undefined) => bool
14
14
  declare function setProp(target: unknown, paths: readonly (keyof any)[], value: unknown): void;
15
15
  declare function getPropStrict(target: NonNullable<unknown>, path: string): any;
16
16
  declare function getProp(target: unknown, paths: readonly (keyof any)[], defaultValue?: any): any;
17
- declare function deleteProps<T, K extends keyof T>(target: T, keys: readonly K[]): void;
17
+ declare function popProp<T, K extends keyof T>(target: T, key: K, fallback?: T[K] | null): T[K] | null;
18
18
  declare function updateObject<T extends object, L extends object>(old: T, update: L): asserts old is T & L;
19
19
  declare function customMerge<T extends NonNullable<unknown>>(results: T[], processors: {
20
20
  [K in keyof T]: (value: T[K], oldValue: T[K]) => T[K];
21
21
  }): T;
22
22
  declare function mapObj<T extends object>(obj: T): <K extends keyof T, R = T[K]>(fn: (key: K, value: T[K]) => R) => Record<keyof T, R>;
23
+ declare function safeDefineProperty<T, K extends keyof T>(target: T, key: K, get: () => T[K]): void;
23
24
 
24
- export { type Override, assign, assignFactory, customMerge, deleteProps, getProp, getPropStrict, hasProp, hasProps, mapObj, omitEmptyValues, omitUndefined, setProp, updateObject };
25
+ export { type Override, assign, assignFactory, customMerge, getProp, getPropStrict, hasProp, hasProps, mapObj, omitEmptyValues, omitUndefined, popProp, safeDefineProperty, setProp, updateObject };
@@ -14,11 +14,12 @@ declare function hasProps<T>(keys: (keyof T)[]): (target: T | undefined) => bool
14
14
  declare function setProp(target: unknown, paths: readonly (keyof any)[], value: unknown): void;
15
15
  declare function getPropStrict(target: NonNullable<unknown>, path: string): any;
16
16
  declare function getProp(target: unknown, paths: readonly (keyof any)[], defaultValue?: any): any;
17
- declare function deleteProps<T, K extends keyof T>(target: T, keys: readonly K[]): void;
17
+ declare function popProp<T, K extends keyof T>(target: T, key: K, fallback?: T[K] | null): T[K] | null;
18
18
  declare function updateObject<T extends object, L extends object>(old: T, update: L): asserts old is T & L;
19
19
  declare function customMerge<T extends NonNullable<unknown>>(results: T[], processors: {
20
20
  [K in keyof T]: (value: T[K], oldValue: T[K]) => T[K];
21
21
  }): T;
22
22
  declare function mapObj<T extends object>(obj: T): <K extends keyof T, R = T[K]>(fn: (key: K, value: T[K]) => R) => Record<keyof T, R>;
23
+ declare function safeDefineProperty<T, K extends keyof T>(target: T, key: K, get: () => T[K]): void;
23
24
 
24
- export { type Override, assign, assignFactory, customMerge, deleteProps, getProp, getPropStrict, hasProp, hasProps, mapObj, omitEmptyValues, omitUndefined, setProp, updateObject };
25
+ export { type Override, assign, assignFactory, customMerge, getProp, getPropStrict, hasProp, hasProps, mapObj, omitEmptyValues, omitUndefined, popProp, safeDefineProperty, setProp, updateObject };
@@ -56,12 +56,20 @@ function getProp(target, paths, defaultValue = void 0) {
56
56
  return value;
57
57
  }
58
58
  __name(getProp, "getProp");
59
- function deleteProps(target, keys) {
60
- keys.forEach((key) => {
59
+ function popProp(target, key, fallback = null) {
60
+ if (!hasProp(target, key)) {
61
+ return fallback;
62
+ }
63
+ const value = getProp(target, [
64
+ key
65
+ ]);
66
+ try {
61
67
  delete target[key];
62
- });
68
+ } catch {
69
+ }
70
+ return value;
63
71
  }
64
- __name(deleteProps, "deleteProps");
72
+ __name(popProp, "popProp");
65
73
  function updateObject(old, update) {
66
74
  for (const [key, val] of Object.entries(update)) {
67
75
  const existing = old[key];
@@ -102,7 +110,23 @@ function mapObj(obj) {
102
110
  };
103
111
  }
104
112
  __name(mapObj, "mapObj");
113
+ function safeDefineProperty(target, key, get) {
114
+ try {
115
+ Object.defineProperty(target, key, {
116
+ enumerable: false,
117
+ configurable: false,
118
+ get() {
119
+ return get();
120
+ }
121
+ });
122
+ } catch (e) {
123
+ if (!(e instanceof TypeError)) {
124
+ throw e;
125
+ }
126
+ }
127
+ }
128
+ __name(safeDefineProperty, "safeDefineProperty");
105
129
 
106
- export { assign, assignFactory, customMerge, deleteProps, getProp, getPropStrict, hasProp, hasProps, mapObj, omitEmptyValues, omitUndefined, setProp, updateObject };
130
+ export { assign, assignFactory, customMerge, getProp, getPropStrict, hasProp, hasProps, mapObj, omitEmptyValues, omitUndefined, popProp, safeDefineProperty, setProp, updateObject };
107
131
  //# sourceMappingURL=object.js.map
108
132
  //# sourceMappingURL=object.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/object.ts"],"names":["assignFactory","target","source","Object","assign","a","b","omitEmptyValues","R","pickBy","isTruthy","omitUndefined","isDefined","hasProp","key","Boolean","prototype","hasOwnProperty","call","hasProps","keys","every","setProp","paths","value","entry","entries","idx","isPlainObject","isArray","TypeError","isLast","length","newValue","getPropStrict","path","getProp","defaultValue","undefined","deleteProps","forEach","updateObject","old","update","val","existing","FrameworkError","context","customMerge","results","processors","finalResult","next","oldValue","takeFirstBy","mapObj","obj","fn","updated","pair"],"mappings":";;;;;AAYO,SAASA,cAAqEC,MAAAA,EAAS;AAC5F,EAAA,OAAO,CAACC,MAAAA,KAAAA;AACNC,IAAAA,MAAAA,CAAOC,MAAAA,CAAOH,QAAQC,MAAAA,CAAAA;AACxB,GAAA;AACF;AAJgBF,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAMT,MAAMI,MAAAA,2BACXC,CAAAA,EACAC,CAAAA,KACGN,cAAcK,CAAAA,CAAAA,CAAGC,CAAAA,CAAAA,EAHA,QAAA;AAIf,MAAMC,eAAAA,GAAkBC,CAAAA,CAAEC,MAAAA,CAAOD,CAAAA,CAAEE,QAAQ;AAC3C,MAAMC,aAAAA,GAAgBH,CAAAA,CAAEC,MAAAA,CAAOD,CAAAA,CAAEI,SAAS;AAE1C,SAASC,OAAAA,CAAWZ,QAAuBa,GAAAA,EAAY;AAC5D,EAAA,OAAOC,OAAAA,CAAQd,MAAAA,CAAAA,IAAWE,MAAAA,CAAOa,UAAUC,cAAAA,CAAeC,IAAAA,CAAKjB,QAAQa,GAAAA,CAAAA;AACzE;AAFgBD,MAAAA,CAAAA,OAAAA,EAAAA,SAAAA,CAAAA;AAIT,SAASM,SAAYC,IAAAA,EAAiB;AAC3C,EAAA,OAAO,CAACnB,WAA0BmB,IAAAA,CAAKC,KAAAA,CAAM,CAACP,GAAAA,KAAQD,OAAAA,CAAQZ,MAAAA,EAAQa,GAAAA,CAAAA,CAAAA;AACxE;AAFgBK,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA;AAIT,SAASG,OAAAA,CAAQrB,MAAAA,EAAiBsB,KAAAA,EAA+BC,KAAAA,EAAc;AACpF,EAAA,KAAA,MAAWC,KAAAA,IAASF,KAAAA,CAAMG,OAAAA,EAAO,EAAI;AACnC,IAAA,MAAM,CAACC,GAAAA,EAAKb,GAAAA,CAAAA,GAAOW,KAAAA;AACnB,IAAA,IAAI,CAACjB,EAAEoB,aAAAA,CAAc3B,MAAAA,KAAW,CAACO,CAAAA,CAAEqB,OAAAA,CAAQ5B,MAAAA,CAAAA,EAAS;AAClD,MAAA,MAAM,IAAI6B,UAAU,8CAAA,CAAA;AACtB;AAEA,IAAA,MAAMC,MAAAA,GAASJ,GAAAA,KAAQJ,KAAAA,CAAMS,MAAAA,GAAS,CAAA;AACtC,IAAA,MAAMC,WAAWF,MAAAA,GAASP,KAAAA,GAASvB,MAAAA,CAAOa,GAAAA,KAAQ,EAAC;AACnDX,IAAAA,MAAAA,CAAOC,OAAOH,MAAAA,EAAQ;AAAE,MAAA,CAACa,GAAAA,GAAMmB;KAAS,CAAA;AACxChC,IAAAA,MAAAA,GAASA,OAAOa,GAAAA,CAAAA;AAClB;AACF;AAZgBQ,MAAAA,CAAAA,OAAAA,EAAAA,SAAAA,CAAAA;AAcT,SAASY,aAAAA,CAAcjC,QAA8BkC,IAAAA,EAAY;AACtE,EAAA,IAAI,CAAClC,MAAAA,IAAU,EAAEkC,IAAAA,IAAQlC,MAAAA,CAAAA,EAAS;AAChC,IAAA,MAAM,IAAI6B,SAAAA,CAAU,CAAA,6BAAA,EAAgCK,IAAAA,CAAAA,CAAAA,CAAO,CAAA;AAC7D;AACA,EAAA,OAAOlC,OAAOkC,IAAAA,CAAAA;AAChB;AALgBD,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAOT,SAASE,OAAAA,CACdnC,MAAAA,EACAsB,KAAAA,EACAc,YAAAA,GAAoBC,MAAAA,EAAS;AAE7B,EAAA,IAAId,KAAAA,GAAavB,MAAAA;AACjB,EAAA,IAAI,CAACuB,KAAAA,EAAO;AACV,IAAA,OAAOc,MAAAA;AACT;AAEA,EAAA,KAAA,MAAWxB,OAAOS,KAAAA,EAAO;AACvB,IAAA,IAAI,CAACV,OAAAA,CAAQW,KAAAA,EAAOV,GAAAA,CAAAA,EAAM;AACxB,MAAA,OAAOuB,YAAAA;AACT;AACAb,IAAAA,KAAAA,GAAQA,MAAMV,GAAAA,CAAAA;AAChB;AACA,EAAA,OAAOU,KAAAA;AACT;AAjBgBY,MAAAA,CAAAA,OAAAA,EAAAA,SAAAA,CAAAA;AAmBT,SAASG,WAAAA,CAAkCtC,QAAWmB,IAAAA,EAAkB;AAC7EA,EAAAA,IAAAA,CAAKoB,OAAAA,CAAQ,CAAC1B,GAAAA,KAAAA;AAEZ,IAAA,OAAOb,OAAOa,GAAAA,CAAAA;GAChB,CAAA;AACF;AALgByB,MAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA;AAOT,SAASE,YAAAA,CACdC,KACAC,MAAAA,EAAS;AAET,EAAA,KAAA,MAAW,CAAC7B,GAAAA,EAAK8B,GAAAA,KAAQzC,MAAAA,CAAOuB,OAAAA,CAAQiB,MAAAA,CAAAA,EAAS;AAC/C,IAAA,MAAME,QAAAA,GAAWH,IAAI5B,GAAAA,CAAAA;AACrB,IAAA,IAAI+B,QAAAA,KAAaP,MAAAA,IAAaO,QAAAA,KAAa,IAAA,EAAM;AAC/C,MAAA,MAAM,IAAIC,cAAAA,CACR,CAAA,2BAAA,EAA8BhC,GAAAA,CAAAA,gCAAAA,CAAAA,EAC9B,EAAA,EACA;QACEiC,OAAAA,EAAS;AACPF,UAAAA,QAAAA;UACAF,MAAAA,EAAQC;AACV;OACF,CAAA;AAEJ;AACAF,IAAAA,GAAAA,CAAI5B,GAAAA,CAAAA,GAAkB8B,GAAAA;AACxB;AACF;AApBgBH,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAsBT,SAASO,WAAAA,CACdC,SACAC,UAAAA,EAEC;AAED,EAAA,IAAID,OAAAA,CAAQjB,WAAW,CAAA,EAAG;AACxB,IAAA,MAAM,IAAIF,UAAU,yCAAA,CAAA;AACtB;AAEA,EAAA,MAAMqB,cAAc,EAAC;AACrB,EAAA,KAAA,MAAWC,QAAQH,OAAAA,EAAS;AAC1B,IAAA,KAAA,MAAW,CAACnC,GAAAA,EAAKU,KAAAA,KAAUhB,CAAAA,CAAEkB,OAAAA,CAAQ0B,IAAAA,CAAAA,EAAO;AAC1C,MAAA,MAAMC,QAAAA,GAAWF,YAAYrC,GAAAA,CAAAA;AAE7BqC,MAAAA,WAAAA,CAAYrC,GAAAA,CAAAA,GAAAA,CAAQoC,UAAAA,CAAWpC,GAAAA,CAAAA,IAAQN,EAAE8C,WAAAA,CAAY,CAAA,CAAA,EAAI9B,KAAAA,EAAO6B,QAAAA,CAAAA;AAClE;AACF;AACA,EAAA,OAAOF,WAAAA;AACT;AAnBgBH,MAAAA,CAAAA,WAAAA,EAAAA,aAAAA,CAAAA;AAqBT,SAASO,OAAyBC,GAAAA,EAAM;AAC7C,EAAA,OAAO,SACLC,EAAAA,EAA8B;AAE9B,IAAA,MAAMC,UAAU,EAAC;AACjB,IAAA,KAAA,MAAWC,IAAAA,IAAQxD,MAAAA,CAAOuB,OAAAA,CAAQ8B,GAAAA,CAAAA,EAAM;AACtC,MAAA,MAAM,CAAC1C,GAAAA,EAAKU,KAAAA,CAAAA,GAASmC,IAAAA;AACrBD,MAAAA,OAAAA,CAAQ5C,GAAAA,CAAAA,GAAO2C,EAAAA,CAAG3C,GAAAA,EAAKU,KAAAA,CAAAA;AACzB;AACA,IAAA,OAAOkC,OAAAA;AACT,GAAA;AACF;AAXgBH,MAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA","file":"object.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as R from \"remeda\";\nimport { FrameworkError } from \"@/errors.js\";\n\nexport type Override<T, T2 extends Partial<T>> = {\n [K in keyof T2]: K extends keyof T ? T2[K] : never;\n};\n\nexport function assignFactory<T extends NonNullable<unknown>, T2 extends Partial<T>>(target: T) {\n return (source: NonNullable<Override<T, T2>>) => {\n Object.assign(target, source);\n };\n}\n\nexport const assign = <T extends NonNullable<unknown>, T2 extends Partial<T>>(\n a: T,\n b: NonNullable<Override<T, T2>>,\n) => assignFactory(a)(b);\nexport const omitEmptyValues = R.pickBy(R.isTruthy);\nexport const omitUndefined = R.pickBy(R.isDefined);\n\nexport function hasProp<T>(target: T | undefined, key: keyof T): key is keyof T {\n return Boolean(target) && Object.prototype.hasOwnProperty.call(target, key);\n}\n\nexport function hasProps<T>(keys: (keyof T)[]) {\n return (target: T | undefined) => keys.every((key) => hasProp(target, key));\n}\n\nexport function setProp(target: unknown, paths: readonly (keyof any)[], value: unknown) {\n for (const entry of paths.entries()) {\n const [idx, key] = entry as [number, keyof object];\n if (!R.isPlainObject(target) && !R.isArray(target)) {\n throw new TypeError(\"Only plain objects and arrays are supported!\");\n }\n\n const isLast = idx === paths.length - 1;\n const newValue = isLast ? value : (target[key] ?? {});\n Object.assign(target, { [key]: newValue });\n target = target[key];\n }\n}\n\nexport function getPropStrict(target: NonNullable<unknown>, path: string): any {\n if (!target || !(path in target)) {\n throw new TypeError(`Target does not contain key \"${path}\"`);\n }\n return target[path as keyof typeof target];\n}\n\nexport function getProp(\n target: unknown,\n paths: readonly (keyof any)[],\n defaultValue: any = undefined,\n) {\n let value: any = target;\n if (!value) {\n return undefined;\n }\n\n for (const key of paths) {\n if (!hasProp(value, key)) {\n return defaultValue;\n }\n value = value[key];\n }\n return value;\n}\n\nexport function deleteProps<T, K extends keyof T>(target: T, keys: readonly K[]) {\n keys.forEach((key) => {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete target[key];\n });\n}\n\nexport function updateObject<T extends object, L extends object>(\n old: T,\n update: L,\n): asserts old is T & L {\n for (const [key, val] of Object.entries(update)) {\n const existing = old[key as keyof T];\n if (existing !== undefined && existing !== null) {\n throw new FrameworkError(\n `Cannot update object. Key '${key}' already exists and is defined.`,\n [],\n {\n context: {\n existing,\n update: val,\n },\n },\n );\n }\n old[key as keyof T] = val;\n }\n}\n\nexport function customMerge<T extends NonNullable<unknown>>(\n results: T[],\n processors: {\n [K in keyof T]: (value: T[K], oldValue: T[K]) => T[K];\n },\n) {\n if (results.length === 0) {\n throw new TypeError(\"Cannot merge content of an empty array!\");\n }\n\n const finalResult = {} as T;\n for (const next of results) {\n for (const [key, value] of R.entries(next)) {\n const oldValue = finalResult[key as keyof T];\n // @ts-expect-error weak typing due to generated types\n finalResult[key] = (processors[key] ?? R.takeFirstBy(1))(value, oldValue);\n }\n }\n return finalResult;\n}\n\nexport function mapObj<T extends object>(obj: T) {\n return function <K extends keyof T, R = T[K]>(\n fn: (key: K, value: T[K]) => R,\n ): Record<keyof T, R> {\n const updated = {} as Record<keyof T, R>;\n for (const pair of Object.entries(obj)) {\n const [key, value] = pair as [K, T[K]];\n updated[key] = fn(key, value);\n }\n return updated;\n };\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/object.ts"],"names":["assignFactory","target","source","Object","assign","a","b","omitEmptyValues","R","pickBy","isTruthy","omitUndefined","isDefined","hasProp","key","Boolean","prototype","hasOwnProperty","call","hasProps","keys","every","setProp","paths","value","entry","entries","idx","isPlainObject","isArray","TypeError","isLast","length","newValue","getPropStrict","path","getProp","defaultValue","undefined","popProp","fallback","updateObject","old","update","val","existing","FrameworkError","context","customMerge","results","processors","finalResult","next","oldValue","takeFirstBy","mapObj","obj","fn","updated","pair","safeDefineProperty","get","defineProperty","enumerable","configurable","e"],"mappings":"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","file":"object.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as R from \"remeda\";\nimport { FrameworkError } from \"@/errors.js\";\n\nexport type Override<T, T2 extends Partial<T>> = {\n [K in keyof T2]: K extends keyof T ? T2[K] : never;\n};\n\nexport function assignFactory<T extends NonNullable<unknown>, T2 extends Partial<T>>(target: T) {\n return (source: NonNullable<Override<T, T2>>) => {\n Object.assign(target, source);\n };\n}\n\nexport const assign = <T extends NonNullable<unknown>, T2 extends Partial<T>>(\n a: T,\n b: NonNullable<Override<T, T2>>,\n) => assignFactory(a)(b);\nexport const omitEmptyValues = R.pickBy(R.isTruthy);\nexport const omitUndefined = R.pickBy(R.isDefined);\n\nexport function hasProp<T>(target: T | undefined, key: keyof T): key is keyof T {\n return Boolean(target) && Object.prototype.hasOwnProperty.call(target, key);\n}\n\nexport function hasProps<T>(keys: (keyof T)[]) {\n return (target: T | undefined) => keys.every((key) => hasProp(target, key));\n}\n\nexport function setProp(target: unknown, paths: readonly (keyof any)[], value: unknown) {\n for (const entry of paths.entries()) {\n const [idx, key] = entry as [number, keyof object];\n if (!R.isPlainObject(target) && !R.isArray(target)) {\n throw new TypeError(\"Only plain objects and arrays are supported!\");\n }\n\n const isLast = idx === paths.length - 1;\n const newValue = isLast ? value : (target[key] ?? {});\n Object.assign(target, { [key]: newValue });\n target = target[key];\n }\n}\n\nexport function getPropStrict(target: NonNullable<unknown>, path: string): any {\n if (!target || !(path in target)) {\n throw new TypeError(`Target does not contain key \"${path}\"`);\n }\n return target[path as keyof typeof target];\n}\n\nexport function getProp(\n target: unknown,\n paths: readonly (keyof any)[],\n defaultValue: any = undefined,\n) {\n let value: any = target;\n if (!value) {\n return undefined;\n }\n\n for (const key of paths) {\n if (!hasProp(value, key)) {\n return defaultValue;\n }\n value = value[key];\n }\n return value;\n}\n\nexport function popProp<T, K extends keyof T>(\n target: T,\n key: K,\n fallback: T[K] | null = null,\n): T[K] | null {\n if (!hasProp(target, key)) {\n return fallback;\n }\n const value = getProp(target, [key]);\n try {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete target[key];\n } catch {\n /* empty */\n }\n return value;\n}\n\nexport function updateObject<T extends object, L extends object>(\n old: T,\n update: L,\n): asserts old is T & L {\n for (const [key, val] of Object.entries(update)) {\n const existing = old[key as keyof T];\n if (existing !== undefined && existing !== null) {\n throw new FrameworkError(\n `Cannot update object. Key '${key}' already exists and is defined.`,\n [],\n {\n context: {\n existing,\n update: val,\n },\n },\n );\n }\n old[key as keyof T] = val;\n }\n}\n\nexport function customMerge<T extends NonNullable<unknown>>(\n results: T[],\n processors: {\n [K in keyof T]: (value: T[K], oldValue: T[K]) => T[K];\n },\n) {\n if (results.length === 0) {\n throw new TypeError(\"Cannot merge content of an empty array!\");\n }\n\n const finalResult = {} as T;\n for (const next of results) {\n for (const [key, value] of R.entries(next)) {\n const oldValue = finalResult[key as keyof T];\n // @ts-expect-error weak typing due to generated types\n finalResult[key] = (processors[key] ?? R.takeFirstBy(1))(value, oldValue);\n }\n }\n return finalResult;\n}\n\nexport function mapObj<T extends object>(obj: T) {\n return function <K extends keyof T, R = T[K]>(\n fn: (key: K, value: T[K]) => R,\n ): Record<keyof T, R> {\n const updated = {} as Record<keyof T, R>;\n for (const pair of Object.entries(obj)) {\n const [key, value] = pair as [K, T[K]];\n updated[key] = fn(key, value);\n }\n return updated;\n };\n}\n\nexport function safeDefineProperty<T, K extends keyof T>(target: T, key: K, get: () => T[K]) {\n try {\n Object.defineProperty(target, key, {\n enumerable: false,\n configurable: false,\n get() {\n return get();\n },\n });\n } catch (e) {\n if (!(e instanceof TypeError)) {\n throw e;\n }\n }\n}\n"]}
@@ -34,6 +34,10 @@ function* traversePrototypeChain(value, excluded) {
34
34
  }
35
35
  }
36
36
  __name(traversePrototypeChain, "traversePrototypeChain");
37
+ function isConstructor(value) {
38
+ return !!value && !!value.prototype && !!value.prototype.constructor;
39
+ }
40
+ __name(isConstructor, "isConstructor");
37
41
  function isDirectInstanceOf(object, constructor) {
38
42
  return R__namespace.isTruthy(object) && Object.getPrototypeOf(object) === constructor.prototype;
39
43
  }
@@ -50,6 +54,7 @@ function findDescriptor(target, property) {
50
54
  __name(findDescriptor, "findDescriptor");
51
55
 
52
56
  exports.findDescriptor = findDescriptor;
57
+ exports.isConstructor = isConstructor;
53
58
  exports.isDirectInstanceOf = isDirectInstanceOf;
54
59
  exports.traversePrototypeChain = traversePrototypeChain;
55
60
  //# sourceMappingURL=prototype.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/prototype.ts"],"names":["traversePrototypeChain","value","excluded","node","undefined","Object","getPrototypeOf","has","isDirectInstanceOf","object","constructor","R","isTruthy","prototype","findDescriptor","target","property","descriptor","getOwnPropertyDescriptor"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,UAAUA,sBAAAA,CAAuBC,OAAgBC,QAAAA,EAAmB;AACzE,EAAA,IAAIC,IAAAA,GAAOF,KAAAA;AACX,EAAA,OAAOE,IAAAA,KAAS,IAAA,IAAQA,IAAAA,KAASC,MAAAA,EAAW;AAC1CD,IAAAA,IAAAA,GAAOE,MAAAA,CAAOC,eAAeH,IAAAA,CAAAA;AAC7B,IAAA,IAAI,CAACD,QAAAA,EAAUK,GAAAA,GAAMJ,IAAAA,CAAAA,EAAO;AAC1B,MAAA,MAAMA,IAAAA;AACR;AACF;AACF;AARiBH,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAUV,SAASQ,kBAAAA,CACdC,QACAC,WAAAA,EAAgC;AAEhC,EAAA,OAAOC,YAAAA,CAAEC,SAASH,MAAAA,CAAAA,IAAWJ,OAAOC,cAAAA,CAAeG,MAAAA,MAAYC,WAAAA,CAAYG,SAAAA;AAC7E;AALgBL,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAOT,SAASM,cAAAA,CACdC,QACAC,QAAAA,EAAiB;AAEjB,EAAA,KAAA,MAAWb,IAAAA,IAAQH,sBAAAA,CAAuBe,MAAAA,CAAAA,EAAS;AACjD,IAAA,MAAME,UAAAA,GAAaZ,MAAAA,CAAOa,wBAAAA,CAAyBf,IAAAA,EAAMa,QAAAA,CAAAA;AACzD,IAAA,IAAIC,UAAAA,EAAY;AACd,MAAA,OAAOA,UAAAA;AACT;AACF;AACA,EAAA,OAAO,IAAA;AACT;AAXgBH,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA","file":"prototype.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ClassConstructor } from \"@/internals/types.js\";\nimport * as R from \"remeda\";\n\nexport function* traversePrototypeChain(value: unknown, excluded?: Set<any>) {\n let node = value;\n while (node !== null && node !== undefined) {\n node = Object.getPrototypeOf(node);\n if (!excluded?.has?.(node)) {\n yield node;\n }\n }\n}\n\nexport function isDirectInstanceOf<A>(\n object: unknown,\n constructor: ClassConstructor<A>,\n): object is A {\n return R.isTruthy(object) && Object.getPrototypeOf(object) === constructor.prototype;\n}\n\nexport function findDescriptor<T extends NonNullable<unknown>>(\n target: T,\n property: keyof T,\n): PropertyDescriptor | null {\n for (const node of traversePrototypeChain(target)) {\n const descriptor = Object.getOwnPropertyDescriptor(node, property);\n if (descriptor) {\n return descriptor;\n }\n }\n return null;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/prototype.ts"],"names":["traversePrototypeChain","value","excluded","node","undefined","Object","getPrototypeOf","has","isConstructor","prototype","isDirectInstanceOf","object","constructor","R","isTruthy","findDescriptor","target","property","descriptor","getOwnPropertyDescriptor"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,UAAUA,sBAAAA,CAAuBC,OAAgBC,QAAAA,EAAmB;AACzE,EAAA,IAAIC,IAAAA,GAAOF,KAAAA;AACX,EAAA,OAAOE,IAAAA,KAAS,IAAA,IAAQA,IAAAA,KAASC,MAAAA,EAAW;AAC1CD,IAAAA,IAAAA,GAAOE,MAAAA,CAAOC,eAAeH,IAAAA,CAAAA;AAC7B,IAAA,IAAI,CAACD,QAAAA,EAAUK,GAAAA,GAAMJ,IAAAA,CAAAA,EAAO;AAC1B,MAAA,MAAMA,IAAAA;AACR;AACF;AACF;AARiBH,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAUV,SAASQ,cAAiBP,KAAAA,EAAU;AACzC,EAAA,OAAO,CAAC,CAACA,KAAAA,IAAS,CAAC,CAACA,MAAMQ,SAAAA,IAAa,CAAC,CAACR,KAAAA,CAAMQ,SAAAA,CAAU,WAAA;AAC3D;AAFgBD,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAIT,SAASE,kBAAAA,CACdC,QACAC,WAAAA,EAAgC;AAEhC,EAAA,OAAOC,YAAAA,CAAEC,SAASH,MAAAA,CAAAA,IAAWN,OAAOC,cAAAA,CAAeK,MAAAA,MAAYC,WAAAA,CAAYH,SAAAA;AAC7E;AALgBC,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAOT,SAASK,cAAAA,CACdC,QACAC,QAAAA,EAAiB;AAEjB,EAAA,KAAA,MAAWd,IAAAA,IAAQH,sBAAAA,CAAuBgB,MAAAA,CAAAA,EAAS;AACjD,IAAA,MAAME,UAAAA,GAAab,MAAAA,CAAOc,wBAAAA,CAAyBhB,IAAAA,EAAMc,QAAAA,CAAAA;AACzD,IAAA,IAAIC,UAAAA,EAAY;AACd,MAAA,OAAOA,UAAAA;AACT;AACF;AACA,EAAA,OAAO,IAAA;AACT;AAXgBH,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA","file":"prototype.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ClassConstructor } from \"@/internals/types.js\";\nimport * as R from \"remeda\";\n\nexport function* traversePrototypeChain(value: unknown, excluded?: Set<any>) {\n let node = value;\n while (node !== null && node !== undefined) {\n node = Object.getPrototypeOf(node);\n if (!excluded?.has?.(node)) {\n yield node;\n }\n }\n}\n\nexport function isConstructor<A>(value: any): value is ClassConstructor<A> {\n return !!value && !!value.prototype && !!value.prototype.constructor;\n}\n\nexport function isDirectInstanceOf<A>(\n object: unknown,\n constructor: ClassConstructor<A>,\n): object is A {\n return R.isTruthy(object) && Object.getPrototypeOf(object) === constructor.prototype;\n}\n\nexport function findDescriptor<T extends NonNullable<unknown>>(\n target: T,\n property: keyof T,\n): PropertyDescriptor | null {\n for (const node of traversePrototypeChain(target)) {\n const descriptor = Object.getOwnPropertyDescriptor(node, property);\n if (descriptor) {\n return descriptor;\n }\n }\n return null;\n}\n"]}
@@ -7,7 +7,8 @@ import './guards.cjs';
7
7
  */
8
8
 
9
9
  declare function traversePrototypeChain(value: unknown, excluded?: Set<any>): Generator<unknown, void, unknown>;
10
+ declare function isConstructor<A>(value: any): value is ClassConstructor<A>;
10
11
  declare function isDirectInstanceOf<A>(object: unknown, constructor: ClassConstructor<A>): object is A;
11
12
  declare function findDescriptor<T extends NonNullable<unknown>>(target: T, property: keyof T): PropertyDescriptor | null;
12
13
 
13
- export { findDescriptor, isDirectInstanceOf, traversePrototypeChain };
14
+ export { findDescriptor, isConstructor, isDirectInstanceOf, traversePrototypeChain };
@@ -7,7 +7,8 @@ import './guards.js';
7
7
  */
8
8
 
9
9
  declare function traversePrototypeChain(value: unknown, excluded?: Set<any>): Generator<unknown, void, unknown>;
10
+ declare function isConstructor<A>(value: any): value is ClassConstructor<A>;
10
11
  declare function isDirectInstanceOf<A>(object: unknown, constructor: ClassConstructor<A>): object is A;
11
12
  declare function findDescriptor<T extends NonNullable<unknown>>(target: T, property: keyof T): PropertyDescriptor | null;
12
13
 
13
- export { findDescriptor, isDirectInstanceOf, traversePrototypeChain };
14
+ export { findDescriptor, isConstructor, isDirectInstanceOf, traversePrototypeChain };
@@ -12,6 +12,10 @@ function* traversePrototypeChain(value, excluded) {
12
12
  }
13
13
  }
14
14
  __name(traversePrototypeChain, "traversePrototypeChain");
15
+ function isConstructor(value) {
16
+ return !!value && !!value.prototype && !!value.prototype.constructor;
17
+ }
18
+ __name(isConstructor, "isConstructor");
15
19
  function isDirectInstanceOf(object, constructor) {
16
20
  return R.isTruthy(object) && Object.getPrototypeOf(object) === constructor.prototype;
17
21
  }
@@ -27,6 +31,6 @@ function findDescriptor(target, property) {
27
31
  }
28
32
  __name(findDescriptor, "findDescriptor");
29
33
 
30
- export { findDescriptor, isDirectInstanceOf, traversePrototypeChain };
34
+ export { findDescriptor, isConstructor, isDirectInstanceOf, traversePrototypeChain };
31
35
  //# sourceMappingURL=prototype.js.map
32
36
  //# sourceMappingURL=prototype.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/prototype.ts"],"names":["traversePrototypeChain","value","excluded","node","undefined","Object","getPrototypeOf","has","isDirectInstanceOf","object","constructor","R","isTruthy","prototype","findDescriptor","target","property","descriptor","getOwnPropertyDescriptor"],"mappings":";;;;AAQO,UAAUA,sBAAAA,CAAuBC,OAAgBC,QAAAA,EAAmB;AACzE,EAAA,IAAIC,IAAAA,GAAOF,KAAAA;AACX,EAAA,OAAOE,IAAAA,KAAS,IAAA,IAAQA,IAAAA,KAASC,MAAAA,EAAW;AAC1CD,IAAAA,IAAAA,GAAOE,MAAAA,CAAOC,eAAeH,IAAAA,CAAAA;AAC7B,IAAA,IAAI,CAACD,QAAAA,EAAUK,GAAAA,GAAMJ,IAAAA,CAAAA,EAAO;AAC1B,MAAA,MAAMA,IAAAA;AACR;AACF;AACF;AARiBH,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAUV,SAASQ,kBAAAA,CACdC,QACAC,WAAAA,EAAgC;AAEhC,EAAA,OAAOC,CAAAA,CAAEC,SAASH,MAAAA,CAAAA,IAAWJ,OAAOC,cAAAA,CAAeG,MAAAA,MAAYC,WAAAA,CAAYG,SAAAA;AAC7E;AALgBL,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAOT,SAASM,cAAAA,CACdC,QACAC,QAAAA,EAAiB;AAEjB,EAAA,KAAA,MAAWb,IAAAA,IAAQH,sBAAAA,CAAuBe,MAAAA,CAAAA,EAAS;AACjD,IAAA,MAAME,UAAAA,GAAaZ,MAAAA,CAAOa,wBAAAA,CAAyBf,IAAAA,EAAMa,QAAAA,CAAAA;AACzD,IAAA,IAAIC,UAAAA,EAAY;AACd,MAAA,OAAOA,UAAAA;AACT;AACF;AACA,EAAA,OAAO,IAAA;AACT;AAXgBH,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA","file":"prototype.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ClassConstructor } from \"@/internals/types.js\";\nimport * as R from \"remeda\";\n\nexport function* traversePrototypeChain(value: unknown, excluded?: Set<any>) {\n let node = value;\n while (node !== null && node !== undefined) {\n node = Object.getPrototypeOf(node);\n if (!excluded?.has?.(node)) {\n yield node;\n }\n }\n}\n\nexport function isDirectInstanceOf<A>(\n object: unknown,\n constructor: ClassConstructor<A>,\n): object is A {\n return R.isTruthy(object) && Object.getPrototypeOf(object) === constructor.prototype;\n}\n\nexport function findDescriptor<T extends NonNullable<unknown>>(\n target: T,\n property: keyof T,\n): PropertyDescriptor | null {\n for (const node of traversePrototypeChain(target)) {\n const descriptor = Object.getOwnPropertyDescriptor(node, property);\n if (descriptor) {\n return descriptor;\n }\n }\n return null;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/prototype.ts"],"names":["traversePrototypeChain","value","excluded","node","undefined","Object","getPrototypeOf","has","isConstructor","prototype","isDirectInstanceOf","object","constructor","R","isTruthy","findDescriptor","target","property","descriptor","getOwnPropertyDescriptor"],"mappings":";;;;AAQO,UAAUA,sBAAAA,CAAuBC,OAAgBC,QAAAA,EAAmB;AACzE,EAAA,IAAIC,IAAAA,GAAOF,KAAAA;AACX,EAAA,OAAOE,IAAAA,KAAS,IAAA,IAAQA,IAAAA,KAASC,MAAAA,EAAW;AAC1CD,IAAAA,IAAAA,GAAOE,MAAAA,CAAOC,eAAeH,IAAAA,CAAAA;AAC7B,IAAA,IAAI,CAACD,QAAAA,EAAUK,GAAAA,GAAMJ,IAAAA,CAAAA,EAAO;AAC1B,MAAA,MAAMA,IAAAA;AACR;AACF;AACF;AARiBH,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAUV,SAASQ,cAAiBP,KAAAA,EAAU;AACzC,EAAA,OAAO,CAAC,CAACA,KAAAA,IAAS,CAAC,CAACA,MAAMQ,SAAAA,IAAa,CAAC,CAACR,KAAAA,CAAMQ,SAAAA,CAAU,WAAA;AAC3D;AAFgBD,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAIT,SAASE,kBAAAA,CACdC,QACAC,WAAAA,EAAgC;AAEhC,EAAA,OAAOC,CAAAA,CAAEC,SAASH,MAAAA,CAAAA,IAAWN,OAAOC,cAAAA,CAAeK,MAAAA,MAAYC,WAAAA,CAAYH,SAAAA;AAC7E;AALgBC,MAAAA,CAAAA,kBAAAA,EAAAA,oBAAAA,CAAAA;AAOT,SAASK,cAAAA,CACdC,QACAC,QAAAA,EAAiB;AAEjB,EAAA,KAAA,MAAWd,IAAAA,IAAQH,sBAAAA,CAAuBgB,MAAAA,CAAAA,EAAS;AACjD,IAAA,MAAME,UAAAA,GAAab,MAAAA,CAAOc,wBAAAA,CAAyBhB,IAAAA,EAAMc,QAAAA,CAAAA;AACzD,IAAA,IAAIC,UAAAA,EAAY;AACd,MAAA,OAAOA,UAAAA;AACT;AACF;AACA,EAAA,OAAO,IAAA;AACT;AAXgBH,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA","file":"prototype.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ClassConstructor } from \"@/internals/types.js\";\nimport * as R from \"remeda\";\n\nexport function* traversePrototypeChain(value: unknown, excluded?: Set<any>) {\n let node = value;\n while (node !== null && node !== undefined) {\n node = Object.getPrototypeOf(node);\n if (!excluded?.has?.(node)) {\n yield node;\n }\n }\n}\n\nexport function isConstructor<A>(value: any): value is ClassConstructor<A> {\n return !!value && !!value.prototype && !!value.prototype.constructor;\n}\n\nexport function isDirectInstanceOf<A>(\n object: unknown,\n constructor: ClassConstructor<A>,\n): object is A {\n return R.isTruthy(object) && Object.getPrototypeOf(object) === constructor.prototype;\n}\n\nexport function findDescriptor<T extends NonNullable<unknown>>(\n target: T,\n property: keyof T,\n): PropertyDescriptor | null {\n for (const node of traversePrototypeChain(target)) {\n const descriptor = Object.getOwnPropertyDescriptor(node, property);\n if (descriptor) {\n return descriptor;\n }\n }\n return null;\n}\n"]}