@mastra/server 1.67.0-alpha.3 → 1.67.0-alpha.6

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 (243) hide show
  1. package/dist/_types/@mastra_schema-compat/dist/schema.types.d.ts +20 -1
  2. package/dist/a2a-DQ8GeDz4.cjs.map +1 -1
  3. package/dist/a2a-DUBjstWk.js.map +1 -1
  4. package/dist/{agent-builder-DUM8fGTt.js → agent-builder-k5ALpndR.js} +2 -2
  5. package/dist/{agent-builder-DUM8fGTt.js.map → agent-builder-k5ALpndR.js.map} +1 -1
  6. package/dist/{agent-builder-B2GCn_tS.cjs → agent-builder-k72O4OB9.cjs} +2 -2
  7. package/dist/{agent-builder-B2GCn_tS.cjs.map → agent-builder-k72O4OB9.cjs.map} +1 -1
  8. package/dist/{agent-versions-MYjO6Wl1.cjs → agent-versions-D99q4Gos.cjs} +3 -3
  9. package/dist/{agent-versions-MYjO6Wl1.cjs.map → agent-versions-D99q4Gos.cjs.map} +1 -1
  10. package/dist/{agent-versions-mFXaw5ma.js → agent-versions-NGajm4l5.js} +3 -3
  11. package/dist/{agent-versions-mFXaw5ma.js.map → agent-versions-NGajm4l5.js.map} +1 -1
  12. package/dist/{agents-C3k-sZBO.cjs → agents-CZE_MSQE.cjs} +2 -2
  13. package/dist/{agents-C3k-sZBO.cjs.map → agents-CZE_MSQE.cjs.map} +1 -1
  14. package/dist/{agents-AMeMJBI1.js → agents-ssoMemNs.js} +2 -2
  15. package/dist/{agents-AMeMJBI1.js.map → agents-ssoMemNs.js.map} +1 -1
  16. package/dist/{api-schema-manifest-DNk8B4kw.js → api-schema-manifest-CeREx1dB.js} +2 -2
  17. package/dist/{api-schema-manifest-DNk8B4kw.js.map → api-schema-manifest-CeREx1dB.js.map} +1 -1
  18. package/dist/{api-schema-manifest-1LriOYQM.cjs → api-schema-manifest-DzWP4nLu.cjs} +2 -2
  19. package/dist/{api-schema-manifest-1LriOYQM.cjs.map → api-schema-manifest-DzWP4nLu.cjs.map} +1 -1
  20. package/dist/{background-tasks-BarPeyNJ.cjs → background-tasks-CFJ0vNgp.cjs} +4 -3
  21. package/dist/background-tasks-CFJ0vNgp.cjs.map +1 -0
  22. package/dist/{background-tasks-B4yoNDY_.js → background-tasks-kXPoCvgG.js} +4 -3
  23. package/dist/background-tasks-kXPoCvgG.js.map +1 -0
  24. package/dist/{common-DQn8jX5T.cjs → common-BPjna_b6.cjs} +7 -1
  25. package/dist/common-BPjna_b6.cjs.map +1 -0
  26. package/dist/{common-5ZZuR6wj.js → common-C7NBaaQu.js} +2 -2
  27. package/dist/common-C7NBaaQu.js.map +1 -0
  28. package/dist/{conversations-o3AEJjRo.cjs → conversations-DstENx2x.cjs} +2 -2
  29. package/dist/{conversations-o3AEJjRo.cjs.map → conversations-DstENx2x.cjs.map} +1 -1
  30. package/dist/{conversations-Bs-k9f9N.js → conversations-b3vJRHF3.js} +2 -2
  31. package/dist/{conversations-Bs-k9f9N.js.map → conversations-b3vJRHF3.js.map} +1 -1
  32. package/dist/{datasets-B4qPHzEy.js → datasets-CCC2huR0.js} +23 -11
  33. package/dist/datasets-CCC2huR0.js.map +1 -0
  34. package/dist/{datasets-C-_ZWnxR.cjs → datasets-zlaJQ9D0.cjs} +28 -10
  35. package/dist/datasets-zlaJQ9D0.cjs.map +1 -0
  36. package/dist/{dist-Du9y2ur5.cjs → dist-BKxbtiJd.cjs} +112 -37
  37. package/dist/dist-BKxbtiJd.cjs.map +1 -0
  38. package/dist/{dist-Bw-Zrv4_.js → dist-DOpm-tIl.js} +112 -37
  39. package/dist/{dist-Bw-Zrv4_.js.map → dist-DOpm-tIl.js.map} +1 -1
  40. package/dist/docs/SKILL.md +1 -1
  41. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  42. package/dist/{editor-builder-WLxTW05v.cjs → editor-builder-BHf-g7q9.cjs} +2 -2
  43. package/dist/{editor-builder-WLxTW05v.cjs.map → editor-builder-BHf-g7q9.cjs.map} +1 -1
  44. package/dist/{editor-builder-QRcP8-SQ.js → editor-builder-BI5yHrbT.js} +2 -2
  45. package/dist/{editor-builder-QRcP8-SQ.js.map → editor-builder-BI5yHrbT.js.map} +1 -1
  46. package/dist/{editor-builder-DFh_-7Id.cjs → editor-builder-CKAeON9r.cjs} +2 -2
  47. package/dist/{editor-builder-DFh_-7Id.cjs.map → editor-builder-CKAeON9r.cjs.map} +1 -1
  48. package/dist/{editor-builder-BmEpZsqX.js → editor-builder-D6P_hq7c.js} +2 -2
  49. package/dist/{editor-builder-BmEpZsqX.js.map → editor-builder-D6P_hq7c.js.map} +1 -1
  50. package/dist/{logs-Cz5NiwGP.js → logs-Cbz2Nxm2.js} +2 -2
  51. package/dist/{logs-Cz5NiwGP.js.map → logs-Cbz2Nxm2.js.map} +1 -1
  52. package/dist/{logs-BDuGFqxu.cjs → logs-LBot9fsG.cjs} +2 -2
  53. package/dist/{logs-BDuGFqxu.cjs.map → logs-LBot9fsG.cjs.map} +1 -1
  54. package/dist/{mcp-Buvksst5.cjs → mcp-BPmrXX9r.cjs} +2 -2
  55. package/dist/{mcp-Buvksst5.cjs.map → mcp-BPmrXX9r.cjs.map} +1 -1
  56. package/dist/{mcp-oOFVSK8L.js → mcp-B_OMG3Ol.js} +2 -2
  57. package/dist/{mcp-oOFVSK8L.js.map → mcp-B_OMG3Ol.js.map} +1 -1
  58. package/dist/{mcp-client-versions-CG7po4hq.cjs → mcp-client-versions-DoGlpOEW.cjs} +2 -2
  59. package/dist/{mcp-client-versions-CG7po4hq.cjs.map → mcp-client-versions-DoGlpOEW.cjs.map} +1 -1
  60. package/dist/{mcp-client-versions-Co8d39A6.js → mcp-client-versions-Dpk4z-zx.js} +2 -2
  61. package/dist/{mcp-client-versions-Co8d39A6.js.map → mcp-client-versions-Dpk4z-zx.js.map} +1 -1
  62. package/dist/{memory-Cp3Yo-OX.js → memory-BvKPIpyH.js} +2 -2
  63. package/dist/{memory-Cp3Yo-OX.js.map → memory-BvKPIpyH.js.map} +1 -1
  64. package/dist/{memory-CE6rUGmo.cjs → memory-CDYtqQnE.cjs} +2 -2
  65. package/dist/{memory-CE6rUGmo.cjs.map → memory-CDYtqQnE.cjs.map} +1 -1
  66. package/dist/{prompt-block-versions-Cgt_Grk2.cjs → prompt-block-versions-ChvK-DMW.cjs} +2 -2
  67. package/dist/{prompt-block-versions-Cgt_Grk2.cjs.map → prompt-block-versions-ChvK-DMW.cjs.map} +1 -1
  68. package/dist/{prompt-block-versions-CBjHhMVK.js → prompt-block-versions-DU0xf_a5.js} +2 -2
  69. package/dist/{prompt-block-versions-CBjHhMVK.js.map → prompt-block-versions-DU0xf_a5.js.map} +1 -1
  70. package/dist/{routes-DXUcYEc6.js → routes-BJZtqLVx.js} +6 -3
  71. package/dist/routes-BJZtqLVx.js.map +1 -0
  72. package/dist/{routes-9i4gAixo.cjs → routes-PJ3eKHbs.cjs} +6 -3
  73. package/dist/routes-PJ3eKHbs.cjs.map +1 -0
  74. package/dist/{scorer-versions-mL--H4LL.cjs → scorer-versions-B6U7batJ.cjs} +3 -3
  75. package/dist/{scorer-versions-mL--H4LL.cjs.map → scorer-versions-B6U7batJ.cjs.map} +1 -1
  76. package/dist/{scorer-versions-D0_KP67E.js → scorer-versions-Dh2iaz4Y.js} +3 -3
  77. package/dist/{scorer-versions-D0_KP67E.js.map → scorer-versions-Dh2iaz4Y.js.map} +1 -1
  78. package/dist/{scores-C_Au9jSw.cjs → scores-5aHyxHos.cjs} +5 -13
  79. package/dist/scores-5aHyxHos.cjs.map +1 -0
  80. package/dist/{scores-B1IdMcDj.js → scores-BjcbsulG.js} +5 -13
  81. package/dist/scores-BjcbsulG.js.map +1 -0
  82. package/dist/server/handlers/agent-builder.cjs +5 -5
  83. package/dist/server/handlers/agent-builder.js +5 -5
  84. package/dist/server/handlers/agent-controller.cjs +2 -2
  85. package/dist/server/handlers/agent-controller.js +2 -2
  86. package/dist/server/handlers/agent-versions.cjs +2 -2
  87. package/dist/server/handlers/agent-versions.js +2 -2
  88. package/dist/server/handlers/agents.cjs +11 -18
  89. package/dist/server/handlers/agents.cjs.map +1 -1
  90. package/dist/server/handlers/agents.d.ts.map +1 -1
  91. package/dist/server/handlers/agents.js +4 -11
  92. package/dist/server/handlers/agents.js.map +1 -1
  93. package/dist/server/handlers/background-tasks.cjs +1 -1
  94. package/dist/server/handlers/background-tasks.js +1 -1
  95. package/dist/server/handlers/conversations.cjs +2 -2
  96. package/dist/server/handlers/conversations.js +2 -2
  97. package/dist/server/handlers/datasets.cjs +18 -9
  98. package/dist/server/handlers/datasets.cjs.map +1 -1
  99. package/dist/server/handlers/datasets.d.ts +186 -44
  100. package/dist/server/handlers/datasets.d.ts.map +1 -1
  101. package/dist/server/handlers/datasets.js +18 -9
  102. package/dist/server/handlers/datasets.js.map +1 -1
  103. package/dist/server/handlers/editor-builder.cjs +1 -1
  104. package/dist/server/handlers/editor-builder.js +1 -1
  105. package/dist/server/handlers/favorites-enrichment.cjs +1 -1
  106. package/dist/server/handlers/favorites-enrichment.js +1 -1
  107. package/dist/server/handlers/logs.cjs +3 -3
  108. package/dist/server/handlers/logs.js +3 -3
  109. package/dist/server/handlers/mcp-client-versions.cjs +1 -1
  110. package/dist/server/handlers/mcp-client-versions.js +1 -1
  111. package/dist/server/handlers/mcp.cjs +1 -1
  112. package/dist/server/handlers/mcp.js +1 -1
  113. package/dist/server/handlers/memory.cjs +2 -2
  114. package/dist/server/handlers/memory.js +2 -2
  115. package/dist/server/handlers/plans.cjs +2 -2
  116. package/dist/server/handlers/plans.js +2 -2
  117. package/dist/server/handlers/prompt-block-versions.cjs +1 -1
  118. package/dist/server/handlers/prompt-block-versions.js +1 -1
  119. package/dist/server/handlers/responses.cjs +1 -1
  120. package/dist/server/handlers/responses.d.ts +11 -11
  121. package/dist/server/handlers/responses.js +1 -1
  122. package/dist/server/handlers/responses.storage.cjs +1 -1
  123. package/dist/server/handlers/responses.storage.js +1 -1
  124. package/dist/server/handlers/scorer-versions.cjs +1 -1
  125. package/dist/server/handlers/scorer-versions.js +1 -1
  126. package/dist/server/handlers/scores.cjs +2 -2
  127. package/dist/server/handlers/scores.d.ts +43 -21
  128. package/dist/server/handlers/scores.d.ts.map +1 -1
  129. package/dist/server/handlers/scores.js +2 -2
  130. package/dist/server/handlers/stored-agent-favorites.cjs +2 -2
  131. package/dist/server/handlers/stored-agent-favorites.js +2 -2
  132. package/dist/server/handlers/stored-agents.cjs +3 -3
  133. package/dist/server/handlers/stored-agents.js +3 -3
  134. package/dist/server/handlers/stored-mcp-clients.cjs +2 -2
  135. package/dist/server/handlers/stored-mcp-clients.js +2 -2
  136. package/dist/server/handlers/stored-prompt-blocks.cjs +2 -2
  137. package/dist/server/handlers/stored-prompt-blocks.js +2 -2
  138. package/dist/server/handlers/stored-scorers.cjs +2 -2
  139. package/dist/server/handlers/stored-scorers.js +2 -2
  140. package/dist/server/handlers/stored-skill-favorites.cjs +2 -2
  141. package/dist/server/handlers/stored-skill-favorites.js +2 -2
  142. package/dist/server/handlers/stored-skills.cjs +2 -2
  143. package/dist/server/handlers/stored-skills.js +2 -2
  144. package/dist/server/handlers/stored-workspaces.cjs +1 -1
  145. package/dist/server/handlers/stored-workspaces.js +1 -1
  146. package/dist/server/handlers/system.cjs +1 -1
  147. package/dist/server/handlers/system.js +1 -1
  148. package/dist/server/handlers/tools.cjs +3 -3
  149. package/dist/server/handlers/tools.js +3 -3
  150. package/dist/server/handlers/utils.cjs +2 -1
  151. package/dist/server/handlers/utils.d.ts +6 -0
  152. package/dist/server/handlers/utils.d.ts.map +1 -1
  153. package/dist/server/handlers/utils.js +2 -2
  154. package/dist/server/handlers/vector.cjs +1 -1
  155. package/dist/server/handlers/vector.js +1 -1
  156. package/dist/server/handlers/workflow-builder.cjs +5 -0
  157. package/dist/server/handlers/workflow-builder.d.ts +322 -0
  158. package/dist/server/handlers/workflow-builder.d.ts.map +1 -0
  159. package/dist/server/handlers/workflow-builder.js +2 -0
  160. package/dist/server/handlers/workflows.cjs +4 -4
  161. package/dist/server/handlers/workflows.js +4 -4
  162. package/dist/server/schemas/background-tasks.d.ts.map +1 -1
  163. package/dist/server/schemas/common.d.ts +11 -0
  164. package/dist/server/schemas/common.d.ts.map +1 -1
  165. package/dist/server/schemas/datasets.d.ts +54 -0
  166. package/dist/server/schemas/datasets.d.ts.map +1 -1
  167. package/dist/server/schemas/index.cjs +25 -23
  168. package/dist/server/schemas/index.js +24 -24
  169. package/dist/server/schemas/scores.d.ts +11 -0
  170. package/dist/server/schemas/scores.d.ts.map +1 -1
  171. package/dist/server/schemas/workflow-builder.d.ts +26 -0
  172. package/dist/server/schemas/workflow-builder.d.ts.map +1 -0
  173. package/dist/server/server-adapter/index.cjs +11 -1
  174. package/dist/server/server-adapter/index.cjs.map +1 -1
  175. package/dist/server/server-adapter/index.d.ts.map +1 -1
  176. package/dist/server/server-adapter/index.js +11 -1
  177. package/dist/server/server-adapter/index.js.map +1 -1
  178. package/dist/server/server-adapter/routes/conversations.d.ts +3 -3
  179. package/dist/server/server-adapter/routes/datasets.d.ts +186 -44
  180. package/dist/server/server-adapter/routes/datasets.d.ts.map +1 -1
  181. package/dist/server/server-adapter/routes/editor-builder.d.ts +319 -0
  182. package/dist/server/server-adapter/routes/editor-builder.d.ts.map +1 -1
  183. package/dist/server/server-adapter/routes/scorers.d.ts +43 -21
  184. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -1
  185. package/dist/server/server-adapter/routes/workspace.d.ts +23 -23
  186. package/dist/{stored-agents-DMW5wrF7.js → stored-agents-AC0najKd.js} +3 -3
  187. package/dist/{stored-agents-DMW5wrF7.js.map → stored-agents-AC0najKd.js.map} +1 -1
  188. package/dist/{stored-agents-D6JEb3zN.cjs → stored-agents-BJMM5f9A.cjs} +3 -3
  189. package/dist/{stored-agents-D6JEb3zN.cjs.map → stored-agents-BJMM5f9A.cjs.map} +1 -1
  190. package/dist/{stored-mcp-clients-CoCfZRhw.js → stored-mcp-clients-BEcB720j.js} +2 -2
  191. package/dist/{stored-mcp-clients-CoCfZRhw.js.map → stored-mcp-clients-BEcB720j.js.map} +1 -1
  192. package/dist/{stored-mcp-clients-CJJPe_09.cjs → stored-mcp-clients-Bh7nQkqD.cjs} +2 -2
  193. package/dist/{stored-mcp-clients-CJJPe_09.cjs.map → stored-mcp-clients-Bh7nQkqD.cjs.map} +1 -1
  194. package/dist/{stored-prompt-blocks-DcmkZaCm.js → stored-prompt-blocks-CRGk4tz5.js} +2 -2
  195. package/dist/{stored-prompt-blocks-DcmkZaCm.js.map → stored-prompt-blocks-CRGk4tz5.js.map} +1 -1
  196. package/dist/{stored-prompt-blocks-XI4frgZv.cjs → stored-prompt-blocks-CyL4SKVR.cjs} +2 -2
  197. package/dist/{stored-prompt-blocks-XI4frgZv.cjs.map → stored-prompt-blocks-CyL4SKVR.cjs.map} +1 -1
  198. package/dist/{stored-scorers-BA4suzgn.js → stored-scorers-B8QVQCCs.js} +3 -3
  199. package/dist/{stored-scorers-BA4suzgn.js.map → stored-scorers-B8QVQCCs.js.map} +1 -1
  200. package/dist/{stored-scorers-D8IwVM0S.cjs → stored-scorers-CWxW1_mY.cjs} +3 -3
  201. package/dist/{stored-scorers-D8IwVM0S.cjs.map → stored-scorers-CWxW1_mY.cjs.map} +1 -1
  202. package/dist/{stored-skills-BqNK0ssS.cjs → stored-skills-CkA2oWJJ.cjs} +2 -2
  203. package/dist/{stored-skills-BqNK0ssS.cjs.map → stored-skills-CkA2oWJJ.cjs.map} +1 -1
  204. package/dist/{stored-skills-JTWbMybs.js → stored-skills-DlNmwsTl.js} +2 -2
  205. package/dist/{stored-skills-JTWbMybs.js.map → stored-skills-DlNmwsTl.js.map} +1 -1
  206. package/dist/{stored-workspaces-6PYE4Y3m.js → stored-workspaces-B0p0wPGV.js} +2 -2
  207. package/dist/{stored-workspaces-6PYE4Y3m.js.map → stored-workspaces-B0p0wPGV.js.map} +1 -1
  208. package/dist/{stored-workspaces-Dl8B20LD.cjs → stored-workspaces-epewrppK.cjs} +2 -2
  209. package/dist/{stored-workspaces-Dl8B20LD.cjs.map → stored-workspaces-epewrppK.cjs.map} +1 -1
  210. package/dist/{utils-CMWGBd0O.js → utils-KsERfbhc.js} +15 -3
  211. package/dist/utils-KsERfbhc.js.map +1 -0
  212. package/dist/{utils-BtkczLrA.cjs → utils-aIu3gkhJ.cjs} +19 -1
  213. package/dist/utils-aIu3gkhJ.cjs.map +1 -0
  214. package/dist/{vectors-D6uZn2f1.cjs → vectors-DlW_SU5m.cjs} +2 -2
  215. package/dist/{vectors-D6uZn2f1.cjs.map → vectors-DlW_SU5m.cjs.map} +1 -1
  216. package/dist/{vectors-Ck7Qu6yz.js → vectors-DqRRlfF0.js} +2 -2
  217. package/dist/{vectors-Ck7Qu6yz.js.map → vectors-DqRRlfF0.js.map} +1 -1
  218. package/dist/{version-common-AtNRQ5xH.cjs → version-common-CxQdBbPm.cjs} +2 -2
  219. package/dist/{version-common-AtNRQ5xH.cjs.map → version-common-CxQdBbPm.cjs.map} +1 -1
  220. package/dist/{version-common-CudZ_WuW.js → version-common-cEBltPQN.js} +2 -2
  221. package/dist/{version-common-CudZ_WuW.js.map → version-common-cEBltPQN.js.map} +1 -1
  222. package/dist/workflow-builder-D5dPsrog.cjs +115 -0
  223. package/dist/workflow-builder-D5dPsrog.cjs.map +1 -0
  224. package/dist/workflow-builder-Eape8SyU.js +102 -0
  225. package/dist/workflow-builder-Eape8SyU.js.map +1 -0
  226. package/dist/{workflows-BNnfyZhn.cjs → workflows-CvYeyvIc.cjs} +2 -2
  227. package/dist/{workflows-BNnfyZhn.cjs.map → workflows-CvYeyvIc.cjs.map} +1 -1
  228. package/dist/{workflows-CUgR3bTL.js → workflows-Z8FHqT4y.js} +2 -2
  229. package/dist/{workflows-CUgR3bTL.js.map → workflows-Z8FHqT4y.js.map} +1 -1
  230. package/package.json +7 -7
  231. package/dist/background-tasks-B4yoNDY_.js.map +0 -1
  232. package/dist/background-tasks-BarPeyNJ.cjs.map +0 -1
  233. package/dist/common-5ZZuR6wj.js.map +0 -1
  234. package/dist/common-DQn8jX5T.cjs.map +0 -1
  235. package/dist/datasets-B4qPHzEy.js.map +0 -1
  236. package/dist/datasets-C-_ZWnxR.cjs.map +0 -1
  237. package/dist/dist-Du9y2ur5.cjs.map +0 -1
  238. package/dist/routes-9i4gAixo.cjs.map +0 -1
  239. package/dist/routes-DXUcYEc6.js.map +0 -1
  240. package/dist/scores-B1IdMcDj.js.map +0 -1
  241. package/dist/scores-C_Au9jSw.cjs.map +0 -1
  242. package/dist/utils-BtkczLrA.cjs.map +0 -1
  243. package/dist/utils-CMWGBd0O.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasets-CCC2huR0.js","names":[],"sources":["../src/server/schemas/datasets.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { paginationInfoSchema, createPagePaginationSchema } from './common';\n\n// ============================================================================\n// JSON Schema Types (for inputSchema/groundTruthSchema fields)\n// ============================================================================\n\n// JSON Schema type (simplified for storage - full spec too complex)\nconst jsonSchemaObject: z.ZodType<Record<string, unknown>> = z.lazy(() => z.record(z.string(), z.unknown()));\n\n// JSON Schema field (object or null to disable)\nconst jsonSchemaField = z.union([jsonSchemaObject, z.null()]).optional();\n\n// ============================================================================\n// Trajectory Expectation Schema (2 levels deep, children at level 2 use z.unknown())\n// ============================================================================\n\n// Shared base fields for expected steps (level 2 — children typed as z.unknown())\nconst expectedStepBase = {\n name: z.string().describe('Step name to match'),\n durationMs: z.number().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n children: z.unknown().optional().describe('Nested trajectory expectation (untyped at this depth)'),\n};\n\n// Typed step variants keyed by stepType\nconst expectedToolCallStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('tool_call'),\n toolArgs: z.record(z.string(), z.unknown()).optional(),\n toolResult: z.record(z.string(), z.unknown()).optional(),\n success: z.boolean().optional(),\n});\n\nconst expectedMcpToolCallStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('mcp_tool_call'),\n toolArgs: z.record(z.string(), z.unknown()).optional(),\n toolResult: z.record(z.string(), z.unknown()).optional(),\n mcpServer: z.string().optional(),\n success: z.boolean().optional(),\n});\n\nconst expectedModelGenerationStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('model_generation'),\n modelId: z.string().optional(),\n promptTokens: z.number().optional(),\n completionTokens: z.number().optional(),\n finishReason: z.string().optional(),\n});\n\nconst expectedAgentRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('agent_run'),\n agentId: z.string().optional(),\n});\n\nconst expectedWorkflowStepStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_step'),\n stepId: z.string().optional(),\n status: z.string().optional(),\n output: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst expectedWorkflowRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_run'),\n workflowId: z.string().optional(),\n status: z.string().optional(),\n});\n\nconst expectedWorkflowConditionalStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_conditional'),\n conditionCount: z.number().optional(),\n selectedSteps: z.array(z.string()).optional(),\n});\n\nconst expectedWorkflowParallelStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_parallel'),\n branchCount: z.number().optional(),\n parallelSteps: z.array(z.string()).optional(),\n});\n\nconst expectedWorkflowLoopStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_loop'),\n loopType: z.string().optional(),\n totalIterations: z.number().optional(),\n});\n\nconst expectedWorkflowSleepStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_sleep'),\n sleepDurationMs: z.number().optional(),\n sleepType: z.string().optional(),\n});\n\nconst expectedWorkflowWaitEventStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_wait_event'),\n eventName: z.string().optional(),\n eventReceived: z.boolean().optional(),\n});\n\nconst expectedProcessorRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('processor_run'),\n processorId: z.string().optional(),\n});\n\n// Generic step (no stepType — matches by name only)\nconst expectedGenericStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.undefined().optional(),\n});\n\n// Union of all expected step types\nconst expectedStepSchema = z.union([\n z.discriminatedUnion('stepType', [\n expectedToolCallStepSchema,\n expectedMcpToolCallStepSchema,\n expectedModelGenerationStepSchema,\n expectedAgentRunStepSchema,\n expectedWorkflowStepStepSchema,\n expectedWorkflowRunStepSchema,\n expectedWorkflowConditionalStepSchema,\n expectedWorkflowParallelStepSchema,\n expectedWorkflowLoopStepSchema,\n expectedWorkflowSleepStepSchema,\n expectedWorkflowWaitEventStepSchema,\n expectedProcessorRunStepSchema,\n ]),\n expectedGenericStepSchema,\n]);\n\n// Full TrajectoryExpectation schema\nconst trajectoryExpectationSchema = z\n .object({\n // Accuracy\n steps: z.array(expectedStepSchema).optional().describe('Expected steps for accuracy checking'),\n ordering: z\n .enum(['strict', 'relaxed', 'unordered'])\n .optional()\n .describe('How to compare step ordering (default: relaxed)'),\n allowRepeatedSteps: z.boolean().optional().describe('Whether to allow repeated steps (default: true)'),\n\n // Efficiency\n maxSteps: z.number().int().optional().describe('Maximum number of steps allowed'),\n maxTotalTokens: z.number().int().optional().describe('Maximum total tokens across all model_generation steps'),\n maxTotalDurationMs: z.number().optional().describe('Maximum total duration in milliseconds'),\n noRedundantCalls: z\n .boolean()\n .optional()\n .describe('Whether to penalize redundant calls (same tool + same args consecutively, default: true)'),\n\n // Blacklist\n blacklistedTools: z.array(z.string()).optional().describe('Tool names that should never appear'),\n blacklistedSequences: z\n .array(z.array(z.string()))\n .optional()\n .describe('Tool name sequences that should never appear'),\n\n // Tool failure tolerance\n maxRetriesPerTool: z.number().int().optional().describe('Maximum retries per tool before penalizing (default: 2)'),\n })\n .optional()\n .nullable()\n .describe('Expected trajectory configuration for trajectory scoring');\n\n// Dataset item source tracking\nconst datasetItemSourceSchema = z\n .object({\n type: z\n .enum(['csv', 'json', 'trace', 'llm', 'experiment-result', 'candidate-screener'])\n .describe('How this item was created'),\n referenceId: z.string().optional().describe('Reference identifier (e.g., trace id, csv filename)'),\n })\n .optional()\n .describe('Source/provenance of this dataset item');\n\n// Item-level static tool mocks (agent targets only).\nconst itemToolMockSchema = z.object({\n toolName: z.string().describe('Name of the tool this mock applies to'),\n args: z.record(z.string(), z.unknown()).describe('Arguments to match against the tool call'),\n output: z.unknown().describe('Output served to the agent when matched'),\n matchArgs: z\n .enum(['strict', 'ignore'])\n .optional()\n .describe(\"Argument matching mode. 'strict' (default) deep-equals args; 'ignore' matches on toolName only\"),\n});\n\nconst toolMocksSchema = z\n .array(itemToolMockSchema)\n .optional()\n .describe('Ordered item-level static tool mocks served in place of executing the real tool');\n\nconst unmockedToolPolicySchema = z\n .enum(['allow', 'deny'])\n .optional()\n .describe(\"Policy for undeclared tool calls. 'allow' runs them live; 'deny' fails the experiment item\");\n\n// Diagnostic receipt for item-level tool mocks, persisted on experiment results.\nconst toolMockReportSchema = z\n .object({\n served: z.array(z.object({ mockIndex: z.number().int(), toolName: z.string(), args: z.unknown() })),\n unconsumed: z.array(z.object({ mockIndex: z.number().int(), toolName: z.string(), args: z.unknown() })),\n liveCalls: z.array(z.object({ toolName: z.string(), args: z.unknown() })),\n failure: z\n .object({\n code: z.enum(['TOOL_MOCK_MISMATCH', 'TOOL_MOCK_EXHAUSTED', 'TOOL_MOCK_NOT_DECLARED']),\n toolName: z.string(),\n args: z.unknown(),\n })\n .optional(),\n })\n .optional()\n .describe('Diagnostic receipt for item-level tool mocks');\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const datasetIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n});\n\nexport const experimentIdPathParams = z.object({\n experimentId: z.string().describe('Unique identifier for the experiment'),\n});\n\nexport const itemIdPathParams = z.object({\n itemId: z.string().describe('Unique identifier for the dataset item'),\n});\n\nexport const datasetAndExperimentIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n});\n\nexport const experimentResultIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n resultId: z.string().describe('Unique identifier for the experiment result'),\n});\n\nexport const datasetExperimentAndItemIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\n});\n\nexport const datasetAndItemIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\n});\n\n// ============================================================================\n// Query Parameter Schemas\n// ============================================================================\n\nexport const paginationQuerySchema = createPagePaginationSchema(10);\n\nexport const listExperimentResultsQuerySchema = paginationQuerySchema.extend({\n tags: z\n .preprocess(v => {\n // Repeated query params arrive as arrays; a single param arrives as a string.\n // Blank values (`?tags=`) mean \"no filter\", not \"match the empty tag\".\n const list = typeof v === 'string' ? [v] : v;\n if (!Array.isArray(list)) return list;\n const nonBlank = list.filter(tag => tag !== '');\n return nonBlank.length > 0 ? nonBlank : undefined;\n }, z.array(z.string()).optional())\n .describe('Only return results that have all of these tags'),\n});\n\nconst targetTypeQuerySchema = z\n .enum(['agent', 'workflow', 'scorer', 'processor'])\n .optional()\n .describe('Only return records attached to targets of this type');\n\nexport const listDatasetsQuerySchema = paginationQuerySchema.extend({\n targetType: targetTypeQuerySchema,\n targetIds: z\n .preprocess(v => {\n // Repeated query params arrive as arrays; a single param arrives as a string.\n const list = typeof v === 'string' ? [v] : v;\n if (!Array.isArray(list)) return list;\n const nonBlank = list.filter(id => id !== '');\n return nonBlank.length > 0 ? nonBlank : undefined;\n }, z.array(z.string()).optional())\n .describe('Only return datasets attached to at least one of these target IDs'),\n});\n\nexport const listExperimentsQuerySchema = paginationQuerySchema.extend({\n experimentSetId: z.string().optional(),\n comparisonId: z.string().optional(),\n variantId: z.string().optional(),\n trialIndex: z.coerce.number().int().min(0).optional(),\n targetType: targetTypeQuerySchema,\n targetId: z.string().optional().describe('Only return experiments run against this target ID'),\n});\n\nexport const tenancyQuerySchema = z.object({\n organizationId: z.string().optional().describe('Restrict lookup to the given organization'),\n projectId: z.string().optional().describe('Restrict lookup to the given project'),\n});\n\nexport const listItemsQuerySchema = createPagePaginationSchema(10).extend({\n version: z.coerce.number().int().optional(), // Optional version filter for snapshot semantics\n search: z.string().optional(),\n});\n\n// ============================================================================\n// Request Body Schemas\n// ============================================================================\n\nexport const createDatasetBodySchema = z.object({\n name: z.string().describe('Name of the dataset'),\n description: z.string().optional().describe('Description of the dataset'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n inputSchema: jsonSchemaField.describe('JSON Schema for validating item input'),\n groundTruthSchema: jsonSchemaField.describe('JSON Schema for validating item groundTruth'),\n requestContextSchema: jsonSchemaField.describe('JSON Schema describing expected request context shape'),\n targetType: z.string().optional().describe('Target entity type (e.g. agent, workflow, scorer)'),\n targetIds: z.array(z.string()).optional().describe('IDs of target entities this dataset is attached to'),\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers attached to this dataset'),\n});\n\nexport const updateDatasetBodySchema = z.object({\n name: z.string().optional().describe('Name of the dataset'),\n description: z.string().optional().describe('Description of the dataset'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n inputSchema: jsonSchemaField.describe('JSON Schema for validating item input'),\n groundTruthSchema: jsonSchemaField.describe('JSON Schema for validating item groundTruth'),\n requestContextSchema: jsonSchemaField.describe('JSON Schema describing expected request context shape'),\n tags: z.array(z.string()).optional().describe('Tag definitions for categorizing experiment results'),\n targetType: z.string().optional().describe('Target entity type (e.g. agent, workflow, scorer)'),\n targetIds: z.array(z.string()).optional().describe('IDs of target entities this dataset is attached to'),\n scorerIds: z.array(z.string()).optional().nullable().describe('IDs of scorers attached to this dataset'),\n});\n\nexport const addItemBodySchema = z.object({\n externalId: z.string().optional().nullable().describe('Caller-defined, dataset-local item identity'),\n input: z.unknown().describe('Input data for the dataset item'),\n groundTruth: z.unknown().optional().describe('Expected output for comparison'),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers selected for this item'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Request context preset for this item'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n source: datasetItemSourceSchema,\n});\n\nexport const updateItemBodySchema = z.object({\n input: z.unknown().optional().describe('Input data for the dataset item'),\n groundTruth: z.unknown().optional().describe('Expected output for comparison'),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional().nullable().describe('IDs of scorers selected for this item'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Request context preset for this item'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n source: datasetItemSourceSchema,\n});\n\nexport const updateExperimentBodySchema = z\n .object({\n name: z.string().optional().describe('New name of the experiment'),\n description: z.string().optional().describe('New description of the experiment'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Replacement metadata for the experiment'),\n })\n .strict();\n\nexport const triggerExperimentBodySchema = z.object({\n start: z\n .boolean()\n .optional()\n .describe(\n 'When true (default), spawns the in-process runner. When false, creates the experiment without running it: the caller drives the loop via run-item (targeted) or result submission (target-less).',\n ),\n targetType: z\n .enum(['agent', 'workflow', 'scorer'])\n .optional()\n .describe('Type of target to run against. Required when start is true. Optional for create-only experiments.'),\n targetId: z.string().optional().describe('ID of the target. Required when targetType is set.'),\n id: z\n .string()\n .optional()\n .describe(\n 'Caller-supplied experiment id (e.g. a workflow run id) for idempotent create-only requests. Ignored when start is true.',\n ),\n name: z.string().optional().describe('Name of the experiment'),\n description: z.string().optional().describe('Description of the experiment'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers to apply'),\n version: z.coerce.number().int().optional().describe('Pin to specific dataset version'),\n agentVersion: z.string().optional().describe('Agent version ID to use for experiment'),\n maxConcurrency: z.number().optional().describe('Maximum concurrent executions'),\n provenance: z\n .object({\n source: z.string().optional(),\n sourceId: z.string().optional(),\n sourceVersion: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .optional()\n .describe('Caller-provided provenance claims for the experiment execution'),\n grouping: z\n .object({\n experimentSetId: z.string().optional(),\n comparisonId: z.string().optional(),\n variantId: z.string().optional(),\n trialIndex: z.number().int().min(0).optional(),\n })\n .optional()\n .describe('Stable grouping dimensions for comparisons and repeated trials'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Global request context passed to the target'),\n versions: z\n .object({\n agents: z\n .record(\n z.string(),\n z.union([z.object({ versionId: z.string() }), z.object({ status: z.enum(['draft', 'published']) })]),\n )\n .optional(),\n defaultStatus: z.enum(['draft', 'published']).optional(),\n })\n .optional()\n .describe('Version overrides for sub-agent delegation during experiment execution'),\n});\n\nexport const runExperimentItemBodySchema = z.object({\n attempt: z.number().int().min(0).optional().describe('Zero-based repetition index. Defaults to 0.'),\n requestContext: z\n .record(z.string(), z.unknown())\n .optional()\n .describe(\"Request context merged with the item's own request context (item wins)\"),\n});\n\nexport const submitExperimentResultBodySchema = z.object({\n itemId: z.string().describe('Dataset item this result belongs to'),\n attempt: z.number().int().min(0).optional().describe('Zero-based repetition index. Defaults to 0.'),\n input: z.unknown().optional().describe('Input replayed by the external runner. Defaults to the dataset item input.'),\n output: z.unknown().optional().describe('Output produced by the external runner'),\n groundTruth: z.unknown().optional().describe('Ground truth. Defaults to the dataset item groundTruth.'),\n error: z\n .object({\n message: z.string(),\n stack: z.string().optional(),\n code: z.string().optional(),\n })\n .nullable()\n .optional()\n .describe('Failure info when the item run failed'),\n startedAt: z.coerce.date().optional(),\n completedAt: z.coerce.date().optional(),\n traceId: z.string().optional(),\n scores: z\n .array(\n z.object({\n scorerId: z.string(),\n scorerName: z.string().optional(),\n score: z.number(),\n reason: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n }),\n )\n .optional()\n .describe('Externally computed scores, persisted keyed by runId = experimentId'),\n});\n\nexport const compareExperimentsBodySchema = z.object({\n experimentIdA: z.string().describe('ID of baseline experiment'),\n experimentIdB: z.string().describe('ID of candidate experiment'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\n// Dataset entity schema\nexport const datasetResponseSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n inputSchema: z.record(z.string(), z.unknown()).optional(),\n groundTruthSchema: z.record(z.string(), z.unknown()).optional(),\n requestContextSchema: z.record(z.string(), z.unknown()).optional(),\n tags: z.array(z.string()).optional().nullable(),\n targetType: z.string().optional().nullable(),\n targetIds: z.array(z.string()).optional().nullable(),\n scorerIds: z.array(z.string()).optional().nullable(),\n version: z.number().int(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Dataset item entity schema\nexport const datasetItemResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n datasetVersion: z.number().int(),\n externalId: z.string().optional().nullable(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: z.unknown().optional(),\n toolMocks: toolMocksSchema.nullable(),\n unmockedToolPolicy: unmockedToolPolicySchema.nullable(),\n scorerIds: z.array(z.string()).optional().nullable(),\n requestContext: z.record(z.string(), z.unknown()).optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n source: datasetItemSourceSchema.nullable(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Experiment entity schema\nexport const experimentResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string().nullable(),\n datasetVersion: z.number().int().nullable(),\n agentVersion: z.string().nullable().optional(),\n targetType: z.enum(['agent', 'workflow', 'scorer', 'processor']).nullable(),\n targetId: z.string().nullable(),\n scorerIds: z.array(z.string()).nullable().optional(),\n name: z.string().optional(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n provenance: z\n .object({\n source: z.string().optional(),\n sourceId: z.string().optional(),\n sourceVersion: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .nullable()\n .optional(),\n runnerAttestation: z\n .object({\n runnerId: z.string(),\n invocationId: z.string(),\n runnerVersion: z.string().optional(),\n })\n .nullable()\n .optional(),\n experimentSetId: z.string().nullable().optional(),\n comparisonId: z.string().nullable().optional(),\n variantId: z.string().nullable().optional(),\n trialIndex: z.number().int().nullable().optional(),\n status: z.enum(['pending', 'running', 'completed', 'failed']),\n totalItems: z.number(),\n succeededCount: z.number(),\n failedCount: z.number(),\n skippedCount: z.number(),\n startedAt: z.coerce.date().nullable(),\n completedAt: z.coerce.date().nullable(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Scorer result schema\nexport const scorerResultSchema = z.object({\n scorerId: z.string(),\n scorerName: z.string(),\n score: z.number().nullable(),\n reason: z.string().nullable(),\n error: z.string().nullable(),\n});\n\n// Experiment result entity schema\nexport const experimentResultResponseSchema = z.object({\n id: z.string(),\n experimentId: z.string(),\n itemId: z.string(),\n itemDatasetVersion: z.number().int().nullable(),\n input: z.unknown(),\n output: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n expectedTrajectory: z.unknown().optional(),\n error: z\n .object({\n message: z.string(),\n stack: z.string().optional(),\n code: z.string().optional(),\n })\n .nullable(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date(),\n retryCount: z.number(),\n attempt: z.number().int().optional(),\n traceId: z.string().nullable(),\n status: z.enum(['needs-review', 'reviewed', 'complete']).nullable().optional(),\n tags: z.array(z.string()).nullable().optional(),\n comment: z.string().nullable().optional(),\n toolMockReport: toolMockReportSchema.nullable(),\n createdAt: z.coerce.date(),\n});\n\n// Returned by the run-item route: the upserted result row plus the scorer runs.\nexport const runExperimentItemResponseSchema = z.object({\n result: experimentResultResponseSchema,\n scores: z.array(\n z.object({\n scorerId: z.string(),\n scorerName: z.string(),\n score: z.number().nullable(),\n reason: z.string().nullable(),\n error: z.string().nullable(),\n failedStep: z.string().optional(),\n completedSteps: z.array(z.string()).optional(),\n targetScope: z.enum(['span', 'trajectory']).optional(),\n stepId: z.string().optional(),\n }),\n ),\n});\n\nexport const updateExperimentResultBodySchema = z.object({\n status: z.enum(['needs-review', 'reviewed', 'complete']).nullable().optional(),\n tags: z.array(z.string()).optional(),\n comment: z.string().nullable().optional(),\n});\n\n// Comparison item schema (MVP shape)\nconst comparisonItemSchema = z.object({\n itemId: z.string(),\n input: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n results: z.record(\n z.string(),\n z\n .object({\n output: z.unknown().nullable(),\n scores: z.record(z.string(), z.number().nullable()),\n })\n .nullable(),\n ),\n});\n\n// Comparison result schema\nexport const comparisonResponseSchema = z.object({\n baselineId: z.string(),\n items: z.array(comparisonItemSchema),\n});\n\n// Experiment summary schema (returned by trigger experiment)\n// Note: completedAt is nullable for pending/running experiments (async trigger)\nexport const experimentSummaryResponseSchema = z.object({\n experimentId: z.string(),\n status: z.enum(['pending', 'running', 'completed', 'failed']),\n totalItems: z.number(),\n succeededCount: z.number(),\n failedCount: z.number(),\n datasetVersion: z.number().int().optional().describe('Dataset version pinned on the experiment (create-only)'),\n // Nullable: a create-only request returns the persisted startedAt, which is\n // null until the experiment transitions to running.\n startedAt: z.coerce.date().nullable(),\n completedAt: z.coerce.date().nullable(),\n results: z.array(\n z.object({\n itemId: z.string(),\n itemDatasetVersion: z.number().int().nullable(),\n input: z.unknown(),\n output: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n error: z.string().nullable(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date(),\n retryCount: z.number(),\n toolMockReport: toolMockReportSchema.nullable(),\n scores: z.array(\n z.object({\n scorerId: z.string(),\n scorerName: z.string(),\n score: z.number().nullable(),\n reason: z.string().nullable(),\n error: z.string().nullable(),\n }),\n ),\n }),\n ),\n});\n\n// ============================================================================\n// List Response Schemas\n// ============================================================================\n\nexport const listDatasetsResponseSchema = z.object({\n datasets: z.array(datasetResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listItemsResponseSchema = z.object({\n items: z.array(datasetItemResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listExperimentsResponseSchema = z.object({\n experiments: z.array(experimentResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listExperimentResultsResponseSchema = z.object({\n results: z.array(experimentResultResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const experimentReviewCountsSchema = z.object({\n experimentId: z.string(),\n total: z.number().int(),\n needsReview: z.number().int(),\n reviewed: z.number().int(),\n complete: z.number().int(),\n});\n\nexport const reviewSummaryResponseSchema = z.object({\n counts: z.array(experimentReviewCountsSchema),\n});\n\n// ============================================================================\n// Version Schemas\n// ============================================================================\n\n// Path params for item version routes\nexport const datasetItemVersionPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\n datasetVersion: z.coerce.number().int().describe('Dataset version number'),\n});\n\n// Item history row response schema (SCD-2 DatasetItemRow shape)\nexport const itemVersionResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n datasetVersion: z.number().int(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: z.unknown().optional(),\n toolMocks: toolMocksSchema.nullable(),\n unmockedToolPolicy: unmockedToolPolicySchema.nullable(),\n scorerIds: z.array(z.string()).optional().nullable(),\n requestContext: z.record(z.string(), z.unknown()).optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n validTo: z.number().int().nullable(),\n isDeleted: z.boolean(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport const listItemVersionsResponseSchema = z.object({\n history: z.array(itemVersionResponseSchema),\n});\n\n// Dataset version response schema\nexport const datasetVersionResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n version: z.number().int(),\n createdAt: z.coerce.date(),\n});\n\nexport const listDatasetVersionsResponseSchema = z.object({\n versions: z.array(datasetVersionResponseSchema),\n pagination: paginationInfoSchema,\n});\n\n// ============================================================================\n// Batch Operation Schemas\n// ============================================================================\n\nexport const batchInsertItemsBodySchema = z.object({\n items: z.array(\n z.object({\n externalId: z.string().optional().nullable(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n source: datasetItemSourceSchema,\n }),\n ),\n});\n\nexport const batchInsertItemsResponseSchema = z.object({\n items: z.array(datasetItemResponseSchema),\n count: z.number(),\n});\n\nexport const batchDeleteItemsBodySchema = z.object({\n itemIds: z.array(z.string()),\n});\n\nexport const batchDeleteItemsResponseSchema = z.object({\n success: z.boolean(),\n deletedCount: z.number(),\n});\n\n// ============================================================================\n// AI Generation Schemas\n// ============================================================================\n\nexport const generateItemsBodySchema = z.object({\n modelId: z.string().describe('Model identifier in \"provider/model\" format (e.g., \"openai/gpt-4o\")'),\n prompt: z.string().describe('Description of the kind of test data to generate'),\n count: z.number().int().min(1).max(50).default(5).describe('Number of items to generate'),\n agentContext: z\n .object({\n description: z.string().optional(),\n instructions: z.string().optional(),\n tools: z.array(z.string()).optional(),\n })\n .optional()\n .describe('Context about the agent to generate relevant test data'),\n});\n\nconst generatedItemSchema = z.object({\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n});\n\nexport const generateItemsResponseSchema = z.object({\n items: z.array(generatedItemSchema),\n});\n\n// ============================================================================\n// Cluster Failures\n// ============================================================================\n\nexport const clusterFailuresBodySchema = z.object({\n modelId: z.string().describe('Model identifier in \"provider/model\" format (e.g., \"openai/gpt-4o\")'),\n items: z\n .array(\n z.object({\n id: z.string(),\n input: z.unknown(),\n output: z.unknown().optional(),\n error: z.string().optional(),\n scores: z.record(z.string(), z.number()).optional(),\n existingTags: z.array(z.string()).optional().describe('Tags already applied to this item'),\n }),\n )\n .min(1)\n .max(200)\n .describe('Failure items to cluster'),\n availableTags: z\n .array(z.string())\n .optional()\n .describe('Existing tag vocabulary from the dataset. The LLM should prefer reusing these tags when applicable.'),\n prompt: z\n .string()\n .optional()\n .describe('Optional user instructions to guide the analysis (e.g., \"focus on tool usage failures\")'),\n});\n\nconst failureClusterSchema = z.object({\n id: z.string().describe('A unique cluster identifier'),\n label: z.string().describe('Short label for this failure pattern'),\n description: z.string().describe('Description of the common pattern'),\n itemIds: z.array(z.string()).describe('IDs of items belonging to this cluster'),\n});\n\nexport const clusterFailuresResponseSchema = z.object({\n clusters: z.array(failureClusterSchema),\n /** Per-item proposed tag assignments. Each entry maps an item ID to the tags the LLM suggests adding. */\n proposedTags: z\n .array(\n z.object({\n itemId: z.string(),\n tags: z.array(z.string()),\n reason: z.string().describe('Brief explanation of why these tags were assigned to this item'),\n }),\n )\n .optional(),\n});\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const require_common = require("./common-DQn8jX5T.cjs");
1
+ const require_common = require("./common-BPjna_b6.cjs");
2
2
  let zod_v4 = require("zod/v4");
3
3
  //#region src/server/schemas/datasets.ts
4
4
  const jsonSchemaObject = zod_v4.z.lazy(() => zod_v4.z.record(zod_v4.z.string(), zod_v4.z.unknown()));
@@ -184,29 +184,41 @@ const datasetAndItemIdPathParams = zod_v4.z.object({
184
184
  datasetId: zod_v4.z.string().describe("Unique identifier for the dataset"),
185
185
  itemId: zod_v4.z.string().describe("Unique identifier for the dataset item")
186
186
  });
187
- const paginationQuerySchema = zod_v4.z.object({
188
- page: zod_v4.z.coerce.number().optional().default(0),
189
- perPage: zod_v4.z.coerce.number().optional().default(10)
190
- });
187
+ const paginationQuerySchema = require_common.createPagePaginationSchema(10);
191
188
  const listExperimentResultsQuerySchema = paginationQuerySchema.extend({ tags: zod_v4.z.preprocess((v) => {
192
189
  const list = typeof v === "string" ? [v] : v;
193
190
  if (!Array.isArray(list)) return list;
194
191
  const nonBlank = list.filter((tag) => tag !== "");
195
192
  return nonBlank.length > 0 ? nonBlank : void 0;
196
193
  }, zod_v4.z.array(zod_v4.z.string()).optional()).describe("Only return results that have all of these tags") });
194
+ const targetTypeQuerySchema = zod_v4.z.enum([
195
+ "agent",
196
+ "workflow",
197
+ "scorer",
198
+ "processor"
199
+ ]).optional().describe("Only return records attached to targets of this type");
200
+ const listDatasetsQuerySchema = paginationQuerySchema.extend({
201
+ targetType: targetTypeQuerySchema,
202
+ targetIds: zod_v4.z.preprocess((v) => {
203
+ const list = typeof v === "string" ? [v] : v;
204
+ if (!Array.isArray(list)) return list;
205
+ const nonBlank = list.filter((id) => id !== "");
206
+ return nonBlank.length > 0 ? nonBlank : void 0;
207
+ }, zod_v4.z.array(zod_v4.z.string()).optional()).describe("Only return datasets attached to at least one of these target IDs")
208
+ });
197
209
  const listExperimentsQuerySchema = paginationQuerySchema.extend({
198
210
  experimentSetId: zod_v4.z.string().optional(),
199
211
  comparisonId: zod_v4.z.string().optional(),
200
212
  variantId: zod_v4.z.string().optional(),
201
- trialIndex: zod_v4.z.coerce.number().int().min(0).optional()
213
+ trialIndex: zod_v4.z.coerce.number().int().min(0).optional(),
214
+ targetType: targetTypeQuerySchema,
215
+ targetId: zod_v4.z.string().optional().describe("Only return experiments run against this target ID")
202
216
  });
203
217
  const tenancyQuerySchema = zod_v4.z.object({
204
218
  organizationId: zod_v4.z.string().optional().describe("Restrict lookup to the given organization"),
205
219
  projectId: zod_v4.z.string().optional().describe("Restrict lookup to the given project")
206
220
  });
207
- const listItemsQuerySchema = zod_v4.z.object({
208
- page: zod_v4.z.coerce.number().optional().default(0),
209
- perPage: zod_v4.z.coerce.number().optional().default(10),
221
+ const listItemsQuerySchema = require_common.createPagePaginationSchema(10).extend({
210
222
  version: zod_v4.z.coerce.number().int().optional(),
211
223
  search: zod_v4.z.string().optional()
212
224
  });
@@ -808,6 +820,12 @@ Object.defineProperty(exports, "listDatasetVersionsResponseSchema", {
808
820
  return listDatasetVersionsResponseSchema;
809
821
  }
810
822
  });
823
+ Object.defineProperty(exports, "listDatasetsQuerySchema", {
824
+ enumerable: true,
825
+ get: function() {
826
+ return listDatasetsQuerySchema;
827
+ }
828
+ });
811
829
  Object.defineProperty(exports, "listDatasetsResponseSchema", {
812
830
  enumerable: true,
813
831
  get: function() {
@@ -929,4 +947,4 @@ Object.defineProperty(exports, "updateItemBodySchema", {
929
947
  }
930
948
  });
931
949
 
932
- //# sourceMappingURL=datasets-C-_ZWnxR.cjs.map
950
+ //# sourceMappingURL=datasets-zlaJQ9D0.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasets-zlaJQ9D0.cjs","names":["z","createPagePaginationSchema","paginationInfoSchema"],"sources":["../src/server/schemas/datasets.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { paginationInfoSchema, createPagePaginationSchema } from './common';\n\n// ============================================================================\n// JSON Schema Types (for inputSchema/groundTruthSchema fields)\n// ============================================================================\n\n// JSON Schema type (simplified for storage - full spec too complex)\nconst jsonSchemaObject: z.ZodType<Record<string, unknown>> = z.lazy(() => z.record(z.string(), z.unknown()));\n\n// JSON Schema field (object or null to disable)\nconst jsonSchemaField = z.union([jsonSchemaObject, z.null()]).optional();\n\n// ============================================================================\n// Trajectory Expectation Schema (2 levels deep, children at level 2 use z.unknown())\n// ============================================================================\n\n// Shared base fields for expected steps (level 2 — children typed as z.unknown())\nconst expectedStepBase = {\n name: z.string().describe('Step name to match'),\n durationMs: z.number().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n children: z.unknown().optional().describe('Nested trajectory expectation (untyped at this depth)'),\n};\n\n// Typed step variants keyed by stepType\nconst expectedToolCallStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('tool_call'),\n toolArgs: z.record(z.string(), z.unknown()).optional(),\n toolResult: z.record(z.string(), z.unknown()).optional(),\n success: z.boolean().optional(),\n});\n\nconst expectedMcpToolCallStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('mcp_tool_call'),\n toolArgs: z.record(z.string(), z.unknown()).optional(),\n toolResult: z.record(z.string(), z.unknown()).optional(),\n mcpServer: z.string().optional(),\n success: z.boolean().optional(),\n});\n\nconst expectedModelGenerationStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('model_generation'),\n modelId: z.string().optional(),\n promptTokens: z.number().optional(),\n completionTokens: z.number().optional(),\n finishReason: z.string().optional(),\n});\n\nconst expectedAgentRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('agent_run'),\n agentId: z.string().optional(),\n});\n\nconst expectedWorkflowStepStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_step'),\n stepId: z.string().optional(),\n status: z.string().optional(),\n output: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst expectedWorkflowRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_run'),\n workflowId: z.string().optional(),\n status: z.string().optional(),\n});\n\nconst expectedWorkflowConditionalStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_conditional'),\n conditionCount: z.number().optional(),\n selectedSteps: z.array(z.string()).optional(),\n});\n\nconst expectedWorkflowParallelStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_parallel'),\n branchCount: z.number().optional(),\n parallelSteps: z.array(z.string()).optional(),\n});\n\nconst expectedWorkflowLoopStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_loop'),\n loopType: z.string().optional(),\n totalIterations: z.number().optional(),\n});\n\nconst expectedWorkflowSleepStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_sleep'),\n sleepDurationMs: z.number().optional(),\n sleepType: z.string().optional(),\n});\n\nconst expectedWorkflowWaitEventStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('workflow_wait_event'),\n eventName: z.string().optional(),\n eventReceived: z.boolean().optional(),\n});\n\nconst expectedProcessorRunStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.literal('processor_run'),\n processorId: z.string().optional(),\n});\n\n// Generic step (no stepType — matches by name only)\nconst expectedGenericStepSchema = z.object({\n ...expectedStepBase,\n stepType: z.undefined().optional(),\n});\n\n// Union of all expected step types\nconst expectedStepSchema = z.union([\n z.discriminatedUnion('stepType', [\n expectedToolCallStepSchema,\n expectedMcpToolCallStepSchema,\n expectedModelGenerationStepSchema,\n expectedAgentRunStepSchema,\n expectedWorkflowStepStepSchema,\n expectedWorkflowRunStepSchema,\n expectedWorkflowConditionalStepSchema,\n expectedWorkflowParallelStepSchema,\n expectedWorkflowLoopStepSchema,\n expectedWorkflowSleepStepSchema,\n expectedWorkflowWaitEventStepSchema,\n expectedProcessorRunStepSchema,\n ]),\n expectedGenericStepSchema,\n]);\n\n// Full TrajectoryExpectation schema\nconst trajectoryExpectationSchema = z\n .object({\n // Accuracy\n steps: z.array(expectedStepSchema).optional().describe('Expected steps for accuracy checking'),\n ordering: z\n .enum(['strict', 'relaxed', 'unordered'])\n .optional()\n .describe('How to compare step ordering (default: relaxed)'),\n allowRepeatedSteps: z.boolean().optional().describe('Whether to allow repeated steps (default: true)'),\n\n // Efficiency\n maxSteps: z.number().int().optional().describe('Maximum number of steps allowed'),\n maxTotalTokens: z.number().int().optional().describe('Maximum total tokens across all model_generation steps'),\n maxTotalDurationMs: z.number().optional().describe('Maximum total duration in milliseconds'),\n noRedundantCalls: z\n .boolean()\n .optional()\n .describe('Whether to penalize redundant calls (same tool + same args consecutively, default: true)'),\n\n // Blacklist\n blacklistedTools: z.array(z.string()).optional().describe('Tool names that should never appear'),\n blacklistedSequences: z\n .array(z.array(z.string()))\n .optional()\n .describe('Tool name sequences that should never appear'),\n\n // Tool failure tolerance\n maxRetriesPerTool: z.number().int().optional().describe('Maximum retries per tool before penalizing (default: 2)'),\n })\n .optional()\n .nullable()\n .describe('Expected trajectory configuration for trajectory scoring');\n\n// Dataset item source tracking\nconst datasetItemSourceSchema = z\n .object({\n type: z\n .enum(['csv', 'json', 'trace', 'llm', 'experiment-result', 'candidate-screener'])\n .describe('How this item was created'),\n referenceId: z.string().optional().describe('Reference identifier (e.g., trace id, csv filename)'),\n })\n .optional()\n .describe('Source/provenance of this dataset item');\n\n// Item-level static tool mocks (agent targets only).\nconst itemToolMockSchema = z.object({\n toolName: z.string().describe('Name of the tool this mock applies to'),\n args: z.record(z.string(), z.unknown()).describe('Arguments to match against the tool call'),\n output: z.unknown().describe('Output served to the agent when matched'),\n matchArgs: z\n .enum(['strict', 'ignore'])\n .optional()\n .describe(\"Argument matching mode. 'strict' (default) deep-equals args; 'ignore' matches on toolName only\"),\n});\n\nconst toolMocksSchema = z\n .array(itemToolMockSchema)\n .optional()\n .describe('Ordered item-level static tool mocks served in place of executing the real tool');\n\nconst unmockedToolPolicySchema = z\n .enum(['allow', 'deny'])\n .optional()\n .describe(\"Policy for undeclared tool calls. 'allow' runs them live; 'deny' fails the experiment item\");\n\n// Diagnostic receipt for item-level tool mocks, persisted on experiment results.\nconst toolMockReportSchema = z\n .object({\n served: z.array(z.object({ mockIndex: z.number().int(), toolName: z.string(), args: z.unknown() })),\n unconsumed: z.array(z.object({ mockIndex: z.number().int(), toolName: z.string(), args: z.unknown() })),\n liveCalls: z.array(z.object({ toolName: z.string(), args: z.unknown() })),\n failure: z\n .object({\n code: z.enum(['TOOL_MOCK_MISMATCH', 'TOOL_MOCK_EXHAUSTED', 'TOOL_MOCK_NOT_DECLARED']),\n toolName: z.string(),\n args: z.unknown(),\n })\n .optional(),\n })\n .optional()\n .describe('Diagnostic receipt for item-level tool mocks');\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const datasetIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n});\n\nexport const experimentIdPathParams = z.object({\n experimentId: z.string().describe('Unique identifier for the experiment'),\n});\n\nexport const itemIdPathParams = z.object({\n itemId: z.string().describe('Unique identifier for the dataset item'),\n});\n\nexport const datasetAndExperimentIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n});\n\nexport const experimentResultIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n resultId: z.string().describe('Unique identifier for the experiment result'),\n});\n\nexport const datasetExperimentAndItemIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n experimentId: z.string().describe('Unique identifier for the experiment'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\n});\n\nexport const datasetAndItemIdPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\n});\n\n// ============================================================================\n// Query Parameter Schemas\n// ============================================================================\n\nexport const paginationQuerySchema = createPagePaginationSchema(10);\n\nexport const listExperimentResultsQuerySchema = paginationQuerySchema.extend({\n tags: z\n .preprocess(v => {\n // Repeated query params arrive as arrays; a single param arrives as a string.\n // Blank values (`?tags=`) mean \"no filter\", not \"match the empty tag\".\n const list = typeof v === 'string' ? [v] : v;\n if (!Array.isArray(list)) return list;\n const nonBlank = list.filter(tag => tag !== '');\n return nonBlank.length > 0 ? nonBlank : undefined;\n }, z.array(z.string()).optional())\n .describe('Only return results that have all of these tags'),\n});\n\nconst targetTypeQuerySchema = z\n .enum(['agent', 'workflow', 'scorer', 'processor'])\n .optional()\n .describe('Only return records attached to targets of this type');\n\nexport const listDatasetsQuerySchema = paginationQuerySchema.extend({\n targetType: targetTypeQuerySchema,\n targetIds: z\n .preprocess(v => {\n // Repeated query params arrive as arrays; a single param arrives as a string.\n const list = typeof v === 'string' ? [v] : v;\n if (!Array.isArray(list)) return list;\n const nonBlank = list.filter(id => id !== '');\n return nonBlank.length > 0 ? nonBlank : undefined;\n }, z.array(z.string()).optional())\n .describe('Only return datasets attached to at least one of these target IDs'),\n});\n\nexport const listExperimentsQuerySchema = paginationQuerySchema.extend({\n experimentSetId: z.string().optional(),\n comparisonId: z.string().optional(),\n variantId: z.string().optional(),\n trialIndex: z.coerce.number().int().min(0).optional(),\n targetType: targetTypeQuerySchema,\n targetId: z.string().optional().describe('Only return experiments run against this target ID'),\n});\n\nexport const tenancyQuerySchema = z.object({\n organizationId: z.string().optional().describe('Restrict lookup to the given organization'),\n projectId: z.string().optional().describe('Restrict lookup to the given project'),\n});\n\nexport const listItemsQuerySchema = createPagePaginationSchema(10).extend({\n version: z.coerce.number().int().optional(), // Optional version filter for snapshot semantics\n search: z.string().optional(),\n});\n\n// ============================================================================\n// Request Body Schemas\n// ============================================================================\n\nexport const createDatasetBodySchema = z.object({\n name: z.string().describe('Name of the dataset'),\n description: z.string().optional().describe('Description of the dataset'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n inputSchema: jsonSchemaField.describe('JSON Schema for validating item input'),\n groundTruthSchema: jsonSchemaField.describe('JSON Schema for validating item groundTruth'),\n requestContextSchema: jsonSchemaField.describe('JSON Schema describing expected request context shape'),\n targetType: z.string().optional().describe('Target entity type (e.g. agent, workflow, scorer)'),\n targetIds: z.array(z.string()).optional().describe('IDs of target entities this dataset is attached to'),\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers attached to this dataset'),\n});\n\nexport const updateDatasetBodySchema = z.object({\n name: z.string().optional().describe('Name of the dataset'),\n description: z.string().optional().describe('Description of the dataset'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n inputSchema: jsonSchemaField.describe('JSON Schema for validating item input'),\n groundTruthSchema: jsonSchemaField.describe('JSON Schema for validating item groundTruth'),\n requestContextSchema: jsonSchemaField.describe('JSON Schema describing expected request context shape'),\n tags: z.array(z.string()).optional().describe('Tag definitions for categorizing experiment results'),\n targetType: z.string().optional().describe('Target entity type (e.g. agent, workflow, scorer)'),\n targetIds: z.array(z.string()).optional().describe('IDs of target entities this dataset is attached to'),\n scorerIds: z.array(z.string()).optional().nullable().describe('IDs of scorers attached to this dataset'),\n});\n\nexport const addItemBodySchema = z.object({\n externalId: z.string().optional().nullable().describe('Caller-defined, dataset-local item identity'),\n input: z.unknown().describe('Input data for the dataset item'),\n groundTruth: z.unknown().optional().describe('Expected output for comparison'),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers selected for this item'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Request context preset for this item'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n source: datasetItemSourceSchema,\n});\n\nexport const updateItemBodySchema = z.object({\n input: z.unknown().optional().describe('Input data for the dataset item'),\n groundTruth: z.unknown().optional().describe('Expected output for comparison'),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional().nullable().describe('IDs of scorers selected for this item'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Request context preset for this item'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n source: datasetItemSourceSchema,\n});\n\nexport const updateExperimentBodySchema = z\n .object({\n name: z.string().optional().describe('New name of the experiment'),\n description: z.string().optional().describe('New description of the experiment'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Replacement metadata for the experiment'),\n })\n .strict();\n\nexport const triggerExperimentBodySchema = z.object({\n start: z\n .boolean()\n .optional()\n .describe(\n 'When true (default), spawns the in-process runner. When false, creates the experiment without running it: the caller drives the loop via run-item (targeted) or result submission (target-less).',\n ),\n targetType: z\n .enum(['agent', 'workflow', 'scorer'])\n .optional()\n .describe('Type of target to run against. Required when start is true. Optional for create-only experiments.'),\n targetId: z.string().optional().describe('ID of the target. Required when targetType is set.'),\n id: z\n .string()\n .optional()\n .describe(\n 'Caller-supplied experiment id (e.g. a workflow run id) for idempotent create-only requests. Ignored when start is true.',\n ),\n name: z.string().optional().describe('Name of the experiment'),\n description: z.string().optional().describe('Description of the experiment'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Additional metadata'),\n scorerIds: z.array(z.string()).optional().describe('IDs of scorers to apply'),\n version: z.coerce.number().int().optional().describe('Pin to specific dataset version'),\n agentVersion: z.string().optional().describe('Agent version ID to use for experiment'),\n maxConcurrency: z.number().optional().describe('Maximum concurrent executions'),\n provenance: z\n .object({\n source: z.string().optional(),\n sourceId: z.string().optional(),\n sourceVersion: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .optional()\n .describe('Caller-provided provenance claims for the experiment execution'),\n grouping: z\n .object({\n experimentSetId: z.string().optional(),\n comparisonId: z.string().optional(),\n variantId: z.string().optional(),\n trialIndex: z.number().int().min(0).optional(),\n })\n .optional()\n .describe('Stable grouping dimensions for comparisons and repeated trials'),\n requestContext: z.record(z.string(), z.unknown()).optional().describe('Global request context passed to the target'),\n versions: z\n .object({\n agents: z\n .record(\n z.string(),\n z.union([z.object({ versionId: z.string() }), z.object({ status: z.enum(['draft', 'published']) })]),\n )\n .optional(),\n defaultStatus: z.enum(['draft', 'published']).optional(),\n })\n .optional()\n .describe('Version overrides for sub-agent delegation during experiment execution'),\n});\n\nexport const runExperimentItemBodySchema = z.object({\n attempt: z.number().int().min(0).optional().describe('Zero-based repetition index. Defaults to 0.'),\n requestContext: z\n .record(z.string(), z.unknown())\n .optional()\n .describe(\"Request context merged with the item's own request context (item wins)\"),\n});\n\nexport const submitExperimentResultBodySchema = z.object({\n itemId: z.string().describe('Dataset item this result belongs to'),\n attempt: z.number().int().min(0).optional().describe('Zero-based repetition index. Defaults to 0.'),\n input: z.unknown().optional().describe('Input replayed by the external runner. Defaults to the dataset item input.'),\n output: z.unknown().optional().describe('Output produced by the external runner'),\n groundTruth: z.unknown().optional().describe('Ground truth. Defaults to the dataset item groundTruth.'),\n error: z\n .object({\n message: z.string(),\n stack: z.string().optional(),\n code: z.string().optional(),\n })\n .nullable()\n .optional()\n .describe('Failure info when the item run failed'),\n startedAt: z.coerce.date().optional(),\n completedAt: z.coerce.date().optional(),\n traceId: z.string().optional(),\n scores: z\n .array(\n z.object({\n scorerId: z.string(),\n scorerName: z.string().optional(),\n score: z.number(),\n reason: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n }),\n )\n .optional()\n .describe('Externally computed scores, persisted keyed by runId = experimentId'),\n});\n\nexport const compareExperimentsBodySchema = z.object({\n experimentIdA: z.string().describe('ID of baseline experiment'),\n experimentIdB: z.string().describe('ID of candidate experiment'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\n// Dataset entity schema\nexport const datasetResponseSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n inputSchema: z.record(z.string(), z.unknown()).optional(),\n groundTruthSchema: z.record(z.string(), z.unknown()).optional(),\n requestContextSchema: z.record(z.string(), z.unknown()).optional(),\n tags: z.array(z.string()).optional().nullable(),\n targetType: z.string().optional().nullable(),\n targetIds: z.array(z.string()).optional().nullable(),\n scorerIds: z.array(z.string()).optional().nullable(),\n version: z.number().int(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Dataset item entity schema\nexport const datasetItemResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n datasetVersion: z.number().int(),\n externalId: z.string().optional().nullable(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: z.unknown().optional(),\n toolMocks: toolMocksSchema.nullable(),\n unmockedToolPolicy: unmockedToolPolicySchema.nullable(),\n scorerIds: z.array(z.string()).optional().nullable(),\n requestContext: z.record(z.string(), z.unknown()).optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n source: datasetItemSourceSchema.nullable(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Experiment entity schema\nexport const experimentResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string().nullable(),\n datasetVersion: z.number().int().nullable(),\n agentVersion: z.string().nullable().optional(),\n targetType: z.enum(['agent', 'workflow', 'scorer', 'processor']).nullable(),\n targetId: z.string().nullable(),\n scorerIds: z.array(z.string()).nullable().optional(),\n name: z.string().optional(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n provenance: z\n .object({\n source: z.string().optional(),\n sourceId: z.string().optional(),\n sourceVersion: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n })\n .nullable()\n .optional(),\n runnerAttestation: z\n .object({\n runnerId: z.string(),\n invocationId: z.string(),\n runnerVersion: z.string().optional(),\n })\n .nullable()\n .optional(),\n experimentSetId: z.string().nullable().optional(),\n comparisonId: z.string().nullable().optional(),\n variantId: z.string().nullable().optional(),\n trialIndex: z.number().int().nullable().optional(),\n status: z.enum(['pending', 'running', 'completed', 'failed']),\n totalItems: z.number(),\n succeededCount: z.number(),\n failedCount: z.number(),\n skippedCount: z.number(),\n startedAt: z.coerce.date().nullable(),\n completedAt: z.coerce.date().nullable(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\n// Scorer result schema\nexport const scorerResultSchema = z.object({\n scorerId: z.string(),\n scorerName: z.string(),\n score: z.number().nullable(),\n reason: z.string().nullable(),\n error: z.string().nullable(),\n});\n\n// Experiment result entity schema\nexport const experimentResultResponseSchema = z.object({\n id: z.string(),\n experimentId: z.string(),\n itemId: z.string(),\n itemDatasetVersion: z.number().int().nullable(),\n input: z.unknown(),\n output: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n expectedTrajectory: z.unknown().optional(),\n error: z\n .object({\n message: z.string(),\n stack: z.string().optional(),\n code: z.string().optional(),\n })\n .nullable(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date(),\n retryCount: z.number(),\n attempt: z.number().int().optional(),\n traceId: z.string().nullable(),\n status: z.enum(['needs-review', 'reviewed', 'complete']).nullable().optional(),\n tags: z.array(z.string()).nullable().optional(),\n comment: z.string().nullable().optional(),\n toolMockReport: toolMockReportSchema.nullable(),\n createdAt: z.coerce.date(),\n});\n\n// Returned by the run-item route: the upserted result row plus the scorer runs.\nexport const runExperimentItemResponseSchema = z.object({\n result: experimentResultResponseSchema,\n scores: z.array(\n z.object({\n scorerId: z.string(),\n scorerName: z.string(),\n score: z.number().nullable(),\n reason: z.string().nullable(),\n error: z.string().nullable(),\n failedStep: z.string().optional(),\n completedSteps: z.array(z.string()).optional(),\n targetScope: z.enum(['span', 'trajectory']).optional(),\n stepId: z.string().optional(),\n }),\n ),\n});\n\nexport const updateExperimentResultBodySchema = z.object({\n status: z.enum(['needs-review', 'reviewed', 'complete']).nullable().optional(),\n tags: z.array(z.string()).optional(),\n comment: z.string().nullable().optional(),\n});\n\n// Comparison item schema (MVP shape)\nconst comparisonItemSchema = z.object({\n itemId: z.string(),\n input: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n results: z.record(\n z.string(),\n z\n .object({\n output: z.unknown().nullable(),\n scores: z.record(z.string(), z.number().nullable()),\n })\n .nullable(),\n ),\n});\n\n// Comparison result schema\nexport const comparisonResponseSchema = z.object({\n baselineId: z.string(),\n items: z.array(comparisonItemSchema),\n});\n\n// Experiment summary schema (returned by trigger experiment)\n// Note: completedAt is nullable for pending/running experiments (async trigger)\nexport const experimentSummaryResponseSchema = z.object({\n experimentId: z.string(),\n status: z.enum(['pending', 'running', 'completed', 'failed']),\n totalItems: z.number(),\n succeededCount: z.number(),\n failedCount: z.number(),\n datasetVersion: z.number().int().optional().describe('Dataset version pinned on the experiment (create-only)'),\n // Nullable: a create-only request returns the persisted startedAt, which is\n // null until the experiment transitions to running.\n startedAt: z.coerce.date().nullable(),\n completedAt: z.coerce.date().nullable(),\n results: z.array(\n z.object({\n itemId: z.string(),\n itemDatasetVersion: z.number().int().nullable(),\n input: z.unknown(),\n output: z.unknown().nullable(),\n groundTruth: z.unknown().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n error: z.string().nullable(),\n startedAt: z.coerce.date(),\n completedAt: z.coerce.date(),\n retryCount: z.number(),\n toolMockReport: toolMockReportSchema.nullable(),\n scores: z.array(\n z.object({\n scorerId: z.string(),\n scorerName: z.string(),\n score: z.number().nullable(),\n reason: z.string().nullable(),\n error: z.string().nullable(),\n }),\n ),\n }),\n ),\n});\n\n// ============================================================================\n// List Response Schemas\n// ============================================================================\n\nexport const listDatasetsResponseSchema = z.object({\n datasets: z.array(datasetResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listItemsResponseSchema = z.object({\n items: z.array(datasetItemResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listExperimentsResponseSchema = z.object({\n experiments: z.array(experimentResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const listExperimentResultsResponseSchema = z.object({\n results: z.array(experimentResultResponseSchema),\n pagination: paginationInfoSchema,\n});\n\nexport const experimentReviewCountsSchema = z.object({\n experimentId: z.string(),\n total: z.number().int(),\n needsReview: z.number().int(),\n reviewed: z.number().int(),\n complete: z.number().int(),\n});\n\nexport const reviewSummaryResponseSchema = z.object({\n counts: z.array(experimentReviewCountsSchema),\n});\n\n// ============================================================================\n// Version Schemas\n// ============================================================================\n\n// Path params for item version routes\nexport const datasetItemVersionPathParams = z.object({\n datasetId: z.string().describe('Unique identifier for the dataset'),\n itemId: z.string().describe('Unique identifier for the dataset item'),\n datasetVersion: z.coerce.number().int().describe('Dataset version number'),\n});\n\n// Item history row response schema (SCD-2 DatasetItemRow shape)\nexport const itemVersionResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n datasetVersion: z.number().int(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: z.unknown().optional(),\n toolMocks: toolMocksSchema.nullable(),\n unmockedToolPolicy: unmockedToolPolicySchema.nullable(),\n scorerIds: z.array(z.string()).optional().nullable(),\n requestContext: z.record(z.string(), z.unknown()).optional().nullable(),\n metadata: z.record(z.string(), z.unknown()).optional().nullable(),\n validTo: z.number().int().nullable(),\n isDeleted: z.boolean(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport const listItemVersionsResponseSchema = z.object({\n history: z.array(itemVersionResponseSchema),\n});\n\n// Dataset version response schema\nexport const datasetVersionResponseSchema = z.object({\n id: z.string(),\n datasetId: z.string(),\n version: z.number().int(),\n createdAt: z.coerce.date(),\n});\n\nexport const listDatasetVersionsResponseSchema = z.object({\n versions: z.array(datasetVersionResponseSchema),\n pagination: paginationInfoSchema,\n});\n\n// ============================================================================\n// Batch Operation Schemas\n// ============================================================================\n\nexport const batchInsertItemsBodySchema = z.object({\n items: z.array(\n z.object({\n externalId: z.string().optional().nullable(),\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n expectedTrajectory: trajectoryExpectationSchema,\n toolMocks: toolMocksSchema,\n unmockedToolPolicy: unmockedToolPolicySchema,\n scorerIds: z.array(z.string()).optional(),\n requestContext: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n source: datasetItemSourceSchema,\n }),\n ),\n});\n\nexport const batchInsertItemsResponseSchema = z.object({\n items: z.array(datasetItemResponseSchema),\n count: z.number(),\n});\n\nexport const batchDeleteItemsBodySchema = z.object({\n itemIds: z.array(z.string()),\n});\n\nexport const batchDeleteItemsResponseSchema = z.object({\n success: z.boolean(),\n deletedCount: z.number(),\n});\n\n// ============================================================================\n// AI Generation Schemas\n// ============================================================================\n\nexport const generateItemsBodySchema = z.object({\n modelId: z.string().describe('Model identifier in \"provider/model\" format (e.g., \"openai/gpt-4o\")'),\n prompt: z.string().describe('Description of the kind of test data to generate'),\n count: z.number().int().min(1).max(50).default(5).describe('Number of items to generate'),\n agentContext: z\n .object({\n description: z.string().optional(),\n instructions: z.string().optional(),\n tools: z.array(z.string()).optional(),\n })\n .optional()\n .describe('Context about the agent to generate relevant test data'),\n});\n\nconst generatedItemSchema = z.object({\n input: z.unknown(),\n groundTruth: z.unknown().optional(),\n});\n\nexport const generateItemsResponseSchema = z.object({\n items: z.array(generatedItemSchema),\n});\n\n// ============================================================================\n// Cluster Failures\n// ============================================================================\n\nexport const clusterFailuresBodySchema = z.object({\n modelId: z.string().describe('Model identifier in \"provider/model\" format (e.g., \"openai/gpt-4o\")'),\n items: z\n .array(\n z.object({\n id: z.string(),\n input: z.unknown(),\n output: z.unknown().optional(),\n error: z.string().optional(),\n scores: z.record(z.string(), z.number()).optional(),\n existingTags: z.array(z.string()).optional().describe('Tags already applied to this item'),\n }),\n )\n .min(1)\n .max(200)\n .describe('Failure items to cluster'),\n availableTags: z\n .array(z.string())\n .optional()\n .describe('Existing tag vocabulary from the dataset. The LLM should prefer reusing these tags when applicable.'),\n prompt: z\n .string()\n .optional()\n .describe('Optional user instructions to guide the analysis (e.g., \"focus on tool usage failures\")'),\n});\n\nconst failureClusterSchema = z.object({\n id: z.string().describe('A unique cluster identifier'),\n label: z.string().describe('Short label for this failure pattern'),\n description: z.string().describe('Description of the common pattern'),\n itemIds: z.array(z.string()).describe('IDs of items belonging to this cluster'),\n});\n\nexport const clusterFailuresResponseSchema = z.object({\n clusters: z.array(failureClusterSchema),\n /** Per-item proposed tag assignments. Each entry maps an item ID to the tags the LLM suggests adding. */\n proposedTags: z\n .array(\n z.object({\n itemId: z.string(),\n tags: z.array(z.string()),\n reason: z.string().describe('Brief explanation of why these tags were assigned to this item'),\n }),\n )\n .optional(),\n});\n"],"mappings":";;;AAQA,MAAM,mBAAuDA,OAAAA,EAAE,WAAWA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC;AAG3G,MAAM,kBAAkBA,OAAAA,EAAE,MAAM,CAAC,kBAAkBA,OAAAA,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;AAOvE,MAAM,mBAAmB;CACvB,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB;CAC9C,YAAYA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAChC,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CACrD,UAAUA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,uDAAuD;AACnG;AAGA,MAAM,6BAA6BA,OAAAA,EAAE,OAAO;CAC1C,GAAG;CACH,UAAUA,OAAAA,EAAE,QAAQ,WAAW;CAC/B,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CACrD,YAAYA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CACvD,SAASA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;AAChC,CAAC;AAED,MAAM,gCAAgCA,OAAAA,EAAE,OAAO;CAC7C,GAAG;CACH,UAAUA,OAAAA,EAAE,QAAQ,eAAe;CACnC,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CACrD,YAAYA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CACvD,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC/B,SAASA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;AAChC,CAAC;AAED,MAAM,oCAAoCA,OAAAA,EAAE,OAAO;CACjD,GAAG;CACH,UAAUA,OAAAA,EAAE,QAAQ,kBAAkB;CACtC,SAASA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC7B,cAAcA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAClC,kBAAkBA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CACtC,cAAcA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;AACpC,CAAC;AAED,MAAM,6BAA6BA,OAAAA,EAAE,OAAO;CAC1C,GAAG;CACH,UAAUA,OAAAA,EAAE,QAAQ,WAAW;CAC/B,SAASA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;AAC/B,CAAC;AAED,MAAM,iCAAiCA,OAAAA,EAAE,OAAO;CAC9C,GAAG;CACH,UAAUA,OAAAA,EAAE,QAAQ,eAAe;CACnC,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC5B,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC5B,QAAQA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;AACrD,CAAC;AAED,MAAM,gCAAgCA,OAAAA,EAAE,OAAO;CAC7C,GAAG;CACH,UAAUA,OAAAA,EAAE,QAAQ,cAAc;CAClC,YAAYA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAChC,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;AAC9B,CAAC;AAED,MAAM,wCAAwCA,OAAAA,EAAE,OAAO;CACrD,GAAG;CACH,UAAUA,OAAAA,EAAE,QAAQ,sBAAsB;CAC1C,gBAAgBA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CACpC,eAAeA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS;AAC9C,CAAC;AAED,MAAM,qCAAqCA,OAAAA,EAAE,OAAO;CAClD,GAAG;CACH,UAAUA,OAAAA,EAAE,QAAQ,mBAAmB;CACvC,aAAaA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CACjC,eAAeA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS;AAC9C,CAAC;AAED,MAAM,iCAAiCA,OAAAA,EAAE,OAAO;CAC9C,GAAG;CACH,UAAUA,OAAAA,EAAE,QAAQ,eAAe;CACnC,UAAUA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC9B,iBAAiBA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;AACvC,CAAC;AAED,MAAM,kCAAkCA,OAAAA,EAAE,OAAO;CAC/C,GAAG;CACH,UAAUA,OAAAA,EAAE,QAAQ,gBAAgB;CACpC,iBAAiBA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CACrC,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;AACjC,CAAC;AAED,MAAM,sCAAsCA,OAAAA,EAAE,OAAO;CACnD,GAAG;CACH,UAAUA,OAAAA,EAAE,QAAQ,qBAAqB;CACzC,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC/B,eAAeA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;AACtC,CAAC;AAED,MAAM,iCAAiCA,OAAAA,EAAE,OAAO;CAC9C,GAAG;CACH,UAAUA,OAAAA,EAAE,QAAQ,eAAe;CACnC,aAAaA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;AACnC,CAAC;AAGD,MAAM,4BAA4BA,OAAAA,EAAE,OAAO;CACzC,GAAG;CACH,UAAUA,OAAAA,EAAE,UAAU,CAAC,CAAC,SAAS;AACnC,CAAC;AAGD,MAAM,qBAAqBA,OAAAA,EAAE,MAAM,CACjCA,OAAAA,EAAE,mBAAmB,YAAY;CAC/B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC,GACD,yBACF,CAAC;AAGD,MAAM,8BAA8BA,OAAAA,EACjC,OAAO;CAEN,OAAOA,OAAAA,EAAE,MAAM,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,sCAAsC;CAC7F,UAAUA,OAAAA,EACP,KAAK;EAAC;EAAU;EAAW;CAAW,CAAC,CAAC,CACxC,SAAS,CAAC,CACV,SAAS,iDAAiD;CAC7D,oBAAoBA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,iDAAiD;CAGrG,UAAUA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,iCAAiC;CAChF,gBAAgBA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,wDAAwD;CAC7G,oBAAoBA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,wCAAwC;CAC3F,kBAAkBA,OAAAA,EACf,QAAQ,CAAC,CACT,SAAS,CAAC,CACV,SAAS,0FAA0F;CAGtG,kBAAkBA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,qCAAqC;CAC/F,sBAAsBA,OAAAA,EACnB,MAAMA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAC1B,SAAS,CAAC,CACV,SAAS,8CAA8C;CAG1D,mBAAmBA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,yDAAyD;AACnH,CAAC,CAAC,CACD,SAAS,CAAC,CACV,SAAS,CAAC,CACV,SAAS,0DAA0D;AAGtE,MAAM,0BAA0BA,OAAAA,EAC7B,OAAO;CACN,MAAMA,OAAAA,EACH,KAAK;EAAC;EAAO;EAAQ;EAAS;EAAO;EAAqB;CAAoB,CAAC,CAAC,CAChF,SAAS,2BAA2B;CACvC,aAAaA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,qDAAqD;AACnG,CAAC,CAAC,CACD,SAAS,CAAC,CACV,SAAS,wCAAwC;AAGpD,MAAM,qBAAqBA,OAAAA,EAAE,OAAO;CAClC,UAAUA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC;CACrE,MAAMA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,0CAA0C;CAC3F,QAAQA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,yCAAyC;CACtE,WAAWA,OAAAA,EACR,KAAK,CAAC,UAAU,QAAQ,CAAC,CAAC,CAC1B,SAAS,CAAC,CACV,SAAS,gGAAgG;AAC9G,CAAC;AAED,MAAM,kBAAkBA,OAAAA,EACrB,MAAM,kBAAkB,CAAC,CACzB,SAAS,CAAC,CACV,SAAS,iFAAiF;AAE7F,MAAM,2BAA2BA,OAAAA,EAC9B,KAAK,CAAC,SAAS,MAAM,CAAC,CAAC,CACvB,SAAS,CAAC,CACV,SAAS,4FAA4F;AAGxG,MAAM,uBAAuBA,OAAAA,EAC1B,OAAO;CACN,QAAQA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO;EAAE,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI;EAAG,UAAUA,OAAAA,EAAE,OAAO;EAAG,MAAMA,OAAAA,EAAE,QAAQ;CAAE,CAAC,CAAC;CAClG,YAAYA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO;EAAE,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI;EAAG,UAAUA,OAAAA,EAAE,OAAO;EAAG,MAAMA,OAAAA,EAAE,QAAQ;CAAE,CAAC,CAAC;CACtG,WAAWA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO;EAAE,UAAUA,OAAAA,EAAE,OAAO;EAAG,MAAMA,OAAAA,EAAE,QAAQ;CAAE,CAAC,CAAC;CACxE,SAASA,OAAAA,EACN,OAAO;EACN,MAAMA,OAAAA,EAAE,KAAK;GAAC;GAAsB;GAAuB;EAAwB,CAAC;EACpF,UAAUA,OAAAA,EAAE,OAAO;EACnB,MAAMA,OAAAA,EAAE,QAAQ;CAClB,CAAC,CAAC,CACD,SAAS;AACd,CAAC,CAAC,CACD,SAAS,CAAC,CACV,SAAS,8CAA8C;AAM1D,MAAa,sBAAsBA,OAAAA,EAAE,OAAO,EAC1C,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC,EACpE,CAAC;AAED,MAAa,yBAAyBA,OAAAA,EAAE,OAAO,EAC7C,cAAcA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,EAC1E,CAAC;AAED,MAAa,mBAAmBA,OAAAA,EAAE,OAAO,EACvC,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC,EACtE,CAAC;AAED,MAAa,mCAAmCA,OAAAA,EAAE,OAAO;CACvD,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC;CAClE,cAAcA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;AAC1E,CAAC;AAED,MAAa,+BAA+BA,OAAAA,EAAE,OAAO;CACnD,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC;CAClE,cAAcA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;CACxE,UAAUA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6CAA6C;AAC7E,CAAC;AAED,MAAa,uCAAuCA,OAAAA,EAAE,OAAO;CAC3D,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC;CAClE,cAAcA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;CACxE,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC;AACtE,CAAC;AAED,MAAa,6BAA6BA,OAAAA,EAAE,OAAO;CACjD,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC;CAClE,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC;AACtE,CAAC;AAMD,MAAa,wBAAwBC,eAAAA,2BAA2B,EAAE;AAElE,MAAa,mCAAmC,sBAAsB,OAAO,EAC3E,MAAMD,OAAAA,EACH,YAAW,MAAK;CAGf,MAAM,OAAO,OAAO,MAAM,WAAW,CAAC,CAAC,IAAI;CAC3C,IAAI,CAAC,MAAM,QAAQ,IAAI,GAAG,OAAO;CACjC,MAAM,WAAW,KAAK,QAAO,QAAO,QAAQ,EAAE;CAC9C,OAAO,SAAS,SAAS,IAAI,WAAW,KAAA;AAC1C,GAAGA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CACjC,SAAS,iDAAiD,EAC/D,CAAC;AAED,MAAM,wBAAwBA,OAAAA,EAC3B,KAAK;CAAC;CAAS;CAAY;CAAU;AAAW,CAAC,CAAC,CAClD,SAAS,CAAC,CACV,SAAS,sDAAsD;AAElE,MAAa,0BAA0B,sBAAsB,OAAO;CAClE,YAAY;CACZ,WAAWA,OAAAA,EACR,YAAW,MAAK;EAEf,MAAM,OAAO,OAAO,MAAM,WAAW,CAAC,CAAC,IAAI;EAC3C,IAAI,CAAC,MAAM,QAAQ,IAAI,GAAG,OAAO;EACjC,MAAM,WAAW,KAAK,QAAO,OAAM,OAAO,EAAE;EAC5C,OAAO,SAAS,SAAS,IAAI,WAAW,KAAA;CAC1C,GAAGA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CACjC,SAAS,mEAAmE;AACjF,CAAC;AAED,MAAa,6BAA6B,sBAAsB,OAAO;CACrE,iBAAiBA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CACrC,cAAcA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAClC,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC/B,YAAYA,OAAAA,EAAE,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;CACpD,YAAY;CACZ,UAAUA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,oDAAoD;AAC/F,CAAC;AAED,MAAa,qBAAqBA,OAAAA,EAAE,OAAO;CACzC,gBAAgBA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,2CAA2C;CAC1F,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,sCAAsC;AAClF,CAAC;AAED,MAAa,uBAAuBC,eAAAA,2BAA2B,EAAE,CAAC,CAAC,OAAO;CACxE,SAASD,OAAAA,EAAE,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS;CAC1C,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;AAC9B,CAAC;AAMD,MAAa,0BAA0BA,OAAAA,EAAE,OAAO;CAC9C,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qBAAqB;CAC/C,aAAaA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,4BAA4B;CACxE,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,qBAAqB;CACrF,aAAa,gBAAgB,SAAS,uCAAuC;CAC7E,mBAAmB,gBAAgB,SAAS,6CAA6C;CACzF,sBAAsB,gBAAgB,SAAS,uDAAuD;CACtG,YAAYA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,mDAAmD;CAC9F,WAAWA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,oDAAoD;CACvG,WAAWA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,yCAAyC;AAC9F,CAAC;AAED,MAAa,0BAA0BA,OAAAA,EAAE,OAAO;CAC9C,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,qBAAqB;CAC1D,aAAaA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,4BAA4B;CACxE,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,qBAAqB;CACrF,aAAa,gBAAgB,SAAS,uCAAuC;CAC7E,mBAAmB,gBAAgB,SAAS,6CAA6C;CACzF,sBAAsB,gBAAgB,SAAS,uDAAuD;CACtG,MAAMA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,qDAAqD;CACnG,YAAYA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,mDAAmD;CAC9F,WAAWA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,oDAAoD;CACvG,WAAWA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,yCAAyC;AACzG,CAAC;AAED,MAAa,oBAAoBA,OAAAA,EAAE,OAAO;CACxC,YAAYA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,6CAA6C;CACnG,OAAOA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,iCAAiC;CAC7D,aAAaA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,gCAAgC;CAC7E,oBAAoB;CACpB,WAAW;CACX,oBAAoB;CACpB,WAAWA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,uCAAuC;CAC1F,gBAAgBA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,sCAAsC;CAC5G,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,qBAAqB;CACrF,QAAQ;AACV,CAAC;AAED,MAAa,uBAAuBA,OAAAA,EAAE,OAAO;CAC3C,OAAOA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,iCAAiC;CACxE,aAAaA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,gCAAgC;CAC7E,oBAAoB;CACpB,WAAW;CACX,oBAAoB;CACpB,WAAWA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,uCAAuC;CACrG,gBAAgBA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,sCAAsC;CAC5G,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,qBAAqB;CACrF,QAAQ;AACV,CAAC;AAED,MAAa,6BAA6BA,OAAAA,EACvC,OAAO;CACN,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,4BAA4B;CACjE,aAAaA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,mCAAmC;CAC/E,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,yCAAyC;AAC3G,CAAC,CAAC,CACD,OAAO;AAEV,MAAa,8BAA8BA,OAAAA,EAAE,OAAO;CAClD,OAAOA,OAAAA,EACJ,QAAQ,CAAC,CACT,SAAS,CAAC,CACV,SACC,kMACF;CACF,YAAYA,OAAAA,EACT,KAAK;EAAC;EAAS;EAAY;CAAQ,CAAC,CAAC,CACrC,SAAS,CAAC,CACV,SAAS,mGAAmG;CAC/G,UAAUA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,oDAAoD;CAC7F,IAAIA,OAAAA,EACD,OAAO,CAAC,CACR,SAAS,CAAC,CACV,SACC,yHACF;CACF,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,wBAAwB;CAC7D,aAAaA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,+BAA+B;CAC3E,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,qBAAqB;CACrF,WAAWA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,yBAAyB;CAC5E,SAASA,OAAAA,EAAE,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,iCAAiC;CACtF,cAAcA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,wCAAwC;CACrF,gBAAgBA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,+BAA+B;CAC9E,YAAYA,OAAAA,EACT,OAAO;EACN,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAC5B,UAAUA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAC9B,eAAeA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EACnC,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CACvD,CAAC,CAAC,CACD,SAAS,CAAC,CACV,SAAS,gEAAgE;CAC5E,UAAUA,OAAAA,EACP,OAAO;EACN,iBAAiBA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EACrC,cAAcA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAClC,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAC/B,YAAYA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;CAC/C,CAAC,CAAC,CACD,SAAS,CAAC,CACV,SAAS,gEAAgE;CAC5E,gBAAgBA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,6CAA6C;CACnH,UAAUA,OAAAA,EACP,OAAO;EACN,QAAQA,OAAAA,EACL,OACCA,OAAAA,EAAE,OAAO,GACTA,OAAAA,EAAE,MAAM,CAACA,OAAAA,EAAE,OAAO,EAAE,WAAWA,OAAAA,EAAE,OAAO,EAAE,CAAC,GAAGA,OAAAA,EAAE,OAAO,EAAE,QAAQA,OAAAA,EAAE,KAAK,CAAC,SAAS,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CACrG,CAAC,CACA,SAAS;EACZ,eAAeA,OAAAA,EAAE,KAAK,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,SAAS;CACzD,CAAC,CAAC,CACD,SAAS,CAAC,CACV,SAAS,wEAAwE;AACtF,CAAC;AAED,MAAa,8BAA8BA,OAAAA,EAAE,OAAO;CAClD,SAASA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,6CAA6C;CAClG,gBAAgBA,OAAAA,EACb,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAC/B,SAAS,CAAC,CACV,SAAS,wEAAwE;AACtF,CAAC;AAED,MAAa,mCAAmCA,OAAAA,EAAE,OAAO;CACvD,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC;CACjE,SAASA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,6CAA6C;CAClG,OAAOA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,4EAA4E;CACnH,QAAQA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,wCAAwC;CAChF,aAAaA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,yDAAyD;CACtG,OAAOA,OAAAA,EACJ,OAAO;EACN,SAASA,OAAAA,EAAE,OAAO;EAClB,OAAOA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAC3B,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC5B,CAAC,CAAC,CACD,SAAS,CAAC,CACV,SAAS,CAAC,CACV,SAAS,uCAAuC;CACnD,WAAWA,OAAAA,EAAE,OAAO,KAAK,CAAC,CAAC,SAAS;CACpC,aAAaA,OAAAA,EAAE,OAAO,KAAK,CAAC,CAAC,SAAS;CACtC,SAASA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC7B,QAAQA,OAAAA,EACL,MACCA,OAAAA,EAAE,OAAO;EACP,UAAUA,OAAAA,EAAE,OAAO;EACnB,YAAYA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAChC,OAAOA,OAAAA,EAAE,OAAO;EAChB,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAC5B,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CACvD,CAAC,CACH,CAAC,CACA,SAAS,CAAC,CACV,SAAS,qEAAqE;AACnF,CAAC;AAED,MAAa,+BAA+BA,OAAAA,EAAE,OAAO;CACnD,eAAeA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B;CAC9D,eAAeA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4BAA4B;AACjE,CAAC;AAOD,MAAa,wBAAwBA,OAAAA,EAAE,OAAO;CAC5C,IAAIA,OAAAA,EAAE,OAAO;CACb,MAAMA,OAAAA,EAAE,OAAO;CACf,aAAaA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5C,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChE,aAAaA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CACxD,mBAAmBA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CAC9D,sBAAsBA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CACjE,MAAMA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9C,YAAYA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3C,WAAWA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnD,WAAWA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnD,SAASA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI;CACxB,WAAWA,OAAAA,EAAE,OAAO,KAAK;CACzB,WAAWA,OAAAA,EAAE,OAAO,KAAK;AAC3B,CAAC;AAGD,MAAa,4BAA4BA,OAAAA,EAAE,OAAO;CAChD,IAAIA,OAAAA,EAAE,OAAO;CACb,WAAWA,OAAAA,EAAE,OAAO;CACpB,gBAAgBA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI;CAC/B,YAAYA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3C,OAAOA,OAAAA,EAAE,QAAQ;CACjB,aAAaA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;CAClC,oBAAoBA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;CACzC,WAAW,gBAAgB,SAAS;CACpC,oBAAoB,yBAAyB,SAAS;CACtD,WAAWA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnD,gBAAgBA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtE,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChE,QAAQ,wBAAwB,SAAS;CACzC,WAAWA,OAAAA,EAAE,OAAO,KAAK;CACzB,WAAWA,OAAAA,EAAE,OAAO,KAAK;AAC3B,CAAC;AAGD,MAAa,2BAA2BA,OAAAA,EAAE,OAAO;CAC/C,IAAIA,OAAAA,EAAE,OAAO;CACb,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC/B,gBAAgBA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS;CAC1C,cAAcA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7C,YAAYA,OAAAA,EAAE,KAAK;EAAC;EAAS;EAAY;EAAU;CAAW,CAAC,CAAC,CAAC,SAAS;CAC1E,UAAUA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC9B,WAAWA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnD,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC1B,aAAaA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CACjC,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CACrD,YAAYA,OAAAA,EACT,OAAO;EACN,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAC5B,UAAUA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAC9B,eAAeA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EACnC,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CACvD,CAAC,CAAC,CACD,SAAS,CAAC,CACV,SAAS;CACZ,mBAAmBA,OAAAA,EAChB,OAAO;EACN,UAAUA,OAAAA,EAAE,OAAO;EACnB,cAAcA,OAAAA,EAAE,OAAO;EACvB,eAAeA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CACrC,CAAC,CAAC,CACD,SAAS,CAAC,CACV,SAAS;CACZ,iBAAiBA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChD,cAAcA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7C,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1C,YAAYA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjD,QAAQA,OAAAA,EAAE,KAAK;EAAC;EAAW;EAAW;EAAa;CAAQ,CAAC;CAC5D,YAAYA,OAAAA,EAAE,OAAO;CACrB,gBAAgBA,OAAAA,EAAE,OAAO;CACzB,aAAaA,OAAAA,EAAE,OAAO;CACtB,cAAcA,OAAAA,EAAE,OAAO;CACvB,WAAWA,OAAAA,EAAE,OAAO,KAAK,CAAC,CAAC,SAAS;CACpC,aAAaA,OAAAA,EAAE,OAAO,KAAK,CAAC,CAAC,SAAS;CACtC,WAAWA,OAAAA,EAAE,OAAO,KAAK;CACzB,WAAWA,OAAAA,EAAE,OAAO,KAAK;AAC3B,CAAC;AAGD,MAAa,qBAAqBA,OAAAA,EAAE,OAAO;CACzC,UAAUA,OAAAA,EAAE,OAAO;CACnB,YAAYA,OAAAA,EAAE,OAAO;CACrB,OAAOA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC3B,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC5B,OAAOA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;AAC7B,CAAC;AAGD,MAAa,iCAAiCA,OAAAA,EAAE,OAAO;CACrD,IAAIA,OAAAA,EAAE,OAAO;CACb,cAAcA,OAAAA,EAAE,OAAO;CACvB,QAAQA,OAAAA,EAAE,OAAO;CACjB,oBAAoBA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS;CAC9C,OAAOA,OAAAA,EAAE,QAAQ;CACjB,QAAQA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;CAC7B,aAAaA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;CAClC,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChE,oBAAoBA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;CACzC,OAAOA,OAAAA,EACJ,OAAO;EACN,SAASA,OAAAA,EAAE,OAAO;EAClB,OAAOA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAC3B,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC5B,CAAC,CAAC,CACD,SAAS;CACZ,WAAWA,OAAAA,EAAE,OAAO,KAAK;CACzB,aAAaA,OAAAA,EAAE,OAAO,KAAK;CAC3B,YAAYA,OAAAA,EAAE,OAAO;CACrB,SAASA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS;CACnC,SAASA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC7B,QAAQA,OAAAA,EAAE,KAAK;EAAC;EAAgB;EAAY;CAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7E,MAAMA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9C,SAASA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxC,gBAAgB,qBAAqB,SAAS;CAC9C,WAAWA,OAAAA,EAAE,OAAO,KAAK;AAC3B,CAAC;AAGD,MAAa,kCAAkCA,OAAAA,EAAE,OAAO;CACtD,QAAQ;CACR,QAAQA,OAAAA,EAAE,MACRA,OAAAA,EAAE,OAAO;EACP,UAAUA,OAAAA,EAAE,OAAO;EACnB,YAAYA,OAAAA,EAAE,OAAO;EACrB,OAAOA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAC3B,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAC5B,OAAOA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAC3B,YAAYA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAChC,gBAAgBA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS;EAC7C,aAAaA,OAAAA,EAAE,KAAK,CAAC,QAAQ,YAAY,CAAC,CAAC,CAAC,SAAS;EACrD,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;CAC9B,CAAC,CACH;AACF,CAAC;AAED,MAAa,mCAAmCA,OAAAA,EAAE,OAAO;CACvD,QAAQA,OAAAA,EAAE,KAAK;EAAC;EAAgB;EAAY;CAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7E,MAAMA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS;CACnC,SAASA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC1C,CAAC;AAGD,MAAM,uBAAuBA,OAAAA,EAAE,OAAO;CACpC,QAAQA,OAAAA,EAAE,OAAO;CACjB,OAAOA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;CAC5B,aAAaA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;CAClC,SAASA,OAAAA,EAAE,OACTA,OAAAA,EAAE,OAAO,GACTA,OAAAA,EACG,OAAO;EACN,QAAQA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;EAC7B,QAAQA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC;CACpD,CAAC,CAAC,CACD,SAAS,CACd;AACF,CAAC;AAGD,MAAa,2BAA2BA,OAAAA,EAAE,OAAO;CAC/C,YAAYA,OAAAA,EAAE,OAAO;CACrB,OAAOA,OAAAA,EAAE,MAAM,oBAAoB;AACrC,CAAC;AAID,MAAa,kCAAkCA,OAAAA,EAAE,OAAO;CACtD,cAAcA,OAAAA,EAAE,OAAO;CACvB,QAAQA,OAAAA,EAAE,KAAK;EAAC;EAAW;EAAW;EAAa;CAAQ,CAAC;CAC5D,YAAYA,OAAAA,EAAE,OAAO;CACrB,gBAAgBA,OAAAA,EAAE,OAAO;CACzB,aAAaA,OAAAA,EAAE,OAAO;CACtB,gBAAgBA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,wDAAwD;CAG7G,WAAWA,OAAAA,EAAE,OAAO,KAAK,CAAC,CAAC,SAAS;CACpC,aAAaA,OAAAA,EAAE,OAAO,KAAK,CAAC,CAAC,SAAS;CACtC,SAASA,OAAAA,EAAE,MACTA,OAAAA,EAAE,OAAO;EACP,QAAQA,OAAAA,EAAE,OAAO;EACjB,oBAAoBA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS;EAC9C,OAAOA,OAAAA,EAAE,QAAQ;EACjB,QAAQA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;EAC7B,aAAaA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;EAClC,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChE,OAAOA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAC3B,WAAWA,OAAAA,EAAE,OAAO,KAAK;EACzB,aAAaA,OAAAA,EAAE,OAAO,KAAK;EAC3B,YAAYA,OAAAA,EAAE,OAAO;EACrB,gBAAgB,qBAAqB,SAAS;EAC9C,QAAQA,OAAAA,EAAE,MACRA,OAAAA,EAAE,OAAO;GACP,UAAUA,OAAAA,EAAE,OAAO;GACnB,YAAYA,OAAAA,EAAE,OAAO;GACrB,OAAOA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;GAC3B,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;GAC5B,OAAOA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAC7B,CAAC,CACH;CACF,CAAC,CACH;AACF,CAAC;AAMD,MAAa,6BAA6BA,OAAAA,EAAE,OAAO;CACjD,UAAUA,OAAAA,EAAE,MAAM,qBAAqB;CACvC,YAAYE,eAAAA;AACd,CAAC;AAED,MAAa,0BAA0BF,OAAAA,EAAE,OAAO;CAC9C,OAAOA,OAAAA,EAAE,MAAM,yBAAyB;CACxC,YAAYE,eAAAA;AACd,CAAC;AAED,MAAa,gCAAgCF,OAAAA,EAAE,OAAO;CACpD,aAAaA,OAAAA,EAAE,MAAM,wBAAwB;CAC7C,YAAYE,eAAAA;AACd,CAAC;AAED,MAAa,sCAAsCF,OAAAA,EAAE,OAAO;CAC1D,SAASA,OAAAA,EAAE,MAAM,8BAA8B;CAC/C,YAAYE,eAAAA;AACd,CAAC;AAED,MAAa,+BAA+BF,OAAAA,EAAE,OAAO;CACnD,cAAcA,OAAAA,EAAE,OAAO;CACvB,OAAOA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI;CACtB,aAAaA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI;CAC5B,UAAUA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI;CACzB,UAAUA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI;AAC3B,CAAC;AAED,MAAa,8BAA8BA,OAAAA,EAAE,OAAO,EAClD,QAAQA,OAAAA,EAAE,MAAM,4BAA4B,EAC9C,CAAC;AAOD,MAAa,+BAA+BA,OAAAA,EAAE,OAAO;CACnD,WAAWA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC;CAClE,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC;CACpE,gBAAgBA,OAAAA,EAAE,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wBAAwB;AAC3E,CAAC;AAGD,MAAa,4BAA4BA,OAAAA,EAAE,OAAO;CAChD,IAAIA,OAAAA,EAAE,OAAO;CACb,WAAWA,OAAAA,EAAE,OAAO;CACpB,gBAAgBA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI;CAC/B,OAAOA,OAAAA,EAAE,QAAQ;CACjB,aAAaA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;CAClC,oBAAoBA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;CACzC,WAAW,gBAAgB,SAAS;CACpC,oBAAoB,yBAAyB,SAAS;CACtD,WAAWA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnD,gBAAgBA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtE,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChE,SAASA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS;CACnC,WAAWA,OAAAA,EAAE,QAAQ;CACrB,WAAWA,OAAAA,EAAE,OAAO,KAAK;CACzB,WAAWA,OAAAA,EAAE,OAAO,KAAK;AAC3B,CAAC;AAED,MAAa,iCAAiCA,OAAAA,EAAE,OAAO,EACrD,SAASA,OAAAA,EAAE,MAAM,yBAAyB,EAC5C,CAAC;AAGD,MAAa,+BAA+BA,OAAAA,EAAE,OAAO;CACnD,IAAIA,OAAAA,EAAE,OAAO;CACb,WAAWA,OAAAA,EAAE,OAAO;CACpB,SAASA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI;CACxB,WAAWA,OAAAA,EAAE,OAAO,KAAK;AAC3B,CAAC;AAED,MAAa,oCAAoCA,OAAAA,EAAE,OAAO;CACxD,UAAUA,OAAAA,EAAE,MAAM,4BAA4B;CAC9C,YAAYE,eAAAA;AACd,CAAC;AAMD,MAAa,6BAA6BF,OAAAA,EAAE,OAAO,EACjD,OAAOA,OAAAA,EAAE,MACPA,OAAAA,EAAE,OAAO;CACP,YAAYA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3C,OAAOA,OAAAA,EAAE,QAAQ;CACjB,aAAaA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;CAClC,oBAAoB;CACpB,WAAW;CACX,oBAAoB;CACpB,WAAWA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS;CACxC,gBAAgBA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CAC3D,UAAUA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CACrD,QAAQ;AACV,CAAC,CACH,EACF,CAAC;AAED,MAAa,iCAAiCA,OAAAA,EAAE,OAAO;CACrD,OAAOA,OAAAA,EAAE,MAAM,yBAAyB;CACxC,OAAOA,OAAAA,EAAE,OAAO;AAClB,CAAC;AAED,MAAa,6BAA6BA,OAAAA,EAAE,OAAO,EACjD,SAASA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,EAC7B,CAAC;AAED,MAAa,iCAAiCA,OAAAA,EAAE,OAAO;CACrD,SAASA,OAAAA,EAAE,QAAQ;CACnB,cAAcA,OAAAA,EAAE,OAAO;AACzB,CAAC;AAMD,MAAa,0BAA0BA,OAAAA,EAAE,OAAO;CAC9C,SAASA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yEAAqE;CAClG,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kDAAkD;CAC9E,OAAOA,OAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,6BAA6B;CACxF,cAAcA,OAAAA,EACX,OAAO;EACN,aAAaA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EACjC,cAAcA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAClC,OAAOA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS;CACtC,CAAC,CAAC,CACD,SAAS,CAAC,CACV,SAAS,wDAAwD;AACtE,CAAC;AAED,MAAM,sBAAsBA,OAAAA,EAAE,OAAO;CACnC,OAAOA,OAAAA,EAAE,QAAQ;CACjB,aAAaA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;AACpC,CAAC;AAED,MAAa,8BAA8BA,OAAAA,EAAE,OAAO,EAClD,OAAOA,OAAAA,EAAE,MAAM,mBAAmB,EACpC,CAAC;AAMD,MAAa,4BAA4BA,OAAAA,EAAE,OAAO;CAChD,SAASA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yEAAqE;CAClG,OAAOA,OAAAA,EACJ,MACCA,OAAAA,EAAE,OAAO;EACP,IAAIA,OAAAA,EAAE,OAAO;EACb,OAAOA,OAAAA,EAAE,QAAQ;EACjB,QAAQA,OAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS;EAC7B,OAAOA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS;EAC3B,QAAQA,OAAAA,EAAE,OAAOA,OAAAA,EAAE,OAAO,GAAGA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS;EAClD,cAAcA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,mCAAmC;CAC3F,CAAC,CACH,CAAC,CACA,IAAI,CAAC,CAAC,CACN,IAAI,GAAG,CAAC,CACR,SAAS,0BAA0B;CACtC,eAAeA,OAAAA,EACZ,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CACjB,SAAS,CAAC,CACV,SAAS,qGAAqG;CACjH,QAAQA,OAAAA,EACL,OAAO,CAAC,CACR,SAAS,CAAC,CACV,SAAS,2FAAyF;AACvG,CAAC;AAED,MAAM,uBAAuBA,OAAAA,EAAE,OAAO;CACpC,IAAIA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B;CACrD,OAAOA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;CACjE,aAAaA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC;CACpE,SAASA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,wCAAwC;AAChF,CAAC;AAED,MAAa,gCAAgCA,OAAAA,EAAE,OAAO;CACpD,UAAUA,OAAAA,EAAE,MAAM,oBAAoB;;CAEtC,cAAcA,OAAAA,EACX,MACCA,OAAAA,EAAE,OAAO;EACP,QAAQA,OAAAA,EAAE,OAAO;EACjB,MAAMA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,OAAO,CAAC;EACxB,QAAQA,OAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gEAAgE;CAC9F,CAAC,CACH,CAAC,CACA,SAAS;AACd,CAAC"}
@@ -4694,7 +4694,7 @@ function splitLines(text) {
4694
4694
  return result;
4695
4695
  }
4696
4696
  //#endregion
4697
- //#region ../memory/dist/src-TN3MwGgP.js
4697
+ //#region ../memory/dist/src-Dt8oPiQN.js
4698
4698
  var __defProp$3 = Object.defineProperty;
4699
4699
  var __exportAll = (all, no_symbols) => {
4700
4700
  let target = {};
@@ -24361,19 +24361,28 @@ const PHASE_CONFIG = {
24361
24361
  };
24362
24362
  async function withOmTracingSpan({ phase, model, inputTokens, requestContext, observabilityContext, metadata, callback }) {
24363
24363
  const config = PHASE_CONFIG[phase];
24364
+ const tracingContext = observabilityContext?.tracingContext ?? observabilityContext?.tracing;
24365
+ const callerMetadata = tracingContext?.currentSpan?.metadata;
24366
+ const inheritedCallerThreadId = callerMetadata?.__mastraObservationalMemoryCallerThreadId;
24367
+ const callerThreadId = callerMetadata?.threadId;
24368
+ const requestThreadId = requestContext?.get(_mastra_core_request_context.MASTRA_THREAD_ID_KEY);
24369
+ const omCallerThreadId = typeof inheritedCallerThreadId === "string" && inheritedCallerThreadId ? inheritedCallerThreadId : typeof callerThreadId === "string" && callerThreadId ? callerThreadId : typeof requestThreadId === "string" && requestThreadId ? requestThreadId : void 0;
24364
24370
  const span = (0, _mastra_core_observability.getOrCreateSpan)({
24365
24371
  type: _mastra_core_observability.SpanType.MEMORY_OPERATION,
24366
24372
  name: config.name,
24367
24373
  entityType: _mastra_core_observability.EntityType.MEMORY,
24368
24374
  entityName: config.entityName,
24369
- tracingContext: observabilityContext?.tracingContext ?? observabilityContext?.tracing,
24375
+ tracingContext,
24370
24376
  attributes: {
24371
24377
  operationType: config.operationType,
24372
24378
  inputTokens,
24373
24379
  selectedModel: typeof model === "string" ? model : "(dynamic-model)",
24374
24380
  ...config.multiThread ? { multiThread: true } : {}
24375
24381
  },
24376
- metadata,
24382
+ metadata: omCallerThreadId !== void 0 ? {
24383
+ ...metadata,
24384
+ __mastraObservationalMemoryCallerThreadId: omCallerThreadId
24385
+ } : metadata,
24377
24386
  requestContext
24378
24387
  });
24379
24388
  const childObservabilityContext = (0, _mastra_core_observability.createObservabilityContext)({ currentSpan: span });
@@ -29773,9 +29782,58 @@ async function loadMemoryContextMessages({ memory, messageList, threadId, resour
29773
29782
  resourceId,
29774
29783
  runState
29775
29784
  });
29776
- for (const msg of ctx.messages) if (msg.role !== "system") messageList.add(msg, "memory");
29785
+ const existingIds = new Set(messageList.get.all.db().map((message) => message.id));
29786
+ for (const msg of ctx.messages) if (msg.role !== "system" && !existingIds.has(msg.id)) messageList.add(msg, "memory");
29777
29787
  return ctx;
29778
29788
  }
29789
+ function hasPendingToolCall(message) {
29790
+ return message.content.parts?.some((part) => part.type === "tool-invocation" && part.toolInvocation.state === "call") ?? false;
29791
+ }
29792
+ /**
29793
+ * Selects the unobserved messages that are safe to buffer while a tool call
29794
+ * may still be in flight.
29795
+ *
29796
+ * Only the chronologically last candidate can hold a live pending call: a
29797
+ * `tool-invocation` still in state `call` (client- or provider-executed) on the
29798
+ * newest message means the request ended waiting for its result. Any earlier
29799
+ * `call` is an orphan — the conversation already continued past it, and core's
29800
+ * output converter drops or placeholder-pairs it before the prompt reaches a
29801
+ * provider — so it is buffered like any other message.
29802
+ *
29803
+ * When the last candidate is pending, the prefix before it is buffered, but only
29804
+ * when the cut is clean. The cut is unsafe — and the whole attempt is deferred —
29805
+ * when:
29806
+ *
29807
+ * - Cursor collision: buffering advances the persisted cursor to
29808
+ * `max(buffered.createdAt) + 1ms`, and later candidate selection requires
29809
+ * `createdAt > cursor`. If the retained message sits at the same or +1ms
29810
+ * timestamp, the cursor would permanently hide it even after its result
29811
+ * arrives.
29812
+ * - Split tool exchange: a `toolCallId` appears on both sides of the cut, so
29813
+ * the observer would see half of a tool exchange.
29814
+ * - Ambiguous tail: several candidates share the newest timestamp and one of
29815
+ * them holds a pending call. `createdAt` alone cannot say which is really
29816
+ * last, so the pending call is treated as the tail and the attempt deferred.
29817
+ *
29818
+ * The result is always in chronological order. When the tail has no pending
29819
+ * call, every message is returned. An empty result means "defer this buffering
29820
+ * attempt" — callers must skip buffering entirely. Raw message persistence is
29821
+ * unaffected and happens elsewhere; the retained message becomes eligible again
29822
+ * once its tool call completes.
29823
+ */
29824
+ function selectSafeBufferPrefix(messages) {
29825
+ const chronological = [...messages].sort((a, b) => new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime());
29826
+ const last = chronological[chronological.length - 1];
29827
+ if (!last) return chronological;
29828
+ const newestTime = new Date(last.createdAt).getTime();
29829
+ const newestGroup = chronological.filter((message) => new Date(message.createdAt).getTime() === newestTime);
29830
+ if (!newestGroup.some(hasPendingToolCall)) return chronological;
29831
+ if (newestGroup.length > 1) return [];
29832
+ const prefix = chronological.slice(0, -1);
29833
+ const retainedTime = new Date(last.createdAt).getTime();
29834
+ const retainedToolIds = new Set((last.content.parts ?? []).flatMap((part) => part.type === "tool-invocation" ? [part.toolInvocation.toolCallId] : []));
29835
+ return prefix.some((message) => new Date(message.createdAt).getTime() + 1 >= retainedTime || message.content.parts?.some((part) => part.type === "tool-invocation" && retainedToolIds.has(part.toolInvocation.toolCallId))) ? [] : prefix;
29836
+ }
29779
29837
  /**
29780
29838
  * Represents a single step in the agentic loop within an observation turn.
29781
29839
  *
@@ -29897,37 +29955,41 @@ var ObservationStep = class {
29897
29955
  record: this.turn.record,
29898
29956
  messages: getObservableMessages(messageList)
29899
29957
  });
29900
- if (statusSnapshot.shouldBuffer && !hasIncompleteToolCalls) {
29958
+ if (statusSnapshot.shouldBuffer) {
29901
29959
  const allMessages = getObservableMessages(messageList);
29902
29960
  const unobservedMessages = om.getUnobservedMessages(allMessages, statusSnapshot.record);
29903
29961
  const candidates = om.getUnobservedMessages(unobservedMessages, statusSnapshot.record, { excludeBuffered: true });
29904
- if (candidates.length > 0) {
29905
- om.sealMessagesForBuffering(candidates);
29962
+ const safeCandidates = selectSafeBufferPrefix(candidates);
29963
+ const deferred = candidates.length > 0 && safeCandidates.length === 0;
29964
+ if (safeCandidates.length > 0) {
29965
+ om.sealMessagesForBuffering(safeCandidates);
29906
29966
  try {
29907
29967
  await this.turn.hooks?.onBufferChunkSealed?.();
29908
29968
  } catch (error) {
29909
29969
  omDebug(`[OM:buffer] onBufferChunkSealed hook failed: ${error instanceof Error ? error.message : String(error)}`);
29910
29970
  }
29911
- if (this.turn.memory) await this.turn.memory.persistMessages(candidates);
29912
- messageList.removeByIds(candidates.map((msg) => msg.id));
29913
- for (const msg of candidates) messageList.add(msg, "memory");
29971
+ if (this.turn.memory) await this.turn.memory.persistMessages(safeCandidates);
29972
+ messageList.removeByIds(safeCandidates.map((msg) => msg.id));
29973
+ for (const msg of safeCandidates) messageList.add(msg, "memory");
29974
+ }
29975
+ if (!deferred) {
29976
+ om.trackBackgroundWork(om.buffer({
29977
+ threadId,
29978
+ resourceId,
29979
+ messages: safeCandidates,
29980
+ pendingTokens: statusSnapshot.pendingTokens,
29981
+ record: statusSnapshot.record,
29982
+ writer: this.turn.writer,
29983
+ agent: this.turn.agent,
29984
+ sendSignal: this.turn.sendSignal,
29985
+ sendStateSignal: this.turn.sendStateSignal,
29986
+ requestContext: this.turn.requestContext,
29987
+ observabilityContext: this.turn.observabilityContext
29988
+ }).catch((err) => {
29989
+ omDebug(`[OM:buffer] fire-and-forget buffer failed: ${err?.message}`);
29990
+ }));
29991
+ buffered = true;
29914
29992
  }
29915
- om.trackBackgroundWork(om.buffer({
29916
- threadId,
29917
- resourceId,
29918
- messages: unobservedMessages,
29919
- pendingTokens: statusSnapshot.pendingTokens,
29920
- record: statusSnapshot.record,
29921
- writer: this.turn.writer,
29922
- agent: this.turn.agent,
29923
- sendSignal: this.turn.sendSignal,
29924
- sendStateSignal: this.turn.sendStateSignal,
29925
- requestContext: this.turn.requestContext,
29926
- observabilityContext: this.turn.observabilityContext
29927
- }).catch((err) => {
29928
- omDebug(`[OM:buffer] fire-and-forget buffer failed: ${err?.message}`);
29929
- }));
29930
- buffered = true;
29931
29993
  }
29932
29994
  const willObserveNow = statusSnapshot.shouldObserve && !hasIncompleteToolCalls;
29933
29995
  /** In-flight message ids the step-0 cleanup must never remove from live context. */
@@ -30300,11 +30362,11 @@ var ObservationTurn = class {
30300
30362
  if (asyncObservationEnabled && bufferOnIdle) {
30301
30363
  const allMessages = getObservableMessages(this.messageList);
30302
30364
  const record = this._record;
30303
- const unobservedMessages = this.om.getUnobservedMessages(allMessages, record);
30304
- if (unobservedMessages.length > 0) this.om.trackBackgroundWork(this.om.buffer({
30365
+ const idleMessages = selectSafeBufferPrefix(this.om.getUnobservedMessages(allMessages, record));
30366
+ if (idleMessages.length > 0) this.om.trackBackgroundWork(this.om.buffer({
30305
30367
  threadId: this.threadId,
30306
30368
  resourceId: this.resourceId,
30307
- messages: unobservedMessages,
30369
+ messages: idleMessages,
30308
30370
  record,
30309
30371
  writer: this.writer,
30310
30372
  agent: this.agent,
@@ -32024,15 +32086,18 @@ var ObservationalMemory = class ObservationalMemory {
32024
32086
  this.hookExecution = config.hookExecution ?? "non-blocking";
32025
32087
  this.mastra = config.mastra;
32026
32088
  this.memory = config.memory;
32089
+ const topLevelModel = config.model;
32090
+ const observationConfigModel = config.observation?.model;
32091
+ const reflectionConfigModel = config.reflection?.model;
32027
32092
  const resolveModel = (model, defaultModel) => model === "default" ? defaultModel : model;
32028
- const observationModel = resolveModel(config.model, OBSERVATIONAL_MEMORY_DEFAULTS.observation.model) ?? resolveModel(config.observation?.model, OBSERVATIONAL_MEMORY_DEFAULTS.observation.model) ?? resolveModel(config.reflection?.model, OBSERVATIONAL_MEMORY_DEFAULTS.observation.model) ?? OBSERVATIONAL_MEMORY_DEFAULTS.observation.model;
32029
- const reflectionModel = resolveModel(config.model, OBSERVATIONAL_MEMORY_DEFAULTS.reflection.model) ?? resolveModel(config.reflection?.model, OBSERVATIONAL_MEMORY_DEFAULTS.reflection.model) ?? resolveModel(config.observation?.model, OBSERVATIONAL_MEMORY_DEFAULTS.reflection.model) ?? OBSERVATIONAL_MEMORY_DEFAULTS.reflection.model;
32093
+ const observationModel = resolveModel(topLevelModel, OBSERVATIONAL_MEMORY_DEFAULTS.observation.model) ?? resolveModel(observationConfigModel, OBSERVATIONAL_MEMORY_DEFAULTS.observation.model) ?? resolveModel(reflectionConfigModel, OBSERVATIONAL_MEMORY_DEFAULTS.observation.model) ?? OBSERVATIONAL_MEMORY_DEFAULTS.observation.model;
32094
+ const reflectionModel = resolveModel(topLevelModel, OBSERVATIONAL_MEMORY_DEFAULTS.reflection.model) ?? resolveModel(reflectionConfigModel, OBSERVATIONAL_MEMORY_DEFAULTS.reflection.model) ?? resolveModel(observationConfigModel, OBSERVATIONAL_MEMORY_DEFAULTS.reflection.model) ?? OBSERVATIONAL_MEMORY_DEFAULTS.reflection.model;
32030
32095
  const messageTokens = config.observation?.messageTokens ?? OBSERVATIONAL_MEMORY_DEFAULTS.observation.messageTokens;
32031
32096
  const observationTokens = config.reflection?.observationTokens ?? OBSERVATIONAL_MEMORY_DEFAULTS.reflection.observationTokens;
32032
32097
  const isSharedBudget = config.shareTokenBudget ?? false;
32033
32098
  const isDefaultModelSelection = (model) => model === void 0 || model === "default" || model instanceof ModelByInputTokens;
32034
- const observationSelectedModel = config.model ?? config.observation?.model ?? config.reflection?.model;
32035
- const reflectionSelectedModel = config.model ?? config.reflection?.model ?? config.observation?.model;
32099
+ const observationSelectedModel = topLevelModel ?? observationConfigModel ?? reflectionConfigModel;
32100
+ const reflectionSelectedModel = topLevelModel ?? reflectionConfigModel ?? observationConfigModel;
32036
32101
  const observationDefaultMaxOutputTokens = config.observation?.modelSettings?.maxOutputTokens ?? (isDefaultModelSelection(observationSelectedModel) ? OBSERVATIONAL_MEMORY_DEFAULTS.observation.modelSettings.maxOutputTokens : void 0);
32037
32102
  const reflectionDefaultMaxOutputTokens = config.reflection?.modelSettings?.maxOutputTokens ?? (isDefaultModelSelection(reflectionSelectedModel) ? OBSERVATIONAL_MEMORY_DEFAULTS.reflection.modelSettings.maxOutputTokens : void 0);
32038
32103
  const totalBudget = messageTokens + observationTokens;
@@ -32995,7 +33060,7 @@ ${formattedMessages}
32995
33060
  if (!this.buffering.isAsyncObservationEnabled()) return false;
32996
33061
  const lockKey = this.buffering.getLockKey(opts.threadId, opts.resourceId);
32997
33062
  const shouldTrigger = this.buffering.shouldTriggerAsyncObservation(opts.pendingTokens, lockKey, opts.record, this.storage, opts.threshold);
32998
- if (shouldTrigger) this.trackBackgroundWork(this.startAsyncBufferedObservation(opts.record, opts.threadId, opts.unobservedMessages, lockKey, opts.writer, opts.unbufferedPendingTokens, opts.requestContext));
33063
+ if (shouldTrigger) this.trackBackgroundWork(this.startAsyncBufferedObservation(opts.record, opts.threadId, opts.unobservedMessages, lockKey, opts.writer, opts.unbufferedPendingTokens, opts.requestContext, opts.observabilityContext));
32999
33064
  return shouldTrigger;
33000
33065
  }
33001
33066
  isMessageList(value) {
@@ -34727,6 +34792,16 @@ function normalizeObservationalMemoryConfig(config) {
34727
34792
  if (typeof config === "object" && config.enabled === false) return void 0;
34728
34793
  return config;
34729
34794
  }
34795
+ /**
34796
+ * Observer model selection (`observation.model`, else top-level `model`), read into the widened
34797
+ * model type first: combining values of the public type makes TS subtype-reduce the model-id
34798
+ * literal union, which fails with TS2590 once the provider registry is large enough.
34799
+ */
34800
+ function selectObserverModel(omConfig) {
34801
+ const observationModel = omConfig.observation?.model;
34802
+ const topLevelModel = omConfig.model;
34803
+ return observationModel ?? topLevelModel;
34804
+ }
34730
34805
  function hasWorkingMemoryExtractor(extractors) {
34731
34806
  return !!extractors?.some((extractor) => extractor.slug === "working-memory");
34732
34807
  }
@@ -34844,7 +34919,7 @@ var Memory = class Memory extends _mastra_core_memory.MastraMemory {
34844
34919
  const extract = observation.extract ?? [];
34845
34920
  const existingSlugs = new Set(extract.map((extractor) => extractor.slug));
34846
34921
  let curatorMemory;
34847
- const subconsciousExtractors = omConfig.experimental_subconscious.createObservationExtractors(observation.model ?? omConfig.model, () => curatorMemory ??= new Memory({
34922
+ const subconsciousExtractors = omConfig.experimental_subconscious.createObservationExtractors(selectObserverModel(omConfig), () => curatorMemory ??= new Memory({
34848
34923
  storage: this.storage,
34849
34924
  options: { observationalMemory: false }
34850
34925
  })).filter((extractor) => !existingSlugs.has(extractor.slug));
@@ -36150,7 +36225,7 @@ Notes:
36150
36225
  if (remind && "builtIn" in remind) tools.ask_memory = createAskMemoryTool({
36151
36226
  memory: this,
36152
36227
  config: remind,
36153
- omModel: omConfig.observation?.model ?? omConfig.model,
36228
+ omModel: selectObserverModel(omConfig),
36154
36229
  getParentAgent: (agentId) => this._mastraInstance?.getAgentById(agentId)
36155
36230
  });
36156
36231
  }
@@ -47212,4 +47287,4 @@ const agentBuilderWorkflows = {
47212
47287
  //#endregion
47213
47288
  exports.agentBuilderWorkflows = agentBuilderWorkflows;
47214
47289
 
47215
- //# sourceMappingURL=dist-Du9y2ur5.cjs.map
47290
+ //# sourceMappingURL=dist-BKxbtiJd.cjs.map