eve 0.47.5 → 0.47.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 (284) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/NOTICE +72 -0
  3. package/dist/src/cli/dev/tui/vercel-trusted-sources.js +1 -1
  4. package/dist/src/cli/invoke/result.d.ts +1 -1
  5. package/dist/src/compiled/.vendor-stamp.json +5 -5
  6. package/dist/src/compiled/@agentclientprotocol/sdk/index.js +29 -43
  7. package/dist/src/compiled/@ai-sdk/anthropic/index.js +4 -4
  8. package/dist/src/compiled/@ai-sdk/code-mode/LICENSE +13 -0
  9. package/dist/src/compiled/@ai-sdk/code-mode/_run.d.ts +1 -0
  10. package/dist/src/compiled/@ai-sdk/code-mode/index.d.ts +300 -0
  11. package/dist/src/compiled/@ai-sdk/code-mode/index.js +663 -0
  12. package/dist/src/compiled/@ai-sdk/google/index.js +6 -6
  13. package/dist/src/compiled/@ai-sdk/mcp/index.js +1 -1
  14. package/dist/src/compiled/@ai-sdk/openai/index.js +8 -8
  15. package/dist/src/compiled/@ai-sdk/provider/index.d.ts +6 -0
  16. package/dist/src/compiled/@ai-sdk/provider-utils/index.d.ts +50 -2
  17. package/dist/src/compiled/@modelcontextprotocol/server/index.js +36 -50
  18. package/dist/src/compiled/@photon-ai/chat-adapter-imessage/index.js +55 -55
  19. package/dist/src/compiled/@vercel/sandbox/index.js +3 -3
  20. package/dist/src/compiled/@vercel/sandbox-delete/index.js +3 -3
  21. package/dist/src/compiled/_chunks/client/errors-BLhNglBt.js +2 -0
  22. package/dist/src/compiled/_chunks/node/auth-BSKyPAEP.js +2 -0
  23. package/dist/src/compiled/_chunks/node/auth-YpKlwhP1.js +2 -0
  24. package/dist/src/compiled/_chunks/node/schemas-cFtr4EoN.js +50 -0
  25. package/dist/src/compiled/_chunks/node/xdg-app-paths-Buj3-Svl.js +1 -0
  26. package/dist/src/compiled/_chunks/workflow/dist-Cz-ffHKC.js +65 -0
  27. package/dist/src/compiled/zod/index.js +32 -45
  28. package/dist/src/compiled/zod-validation-error/index.js +1 -1
  29. package/dist/src/execution/dispatch-workflow-runtime-actions-step.js +1 -1
  30. package/dist/src/harness/advertised-tools.d.ts +0 -5
  31. package/dist/src/harness/advertised-tools.js +1 -1
  32. package/dist/src/harness/input-extraction.js +1 -1
  33. package/dist/src/harness/tool-loop.js +2 -2
  34. package/dist/src/harness/workflow-interrupt-state.d.ts +6 -0
  35. package/dist/src/harness/workflow-interrupt-state.js +1 -1
  36. package/dist/src/harness/workflow-lifecycle.d.ts +15 -5
  37. package/dist/src/harness/workflow-lifecycle.js +1 -1
  38. package/dist/src/harness/workflow-runtime-action-state.d.ts +2 -2
  39. package/dist/src/harness/workflow-runtime-action-state.js +1 -1
  40. package/dist/src/harness/workflow-sandbox.d.ts +1 -2
  41. package/dist/src/harness/workflow-sandbox.js +1 -1
  42. package/dist/src/harness/workflow-subagent-limit.d.ts +3 -13
  43. package/dist/src/harness/workflow-subagent-limit.js +1 -1
  44. package/dist/src/internal/application/package.js +1 -1
  45. package/dist/src/internal/nitro/host/workflow-sandbox-runtime-plugin.js +1 -1
  46. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/lib/schemas.js +1 -1
  47. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/aclaction.js +1 -1
  48. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/sdkvalidationerror.js +1 -1
  49. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/updateprojectblock.js +1 -1
  50. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/updateprojectprojectsbranchmatcher.js +1 -1
  51. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/primitives.js +1 -1
  52. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/smartUnion.js +1 -1
  53. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/index.js +1 -0
  54. package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/ZodError.js +1 -1
  55. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/types.js +1 -0
  56. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/checks.js +1 -0
  57. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/deep-partial.js +1 -0
  58. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/errors.js +1 -0
  59. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/external.js +1 -0
  60. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/from-json-schema.js +1 -0
  61. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/in-out.js +1 -0
  62. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/iso.js +1 -0
  63. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/parse.js +1 -0
  64. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/schemas.js +1 -0
  65. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/api.js +1 -0
  66. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/checks.js +1 -0
  67. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/compile.js +2 -0
  68. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/core.js +1 -0
  69. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/doc.js +3 -0
  70. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/errors.js +2 -0
  71. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/index.js +1 -0
  72. package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/core/json-schema-generator.js +1 -1
  73. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/json-schema-processors.js +1 -0
  74. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/memoizer.js +1 -0
  75. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/parse.js +1 -0
  76. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/regexes.js +1 -0
  77. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/schemas.js +46 -0
  78. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/to-json-schema.js +3 -0
  79. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/util.js +1 -0
  80. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/versions.js +1 -0
  81. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/visit.js +1 -0
  82. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ar.js +1 -0
  83. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/az.js +1 -0
  84. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/be.js +1 -0
  85. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/bg.js +1 -0
  86. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/bn.js +1 -0
  87. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ca.js +1 -0
  88. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ckb.js +1 -0
  89. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/cs.js +1 -0
  90. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/da.js +1 -0
  91. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/de.js +1 -0
  92. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/el.js +1 -0
  93. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/en.js +1 -0
  94. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/eo.js +1 -0
  95. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/es.js +1 -0
  96. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fa.js +1 -0
  97. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fi.js +1 -0
  98. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fr-CA.js +1 -0
  99. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fr.js +1 -0
  100. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/gu.js +1 -0
  101. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/he.js +1 -0
  102. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hi.js +1 -0
  103. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hr.js +1 -0
  104. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hu.js +1 -0
  105. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hy.js +1 -0
  106. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/id.js +1 -0
  107. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/index.js +1 -0
  108. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/is.js +1 -0
  109. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/it.js +1 -0
  110. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ja.js +1 -0
  111. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ka.js +1 -0
  112. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/km.js +1 -0
  113. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/kn.js +1 -0
  114. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ko.js +1 -0
  115. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/lt.js +1 -0
  116. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/mk.js +1 -0
  117. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ms.js +1 -0
  118. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ne.js +1 -0
  119. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/nl.js +1 -0
  120. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/nn.js +1 -0
  121. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/no.js +1 -0
  122. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ota.js +1 -0
  123. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pl.js +1 -0
  124. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ps.js +1 -0
  125. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pt-BR.js +1 -0
  126. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pt.js +1 -0
  127. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ro.js +1 -0
  128. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ru.js +1 -0
  129. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sk.js +1 -0
  130. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sl.js +1 -0
  131. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sv.js +1 -0
  132. package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/locales/ta.js +1 -1
  133. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/th.js +1 -0
  134. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/tk.js +1 -0
  135. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/tr.js +1 -0
  136. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/uk.js +1 -0
  137. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ur.js +1 -0
  138. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/uz.js +1 -0
  139. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/vi.js +1 -0
  140. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/yo.js +1 -0
  141. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/zh-CN.js +1 -0
  142. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/zh-TW.js +1 -0
  143. package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
  144. package/dist/src/services/dev-client/request-headers.js +1 -1
  145. package/dist/src/setup/integrations/discord/api.js +1 -1
  146. package/dist/src/setup/integrations/discord/connect.js +1 -1
  147. package/dist/src/setup/integrations/github/connect.js +1 -1
  148. package/dist/src/setup/integrations/linear/connect.js +1 -1
  149. package/dist/src/setup/integrations/linq/connect.js +1 -1
  150. package/dist/src/setup/integrations/photon/connect.js +1 -1
  151. package/dist/src/setup/project-resolution.js +1 -1
  152. package/dist/src/setup/scaffold/create/add-to-project.js +1 -1
  153. package/dist/src/setup/scaffold/create/extension.js +1 -1
  154. package/dist/src/setup/scaffold/create/project.js +2 -2
  155. package/dist/src/setup/scaffold/create/web-template.d.ts +1 -1
  156. package/dist/src/setup/scaffold/create/web-template.js +1 -1
  157. package/dist/src/setup/scaffold/update/web-options.js +1 -1
  158. package/dist/src/setup/slack-connect.js +1 -1
  159. package/dist/src/setup/vercel-api-failure.js +1 -1
  160. package/dist/src/setup/vercel-deployment.js +1 -1
  161. package/dist/src/setup/vercel-project-api.js +1 -1
  162. package/dist/src/setup/vercel-project-framework.js +1 -1
  163. package/dist/src/setup/vercel-project.js +0 -0
  164. package/dist/src/shared/input.js +1 -1
  165. package/dist/src/shared/workflow-sandbox.d.ts +10 -5
  166. package/dist/src/shared/workflow-sandbox.js +1 -1
  167. package/package.json +6 -5
  168. package/dist/src/compiled/_chunks/client/errors-C14fPFvs.js +0 -2
  169. package/dist/src/compiled/_chunks/node/auth-DpzFWvTn.js +0 -2
  170. package/dist/src/compiled/_chunks/node/auth-QgeX8nBM.js +0 -2
  171. package/dist/src/compiled/_chunks/node/compat-Dm2n85Mx.js +0 -1
  172. package/dist/src/compiled/_chunks/node/schemas-DtQwuPdM.js +0 -65
  173. package/dist/src/compiled/_chunks/node/xdg-app-paths-Bys8q02u.js +0 -1
  174. package/dist/src/compiled/_chunks/workflow/dist-eUxFublw.js +0 -77
  175. package/dist/src/compiled/experimental-ai-sdk-code-mode/LICENSE +0 -21
  176. package/dist/src/compiled/experimental-ai-sdk-code-mode/approval-continuation.d.ts +0 -71
  177. package/dist/src/compiled/experimental-ai-sdk-code-mode/approval.d.ts +0 -32
  178. package/dist/src/compiled/experimental-ai-sdk-code-mode/code-mode-tool.d.ts +0 -16
  179. package/dist/src/compiled/experimental-ai-sdk-code-mode/continuation-capability.d.ts +0 -44
  180. package/dist/src/compiled/experimental-ai-sdk-code-mode/errors.d.ts +0 -114
  181. package/dist/src/compiled/experimental-ai-sdk-code-mode/fetch-policy.d.ts +0 -21
  182. package/dist/src/compiled/experimental-ai-sdk-code-mode/host-interrupt.d.ts +0 -25
  183. package/dist/src/compiled/experimental-ai-sdk-code-mode/index.d.ts +0 -11
  184. package/dist/src/compiled/experimental-ai-sdk-code-mode/index.js +0 -419
  185. package/dist/src/compiled/experimental-ai-sdk-code-mode/interrupt-continuation.d.ts +0 -32
  186. package/dist/src/compiled/experimental-ai-sdk-code-mode/options.d.ts +0 -3
  187. package/dist/src/compiled/experimental-ai-sdk-code-mode/run-code-mode.d.ts +0 -12
  188. package/dist/src/compiled/experimental-ai-sdk-code-mode/runtime/guest-sources.d.ts +0 -3
  189. package/dist/src/compiled/experimental-ai-sdk-code-mode/runtime/manager.d.ts +0 -22
  190. package/dist/src/compiled/experimental-ai-sdk-code-mode/runtime/max-workers.d.ts +0 -20
  191. package/dist/src/compiled/experimental-ai-sdk-code-mode/runtime/protocol.d.ts +0 -60
  192. package/dist/src/compiled/experimental-ai-sdk-code-mode/runtime/worker-source.d.ts +0 -11
  193. package/dist/src/compiled/experimental-ai-sdk-code-mode/serialization.d.ts +0 -5
  194. package/dist/src/compiled/experimental-ai-sdk-code-mode/source-cache.d.ts +0 -11
  195. package/dist/src/compiled/experimental-ai-sdk-code-mode/telemetry.d.ts +0 -20
  196. package/dist/src/compiled/experimental-ai-sdk-code-mode/tool-invocation.d.ts +0 -24
  197. package/dist/src/compiled/experimental-ai-sdk-code-mode/tool-prompt.d.ts +0 -3
  198. package/dist/src/compiled/experimental-ai-sdk-code-mode/types.d.ts +0 -828
  199. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/index.js +0 -1
  200. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/types.js +0 -1
  201. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/checks.js +0 -1
  202. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/errors.js +0 -1
  203. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/external.js +0 -1
  204. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/from-json-schema.js +0 -1
  205. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/iso.js +0 -1
  206. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/parse.js +0 -1
  207. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/schemas.js +0 -1
  208. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/api.js +0 -1
  209. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/checks.js +0 -1
  210. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/core.js +0 -1
  211. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/doc.js +0 -3
  212. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/errors.js +0 -2
  213. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/index.js +0 -1
  214. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema-processors.js +0 -1
  215. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/parse.js +0 -1
  216. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/regexes.js +0 -1
  217. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/schemas.js +0 -60
  218. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/to-json-schema.js +0 -3
  219. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/util.js +0 -1
  220. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/versions.js +0 -1
  221. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ar.js +0 -1
  222. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/az.js +0 -1
  223. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/be.js +0 -1
  224. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/bg.js +0 -1
  225. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ca.js +0 -1
  226. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/cs.js +0 -1
  227. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/da.js +0 -1
  228. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/de.js +0 -1
  229. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/el.js +0 -1
  230. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/en.js +0 -1
  231. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/eo.js +0 -1
  232. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/es.js +0 -1
  233. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fa.js +0 -1
  234. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fi.js +0 -1
  235. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fr-CA.js +0 -1
  236. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fr.js +0 -1
  237. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/he.js +0 -1
  238. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hr.js +0 -1
  239. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hu.js +0 -1
  240. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hy.js +0 -1
  241. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/id.js +0 -1
  242. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/index.js +0 -1
  243. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/is.js +0 -1
  244. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/it.js +0 -1
  245. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ja.js +0 -1
  246. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ka.js +0 -1
  247. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/km.js +0 -1
  248. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ko.js +0 -1
  249. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/lt.js +0 -1
  250. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/mk.js +0 -1
  251. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ms.js +0 -1
  252. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/nl.js +0 -1
  253. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/no.js +0 -1
  254. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ota.js +0 -1
  255. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/pl.js +0 -1
  256. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ps.js +0 -1
  257. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/pt.js +0 -1
  258. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ro.js +0 -1
  259. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ru.js +0 -1
  260. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/sl.js +0 -1
  261. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/sv.js +0 -1
  262. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/th.js +0 -1
  263. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/tr.js +0 -1
  264. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/uk.js +0 -1
  265. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ur.js +0 -1
  266. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/uz.js +0 -1
  267. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/vi.js +0 -1
  268. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/yo.js +0 -1
  269. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/zh-CN.js +0 -1
  270. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/zh-TW.js +0 -1
  271. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/errors.js +0 -0
  272. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/external.js +0 -0
  273. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/helpers/errorUtil.js +0 -0
  274. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/helpers/parseUtil.js +0 -0
  275. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/helpers/typeAliases.js +0 -0
  276. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/helpers/util.js +0 -0
  277. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/index.js +0 -0
  278. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/locales/en.js +0 -0
  279. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/classic/coerce.js +0 -0
  280. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/classic/compat.js +0 -0
  281. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/core/json-schema.js +0 -0
  282. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/core/registries.js +0 -0
  283. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/locales/kh.js +0 -0
  284. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/locales/ua.js +0 -0
@@ -1 +1 @@
1
- import{n as e}from"../_chunks/client/errors-C14fPFvs.js";function t(e){return e instanceof Object&&`name`in e&&(e.name===`ZodError`||e.name===`$ZodError`)&&`issues`in e&&Array.isArray(e.issues)}var n=`ZodValidationError`,r=class extends Error{name;details;constructor(e,t){super(e,t),this.name=n,this.details=i(t)}toString(){return this.message}};function i(e){if(e){let n=e.cause;if(t(n))return n.issues}return[]}function a(e){return e instanceof r}function o(e){return e instanceof Error&&e.name===n}function s(e){return{type:e.code,path:e.path,message:e.message??`Invalid input`}}function c(e){return{type:e.code,path:e.path,message:`unexpected element in ${e.origin}`}}function l(e){return{type:e.code,path:e.path,message:`unexpected key in ${e.origin}`}}var u=new Set([`a`,`e`,`i`,`o`,`u`,`h`]);function d(e){let t=e.charAt(0).toLowerCase();return[u.has(t)?`an`:`a`,e].join(` `)}function f(e){return e.description??``}function p(e,t={}){switch(typeof e){case`symbol`:return f(e);case`bigint`:case`number`:switch(t.localization){case!0:return e.toLocaleString();case!1:return e.toString();default:return e.toLocaleString(t.localization)}case`string`:return t.wrapStringValueInQuote?`"${e}"`:e;default:if(e instanceof Date)switch(t.localization){case!0:return e.toLocaleString();case!1:return e.toISOString();default:return e.toLocaleString(t.localization)}return String(e)}}function m(e,t){let n=``;switch(e.format){case`lowercase`:case`uppercase`:n+=`expected ${e.format} string`;break;case`starts_with`:n+=`expected string to start with "${e.prefix}"`;break;case`ends_with`:n+=`expected string to end with "${e.suffix}"`;break;case`includes`:n+=`expected string to include "${e.includes}"`;break;case`regex`:n+=`expected string to match pattern`,t.displayInvalidFormatDetails&&(n+=` "${e.pattern}"`);break;case`jwt`:n+=`expected a jwt`,t.displayInvalidFormatDetails&&e.inst&&`alg`in e.inst._zod.def&&(n+=`/${e.inst._zod.def.alg}`),n+=` token`;break;case`email`:n+=`expected an email address`;break;case`url`:case`uuid`:case`guid`:case`cuid`:case`cuid2`:case`ulid`:case`xid`:case`ksuid`:n+=`expected a ${e.format.toUpperCase()}`,e.inst&&`version`in e.inst._zod.def&&(n+=` ${e.inst._zod.def.version}`);break;case`date`:case`datetime`:case`time`:case`duration`:n+=`expected an ISO ${e.format}`;break;case`ipv4`:case`ipv6`:n+=`expected an ${e.format.slice(0,2).toUpperCase()}${e.format.slice(2)} address`;break;case`cidrv4`:case`cidrv6`:n+=`expected a ${e.format.slice(0,4).toUpperCase()}${e.format.slice(4)} address range`;break;case`base64`:case`base64url`:n+=`expected a ${e.format} encoded string`;break;case`e164`:n+=`expected an E.164 formatted phone number`;break;default:if(e.format.startsWith(`sha`)||e.format.startsWith(`md5`)){let[t,r]=e.format.split(`_`);n+=`expected a ${t.toUpperCase()}`,r&&(n+=` ${r}-encoded`),n+=` hash`;break}n+=`expected ${d(e.format)}`}if(`input`in e&&t.reportInput===`typeAndValue`){let r=p(e.input,{wrapStringValueInQuote:!0,localization:t.numberLocalization});n+=`, received ${r}`}return{type:e.code,path:e.path,message:n}}function h(e){if(e===null)return!0;switch(typeof e){case`string`:case`number`:case`bigint`:case`boolean`:case`symbol`:case`undefined`:return!0;default:return!1}}function g(e,t){let n=`expected ${e.expected}`;if(`input`in e&&t.reportInput!==!1){let r=e.input;if(n+=`, received ${_(r)}`,t.reportInput===`typeAndValue`){if(h(r)){let e=p(r,{wrapStringValueInQuote:!0,localization:t.numberLocalization});n+=` (${e})`}else if(r instanceof Date){let e=p(r,{localization:t.dateLocalization});n+=` (${e})`}}}return{type:e.code,path:e.path,message:n}}function _(e){return typeof e==`object`?e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Date?`date`:e instanceof RegExp?`regexp`:e instanceof Map?`map`:e instanceof Set?`set`:e instanceof Error?`error`:e instanceof Function?`function`:`object`:typeof e}function v(e){return{type:e.code,path:e.path,message:e.message??`Invalid input`}}function y(e,t){let n=(t.maxValuesToDisplay?e.slice(0,t.maxValuesToDisplay):e).map(e=>p(e,{wrapStringValueInQuote:t.wrapStringValuesInQuote}));return n.length<e.length&&n.push(`${e.length-n.length} more value(s)`),n.reduce((e,r,i)=>(i>0&&(i===n.length-1&&t.lastSeparator?e+=t.lastSeparator:e+=t.separator),e+=r,e),``)}function b(e,t){let n;if(n=e.expected===`stringbool`?`expected boolean as string`:e.values.length===0?`invalid value`:e.values.length===1?`expected value to be ${p(e.values[0],{wrapStringValueInQuote:!0})}`:`expected value to be one of ${y(e.values,{separator:t.allowedValuesSeparator,lastSeparator:t.allowedValuesLastSeparator,wrapStringValuesInQuote:t.wrapAllowedValuesInQuote,maxValuesToDisplay:t.maxAllowedValuesToDisplay})}`,`input`in e&&t.reportInput===`typeAndValue`){if(h(e.input)){let r=p(e.input,{wrapStringValueInQuote:!0,localization:t.numberLocalization});n+=`, received ${r}`}else if(e.input instanceof Date){let r=p(e.input,{localization:t.dateLocalization});n+=`, received ${r}`}}return{type:e.code,path:e.path,message:n}}function x(e,t){let n=`expected multiple of ${e.divisor}`;if(`input`in e&&t.reportInput===`typeAndValue`){let r=p(e.input,{wrapStringValueInQuote:!0,localization:t.numberLocalization});n+=`, received ${r}`}return{type:e.code,path:e.path,message:n}}function S(e,t){let n=e.origin===`date`?p(new Date(e.maximum),{localization:t.dateLocalization}):p(e.maximum,{localization:t.numberLocalization}),r=``;switch(e.origin){case`number`:case`int`:case`bigint`:r+=`expected number to be less than${e.inclusive?` or equal to`:``} ${n}`;break;case`string`:r+=`expected string to contain at most ${n} character(s)`;break;case`date`:r+=`expected date to be prior ${e.inclusive?`or equal to`:`to`} "${n}"`;break;case`array`:r+=`expected array to contain at most ${n} item(s)`;break;case`set`:r+=`expected set to contain at most ${n} item(s)`;break;case`file`:r+=`expected file to not exceed ${n} byte(s) in size`;break;default:r+=`expected value to be less than${e.inclusive?` or equal to`:``} ${n}`}if(`input`in e&&t.reportInput===`typeAndValue`){let n=e.input;if(h(n)){let e=p(n,{wrapStringValueInQuote:!0,localization:t.numberLocalization});r+=`, received ${e}`}else if(n instanceof Date){let e=p(n,{localization:t.dateLocalization});r+=`, received ${e}`}}return{type:e.code,path:e.path,message:r}}function C(e,t){let n=e.origin===`date`?p(new Date(e.minimum),{localization:t.dateLocalization}):p(e.minimum,{localization:t.numberLocalization}),r=``;switch(e.origin){case`number`:case`int`:case`bigint`:r+=`expected number to be greater than${e.inclusive?` or equal to`:``} ${n}`;break;case`date`:r+=`expected date to be ${e.inclusive?`later or equal to`:`later to`} "${n}"`;break;case`string`:r+=`expected string to contain at least ${n} character(s)`;break;case`array`:r+=`expected array to contain at least ${n} item(s)`;break;case`set`:r+=`expected set to contain at least ${n} item(s)`;break;case`file`:r+=`expected file to be at least ${n} byte(s) in size`;break;default:r+=`expected value to be greater than${e.inclusive?` or equal to`:``} ${n}`}if(`input`in e&&t.reportInput===`typeAndValue`){let n=e.input;if(h(n)){let e=p(n,{wrapStringValueInQuote:!0,localization:t.numberLocalization});r+=`, received ${e}`}else if(n instanceof Date){let e=p(n,{localization:t.dateLocalization});r+=`, received ${e}`}}return{type:e.code,path:e.path,message:r}}function w(e,t){let n=y(e.keys,{separator:t.unrecognizedKeysSeparator,lastSeparator:t.unrecognizedKeysLastSeparator,wrapStringValuesInQuote:t.wrapUnrecognizedKeysInQuote,maxValuesToDisplay:t.maxUnrecognizedKeysToDisplay});return{type:e.code,path:e.path,message:`unrecognized key(s) ${n} in object`}}var T={invalid_type:g,too_big:S,too_small:C,invalid_format:m,invalid_value:b,invalid_element:c,not_multiple_of:x,unrecognized_keys:w,invalid_key:l,custom:s,invalid_union:v},E={reportInput:`type`,displayInvalidFormatDetails:!1,allowedValuesSeparator:`, `,allowedValuesLastSeparator:` or `,wrapAllowedValuesInQuote:!0,maxAllowedValuesToDisplay:10,unrecognizedKeysSeparator:`, `,unrecognizedKeysLastSeparator:` and `,wrapUnrecognizedKeysInQuote:!0,maxUnrecognizedKeysToDisplay:5,dateLocalization:!0,numberLocalization:!0};function D(e={}){let t={...E,...e};return e=>{if(e.code===void 0)return`Not supported issue type`;let n=T[e.code];return n(e,t).message}}function O(e){return e.length!==0}var k=/[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*/u;function A(e){if(e.length===1){let t=e[0];return typeof t==`symbol`&&(t=f(t)),t.toString()||`""`}return e.reduce((e,t)=>typeof t==`number`?e+`[`+t.toString()+`]`:(typeof t==`symbol`&&(t=f(t)),t.includes(`"`)?e+`["`+j(t)+`"]`:k.test(t)?e+(e.length===0?``:`.`)+t:e+`["`+t+`"]`),``)}function j(e){return e.replace(/"/g,`\\"`)}function M(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}var N={prefix:`Validation error`,prefixSeparator:`: `,maxIssuesInMessage:99,unionSeparator:` or `,issueSeparator:`; `,includePath:!0,forceTitleCase:!0};function P(e={}){let t={...N,...e};return function(e){return I(e.slice(0,t.maxIssuesInMessage).map(e=>F(e,t)).join(t.issueSeparator),t)}}function F(e,t){if(e.code===`invalid_union`&&O(e.errors)){let n=e.errors.map(n=>n.map(n=>F({...n,path:e.path.concat(n.path)},t)).join(t.issueSeparator));return Array.from(new Set(n)).join(t.unionSeparator)}let n=[];t.forceTitleCase?n.push(M(e.message)):n.push(e.message);pathCondition:if(t.includePath&&e.path!==void 0&&O(e.path)){if(e.path.length===1){let t=e.path[0];if(typeof t==`number`){n.push(` at index ${t}`);break pathCondition}}n.push(` at "${A(e.path)}"`)}return n.join(``)}function I(e,t){return t.prefix==null?e.length>0?e:N.prefix:e.length>0?[t.prefix,e].join(t.prefixSeparator):t.prefix}function L(e,n={}){if(!t(e))throw TypeError(`Invalid zodError param; expected instance of ZodError. Did you mean to use the "${V.name}" method instead?`);return R(e,n)}function R(e,t={}){let n=e.issues,i;return i=O(n)?z(t)(n):e.message,new r(i,{cause:e})}function z(e){return`messageBuilder`in e?e.messageBuilder:P(e)}var B=(e={})=>n=>t(n)?R(n,e):n instanceof Error?new r(n.message,{cause:n}):new r(`Unknown error`);function V(e,t={}){return B(t)(e)}function H(t,n={}){return new r(U(n)([t]),{cause:new e([t])})}function U(e){return`messageBuilder`in e?e.messageBuilder:P(e)}export{r as ValidationError,D as createErrorMap,P as createMessageBuilder,V as fromError,L as fromZodError,H as fromZodIssue,a as isValidationError,o as isValidationErrorLike,t as isZodErrorLike,B as toValidationError};
1
+ import{n as e}from"../_chunks/client/errors-BLhNglBt.js";function t(e){return e instanceof Object&&`name`in e&&(e.name===`ZodError`||e.name===`$ZodError`)&&`issues`in e&&Array.isArray(e.issues)}var n=`ZodValidationError`,r=class extends Error{name;details;constructor(e,t){super(e,t),this.name=n,this.details=i(t)}toString(){return this.message}};function i(e){if(e){let n=e.cause;if(t(n))return n.issues}return[]}function a(e){return e instanceof r}function o(e){return e instanceof Error&&e.name===n}function s(e){return{type:e.code,path:e.path,message:e.message??`Invalid input`}}function c(e){return{type:e.code,path:e.path,message:`unexpected element in ${e.origin}`}}function l(e){return{type:e.code,path:e.path,message:`unexpected key in ${e.origin}`}}var u=new Set([`a`,`e`,`i`,`o`,`u`,`h`]);function d(e){let t=e.charAt(0).toLowerCase();return[u.has(t)?`an`:`a`,e].join(` `)}function f(e){return e.description??``}function p(e,t={}){switch(typeof e){case`symbol`:return f(e);case`bigint`:case`number`:switch(t.localization){case!0:return e.toLocaleString();case!1:return e.toString();default:return e.toLocaleString(t.localization)}case`string`:return t.wrapStringValueInQuote?`"${e}"`:e;default:if(e instanceof Date)switch(t.localization){case!0:return e.toLocaleString();case!1:return e.toISOString();default:return e.toLocaleString(t.localization)}return String(e)}}function m(e,t){let n=``;switch(e.format){case`lowercase`:case`uppercase`:n+=`expected ${e.format} string`;break;case`starts_with`:n+=`expected string to start with "${e.prefix}"`;break;case`ends_with`:n+=`expected string to end with "${e.suffix}"`;break;case`includes`:n+=`expected string to include "${e.includes}"`;break;case`regex`:n+=`expected string to match pattern`,t.displayInvalidFormatDetails&&(n+=` "${e.pattern}"`);break;case`jwt`:n+=`expected a jwt`,t.displayInvalidFormatDetails&&e.inst&&`alg`in e.inst._zod.def&&(n+=`/${e.inst._zod.def.alg}`),n+=` token`;break;case`email`:n+=`expected an email address`;break;case`url`:case`uuid`:case`guid`:case`cuid`:case`cuid2`:case`ulid`:case`xid`:case`ksuid`:n+=`expected a ${e.format.toUpperCase()}`,e.inst&&`version`in e.inst._zod.def&&(n+=` ${e.inst._zod.def.version}`);break;case`date`:case`datetime`:case`time`:case`duration`:n+=`expected an ISO ${e.format}`;break;case`ipv4`:case`ipv6`:n+=`expected an ${e.format.slice(0,2).toUpperCase()}${e.format.slice(2)} address`;break;case`cidrv4`:case`cidrv6`:n+=`expected a ${e.format.slice(0,4).toUpperCase()}${e.format.slice(4)} address range`;break;case`base64`:case`base64url`:n+=`expected a ${e.format} encoded string`;break;case`e164`:n+=`expected an E.164 formatted phone number`;break;default:if(e.format.startsWith(`sha`)||e.format.startsWith(`md5`)){let[t,r]=e.format.split(`_`);n+=`expected a ${t.toUpperCase()}`,r&&(n+=` ${r}-encoded`),n+=` hash`;break}n+=`expected ${d(e.format)}`}if(`input`in e&&t.reportInput===`typeAndValue`){let r=p(e.input,{wrapStringValueInQuote:!0,localization:t.numberLocalization});n+=`, received ${r}`}return{type:e.code,path:e.path,message:n}}function h(e){if(e===null)return!0;switch(typeof e){case`string`:case`number`:case`bigint`:case`boolean`:case`symbol`:case`undefined`:return!0;default:return!1}}function g(e,t){let n=`expected ${e.expected}`;if(`input`in e&&t.reportInput!==!1){let r=e.input;if(n+=`, received ${_(r)}`,t.reportInput===`typeAndValue`){if(h(r)){let e=p(r,{wrapStringValueInQuote:!0,localization:t.numberLocalization});n+=` (${e})`}else if(r instanceof Date){let e=p(r,{localization:t.dateLocalization});n+=` (${e})`}}}return{type:e.code,path:e.path,message:n}}function _(e){return typeof e==`object`?e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Date?`date`:e instanceof RegExp?`regexp`:e instanceof Map?`map`:e instanceof Set?`set`:e instanceof Error?`error`:e instanceof Function?`function`:`object`:typeof e}function v(e){return{type:e.code,path:e.path,message:e.message??`Invalid input`}}function y(e,t){let n=(t.maxValuesToDisplay?e.slice(0,t.maxValuesToDisplay):e).map(e=>p(e,{wrapStringValueInQuote:t.wrapStringValuesInQuote}));return n.length<e.length&&n.push(`${e.length-n.length} more value(s)`),n.reduce((e,r,i)=>(i>0&&(i===n.length-1&&t.lastSeparator?e+=t.lastSeparator:e+=t.separator),e+=r,e),``)}function b(e,t){let n;if(n=e.expected===`stringbool`?`expected boolean as string`:e.values.length===0?`invalid value`:e.values.length===1?`expected value to be ${p(e.values[0],{wrapStringValueInQuote:!0})}`:`expected value to be one of ${y(e.values,{separator:t.allowedValuesSeparator,lastSeparator:t.allowedValuesLastSeparator,wrapStringValuesInQuote:t.wrapAllowedValuesInQuote,maxValuesToDisplay:t.maxAllowedValuesToDisplay})}`,`input`in e&&t.reportInput===`typeAndValue`){if(h(e.input)){let r=p(e.input,{wrapStringValueInQuote:!0,localization:t.numberLocalization});n+=`, received ${r}`}else if(e.input instanceof Date){let r=p(e.input,{localization:t.dateLocalization});n+=`, received ${r}`}}return{type:e.code,path:e.path,message:n}}function x(e,t){let n=`expected multiple of ${e.divisor}`;if(`input`in e&&t.reportInput===`typeAndValue`){let r=p(e.input,{wrapStringValueInQuote:!0,localization:t.numberLocalization});n+=`, received ${r}`}return{type:e.code,path:e.path,message:n}}function S(e,t){let n=e.origin===`date`?p(new Date(e.maximum),{localization:t.dateLocalization}):p(e.maximum,{localization:t.numberLocalization}),r=``;switch(e.origin){case`number`:case`int`:case`bigint`:r+=`expected number to be less than${e.inclusive?` or equal to`:``} ${n}`;break;case`string`:r+=`expected string to contain at most ${n} character(s)`;break;case`date`:r+=`expected date to be prior ${e.inclusive?`or equal to`:`to`} "${n}"`;break;case`array`:r+=`expected array to contain at most ${n} item(s)`;break;case`set`:r+=`expected set to contain at most ${n} item(s)`;break;case`file`:r+=`expected file to not exceed ${n} byte(s) in size`;break;default:r+=`expected value to be less than${e.inclusive?` or equal to`:``} ${n}`}if(`input`in e&&t.reportInput===`typeAndValue`){let n=e.input;if(h(n)){let e=p(n,{wrapStringValueInQuote:!0,localization:t.numberLocalization});r+=`, received ${e}`}else if(n instanceof Date){let e=p(n,{localization:t.dateLocalization});r+=`, received ${e}`}}return{type:e.code,path:e.path,message:r}}function C(e,t){let n=e.origin===`date`?p(new Date(e.minimum),{localization:t.dateLocalization}):p(e.minimum,{localization:t.numberLocalization}),r=``;switch(e.origin){case`number`:case`int`:case`bigint`:r+=`expected number to be greater than${e.inclusive?` or equal to`:``} ${n}`;break;case`date`:r+=`expected date to be ${e.inclusive?`later or equal to`:`later to`} "${n}"`;break;case`string`:r+=`expected string to contain at least ${n} character(s)`;break;case`array`:r+=`expected array to contain at least ${n} item(s)`;break;case`set`:r+=`expected set to contain at least ${n} item(s)`;break;case`file`:r+=`expected file to be at least ${n} byte(s) in size`;break;default:r+=`expected value to be greater than${e.inclusive?` or equal to`:``} ${n}`}if(`input`in e&&t.reportInput===`typeAndValue`){let n=e.input;if(h(n)){let e=p(n,{wrapStringValueInQuote:!0,localization:t.numberLocalization});r+=`, received ${e}`}else if(n instanceof Date){let e=p(n,{localization:t.dateLocalization});r+=`, received ${e}`}}return{type:e.code,path:e.path,message:r}}function w(e,t){let n=y(e.keys,{separator:t.unrecognizedKeysSeparator,lastSeparator:t.unrecognizedKeysLastSeparator,wrapStringValuesInQuote:t.wrapUnrecognizedKeysInQuote,maxValuesToDisplay:t.maxUnrecognizedKeysToDisplay});return{type:e.code,path:e.path,message:`unrecognized key(s) ${n} in object`}}var T={invalid_type:g,too_big:S,too_small:C,invalid_format:m,invalid_value:b,invalid_element:c,not_multiple_of:x,unrecognized_keys:w,invalid_key:l,custom:s,invalid_union:v},E={reportInput:`type`,displayInvalidFormatDetails:!1,allowedValuesSeparator:`, `,allowedValuesLastSeparator:` or `,wrapAllowedValuesInQuote:!0,maxAllowedValuesToDisplay:10,unrecognizedKeysSeparator:`, `,unrecognizedKeysLastSeparator:` and `,wrapUnrecognizedKeysInQuote:!0,maxUnrecognizedKeysToDisplay:5,dateLocalization:!0,numberLocalization:!0};function D(e={}){let t={...E,...e};return e=>{if(e.code===void 0)return`Not supported issue type`;let n=T[e.code];return n(e,t).message}}function O(e){return e.length!==0}var k=/[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*/u;function A(e){if(e.length===1){let t=e[0];return typeof t==`symbol`&&(t=f(t)),t.toString()||`""`}return e.reduce((e,t)=>typeof t==`number`?e+`[`+t.toString()+`]`:(typeof t==`symbol`&&(t=f(t)),t.includes(`"`)?e+`["`+j(t)+`"]`:k.test(t)?e+(e.length===0?``:`.`)+t:e+`["`+t+`"]`),``)}function j(e){return e.replace(/"/g,`\\"`)}function M(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}var N={prefix:`Validation error`,prefixSeparator:`: `,maxIssuesInMessage:99,unionSeparator:` or `,issueSeparator:`; `,includePath:!0,forceTitleCase:!0};function P(e={}){let t={...N,...e};return function(e){return I(e.slice(0,t.maxIssuesInMessage).map(e=>F(e,t)).join(t.issueSeparator),t)}}function F(e,t){if(e.code===`invalid_union`&&O(e.errors)){let n=e.errors.map(n=>n.map(n=>F({...n,path:e.path.concat(n.path)},t)).join(t.issueSeparator));return Array.from(new Set(n)).join(t.unionSeparator)}let n=[];t.forceTitleCase?n.push(M(e.message)):n.push(e.message);pathCondition:if(t.includePath&&e.path!==void 0&&O(e.path)){if(e.path.length===1){let t=e.path[0];if(typeof t==`number`){n.push(` at index ${t}`);break pathCondition}}n.push(` at "${A(e.path)}"`)}return n.join(``)}function I(e,t){return t.prefix==null?e.length>0?e:N.prefix:e.length>0?[t.prefix,e].join(t.prefixSeparator):t.prefix}function L(e,n={}){if(!t(e))throw TypeError(`Invalid zodError param; expected instance of ZodError. Did you mean to use the "${V.name}" method instead?`);return R(e,n)}function R(e,t={}){let n=e.issues,i;return i=O(n)?z(t)(n):e.message,new r(i,{cause:e})}function z(e){return`messageBuilder`in e?e.messageBuilder:P(e)}var B=(e={})=>n=>t(n)?R(n,e):n instanceof Error?new r(n.message,{cause:n}):new r(`Unknown error`);function V(e,t={}){return B(t)(e)}function H(t,n={}){return new r(U(n)([t]),{cause:new e([t])})}function U(e){return`messageBuilder`in e?e.messageBuilder:P(e)}export{r as ValidationError,D as createErrorMap,P as createMessageBuilder,V as fromError,L as fromZodError,H as fromZodIssue,a as isValidationError,o as isValidationErrorLike,t as isZodErrorLike,B as toValidationError};
@@ -1 +1 @@
1
- import{createLogger}from"#internal/logging.js";import{BundleKey}from"#runtime/sessions/runtime-context-keys.js";import{deserializeContext}from"#context/serialize.js";import{createDurableSessionState,readDurableSession}from"#execution/durable-session-store.js";import{hydrateDurableSession}from"#execution/session.js";import{resolveEffectiveAgentRuntime}from"#execution/effective-agent-config.js";import{setPendingRuntimeActionBatch}from"#harness/runtime-actions.js";import{getSubagentDelegationName,isSubagentDelegationAction}from"#harness/subagent-depth.js";import{dispatchRuntimeActionsStep}from"#execution/dispatch-runtime-actions-step.js";import{dispatchTaskStep}from"#execution/tasks/parent/dispatch-task-step.js";import{getPendingWorkflowInterrupt}from"#harness/workflow-interrupt-state.js";import{buildRuntimeActionsFromWorkflowInterrupt}from"#harness/workflow-runtime-action-state.js";import{planWorkflowSubagentDispatch}from"#harness/workflow-subagent-limit.js";const log=createLogger(`execution.dispatch-workflow-runtime-actions`);async function dispatchWorkflowRuntimeActionsStep(e){"use step";let n=await readDurableSession(e.sessionState),r=getPendingWorkflowInterrupt(n.state);if(r===void 0)return{results:[],sessionState:e.sessionState,pendingTasks:[]};let i=buildRuntimeActionsFromWorkflowInterrupt(r.interrupt);if(i.length===0)return{results:[],sessionState:e.sessionState,pendingTasks:[]};let a=await deserializeContext(e.serializedContext),o=a.require(BundleKey),s=resolveEffectiveAgentRuntime(o,a),c=planWorkflowSubagentDispatch({actions:i,interrupt:r.interrupt,maxSubagents:n.workflowMaxSubagents}),l=c.blocked.map(e=>(log.warn(`workflow subagent limit reached; blocking delegated call`,{callId:e.callId,maxSubagents:c.maxSubagents,subagentName:isSubagentDelegationAction(e)?getSubagentDelegationName(e):e.kind,usedCalls:c.usedCalls}),createWorkflowSubagentLimitResult({action:e,plan:c})));if(c.allowed.length===0)return{results:l,sessionState:e.sessionState,pendingTasks:[]};let u=hydrateDurableSession({compactionOverrides:{thresholdPercent:s.thresholdPercent},durable:n,turnAgent:s.turnAgent}),d=setPendingRuntimeActionBatch({actions:c.allowed,event:{sequence:0,stepIndex:0,turnId:`workflow-dispatch`},responseMessages:[],session:u}),f=await(o.resolvedAgent.config?.experimental?.tasks===!0?dispatchTaskStep:dispatchRuntimeActionsStep)({callbackBaseUrl:e.callbackBaseUrl,parentContinuationToken:e.parentContinuationToken,parentWritable:e.parentWritable,serializedContext:e.serializedContext,sessionState:createDurableSessionState({session:d})});return l.length===0?f:{results:[...f.results,...l],sessionState:f.sessionState,pendingTasks:f.pendingTasks}}function createWorkflowSubagentLimitResult(e){let t=isSubagentDelegationAction(e.action)?getSubagentDelegationName(e.action):e.action.kind;return{callId:e.action.callId,isError:!0,kind:`subagent-result`,origin:`dispatch`,output:{code:`WORKFLOW_SUBAGENT_LIMIT_REACHED`,maxSubagents:e.plan.maxSubagents,message:`Workflow subagent limit reached (${String(e.plan.maxSubagents)}); "${t}" was not called.`},subagentName:t}}export{dispatchWorkflowRuntimeActionsStep};
1
+ import{createLogger}from"#internal/logging.js";import{BundleKey}from"#runtime/sessions/runtime-context-keys.js";import{deserializeContext}from"#context/serialize.js";import{createDurableSessionState,readDurableSession}from"#execution/durable-session-store.js";import{hydrateDurableSession}from"#execution/session.js";import{resolveEffectiveAgentRuntime}from"#execution/effective-agent-config.js";import{setPendingRuntimeActionBatch}from"#harness/runtime-actions.js";import{getSubagentDelegationName,isSubagentDelegationAction}from"#harness/subagent-depth.js";import{dispatchRuntimeActionsStep}from"#execution/dispatch-runtime-actions-step.js";import{dispatchTaskStep}from"#execution/tasks/parent/dispatch-task-step.js";import{getPendingWorkflowInterrupt,setPendingWorkflowUsedCalls}from"#harness/workflow-interrupt-state.js";import{buildRuntimeActionsFromWorkflowInterrupt}from"#harness/workflow-runtime-action-state.js";import{planWorkflowSubagentDispatch}from"#harness/workflow-subagent-limit.js";const log=createLogger(`execution.dispatch-workflow-runtime-actions`);async function dispatchWorkflowRuntimeActionsStep(e){"use step";let n=await readDurableSession(e.sessionState),r=getPendingWorkflowInterrupt(n.state);if(r===void 0)return{results:[],sessionState:e.sessionState,pendingTasks:[]};let i=buildRuntimeActionsFromWorkflowInterrupt(r.interrupt);if(i.length===0)return{results:[],sessionState:e.sessionState,pendingTasks:[]};let a=await deserializeContext(e.serializedContext),o=a.require(BundleKey),s=resolveEffectiveAgentRuntime(o,a),c=planWorkflowSubagentDispatch({actions:i,maxSubagents:n.workflowMaxSubagents,usedCalls:r.usedCalls}),l=c.blocked.map(e=>(log.warn(`workflow subagent limit reached; blocking delegated call`,{callId:e.callId,maxSubagents:c.maxSubagents,subagentName:isSubagentDelegationAction(e)?getSubagentDelegationName(e):e.kind,usedCalls:c.usedCalls}),createWorkflowSubagentLimitResult({action:e,plan:c})));if(c.allowed.length===0)return{results:l,sessionState:e.sessionState,pendingTasks:[]};let u=setPendingWorkflowUsedCalls({session:hydrateDurableSession({compactionOverrides:{thresholdPercent:s.thresholdPercent},durable:n,turnAgent:s.turnAgent}),usedCalls:r.usedCalls+c.allowed.length}),d=setPendingRuntimeActionBatch({actions:c.allowed,event:{sequence:0,stepIndex:0,turnId:`workflow-dispatch`},responseMessages:[],session:u}),f=await(o.resolvedAgent.config?.experimental?.tasks===!0?dispatchTaskStep:dispatchRuntimeActionsStep)({callbackBaseUrl:e.callbackBaseUrl,parentContinuationToken:e.parentContinuationToken,parentWritable:e.parentWritable,serializedContext:e.serializedContext,sessionState:createDurableSessionState({session:d})});return l.length===0?f:{results:[...f.results,...l],sessionState:f.sessionState,pendingTasks:f.pendingTasks}}function createWorkflowSubagentLimitResult(e){let t=isSubagentDelegationAction(e.action)?getSubagentDelegationName(e.action):e.action.kind;return{callId:e.action.callId,isError:!0,kind:`subagent-result`,origin:`dispatch`,output:{code:`WORKFLOW_SUBAGENT_LIMIT_REACHED`,maxSubagents:e.plan.maxSubagents,message:`Workflow subagent limit reached (${String(e.plan.maxSubagents)}); "${t}" was not called.`},subagentName:t}}export{dispatchWorkflowRuntimeActionsStep};
@@ -1,7 +1,6 @@
1
1
  import type { ToolSet } from "ai";
2
2
  import type { HarnessToolDefinition } from "#harness/execute-tool.js";
3
3
  import type { HarnessSession, HarnessToolMap } from "#harness/types.js";
4
- import type { WorkflowSandboxLifecycle } from "#shared/workflow-sandbox.js";
5
4
  type AdvertisedToolSession = Pick<HarnessSession, "rootSessionId" | "subagentDepth">;
6
5
  type AdvertisedToolMapInput = {
7
6
  readonly delegatedCaller?: boolean;
@@ -19,10 +18,6 @@ type AdvertisedModelToolsInput = {
19
18
  readonly session: HarnessSession;
20
19
  readonly tools: HarnessToolMap;
21
20
  readonly workflow?: {
22
- readonly lifecycle?: (input: {
23
- readonly session: HarnessSession;
24
- readonly tools: HarnessToolMap;
25
- }) => WorkflowSandboxLifecycle | undefined;
26
21
  readonly maxSubagents?: number;
27
22
  };
28
23
  };
@@ -1 +1 @@
1
- import{TASK_TOOL_NAMES,TASK_UPDATE_TOOL_NAME}from"#tools/framework/task-contract.js";import{resolveSubagentDepth}from"#harness/subagent-depth.js";import{AGENT_TOOL_NAME}from"#tools/framework/agent-contract.js";import{ROOT_RUNTIME_AGENT_NODE_ID}from"#runtime/graph.js";import{ensureWorkflowContinuationSecurity,getWorkflowContinuationSecurity}from"#harness/workflow-continuation-security.js";import{applyWorkflowTool}from"#harness/workflow-sandbox.js";function getAdvertisedTools(e){return`modelTools`in e?getAdvertisedModelTools(e):isToolDefinitionList(e.tools)?filterUnavailableDelegationToolDefinitions(e.tools,e.session,e.delegatedCaller):filterUnavailableDelegationToolMap(e.tools,e.session,e.delegatedCaller)}async function getAdvertisedModelTools(e){let t=filterUnavailableDelegationToolMap(e.tools,e.session,e.delegatedCaller);if(e.workflow===void 0)return{harnessTools:t,modelTools:e.modelTools,session:e.session};let n=filterWorkflowHostToolsForRootSession(t,e.session);if(n.size===0)return{harnessTools:t,modelTools:e.modelTools,session:e.session};let r=ensureWorkflowContinuationSecurity(e.session),{modelTools:i}=await applyWorkflowTool({continuationSecurity:getWorkflowContinuationSecurity(r),harnessTools:n,lifecycle:e.workflow.lifecycle?.({session:r,tools:n}),maxSubagents:e.workflow.maxSubagents,tools:e.modelTools});return{harnessTools:t,modelTools:i,session:r}}function filterUnavailableDelegationToolDefinitions(e,t,n){let r=[];for(let i of e)shouldHideDelegationTool(i,t,n)||r.push(i);return r}function filterUnavailableDelegationToolMap(e,t,n){let r=new Map;for(let[i,a]of e)shouldHideDelegationTool(a,t,n)||r.set(i,a);return r}function filterWorkflowHostToolsForRootSession(e,t){let r=new Map,i=resolveSubagentDepth(t);if(t.rootSessionId!==void 0||i.currentDepth>0)return r;for(let[t,n]of e)n.workflowCallable===!0&&r.set(t,n);return r}function shouldHideDelegationTool(e,r,i){return e.name===TASK_UPDATE_TOOL_NAME?i!==!0:isRootOnlyTransitionalTool(e)?r.rootSessionId!==void 0||resolveSubagentDepth(r).currentDepth>0:!1}function isRootOnlyTransitionalTool(n){return n.rootOnly===!0||n.name===AGENT_TOOL_NAME&&n.runtimeAction?.kind===`subagent-call`&&n.runtimeAction.nodeId===ROOT_RUNTIME_AGENT_NODE_ID||n.name!==TASK_UPDATE_TOOL_NAME&&TASK_TOOL_NAMES.has(n.name)}function isToolDefinitionList(e){return Array.isArray(e)}export{getAdvertisedTools};
1
+ import{TASK_TOOL_NAMES,TASK_UPDATE_TOOL_NAME}from"#tools/framework/task-contract.js";import{resolveSubagentDepth}from"#harness/subagent-depth.js";import{AGENT_TOOL_NAME}from"#tools/framework/agent-contract.js";import{ROOT_RUNTIME_AGENT_NODE_ID}from"#runtime/graph.js";import{ensureWorkflowContinuationSecurity,getWorkflowContinuationSecurity}from"#harness/workflow-continuation-security.js";import{applyWorkflowTool}from"#harness/workflow-sandbox.js";function getAdvertisedTools(e){return`modelTools`in e?getAdvertisedModelTools(e):isToolDefinitionList(e.tools)?filterUnavailableDelegationToolDefinitions(e.tools,e.session,e.delegatedCaller):filterUnavailableDelegationToolMap(e.tools,e.session,e.delegatedCaller)}async function getAdvertisedModelTools(e){let t=filterUnavailableDelegationToolMap(e.tools,e.session,e.delegatedCaller);if(e.workflow===void 0)return{harnessTools:t,modelTools:e.modelTools,session:e.session};let n=filterWorkflowHostToolsForRootSession(t,e.session);if(n.size===0)return{harnessTools:t,modelTools:e.modelTools,session:e.session};let r=ensureWorkflowContinuationSecurity(e.session),{modelTools:i}=await applyWorkflowTool({continuationSecurity:getWorkflowContinuationSecurity(r),harnessTools:n,maxSubagents:e.workflow.maxSubagents,tools:e.modelTools});return{harnessTools:t,modelTools:i,session:r}}function filterUnavailableDelegationToolDefinitions(e,t,n){let r=[];for(let i of e)shouldHideDelegationTool(i,t,n)||r.push(i);return r}function filterUnavailableDelegationToolMap(e,t,n){let r=new Map;for(let[i,a]of e)shouldHideDelegationTool(a,t,n)||r.set(i,a);return r}function filterWorkflowHostToolsForRootSession(e,t){let r=new Map,i=resolveSubagentDepth(t);if(t.rootSessionId!==void 0||i.currentDepth>0)return r;for(let[t,n]of e)n.workflowCallable===!0&&r.set(t,n);return r}function shouldHideDelegationTool(e,r,i){return e.name===TASK_UPDATE_TOOL_NAME?i!==!0:isRootOnlyTransitionalTool(e)?r.rootSessionId!==void 0||resolveSubagentDepth(r).currentDepth>0:!1}function isRootOnlyTransitionalTool(n){return n.rootOnly===!0||n.name===AGENT_TOOL_NAME&&n.runtimeAction?.kind===`subagent-call`&&n.runtimeAction.nodeId===ROOT_RUNTIME_AGENT_NODE_ID||n.name!==TASK_UPDATE_TOOL_NAME&&TASK_TOOL_NAMES.has(n.name)}function isToolDefinitionList(e){return Array.isArray(e)}export{getAdvertisedTools};
@@ -1 +1 @@
1
- import{boolean,literal,object,string,unknown}from"../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/schemas.js";import"../node_modules/.pnpm/zod@4.4.3/node_modules/zod/index.js";import{ASK_QUESTION_TOOL_NAME}from"#harness/request-input-tool.js";import{createRuntimeToolCallActionFromToolCall}from"#harness/tool-call-action.js";const ToolCallDescriptorSchema=object({input:unknown(),toolCallId:string(),toolName:string()}),PersistedToolCallSchema=ToolCallDescriptorSchema.extend({type:literal(`tool-call`)}),ToolApprovalRequestSchema=object({approvalId:string(),isAutomatic:boolean().optional().catch(void 0),toolCall:ToolCallDescriptorSchema.optional().catch(void 0),toolCallId:string().optional().catch(void 0),type:literal(`tool-approval-request`)});function extractQuestionInputRequests(e){return extractQuestionRequests(e)}function extractQuestionRequests(e){let t=[];for(let n of e.toolCalls){if(n.toolName!==ASK_QUESTION_TOOL_NAME||e.excludedCallIds.has(n.toolCallId))continue;let r=createRuntimeToolCallActionFromToolCall({toolCall:n}),i=r.input,o={action:r,display:`text`,kind:`question`,prompt:String(i.prompt),requestId:r.callId};i.allowFreeform!==void 0&&(o.allowFreeform=i.allowFreeform),i.options!==void 0&&(o.options=i.options,o.display=`select`),t.push(o)}return t}function extractToolApprovalInputRequests(e){return extractApprovalRequests(e)}function extractApprovalRequests(e){let t=[],n=new Map;for(let t of e.content){let e=PersistedToolCallSchema.safeParse(t);e.success&&n.set(e.data.toolCallId,e.data)}for(let r of e.content){let i=ToolApprovalRequestSchema.safeParse(r);if(!i.success)continue;let a=i.data;if(e.includedRequestIds!==void 0&&!e.includedRequestIds.has(a.approvalId)||a.isAutomatic===!0)continue;let o=a.toolCall??(a.toolCallId===void 0?void 0:n.get(a.toolCallId));o!==void 0&&(e.excludedCallIds?.has(o.toolCallId)||t.push({action:createRuntimeToolCallActionFromToolCall({toolCall:o}),allowFreeform:!1,display:`confirmation`,kind:`tool-approval`,options:[{id:`approve`,label:`Approve`},{id:`cancel`,label:`Cancel`}],prompt:`Approve tool call: ${o.toolName}`,requestId:a.approvalId}))}return t}function extractHistoricalInputRequests(e){let t=new Map;for(let n=e.history.length-1;n>=0;--n){let r=e.history[n];if(r?.role!==`assistant`||!Array.isArray(r.content))continue;let i=r.content.flatMap(t=>{let n=PersistedToolCallSchema.safeParse(t);return n.success&&e.requestIds.has(n.data.toolCallId)?[n.data]:[]}),a=[...extractQuestionRequests({excludedCallIds:new Set,toolCalls:i}),...extractApprovalRequests({content:r.content,includedRequestIds:e.requestIds})];for(let n of a)!e.requestIds.has(n.requestId)||t.has(n.requestId)||t.set(n.requestId,n);if(t.size===e.requestIds.size)break}return t}export{extractHistoricalInputRequests,extractQuestionInputRequests,extractToolApprovalInputRequests};
1
+ import{boolean,literal,object,string,unknown}from"../node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/schemas.js";import"../node_modules/.pnpm/zod@4.5.4/node_modules/zod/index.js";import{ASK_QUESTION_TOOL_NAME}from"#harness/request-input-tool.js";import{createRuntimeToolCallActionFromToolCall}from"#harness/tool-call-action.js";const ToolCallDescriptorSchema=object({input:unknown(),toolCallId:string(),toolName:string()}),PersistedToolCallSchema=ToolCallDescriptorSchema.extend({type:literal(`tool-call`)}),ToolApprovalRequestSchema=object({approvalId:string(),isAutomatic:boolean().optional().catch(void 0),toolCall:ToolCallDescriptorSchema.optional().catch(void 0),toolCallId:string().optional().catch(void 0),type:literal(`tool-approval-request`)});function extractQuestionInputRequests(e){return extractQuestionRequests(e)}function extractQuestionRequests(e){let t=[];for(let n of e.toolCalls){if(n.toolName!==ASK_QUESTION_TOOL_NAME||e.excludedCallIds.has(n.toolCallId))continue;let r=createRuntimeToolCallActionFromToolCall({toolCall:n}),i=r.input,o={action:r,display:`text`,kind:`question`,prompt:String(i.prompt),requestId:r.callId};i.allowFreeform!==void 0&&(o.allowFreeform=i.allowFreeform),i.options!==void 0&&(o.options=i.options,o.display=`select`),t.push(o)}return t}function extractToolApprovalInputRequests(e){return extractApprovalRequests(e)}function extractApprovalRequests(e){let t=[],n=new Map;for(let t of e.content){let e=PersistedToolCallSchema.safeParse(t);e.success&&n.set(e.data.toolCallId,e.data)}for(let r of e.content){let i=ToolApprovalRequestSchema.safeParse(r);if(!i.success)continue;let a=i.data;if(e.includedRequestIds!==void 0&&!e.includedRequestIds.has(a.approvalId)||a.isAutomatic===!0)continue;let o=a.toolCall??(a.toolCallId===void 0?void 0:n.get(a.toolCallId));o!==void 0&&(e.excludedCallIds?.has(o.toolCallId)||t.push({action:createRuntimeToolCallActionFromToolCall({toolCall:o}),allowFreeform:!1,display:`confirmation`,kind:`tool-approval`,options:[{id:`approve`,label:`Approve`},{id:`cancel`,label:`Cancel`}],prompt:`Approve tool call: ${o.toolName}`,requestId:a.approvalId}))}return t}function extractHistoricalInputRequests(e){let t=new Map;for(let n=e.history.length-1;n>=0;--n){let r=e.history[n];if(r?.role!==`assistant`||!Array.isArray(r.content))continue;let i=r.content.flatMap(t=>{let n=PersistedToolCallSchema.safeParse(t);return n.success&&e.requestIds.has(n.data.toolCallId)?[n.data]:[]}),a=[...extractQuestionRequests({excludedCallIds:new Set,toolCalls:i}),...extractApprovalRequests({content:r.content,includedRequestIds:e.requestIds})];for(let n of a)!e.requestIds.has(n.requestId)||t.has(n.requestId)||t.set(n.requestId,n);if(t.size===e.requestIds.size)break}return t}export{extractHistoricalInputRequests,extractQuestionInputRequests,extractToolApprovalInputRequests};
@@ -1,3 +1,3 @@
1
- import{createErrorId,createLogger,formatError,logError}from"#internal/logging.js";import{contextStorage}from"#context/container.js";import{AuthKey,ParentSessionKey,ScheduleIdKey,SessionCallbackKey,TurnTaskDeliveryKey,TurnTaskStateKey}from"#context/keys.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{toErrorMessage}from"#shared/errors.js";import{createActionResultEvent,createApprovalCandidateEvent,createApprovalSettledEvent,createAuthorizationCompletedEvent,createAuthorizationRequiredEvent,createCompactionCompletedEvent,createCompactionRequestedEvent,createContextClearedEvent,createInputRequestedEvent,createInputResolvedEvent,createMessageCompletedEvent,createResultCompletedEvent,createSessionWaitingEvent,createStepStartedEvent}from"#protocol/message.js";import{summarizeKnownError}from"#harness/semantic-errors/index.js";import{resolveProviderHeaders}from"#internal/gateway.js";import{formatLanguageModelGatewayId}from"#internal/runtime-model.js";import{ChannelKey}from"#runtime/sessions/runtime-context-keys.js";import{buildDynamicTools,buildResponseAuthorizationTools}from"#context/build-dynamic-tools.js";import{drainMemoryCommit,prepareMemoryCompaction,prepareMemoryPreamble}from"#context/memory-lifecycle.js";import{canonicalizeMemoryRecords,clearMemorySessionState,shouldCanonicalizeMemory}from"#shared/memory-state.js";import{advanceStep,emitFailedStep,emitRecoverableFailedTurn,emitStepStarted,emitStreamContent,emitTurnEpilogue,emitTurnPreamble,getHarnessEmissionState,setHarnessEmissionState}from"#harness/emission.js";import{ToolLoopAgent,isStepCount}from"ai";import{resolveAgentsAnnouncement}from"#harness/handles/prompt.js";import{renderPendingApprovalsInstruction,renderPendingApprovalsSnippet}from"#harness/hitl/approval-prompt.js";import{getAgentHandleStore}from"#harness/handles/store.js";import{readTaskIdFromInboxToken}from"#tasks/task-inbox-token.js";import{buildDynamicSubagentTools}from"#context/dynamic-subagent-lifecycle.js";import{hydrateSandboxAttachments,stageAttachmentsToSandbox}from"#harness/attachment-staging.js";import{normalizeModelMessages,normalizeUserContent,resolveAssistantStepText}from"#harness/messages.js";import{TASK_UPDATE_TOOL_NAME}from"#tools/framework/task-contract.js";import{createRuntimeActionRequestFromToolCall,resolvePendingRuntimeActions,setPendingRuntimeActionBatch}from"#harness/runtime-actions.js";import{clearPendingWorkflowInterrupt,getPendingWorkflowInterrupt,setPendingWorkflowInterrupt}from"#harness/workflow-interrupt-state.js";import{getWorkflowRuntimeActionInterrupts,isWorkflowRuntimeActionInterrupt}from"#harness/workflow-runtime-action-state.js";import{activeTurnId}from"#harness/active-turn-id.js";import{createHistoryViewPreparer}from"#shared/history-view.js";import{getActiveDynamicModelSelection,isDynamicModelSelectionError}from"#context/dynamic-model-lifecycle.js";import{ASK_QUESTION_TOOL_NAME}from"#harness/request-input-tool.js";import{getSupersededAuthorizationChallenges,setPendingAuthorization}from"#harness/authorization.js";import{appendPendingInputBatch,consumeDeferredStepInput,getApprovedTools,getPendingInputRequestIds,hasDeferredStepInput,hasPendingApprovalBatch,hasStepInput,resolvePendingInput}from"#harness/input-requests.js";import{accumulateTurnUsage,getTurnUsageState,setTurnUsageState}from"#harness/turn-tag-state.js";import{throwIfTurnAborted}from"#harness/turn-cancellation.js";import{createBackgroundToolCallBatch}from"#harness/background-tools.js";import{buildDynamicInstructionMessages,drainDynamicInstructionUserMessages,prepareDynamicInstructionPreamble}from"#context/dynamic-instruction-lifecycle.js";import{PendingSkillAnnouncementKey}from"#context/dynamic-skill-lifecycle.js";import{getWorkflowContinuationSecurity,readWorkflowContinuationSecurity}from"#harness/workflow-continuation-security.js";import{buildWorkflowHostTools,resolveWorkflowSandboxBridgeRequestLimit}from"#harness/workflow-sandbox.js";import{getApprovalAuditState,markApprovalCandidateHistoryEventEmitted,markApprovalCandidatePendingEventEmitted,markApprovalSettlementEventEmitted}from"#harness/approval-candidates.js";import{getPendingInputBatches,queueDeferredStepInput}from"#harness/pending-input-batches.js";import{EMPTY_DELIVERY_SENTINEL,hasEmptyDeliverySentinel}from"#shared/empty-delivery.js";import{createToolResultMessagePartFromToolError}from"#harness/action-result-helpers.js";import{getInvalidToolCallInputError,isInvalidToolCall}from"#harness/tool-call-input-errors.js";import{EmptyModelResponseError,classifyModelCallError,extractModelCallErrorDetails,extractUnsupportedProviderToolTypes,extractUpstreamRejectionMessage,isNoOutputGeneratedError}from"#harness/model-call-error.js";import{resolveInlineAuthorizationInterrupt}from"#harness/inline-tool-authorization.js";import{extractQuestionInputRequests,extractToolApprovalInputRequests}from"#harness/input-extraction.js";import{applyLastToolCacheBreakpoint,applySystemCacheBreakpoint,detectPromptCachePath,getAnthropicCacheMarker}from"#harness/prompt-cache.js";import{mergeProviderSafetyIdentifier}from"#harness/provider-safety.js";import{requireSessionModelReference}from"#harness/types.js";import{createWorkflowLifecycle}from"#harness/workflow-lifecycle.js";import{compactMessages,getInputTokenCount,resolveCompactionModel,shouldCompact}from"#harness/compaction.js";import{createCurrentMessages}from"#harness/current-messages.js";import{applySessionLimitContinuation,enforceSessionTokenLimit}from"#harness/session-limit-enforcement.js";import{setEveAttributes}from"#runtime/attributes/emit.js";import{coordinateApprovalDelivery,shouldPrepareApprovalPolicyTools}from"#harness/approval-delivery-coordinator.js";import{convertStaleResponsesToUserMessage,dropStaleSessionLimitContinuationResponses}from"#harness/stale-input-responses.js";import{normalizeProviderToolHistory}from"#harness/provider-tool-history.js";import{resolveDeliveryPolicy}from"#tasks/delivery-policy.js";import{extractWorkflowStreamWriteErrorDetails}from"#harness/workflow-stream-error.js";import{getAdvertisedTools}from"#harness/advertised-tools.js";import{resolveFrameworkToolFromUpstreamType}from"#harness/provider-tools.js";import{buildStepHooks,emitStepActions}from"#harness/step-hooks.js";import{buildToolApproval,buildToolSetFromDefinitions,buildToolSetWithProviderTools}from"#harness/tools.js";import{continueWorkflowSandboxInterrupt,getWorkflowSandboxInterrupt,unwrapWorkflowSandboxResult}from"#shared/workflow-sandbox.js";import{FINAL_OUTPUT_TOOL_NAME,buildFinalOutputTool}from"#harness/final-output.js";const environment=process.env.NODE_ENV??`unknown`,eveVersion=resolveInstalledPackageInfo().version,log=createLogger(`harness.tool-loop`);function logToolExecutionError(e){e.toolOutput.type===`tool-error`&&logError(log,`tool execution failed`,e.toolOutput.error,{toolName:e.toolCall.toolName,toolCallId:e.toolCall.toolCallId})}function mergeSystemInstructions(e){if(e.length===0)return;if(e.length===1)return{...e[0]};let t;for(let n of e)n.providerOptions!==void 0&&(t={...t,...n.providerOptions});let n={role:`system`,content:e.map(e=>e.content).join(`
1
+ import{createErrorId,createLogger,formatError,logError}from"#internal/logging.js";import{contextStorage}from"#context/container.js";import{AuthKey,ParentSessionKey,ScheduleIdKey,SessionCallbackKey,TurnTaskDeliveryKey,TurnTaskStateKey}from"#context/keys.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{toErrorMessage}from"#shared/errors.js";import{createActionResultEvent,createApprovalCandidateEvent,createApprovalSettledEvent,createAuthorizationCompletedEvent,createAuthorizationRequiredEvent,createCompactionCompletedEvent,createCompactionRequestedEvent,createContextClearedEvent,createInputRequestedEvent,createInputResolvedEvent,createMessageCompletedEvent,createResultCompletedEvent,createSessionWaitingEvent,createStepStartedEvent}from"#protocol/message.js";import{summarizeKnownError}from"#harness/semantic-errors/index.js";import{resolveProviderHeaders}from"#internal/gateway.js";import{formatLanguageModelGatewayId}from"#internal/runtime-model.js";import{ChannelKey}from"#runtime/sessions/runtime-context-keys.js";import{buildDynamicTools,buildResponseAuthorizationTools}from"#context/build-dynamic-tools.js";import{drainMemoryCommit,prepareMemoryCompaction,prepareMemoryPreamble}from"#context/memory-lifecycle.js";import{canonicalizeMemoryRecords,clearMemorySessionState,shouldCanonicalizeMemory}from"#shared/memory-state.js";import{advanceStep,emitFailedStep,emitRecoverableFailedTurn,emitStepStarted,emitStreamContent,emitTurnEpilogue,emitTurnPreamble,getHarnessEmissionState,setHarnessEmissionState}from"#harness/emission.js";import{ToolLoopAgent,isStepCount}from"ai";import{resolveAgentsAnnouncement}from"#harness/handles/prompt.js";import{renderPendingApprovalsInstruction,renderPendingApprovalsSnippet}from"#harness/hitl/approval-prompt.js";import{getAgentHandleStore}from"#harness/handles/store.js";import{readTaskIdFromInboxToken}from"#tasks/task-inbox-token.js";import{buildDynamicSubagentTools}from"#context/dynamic-subagent-lifecycle.js";import{hydrateSandboxAttachments,stageAttachmentsToSandbox}from"#harness/attachment-staging.js";import{normalizeModelMessages,normalizeUserContent,resolveAssistantStepText}from"#harness/messages.js";import{TASK_UPDATE_TOOL_NAME}from"#tools/framework/task-contract.js";import{createRuntimeActionRequestFromToolCall,resolvePendingRuntimeActions,setPendingRuntimeActionBatch}from"#harness/runtime-actions.js";import{clearPendingWorkflowInterrupt,getPendingWorkflowInterrupt,setPendingWorkflowInterrupt}from"#harness/workflow-interrupt-state.js";import{getWorkflowRuntimeActionInterrupts,isWorkflowRuntimeActionInterrupt}from"#harness/workflow-runtime-action-state.js";import{activeTurnId}from"#harness/active-turn-id.js";import{createHistoryViewPreparer}from"#shared/history-view.js";import{getActiveDynamicModelSelection,isDynamicModelSelectionError}from"#context/dynamic-model-lifecycle.js";import{ASK_QUESTION_TOOL_NAME}from"#harness/request-input-tool.js";import{getSupersededAuthorizationChallenges,setPendingAuthorization}from"#harness/authorization.js";import{appendPendingInputBatch,consumeDeferredStepInput,getApprovedTools,getPendingInputRequestIds,hasDeferredStepInput,hasPendingApprovalBatch,hasStepInput,resolvePendingInput}from"#harness/input-requests.js";import{accumulateTurnUsage,getTurnUsageState,setTurnUsageState}from"#harness/turn-tag-state.js";import{throwIfTurnAborted}from"#harness/turn-cancellation.js";import{createBackgroundToolCallBatch}from"#harness/background-tools.js";import{buildDynamicInstructionMessages,drainDynamicInstructionUserMessages,prepareDynamicInstructionPreamble}from"#context/dynamic-instruction-lifecycle.js";import{PendingSkillAnnouncementKey}from"#context/dynamic-skill-lifecycle.js";import{getWorkflowContinuationSecurity,readWorkflowContinuationSecurity}from"#harness/workflow-continuation-security.js";import{buildWorkflowHostTools,resolveWorkflowSandboxBridgeRequestLimit}from"#harness/workflow-sandbox.js";import{getApprovalAuditState,markApprovalCandidateHistoryEventEmitted,markApprovalCandidatePendingEventEmitted,markApprovalSettlementEventEmitted}from"#harness/approval-candidates.js";import{getPendingInputBatches,queueDeferredStepInput}from"#harness/pending-input-batches.js";import{EMPTY_DELIVERY_SENTINEL,hasEmptyDeliverySentinel}from"#shared/empty-delivery.js";import{createToolResultMessagePartFromToolError}from"#harness/action-result-helpers.js";import{getInvalidToolCallInputError,isInvalidToolCall}from"#harness/tool-call-input-errors.js";import{EmptyModelResponseError,classifyModelCallError,extractModelCallErrorDetails,extractUnsupportedProviderToolTypes,extractUpstreamRejectionMessage,isNoOutputGeneratedError}from"#harness/model-call-error.js";import{resolveInlineAuthorizationInterrupt}from"#harness/inline-tool-authorization.js";import{extractQuestionInputRequests,extractToolApprovalInputRequests}from"#harness/input-extraction.js";import{applyLastToolCacheBreakpoint,applySystemCacheBreakpoint,detectPromptCachePath,getAnthropicCacheMarker}from"#harness/prompt-cache.js";import{mergeProviderSafetyIdentifier}from"#harness/provider-safety.js";import{requireSessionModelReference}from"#harness/types.js";import{emitWorkflowActionResults,emitWorkflowActionsRequested}from"#harness/workflow-lifecycle.js";import{compactMessages,getInputTokenCount,resolveCompactionModel,shouldCompact}from"#harness/compaction.js";import{createCurrentMessages}from"#harness/current-messages.js";import{applySessionLimitContinuation,enforceSessionTokenLimit}from"#harness/session-limit-enforcement.js";import{setEveAttributes}from"#runtime/attributes/emit.js";import{coordinateApprovalDelivery,shouldPrepareApprovalPolicyTools}from"#harness/approval-delivery-coordinator.js";import{convertStaleResponsesToUserMessage,dropStaleSessionLimitContinuationResponses}from"#harness/stale-input-responses.js";import{normalizeProviderToolHistory}from"#harness/provider-tool-history.js";import{resolveDeliveryPolicy}from"#tasks/delivery-policy.js";import{extractWorkflowStreamWriteErrorDetails}from"#harness/workflow-stream-error.js";import{getAdvertisedTools}from"#harness/advertised-tools.js";import{resolveFrameworkToolFromUpstreamType}from"#harness/provider-tools.js";import{buildStepHooks,emitStepActions}from"#harness/step-hooks.js";import{buildToolApproval,buildToolSetFromDefinitions,buildToolSetWithProviderTools}from"#harness/tools.js";import{continueWorkflowSandboxInterrupt,getWorkflowSandboxInterrupt,unwrapWorkflowSandboxResult}from"#shared/workflow-sandbox.js";import{FINAL_OUTPUT_TOOL_NAME,buildFinalOutputTool}from"#harness/final-output.js";const environment=process.env.NODE_ENV??`unknown`,eveVersion=resolveInstalledPackageInfo().version,log=createLogger(`harness.tool-loop`);function logToolExecutionError(e){e.toolOutput.type===`tool-error`&&logError(log,`tool execution failed`,e.toolOutput.error,{toolName:e.toolCall.toolName,toolCallId:e.toolCall.toolCallId})}function mergeSystemInstructions(e){if(e.length===0)return;if(e.length===1)return{...e[0]};let t;for(let n of e)n.providerOptions!==void 0&&(t={...t,...n.providerOptions});let n={role:`system`,content:e.map(e=>e.content).join(`
2
2
 
3
- `)};return t!==void 0&&(n.providerOptions=t),n}function buildGatewayAttributionHeaders(e,t){let n=resolveProviderHeaders(e);if(n===void 0)return;let r=t?.agentName??t?.agentId,i=process.env.VERCEL_PROJECT_PRODUCTION_URL||process.env.VERCEL_URL,a=i?`https://${i}`:void 0,o={...n};return r&&(o[`x-title`]=r),a&&(o[`http-referer`]=a),o}async function resolveActiveRuntimeModel(e){if(e.ctx===void 0){let t=e.session.agent.modelReference;if(t===void 0)throw Error(`Dynamic model selection is unavailable outside an eve runtime context.`);return{model:await e.config.resolveModel(t),session:e.session}}let t=getActiveDynamicModelSelection(e.ctx);if(t===null){let t=e.session.agent.modelReference;if(e.session.agent.dynamicModel===!0||t===void 0)throw Error(`Dynamic model selection is required before model-dependent work begins. Add a matching resolver handler that returns a concrete model.`);return{model:await e.config.resolveModel(t),session:e.session}}return{model:t.model===void 0?await e.config.resolveModel(t.reference):t.model,session:updateSessionModelReference(e.session,t.reference)}}function updateSessionModelReference(e,t){return{...e,agent:{...e.agent,modelReference:t},compaction:updateCompactionThresholdForModelReference({compaction:e.compaction,modelReference:t})}}function updateCompactionThresholdForModelReference(e){return e.modelReference.contextWindowTokens===void 0?e.compaction:{...e.compaction,threshold:Math.max(1,Math.floor(e.modelReference.contextWindowTokens*(e.compaction.thresholdPercent??.9)))}}function buildHarnessToolsWithDynamicSubagents(e,t){let n=new Map(e);if(t===void 0)return n;for(let e of buildDynamicSubagentTools(t)){if(n.has(e.name))throw Error(`Dynamic subagent "${e.name}" collides with another runtime-visible tool name.`);n.set(e.name,e)}return n}function createToolLoopHarness(t){let n=t.handleEvent;async function runStep(e,n){return t.instrumentation?.runStep({environment,eveVersion,hasInput:hasStepInput(n),session:e},e=>executeStepBody(e.session,n,e))??executeStepBody(e,n)}async function executeStepBody(d,g,v){let y=d,x=createHistoryViewPreparer({previous:t.historyView,projector:t.historyProjector});x(y.history,y.state);let projectHistory=(e,t)=>x(e,t).messages,C=getHarnessEmissionState(y.state),T=contextStorage.getStore(),E=T?.get(ParentSessionKey),D=T?.get(ChannelKey),O=T?.get(SessionCallbackKey),le=E!==void 0||O!==void 0,k=(O?.taskId!==void 0||readTaskIdFromInboxToken(String(D?.state?.parentContinuationToken??``))!==void 0)&&t.tools.has(TASK_UPDATE_TOOL_NAME),ue,A=v?.createHandleEvent({getAttemptScope:()=>ue,handleEvent:n,turnId:activeTurnId(C)})??n,failModelSelection=async(n,r)=>{if(throwIfTurnAborted(t.abortSignal),v?.recordError(n),!A)throw n;let i=createErrorId(),a=toErrorMessage(n);return log.error(`model selection failed terminally`,{error:n,errorId:i,sessionId:y.sessionId,turnId:r.turnId}),await emitFailedStep(A,r,{code:`MODEL_SELECTION_FAILED`,details:{errorId:i},message:a,sessionId:y.sessionId}),{next:t.mode===`task`||le?{done:!0,isError:!0,output:a}:{done:!0,output:``},session:y}},preparePreambleTrace=async()=>await v?.preparePreamble({sequence:C.sequence,sessionStarted:C.sessionStarted,traceContext:v?.traceContext,turnId:`turn_${C.sequence}`});if(t.clearOnly===!0)return y={...y,compaction:{recentWindowSize:y.compaction.recentWindowSize,threshold:y.compaction.threshold,thresholdPercent:y.compaction.thresholdPercent},history:[],state:clearMemorySessionState(y.state)},await A?.(createContextClearedEvent({sequence:C.sequence,sessionId:y.sessionId,turnId:activeTurnId(C)})),await A?.(createSessionWaitingEvent()),{next:null,session:y};if(t.compactOnly===!0){if(y.history.length>0)try{let e=contextStorage.getStore(),n=await resolveActiveRuntimeModel({config:t,ctx:e,session:y});y=n.session;let r=await maybeCompact({abortSignal:t.abortSignal,auth:e?.get(AuthKey)??null,emit:A,emissionState:{...C,turnId:activeTurnId(C)},force:!0,historyProjector:t.historyProjector,messages:[...y.history],model:n.model,onCompaction:t.onCompaction,resolveModel:t.resolveModel,runtimeIdentity:t.runtimeIdentity,session:y,telemetry:v?.telemetry()});y={...r.session,compaction:{recentWindowSize:r.session.compaction.recentWindowSize,threshold:r.session.compaction.threshold,thresholdPercent:r.session.compaction.thresholdPercent},history:r.messages}}catch(e){logError(log,`manual session compaction failed`,e,{sessionId:y.sessionId})}return await A?.(createSessionWaitingEvent()),{next:null,session:y}}let j=consumeDeferredStepInput({input:g,preferCurrentInput:t.mode!==`conversation`&&g!==void 0&&hasPendingApprovalBatch(y),session:y});y=j.session;let M=await resolvePendingRuntimeActions({emit:A,session:y,stepInput:j.input});if(M.outcome===`unresolved`)return{next:null,session:M.session};y=M.session;let de=getPendingInputRequestIds(y.state),N=convertStaleResponsesToUserMessage({history:M.messages,pendingRequestIds:de,stepInput:dropStaleSessionLimitContinuationResponses({pendingRequestIds:de,stepInput:j.input})}),P=N.stepInput,fe=N.kind===`converted`?{...P,message:N.displayMessage}:P,F=contextStorage.getStore();F!==void 0&&t.resolveStepDynamicTools!==void 0&&shouldPrepareApprovalPolicyTools({session:y,stepInput:P})&&await t.resolveStepDynamicTools({ctx:F,event:createStepStartedEvent({modelId:y.agent.modelReference?.id??`dynamic`,sequence:C.sequence,stepIndex:C.stepIndex,turnId:C.turnId}),messages:projectHistory(M.messages,y.state)});let I=await coordinateApprovalDelivery({session:y,stepInput:P,tools:buildResponseAuthorizationTools({authoredTools:t.tools,context:F})});if(y=I.session,A){for(let e of I.feedback)await A(createMessageCompletedEvent({message:e,sequence:C.sequence,stepIndex:C.stepIndex,turnId:C.turnId}));let e=getApprovalAuditState(y.state);for(let t of e.activeCandidates.filter(e=>e.pendingEventEmitted!==!0))await A(createApprovalCandidateEvent({candidateId:t.candidateId,outcome:`pending`,requestId:t.requestId,responderPrincipalId:t.responder.principalId,sequence:C.sequence,stepIndex:C.stepIndex,turnId:C.turnId})),y={...y,state:markApprovalCandidatePendingEventEmitted({candidateId:t.candidateId,state:y.state})};for(let t of e.candidateHistory.filter(e=>e.eventEmitted!==!0&&e.status!==`allowed`))await A(createApprovalCandidateEvent({candidateId:t.candidateId,outcome:t.status,requestId:t.requestId,responderPrincipalId:t.responder.principalId,reason:t.reason,sequence:C.sequence,stepIndex:C.stepIndex,turnId:C.turnId})),y={...y,state:markApprovalCandidateHistoryEventEmitted({candidateId:t.candidateId,state:y.state})};for(let t of e.settlements.filter(e=>e.eventEmitted!==!0))await A(createApprovalSettledEvent({outcome:t.outcome===`allowed`?`approved`:`cancelled`,requestId:t.requestId,responderPrincipalId:t.actor.principalId,sequence:C.sequence,stepIndex:C.stepIndex,turnId:C.turnId})),y={...y,state:markApprovalSettlementEventEmitted({requestId:t.requestId,state:y.state})}}if(I.kind===`park`)return{next:null,session:y};if(I.kind===`continue-coordination`)return{next:runStep,session:I.stepInput===void 0?y:queueDeferredStepInput(y,I.stepInput)};if(I.challenges.length>0){if(A)for(let e of I.challenges)await A(createAuthorizationRequiredEvent({authorization:e.challenge,candidateId:e.candidateId,description:e.challenge.instructions??`Authorization required for ${e.name}`,name:e.name,sequence:C.sequence,stepIndex:C.stepIndex,turnId:C.turnId,webhookUrl:e.hookUrl}));let e=I.stepInput===void 0?y:queueDeferredStepInput(y,I.stepInput);return{next:null,session:{...e,state:setPendingAuthorization(e.state,{challenges:I.challenges})}}}let L=resolvePendingInput({deferMessagesWhileApprovalsPending:t.mode!==`conversation`,history:M.messages,resolveApprovalKey:resolveApprovalKeyFromTools(t.tools),session:y,stepInput:I.stepInput});if(L.outcome===`unresolved`){let e=M.outcome===`resolved`?{...L.session,history:[...M.messages]}:L.session;if(A&&t.mode===`conversation`&&L.deferredMessage===!0&&hasStepInput(g)){T!==void 0&&prepareDynamicInstructionPreamble(T,projectHistory(e.history,e.state));let n=[];try{let e=await preparePreambleTrace();C=await emitTurnPreamble(A,fe??{},C,t.runtimeIdentity,e)}catch(t){if(n=T===void 0?[]:drainDynamicInstructionUserMessages(T),e={...e,history:[...e.history,...n]},y=e,!isDynamicModelSelectionError(t))throw t;return failModelSelection(t,{sessionStarted:!0,sequence:C.sequence,stepIndex:0,turnId:`turn_${C.sequence}`})}return n=T===void 0?[]:drainDynamicInstructionUserMessages(T),e={...e,history:[...e.history,...n]},C=await emitTurnEpilogue(A,C,t.mode),{next:null,session:setHarnessEmissionState(e,C)}}return M.outcome===`resolved`?(A&&t.mode===`conversation`&&(C=await emitTurnEpilogue(A,C,t.mode),e=setHarnessEmissionState(e,C)),{next:null,session:e}):{next:null,session:L.session}}if(L.resolvedInputs!==void 0)for(let e of L.resolvedInputs)await v?.publishInputResolutions({batch:e,sessionId:y.sessionId}),A&&await A(createInputResolvedEvent({resolutions:e.inputs.map(e=>{let t={kind:e.request.kind,outcome:e.outcome,requestId:e.request.requestId};return e.response===void 0?t:{...t,response:e.response}}),sequence:e.event.sequence,stepIndex:e.event.stepIndex,turnId:e.event.turnId}));if(A&&L.rejectedActions)for(let e of L.rejectedActions)for(let t of e.results)await A(createActionResultEvent({rejected:!0,result:t,sequence:e.event.sequence,stepIndex:e.event.stepIndex,turnId:e.event.turnId}));let R=[];if(P?.context!==void 0&&L.deferredContext!==!0)for(let e of P.context)R.push({content:e,role:`user`});let pe=normalizeUserContent(P?.message),me=pe!==void 0&&!L.deferredMessage&&!L.consumedMessage?await stageAttachmentsToSandbox(pe):void 0;me!==void 0&&R.push({content:me,role:`user`});let z=[],B;if(A&&hasStepInput(g)){T!==void 0&&(prepareDynamicInstructionPreamble(T,projectHistory(L.session.history,L.session.state)),prepareMemoryPreamble(T,{history:L.messages,input:R,state:L.session.state}));try{let e=await preparePreambleTrace();C=await emitTurnPreamble(A,fe??{},C,t.runtimeIdentity,e)}catch(e){if(z=T===void 0?[]:drainDynamicInstructionUserMessages(T),B=T===void 0?void 0:drainMemoryCommit(T),y={...L.session,history:[...B?.history??L.session.history,...z],state:B?.state??L.session.state},!isDynamicModelSelectionError(e))throw e;return failModelSelection(e,{sessionStarted:!0,sequence:C.sequence,stepIndex:0,turnId:`turn_${C.sequence}`})}z=T===void 0?[]:drainDynamicInstructionUserMessages(T),B=T===void 0?void 0:drainMemoryCommit(T),v?.setTurnId(C.turnId)}let he=B?.history??L.session.history,ge=L.session.history.length;y=setHarnessEmissionState({...L.session,history:[...he,...z],state:B?.state??L.session.state},C);let V=[...B?.history??L.messages.slice(0,ge),...z,...B===void 0?L.messages.slice(ge):[]],H=await applySessionLimitContinuation({config:t,emit:A,emissionState:C,limitContinuation:L.limitContinuation,session:y});if(H.result!==null)return H.result;y=H.session;let U=getAgentHandleStore(y.state);if(U!==void 0&&!hasUnansweredToolCall(V)&&U.handles.some(e=>e.phase===`addressed`)!==!0){let e=resolveAgentsAnnouncement({messages:projectHistory(V,y.state),store:U});e!==void 0&&V.push({content:e,role:`user`})}V=[...V,...R];let W=projectHistory(V,y.state),G=T,K;try{G!==void 0&&t.dispatchDynamicModelEvent!==void 0&&await t.dispatchDynamicModelEvent({ctx:G,event:{data:{sequence:C.sequence,stepIndex:C.stepIndex,turnId:C.turnId},type:`step.started`},messages:W}),K=await resolveActiveRuntimeModel({config:t,ctx:G,session:y})}catch(e){return failModelSelection(e,C)}y=K.session;let q=K.model,_e=detectPromptCachePath(q),J=_e.kind===`anthropic-direct`?getAnthropicCacheMarker():void 0,ve=buildGatewayAttributionHeaders(q,t.runtimeIdentity),Y=await maybeCompact({abortSignal:t.abortSignal,auth:G?.get(AuthKey)??null,emit:A,emissionState:C,historyProjector:t.historyProjector,messages:[...V],model:q,onCompaction:t.onCompaction,resolveModel:t.resolveModel,runtimeIdentity:t.runtimeIdentity,session:y,telemetry:v?.telemetry()});y=Y.session,Y.compacted&&(V=Y.messages),W=normalizeModelMessages(projectHistory(V,y.state)),A&&await emitStepStarted(A,C,requireSessionModelReference(y).id,W);let ye=getApprovedTools(y),be=C.sequence===0,X=resolveDeliveryPolicy({hasScheduleProvenance:be&&G?.get(ScheduleIdKey)!==void 0,hasOutputSchema:y.outputSchema!==void 0,isChild:G?.get(ParentSessionKey)!==void 0,isFirstTurn:be,taskDeliveryPhase:G?.get(TurnTaskDeliveryKey)}),Z=createCurrentMessages(W,{currentTurnMessages:R});if(G!==void 0){Z.addSystem(buildDynamicInstructionMessages(G));let e=G.get(PendingSkillAnnouncementKey);e!==void 0&&e.length>0&&Z.add(C.sequence,e);let t=G.get(TurnTaskStateKey);t!==void 0&&Z.add(C.sequence,t)}X.instruction!==void 0&&Z.add(C.sequence,X.instruction);let xe=renderPendingApprovalsInstruction(getPendingInputBatches(y.state).flatMap(e=>e.requests));xe!==void 0&&Z.add(C.sequence,xe,{cacheFriendly:!1});let Se=await hydrateSandboxAttachments(Z.nonSystemMessages),prepareModelCallInput=e=>{let t=e?[{role:`system`,content:e}]:[],n=y.agent.system?[{role:`system`,content:y.agent.system}]:[],r=Z.systemMessages.length>0||t.length>0?[...t,...n,...Z.systemMessages]:void 0,i=r!==void 0&&J?applySystemCacheBreakpoint(r,J):r,a=i===void 0?y.agent.system??void 0:mergeSystemInstructions(i);return{instructions:a,telemetryRuntimeContext:v?.resolveRuntimeContext({eveVersion,emissionState:C,environment,modelInput:{instructions:a,messages:Se},session:y})}},Ce=t.tools,runSingleModelCall=async e=>{let{instructions:n,telemetryRuntimeContext:i={}}=e.preparedInput??prepareModelCallInput(e.extraSystemNote);e.retryReason&&(i[`eve.retry.reason`]=e.retryReason);let o=e.trailingUserNote?[...Se,{role:`user`,content:e.trailingUserNote}]:[...Se],s=buildHarnessToolsWithDynamicSubagents(t.tools,G),c=createBackgroundToolCallBatch(),l=getAdvertisedTools({delegatedCaller:k,session:y,tools:s});Ce=l;let u=await buildToolSetWithProviderTools({approvedTools:ye,backgroundBatch:c,capabilities:t.capabilities,disabledProviderTools:e.disabledProviderTools,modelReference:requireSessionModelReference(y),tools:l,webSearchProvider:t.webSearchProvider});if(G!==void 0){let n=getAdvertisedTools({delegatedCaller:k,session:y,tools:buildDynamicTools(G)}),r=buildToolSetFromDefinitions({approvedTools:ye,backgroundBatch:c,capabilities:t.capabilities,disabledProviderTools:e.disabledProviderTools,tools:n});for(let[e,t]of Object.entries(r)){if(l.get(e)?.runtimeAction!==void 0)throw Error(`Dynamic tool "${e}" collides with a runtime-visible subagent.`);u[e]=t}}y.outputSchema!==void 0&&(u[FINAL_OUTPUT_TOOL_NAME]=buildFinalOutputTool(y.outputSchema));let d=A===void 0?void 0:({tools:e})=>createWorkflowLifecycle({emit:A,emissionState:C,tools:e}),f=t.workflow===!0?{lifecycle:d,maxSubagents:t.workflowMaxSubagents}:void 0,p=await getAdvertisedTools({delegatedCaller:k,modelTools:u,session:y,tools:l,workflow:f});y=p.session;let m=p.modelTools,h=J?applyLastToolCacheBreakpoint(m,J):m,g=activeTurnId(C),_=v?.prepareAttempt({attemptIndex:e.attemptIndex,runtimeContext:i,stepIndex:C.stepIndex,turnId:g});ue=_?.scope;let b=buildStepHooks({auth:G?.get(AuthKey)??null,cachePath:_e,emit:A,emissionState:C,emitStepStarted:e.suppressStepStartedEmission!==!0,marker:J,session:y}),x=new ToolLoopAgent({headers:ve,instructions:n,model:q,onLanguageModelCallEnd(e){for(let t of e.content)t.type!==`tool-call`||t.providerExecuted===!0||isInvalidToolCall(t)||c.register({callId:t.toolCallId,input:t.input,toolName:t.toolName})},onToolExecutionEnd:logToolExecutionError,onError(e){summarizeKnownError(e.error)?.tags.includes(`config`)!==!0&&logError(log,`tool-loop stream error`,e.error)},onStepFinish:b.onStepFinish,prepareStep:b.prepareStep,reasoning:y.agent.reasoning,runtimeContext:i,stopWhen:isStepCount(1),telemetry:_?.telemetry,toolApproval:buildToolApproval(m),tools:h}),executeModelCall=async()=>{if(A){let e=[...t.tools].filter(([e,t])=>t.runtimeAction!==void 0&&l.get(e)===void 0).map(([e])=>e),n=new Set([ASK_QUESTION_TOOL_NAME,FINAL_OUTPUT_TOOL_NAME,...e]),r=await x.stream({abortSignal:t.abortSignal,messages:o}),{emittedActionCallIds:i,handledInlineToolResultCallIds:a,invalidInputToolCallIds:s,inlineAuthorizationResults:c,trailingInlineToolResultParts:u}=await emitStreamContent(A,C,r.fullStream,{excludedActionToolNames:n,tools:l});throwIfTurnAborted(t.abortSignal);let[d,f]=await Promise.all([b.stepResult,r.responseMessages]);if(isEmptyModelResponse(d)&&extractToolResultCallIds(f).size===0&&c.length===0&&u.length===0)throw new EmptyModelResponseError;await emitStepActions(A,C,d,{emittedActionCallIds:i,excludedActionCallIds:s,excludedActionToolNames:n,handledInlineToolResultCallIds:a,tools:l});let p=d.toolResults,m=new Map(p.map(e=>[e.toolCallId,e]));for(let e of c)m.set(e.toolCallId,e);return withAccumulatedResponseMessages({invalidInputToolCallIds:s,responseMessages:appendMissingToolResultMessages({append:u,responseMessages:f}),stepResult:d,toolResults:[...m.values()]})}let e=await x.generate({abortSignal:t.abortSignal,messages:o});throwIfTurnAborted(t.abortSignal);let n=await b.stepResult;if(isEmptyModelResponse(n)&&extractToolResultCallIds(e.responseMessages).size===0)throw new EmptyModelResponseError;return withAccumulatedResponseMessages({responseMessages:e.responseMessages,stepResult:n})};try{let e=await executeModelCall();return await _?.complete(),e}catch(e){return await _?.fail(e),rethrowNoOutputAsEmptyResponse(e)}},we=0,runOneModelCall=async e=>runModelCallWithRetries(t=>runSingleModelCall({...e,attemptIndex:we++,preparedInput:t===1?e.preparedInput:void 0,suppressStepStartedEmission:t!==1||e.suppressStepStartedEmission}),{sessionId:y.sessionId,turnId:C.turnId},t.abortSignal),Te=prepareModelCallInput(),Ee=await continuePendingWorkflowInterrupt({childResults:P?.runtimeActionResults,config:t,emit:A,emissionState:C,runStep,session:y,tools:buildHarnessToolsWithDynamicSubagents(t.tools,G)});if(Ee!==null)return Ee;let De=await enforceSessionTokenLimit({config:t,emit:A,emissionState:C,messages:W,session:y});if(De!==null)return De;let Q;try{Q=await runOneModelCall({preparedInput:Te,suppressStepStartedEmission:!0})}catch(n){throwIfTurnAborted(t.abortSignal);let r=await runModelCallRecoveryPipeline({error:n,stages:[e=>attemptUnsupportedProviderToolRecovery({error:e.error,runOneModelCall,sessionId:y.sessionId,turnId:C.turnId}),e=>attemptEmptyResponseRecovery({emptyDeliveryEnabled:X.allowsEmptyDelivery,error:e.error,retryCallOptions:e.retryCallOptions,runOneModelCall,sessionId:y.sessionId,turnId:C.turnId})]});if(throwIfTurnAborted(t.abortSignal),r.outcome===`recovered`)Q=r.result;else{let n=r.error;if(v?.recordError(n),!A)throw n;let i=extractWorkflowStreamWriteErrorDetails(n);if(i!==null){let t=createErrorId();return log.error(`workflow stream write failed — parking session for retry by the user`,{...i,errorId:t,error:n,sessionId:y.sessionId,turnId:C.turnId}),C=await emitRecoverableFailedTurn(A,C,{code:`WORKFLOW_STREAM_WRITE_FAILED`,continuationToken:y.continuationToken,details:{...i,errorId:t},message:toErrorMessage(n)}),{next:null,session:setHarnessEmissionState(y,C)}}let a=classifyModelCallError(n),o=createErrorId(),s=summarizeKnownError(n),c=s===null?extractUpstreamRejectionMessage(n):null,l=s?.message??c?.message??toErrorMessage(n),u=s?.hint===void 0?l:`${l} ${s.hint}`,d=extractModelCallErrorDetails(n),p=buildModelCallFailureDetails({catalogSummary:s,error:n,errorId:o,modelCallDetails:d,upstreamRejection:c}),m=buildModelCallFailureLogFields({error:n,errorId:o,modelCallDetails:d,recognized:s!==null||c!==null,sessionId:y.sessionId,turnId:C.turnId});if(a===`terminal`)return s===null?log.error(c?.message??`model call failed terminally`,m):log.error(`${s.name}: ${s.message}`,{errorId:o,hint:s.hint,sessionId:y.sessionId,turnId:C.turnId}),await emitFailedStep(A,C,{code:`MODEL_CALL_FAILED`,details:p,message:l,sessionId:y.sessionId}),{next:t.mode===`task`||le?{done:!0,isError:!0,output:u}:{done:!0,output:``},session:y};if(t.mode===`task`){if(a===`recoverable`&&!(n instanceof EmptyModelResponseError))throw log.warn(c?.message??`model call failed recoverably in task mode — rethrowing for durable step retry`,m),n;return log.error(c?.message??`model call failed; failing the task run`,m),await emitFailedStep(A,C,{code:`MODEL_CALL_FAILED`,details:p,message:l,sessionId:y.sessionId}),{next:{done:!0,isError:!0,output:u},session:y}}log.error(c?.message??`model call failed — parking session for retry by the user`,m),C=await emitRecoverableFailedTurn(A,C,{code:`MODEL_CALL_FAILED`,continuationToken:y.continuationToken,details:p,message:l});let h={isError:!0,output:u};return y={...y,outputSchema:void 0},{next:null,session:setHarnessEmissionState(y,C),settledTurn:h}}}let $=accumulateTurnUsage({previous:getTurnUsageState(y.state),turnId:C.turnId,usage:extractTokenUsageDelta({costUsd:extractGatewayCostUsd(Q.providerMetadata),usage:Q.usage})});y=setTurnUsageState(y,$);let Oe;try{Oe=formatLanguageModelGatewayId(q)}catch{Oe=void 0}return await setEveAttributes({"$eve.model":Oe,"$eve.input_tokens":$.inputTokens,"$eve.output_tokens":$.outputTokens,"$eve.cache_read_tokens":$.cacheReadTokens,"$eve.cache_write_tokens":$.cacheWriteTokens,"$eve.cost_usd":$.sawCost?$.costUsd:void 0,"$eve.tool_count":t.tools.size}),handleStepResult({config:t,emit:A,emissionState:C,delegatedCaller:k,modelPromptMessageCount:W.length,promptMessages:V,result:Q,runStep,session:y,runtimeActionTools:Ce})}return runStep}function extractTokenUsageDelta(e){let t=e.usage;if(!(t===void 0&&e.costUsd===void 0))return{cacheReadTokens:t?.inputTokenDetails?.cacheReadTokens,cacheWriteTokens:t?.inputTokenDetails?.cacheWriteTokens,costUsd:e.costUsd,inputTokens:t?.inputTokens,outputTokens:t?.outputTokens}}function extractGatewayCostUsd(e){let t=readGatewayMetadata(e)?.cost;if(typeof t==`number`&&Number.isFinite(t))return t;if(typeof t==`string`){let e=Number(t);return Number.isFinite(e)?e:void 0}}function readGatewayMetadata(e){let t=e?.gateway;return t&&typeof t==`object`&&!Array.isArray(t)?t:void 0}function buildModelCallFailureDetails(e){let{catalogSummary:t,error:r,errorId:i,modelCallDetails:a,upstreamRejection:o}=e;if(t!==null){let e={errorId:i,message:t.message,name:t.name,semanticErrorId:t.id,...a};return t.hint!==void 0&&(e.hint=t.hint),e}return o===null?{...formatError(r,i),...a}:{errorId:i,message:toErrorMessage(r),name:o.name,...a}}function buildModelCallFailureLogFields(e){let t={errorId:e.errorId,sessionId:e.sessionId,turnId:e.turnId};return e.recognized?{...t,details:e.modelCallDetails}:{...t,error:e.error}}async function runModelCallRecoveryPipeline(e){let t=e.error,n;for(let r of e.stages){let e=await r({error:t,retryCallOptions:n});if(e.outcome===`recovered`)return e;e.outcome===`failed`&&(t=e.error,n=e.retryCallOptions)}return{outcome:`failed`,error:t}}function withAccumulatedResponseMessages(e){let{stepResult:t}=e;return{content:t.content,finishReason:t.finishReason,...e.invalidInputToolCallIds===void 0?{}:{invalidInputToolCallIds:e.invalidInputToolCallIds},providerMetadata:t.providerMetadata,response:{...t.response,messages:[...e.responseMessages]},text:t.text,toolCalls:t.toolCalls,toolResults:e.toolResults===void 0?t.toolResults:[...e.toolResults],usage:t.usage}}function appendMissingToolResultMessages(e){let t=extractToolResultCallIds(e.responseMessages),n=e.append.filter(e=>!t.has(e.toolCallId));return[...e.responseMessages,...n.length>0?[{role:`tool`,content:[...n]}]:[]]}function getInvalidToolCallInputErrors(e){let t=[];for(let n of e.toolCalls){if(n.toolName===FINAL_OUTPUT_TOOL_NAME)continue;let e=getInvalidToolCallInputError({toolCall:n});e!==void 0&&t.push(e)}return t}function extractToolResultCallIds(e){let t=new Set;for(let n of e)if(Array.isArray(n.content))for(let e of n.content)typeof e==`object`&&e&&e.type===`tool-result`&&t.add(e.toolCallId);return t}function hasUnansweredToolCall(e){let t=new Set,n=new Set;for(let r of e)if(Array.isArray(r.content))for(let e of r.content)typeof e!=`object`||!e||(e.type===`tool-call`&&t.add(e.toolCallId),e.type===`tool-result`&&n.add(e.toolCallId));for(let e of t)if(!n.has(e))return!0;return!1}async function attemptUnsupportedProviderToolRecovery(e){let t=extractUnsupportedProviderToolTypes(e.error);if(t.length===0)return{outcome:`skipped`};let n=[];for(let e of t){let t=resolveFrameworkToolFromUpstreamType(e);t!==null&&!n.includes(t)&&n.push(t)}if(n.length===0)return{outcome:`skipped`};log.warn(`disabling unsupported provider tool(s); retrying step once`,{disabled:n,sessionId:e.sessionId,turnId:e.turnId,upstreamTypes:t});let r={disabledProviderTools:new Set(n),extraSystemNote:buildDisabledToolNote(n)};try{return{outcome:`recovered`,result:await e.runOneModelCall({...r,suppressStepStartedEmission:!0})}}catch(e){return{outcome:`failed`,error:e,retryCallOptions:r}}}function buildDisabledToolNote(e){let t=e.join(`, `);return`The following ${e.length===1?`tool is`:`tools are`} not available with the current model and has been removed: ${t}. Proceed using the remaining tools or your training knowledge.`}function isEmptyModelResponse(e){return e.toolCalls.length===0&&e.toolResults.length===0&&resolveAssistantStepText(e.response.messages,e.text)===null}function rethrowNoOutputAsEmptyResponse(e){throw isNoOutputGeneratedError(e)?new EmptyModelResponseError({cause:e}):e}const EMPTY_RESPONSE_NUDGE=`Your previous reply was empty and was not delivered. Answer now from the tool results above; do not re-run tools or mention this notice.`;function buildEmptyResponseNudge(e){return e?`${EMPTY_RESPONSE_NUDGE} If the current task explicitly requires conditional delivery and there is nothing to report, reply with exactly ${EMPTY_DELIVERY_SENTINEL}.`:EMPTY_RESPONSE_NUDGE}async function attemptEmptyResponseRecovery(e){if(!(e.error instanceof EmptyModelResponseError))return{outcome:`skipped`};log.warn(`empty model response; reissuing the model call once`,{sessionId:e.sessionId,turnId:e.turnId});try{return{outcome:`recovered`,result:await e.runOneModelCall({...e.retryCallOptions,retryReason:`empty-response`,suppressStepStartedEmission:!0,trailingUserNote:buildEmptyResponseNudge(e.emptyDeliveryEnabled)})}}catch(t){return{outcome:`failed`,error:t,retryCallOptions:e.retryCallOptions}}}async function handleStepResult(e){let{config:t,emit:n,promptMessages:r,result:a,runStep:o}=e,{emissionState:s,session:c}=e,l=resolveAssistantStepText(a.response.messages,a.text),u=a.finishReason!==`tool-calls`&&a.toolCalls.length===0&&hasEmptyDeliverySentinel(l),d=getInvalidToolCallInputErrors({toolCalls:a.toolCalls}),f=new Set([...a.invalidInputToolCallIds??[],...a.toolCalls.filter(isInvalidToolCall).map(e=>e.toolCallId),...d.map(e=>e.toolCallId)]),p=u?[]:appendMissingToolResultMessages({append:d.map(e=>createToolResultMessagePartFromToolError(e)),responseMessages:a.response.messages}),m=u?null:l,h=new Set;for(let e of[...a.content??[],...a.toolResults??[]])(e.type===`tool-result`||e.type===`tool-error`)&&e.providerExecuted===!0&&h.add(e.toolCallId);let v=normalizeProviderToolHistory({messages:p,providerExecutedOutcomeIds:h}),y=v.messages,b={...c,compaction:createNextCompactionConfig(c.compaction,e.modelPromptMessageCount,a)},ee=t.workflow===!0?readWorkflowContinuationSecurity(b):void 0;if(ee!==void 0){let e=await getWorkflowSandboxInterrupt(a,ee);if(e!==void 0){if(!isWorkflowRuntimeActionInterrupt(e))throw Error(`Unsupported Workflow interrupt kind "${e.payload.kind}".`);return parkOnWorkflowInterrupt({baseSession:b,emissionState:s,interrupt:e,promptMessages:r,responseMessages:y})}}let S=extractToolApprovalInputRequests({content:a.content??[],excludedCallIds:f}),C=new Set(S.map(e=>e.action.callId)),te=extractQuestionInputRequests({toolCalls:a.toolCalls,excludedCallIds:new Set([...f,...C])}),w=[...S,...te],ne=renderPendingApprovalsSnippet(S),T=y.findIndex(e=>e.role!==`tool`),re=T===-1?y:y.slice(0,T),ie=y.slice(re.length),ae=[...r,...re,...ne===void 0?[]:[{content:ne,role:`user`}]],oe=getAdvertisedTools({delegatedCaller:e.delegatedCaller,session:b,tools:e.runtimeActionTools}),E=(a.toolCalls??[]).filter(e=>!f.has(e.toolCallId)).filter(t=>e.runtimeActionTools.get(t.toolName)?.runtimeAction!==void 0).filter(e=>oe.get(e.toolName)?.runtimeAction===void 0?(log.warn(`runtime action tool call blocked because tool is not advertised`,{callId:e.toolCallId,sessionId:b.sessionId,toolName:e.toolName}),!1):!0).map(e=>createRuntimeActionRequestFromToolCall({toolCall:e,tools:oe}));if(E.length>0){if(w.length===0)return{next:null,session:setHarnessEmissionState(setPendingRuntimeActionBatch({actions:E,event:{sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId},responseMessages:y,session:{...b,history:[...r]}}),advanceStep(s))};let e=setPendingRuntimeActionBatch({actions:E,event:{sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId},responseMessages:ie,session:{...b,history:ae}});return e=appendPendingInputBatch({event:{sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId},requests:w,responseMessages:[],session:e}),n&&await n(createInputRequestedEvent({requests:w,sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId})),{next:null,session:setHarnessEmissionState(e,advanceStep(s))}}if(w.length>0){let e=buildResponseAuthorizationTools({authoredTools:t.tools,context:contextStorage.getStore()}),r=appendPendingInputBatch({event:{sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId},requests:w,responseAuthRequiredRequestIds:S.filter(t=>{let n=e.get(t.action.toolName)?.approval;return n!==void 0&&typeof n!=`function`&&n.response!==void 0}).map(e=>e.requestId),responseMessages:ie,session:{...b,history:ae}});return n&&(await n(createInputRequestedEvent({requests:w,sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId})),t.mode===`conversation`&&(s=await emitTurnEpilogue(n,s,t.mode),r=setHarnessEmissionState(r,s))),{next:hasDeferredStepInput(r)?o:null,session:r}}let se=resolveInlineAuthorizationInterrupt({messages:[...r,...y],toolResults:a.toolResults});if(se){let{challenges:e,history:r}=se;if(n){for(let t of getSupersededAuthorizationChallenges(b.state,e))await n(createAuthorizationCompletedEvent({attemptId:t.attemptId,authorization:t.challenge,name:t.name,outcome:`failed`,reason:`Superseded by a newer authorization attempt.`,sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId}));for(let t of e)await n(createAuthorizationRequiredEvent({attemptId:t.attemptId,authorization:t.challenge,name:t.name,description:t.challenge.instructions??`Authorization required for ${t.name}`,webhookUrl:t.hookUrl,sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId}));t.mode===`conversation`&&(s=await emitTurnEpilogue(n,s,t.mode))}return{next:null,session:setHarnessEmissionState({...b,history:r,state:setPendingAuthorization(b.state,{challenges:e})},s)}}let D=y,ce=[...r,...D],O={...b,history:ce};return!(O.outputSchema!==void 0&&extractFinalOutput(a)!==void 0)&&(D.at(-1)?.role===`tool`||v.outcomeEndsResponse||hasDeferredStepInput(O))?(n&&(s=advanceStep(s),O=setHarnessEmissionState(O,s)),{next:o,session:O}):t.mode===`task`?finishTaskTurn({emissionState:s,emit:n,history:r,result:a,schema:O.outputSchema,session:O,stepOutput:m}):finishConversationTurn({emissionState:s,emit:n,history:r,result:a,schema:O.outputSchema,session:O,stepOutput:m})}const OUTPUT_SCHEMA_NOT_FULFILLED={code:`OUTPUT_SCHEMA_NOT_FULFILLED`,message:`The agent could not produce a result matching the requested schema.`};function extractFinalOutput(e){return(e.toolCalls??[]).find(e=>e.toolName===FINAL_OUTPUT_TOOL_NAME&&!isInvalidToolCall(e))?.input}function persistStructuredAssistantTurn(e,t,n){return{...e,history:[...t,{content:JSON.stringify(n),role:`assistant`}],outputSchema:void 0}}async function emitStructuredResult(e,t,n,r,i){return await e(createResultCompletedEvent({result:n,sequence:t.sequence,stepIndex:t.stepIndex,turnId:t.turnId})),emitTurnEpilogue(e,t,r,i)}async function finishTaskTurn(e){let{emit:t,history:n,result:r,schema:i,stepOutput:a}=e,{emissionState:o,session:s}=e;if(i===void 0)return t&&(o=await emitTurnEpilogue(t,o,`task`,s.history),s=setHarnessEmissionState(s,o)),{next:{done:!0,output:a??``},session:s};let c=extractFinalOutput(r);return c===void 0?(s={...s,outputSchema:void 0},t&&await emitFailedStep(t,o,{...OUTPUT_SCHEMA_NOT_FULFILLED,sessionId:s.sessionId}),{next:{done:!0,isError:!0,output:OUTPUT_SCHEMA_NOT_FULFILLED.message},session:s}):(s=persistStructuredAssistantTurn(s,n,c),t&&(o=await emitStructuredResult(t,o,c,`task`,s.history),s=setHarnessEmissionState(s,o)),{next:{done:!0,output:c},session:s})}async function finishConversationTurn(e){let{emit:t,history:n,result:r,schema:i,stepOutput:a}=e,{emissionState:o,session:s}=e;if(i===void 0)return t&&(o=await emitTurnEpilogue(t,o,`conversation`,s.history),s=setHarnessEmissionState(s,o)),{next:null,session:s,settledTurn:{output:a??``}};let c=extractFinalOutput(r);if(c===void 0){s={...s,outputSchema:void 0},t&&(o=await emitRecoverableFailedTurn(t,o,{...OUTPUT_SCHEMA_NOT_FULFILLED,continuationToken:s.continuationToken}),s=setHarnessEmissionState(s,o));let e={isError:!0,output:OUTPUT_SCHEMA_NOT_FULFILLED.message};return{next:null,session:s,settledTurn:e}}return s=persistStructuredAssistantTurn(s,n,c),t&&(o=await emitStructuredResult(t,o,c,`conversation`,s.history),s=setHarnessEmissionState(s,o)),{next:null,session:s,settledTurn:{output:c}}}async function continuePendingWorkflowInterrupt(e){let t=getPendingWorkflowInterrupt(e.session.state);if(t===void 0)return null;let n=t.interrupt;if(!isWorkflowRuntimeActionInterrupt(n))throw Error(`Unsupported Workflow interrupt kind "${n.payload.kind}".`);let i=e.emit===void 0?void 0:createWorkflowLifecycle({emit:e.emit,emissionState:e.emissionState,skipReplayed:!0,tools:e.tools}),a=getWorkflowContinuationSecurity(e.session),o;try{let t=buildWorkflowHostTools({tools:e.tools}),r=e.childResults??[],s=n,c=0;for(;;){o=await continueWorkflowSandboxInterrupt({bridgeRequestLimit:resolveWorkflowSandboxBridgeRequestLimit(e.config.workflowMaxSubagents),continuationSecurity:a,interrupt:s,lifecycle:i,resolution:r[c]?.output,tools:t});let n=await unwrapWorkflowSandboxResult(o,a);if(n.status!==`interrupted`||!isWorkflowRuntimeActionInterrupt(n.interrupt)||c+1>=r.length)break;let l=getWorkflowRuntimeActionInterrupts(n.interrupt)[0];if(l===void 0)throw Error(`Workflow continuation contains no pending runtime-action interrupt.`);c++,s=l}}catch(e){logError(log,`Workflow interrupt continuation failed`,e),o={error:`workflow_continuation_failed`,message:toErrorMessage(e),retryable:!1}}let s=await unwrapWorkflowSandboxResult(o,a),c=s.status===`interrupted`?s.interrupt:s.output,l=replaceWorkflowToolResult([...e.session.history,...t.responseMessages],n.outerToolCallId,c),u=clearPendingWorkflowInterrupt({...e.session,history:l});if(s.status===`interrupted`){if(!isWorkflowRuntimeActionInterrupt(s.interrupt))throw Error(`Unsupported Workflow interrupt kind "${s.interrupt.payload.kind}".`);let t=e.session.history.length,n=l.slice(0,t),r=l.slice(t);return u={...u,history:n},parkOnWorkflowInterrupt({baseSession:u,emissionState:e.emissionState,interrupt:s.interrupt,promptMessages:n,responseMessages:r})}return{next:e.runStep,session:u}}function replaceWorkflowToolResult(e,t,n){if(t===void 0)return[...e];let r=typeof n==`string`?{type:`text`,value:n}:{type:`json`,value:n};return e.map(e=>{if(e.role!==`tool`)return e;let n=e.content.map(e=>e.type!==`tool-result`||e.toolCallId!==t?e:{...e,output:r});return{...e,content:n}})}function parkOnWorkflowInterrupt(e){let t=getWorkflowRuntimeActionInterrupts(e.interrupt)[0];if(t===void 0)throw Error(`Workflow continuation contains no pending runtime-action interrupt.`);let n={...e.baseSession,history:[...e.promptMessages]};return{next:null,session:setHarnessEmissionState(setPendingWorkflowInterrupt({interrupt:t,responseMessages:e.responseMessages,session:n}),e.emissionState)}}function createNextCompactionConfig(e,t,n){let r={recentWindowSize:e.recentWindowSize,threshold:e.threshold,thresholdPercent:e.thresholdPercent};return n.usage?.inputTokens!==void 0&&(r.lastKnownInputTokens=n.usage.inputTokens,r.lastKnownPromptMessageCount=t),r}async function maybeCompact(e){let{emit:t,emissionState:n}=e,r=e.messages,a=e.session,o=e.historyProjector?.({messages:r,state:a.state})??r,s=e.force===!0||shouldCompact(o,a.compaction),c=shouldCanonicalizeMemory(r);if(!s&&!c)return{compacted:!1,messages:r,session:a};let l=await resolveCompactionModel({compactionModelReference:a.agent.compactionModelReference,model:e.model,modelReference:requireSessionModelReference(a),resolveModel:e.resolveModel}),u=mergeProviderSafetyIdentifier(a.agent.compactionModelReference??requireSessionModelReference(a),l.providerOptions,e.auth);if(t){let e=contextStorage.getStore();e!==void 0&&prepareMemoryCompaction(e,{history:r,state:a.state}),await t(createCompactionRequestedEvent({modelId:formatLanguageModelGatewayId(l.model),sequence:n.sequence,sessionId:a.sessionId,turnId:n.turnId,usageInputTokens:getInputTokenCount(o,a.compaction)}),o)}let d=canonicalizeMemoryRecords(r),f=e.historyProjector?.({messages:d.ordinary,state:a.state})??d.ordinary,p=s?await compactMessages([...f],l.model,a.compaction,u,e.telemetry,buildGatewayAttributionHeaders(l.model,e.runtimeIdentity),e.abortSignal,e.force===!0):[...f];if(r=[...d.memory,...p],e.onCompaction)for(let t of e.onCompaction())r.push(t);if(t){let o=contextStorage.getStore();if(o!==void 0&&prepareMemoryCompaction(o,{history:r,state:a.state}),await t(createCompactionCompletedEvent({modelId:formatLanguageModelGatewayId(l.model),sequence:n.sequence,sessionId:a.sessionId,turnId:n.turnId}),e.historyProjector?.({messages:r,state:a.state})??r),o!==void 0){let e=drainMemoryCommit(o);e!==void 0&&(r=[...e.history],a={...a,state:e.state})}}return{compacted:!0,messages:r,session:a}}function resolveApprovalKeyFromTools(e){return t=>{let n=e.get(t.action.toolName);if(n?.approvalKey!==void 0)return n.approvalKey(t.action.input)}}async function runModelCallWithRetries(e,t,n){for(let r=1;;r++){throwIfTurnAborted(n);try{return await e(r)}catch(e){if(throwIfTurnAborted(n),r===3||classifyModelCallError(e)!==`retry`)throw e;let i=500*2**(r-1)+Math.floor(Math.random()*250);log.warn(`model call failed transiently — retrying`,{attempt:r,delayMs:i,sessionId:t.sessionId,turnId:t.turnId,error:e}),await new Promise(e=>setTimeout(e,i))}}}export{appendMissingToolResultMessages,createToolLoopHarness};
3
+ `)};return t!==void 0&&(n.providerOptions=t),n}function buildGatewayAttributionHeaders(e,t){let n=resolveProviderHeaders(e);if(n===void 0)return;let r=t?.agentName??t?.agentId,i=process.env.VERCEL_PROJECT_PRODUCTION_URL||process.env.VERCEL_URL,a=i?`https://${i}`:void 0,o={...n};return r&&(o[`x-title`]=r),a&&(o[`http-referer`]=a),o}async function resolveActiveRuntimeModel(e){if(e.ctx===void 0){let t=e.session.agent.modelReference;if(t===void 0)throw Error(`Dynamic model selection is unavailable outside an eve runtime context.`);return{model:await e.config.resolveModel(t),session:e.session}}let t=getActiveDynamicModelSelection(e.ctx);if(t===null){let t=e.session.agent.modelReference;if(e.session.agent.dynamicModel===!0||t===void 0)throw Error(`Dynamic model selection is required before model-dependent work begins. Add a matching resolver handler that returns a concrete model.`);return{model:await e.config.resolveModel(t),session:e.session}}return{model:t.model===void 0?await e.config.resolveModel(t.reference):t.model,session:updateSessionModelReference(e.session,t.reference)}}function updateSessionModelReference(e,t){return{...e,agent:{...e.agent,modelReference:t},compaction:updateCompactionThresholdForModelReference({compaction:e.compaction,modelReference:t})}}function updateCompactionThresholdForModelReference(e){return e.modelReference.contextWindowTokens===void 0?e.compaction:{...e.compaction,threshold:Math.max(1,Math.floor(e.modelReference.contextWindowTokens*(e.compaction.thresholdPercent??.9)))}}function buildHarnessToolsWithDynamicSubagents(e,t){let n=new Map(e);if(t===void 0)return n;for(let e of buildDynamicSubagentTools(t)){if(n.has(e.name))throw Error(`Dynamic subagent "${e.name}" collides with another runtime-visible tool name.`);n.set(e.name,e)}return n}function createToolLoopHarness(t){let n=t.handleEvent;async function runStep(e,n){return t.instrumentation?.runStep({environment,eveVersion,hasInput:hasStepInput(n),session:e},e=>executeStepBody(e.session,n,e))??executeStepBody(e,n)}async function executeStepBody(d,g,v){let y=d,ee=createHistoryViewPreparer({previous:t.historyView,projector:t.historyProjector});ee(y.history,y.state);let projectHistory=(e,t)=>ee(e,t).messages,S=getHarnessEmissionState(y.state),w=contextStorage.getStore(),T=w?.get(ParentSessionKey),E=w?.get(ChannelKey),D=w?.get(SessionCallbackKey),ue=T!==void 0||D!==void 0,O=(D?.taskId!==void 0||readTaskIdFromInboxToken(String(E?.state?.parentContinuationToken??``))!==void 0)&&t.tools.has(TASK_UPDATE_TOOL_NAME),de,k=v?.createHandleEvent({getAttemptScope:()=>de,handleEvent:n,turnId:activeTurnId(S)})??n,failModelSelection=async(n,r)=>{if(throwIfTurnAborted(t.abortSignal),v?.recordError(n),!k)throw n;let i=createErrorId(),a=toErrorMessage(n);return log.error(`model selection failed terminally`,{error:n,errorId:i,sessionId:y.sessionId,turnId:r.turnId}),await emitFailedStep(k,r,{code:`MODEL_SELECTION_FAILED`,details:{errorId:i},message:a,sessionId:y.sessionId}),{next:t.mode===`task`||ue?{done:!0,isError:!0,output:a}:{done:!0,output:``},session:y}},preparePreambleTrace=async()=>await v?.preparePreamble({sequence:S.sequence,sessionStarted:S.sessionStarted,traceContext:v?.traceContext,turnId:`turn_${S.sequence}`});if(t.clearOnly===!0)return y={...y,compaction:{recentWindowSize:y.compaction.recentWindowSize,threshold:y.compaction.threshold,thresholdPercent:y.compaction.thresholdPercent},history:[],state:clearMemorySessionState(y.state)},await k?.(createContextClearedEvent({sequence:S.sequence,sessionId:y.sessionId,turnId:activeTurnId(S)})),await k?.(createSessionWaitingEvent()),{next:null,session:y};if(t.compactOnly===!0){if(y.history.length>0)try{let e=contextStorage.getStore(),n=await resolveActiveRuntimeModel({config:t,ctx:e,session:y});y=n.session;let r=await maybeCompact({abortSignal:t.abortSignal,auth:e?.get(AuthKey)??null,emit:k,emissionState:{...S,turnId:activeTurnId(S)},force:!0,historyProjector:t.historyProjector,messages:[...y.history],model:n.model,onCompaction:t.onCompaction,resolveModel:t.resolveModel,runtimeIdentity:t.runtimeIdentity,session:y,telemetry:v?.telemetry()});y={...r.session,compaction:{recentWindowSize:r.session.compaction.recentWindowSize,threshold:r.session.compaction.threshold,thresholdPercent:r.session.compaction.thresholdPercent},history:r.messages}}catch(e){logError(log,`manual session compaction failed`,e,{sessionId:y.sessionId})}return await k?.(createSessionWaitingEvent()),{next:null,session:y}}let A=consumeDeferredStepInput({input:g,preferCurrentInput:t.mode!==`conversation`&&g!==void 0&&hasPendingApprovalBatch(y),session:y});y=A.session;let j=await resolvePendingRuntimeActions({emit:k,session:y,stepInput:A.input});if(j.outcome===`unresolved`)return{next:null,session:j.session};y=j.session;let fe=getPendingInputRequestIds(y.state),M=convertStaleResponsesToUserMessage({history:j.messages,pendingRequestIds:fe,stepInput:dropStaleSessionLimitContinuationResponses({pendingRequestIds:fe,stepInput:A.input})}),N=M.stepInput,pe=M.kind===`converted`?{...N,message:M.displayMessage}:N,P=contextStorage.getStore();P!==void 0&&t.resolveStepDynamicTools!==void 0&&shouldPrepareApprovalPolicyTools({session:y,stepInput:N})&&await t.resolveStepDynamicTools({ctx:P,event:createStepStartedEvent({modelId:y.agent.modelReference?.id??`dynamic`,sequence:S.sequence,stepIndex:S.stepIndex,turnId:S.turnId}),messages:projectHistory(j.messages,y.state)});let F=await coordinateApprovalDelivery({session:y,stepInput:N,tools:buildResponseAuthorizationTools({authoredTools:t.tools,context:P})});if(y=F.session,k){for(let e of F.feedback)await k(createMessageCompletedEvent({message:e,sequence:S.sequence,stepIndex:S.stepIndex,turnId:S.turnId}));let e=getApprovalAuditState(y.state);for(let t of e.activeCandidates.filter(e=>e.pendingEventEmitted!==!0))await k(createApprovalCandidateEvent({candidateId:t.candidateId,outcome:`pending`,requestId:t.requestId,responderPrincipalId:t.responder.principalId,sequence:S.sequence,stepIndex:S.stepIndex,turnId:S.turnId})),y={...y,state:markApprovalCandidatePendingEventEmitted({candidateId:t.candidateId,state:y.state})};for(let t of e.candidateHistory.filter(e=>e.eventEmitted!==!0&&e.status!==`allowed`))await k(createApprovalCandidateEvent({candidateId:t.candidateId,outcome:t.status,requestId:t.requestId,responderPrincipalId:t.responder.principalId,reason:t.reason,sequence:S.sequence,stepIndex:S.stepIndex,turnId:S.turnId})),y={...y,state:markApprovalCandidateHistoryEventEmitted({candidateId:t.candidateId,state:y.state})};for(let t of e.settlements.filter(e=>e.eventEmitted!==!0))await k(createApprovalSettledEvent({outcome:t.outcome===`allowed`?`approved`:`cancelled`,requestId:t.requestId,responderPrincipalId:t.actor.principalId,sequence:S.sequence,stepIndex:S.stepIndex,turnId:S.turnId})),y={...y,state:markApprovalSettlementEventEmitted({requestId:t.requestId,state:y.state})}}if(F.kind===`park`)return{next:null,session:y};if(F.kind===`continue-coordination`)return{next:runStep,session:F.stepInput===void 0?y:queueDeferredStepInput(y,F.stepInput)};if(F.challenges.length>0){if(k)for(let e of F.challenges)await k(createAuthorizationRequiredEvent({authorization:e.challenge,candidateId:e.candidateId,description:e.challenge.instructions??`Authorization required for ${e.name}`,name:e.name,sequence:S.sequence,stepIndex:S.stepIndex,turnId:S.turnId,webhookUrl:e.hookUrl}));let e=F.stepInput===void 0?y:queueDeferredStepInput(y,F.stepInput);return{next:null,session:{...e,state:setPendingAuthorization(e.state,{challenges:F.challenges})}}}let I=resolvePendingInput({deferMessagesWhileApprovalsPending:t.mode!==`conversation`,history:j.messages,resolveApprovalKey:resolveApprovalKeyFromTools(t.tools),session:y,stepInput:F.stepInput});if(I.outcome===`unresolved`){let e=j.outcome===`resolved`?{...I.session,history:[...j.messages]}:I.session;if(k&&t.mode===`conversation`&&I.deferredMessage===!0&&hasStepInput(g)){w!==void 0&&prepareDynamicInstructionPreamble(w,projectHistory(e.history,e.state));let n=[];try{let e=await preparePreambleTrace();S=await emitTurnPreamble(k,pe??{},S,t.runtimeIdentity,e)}catch(t){if(n=w===void 0?[]:drainDynamicInstructionUserMessages(w),e={...e,history:[...e.history,...n]},y=e,!isDynamicModelSelectionError(t))throw t;return failModelSelection(t,{sessionStarted:!0,sequence:S.sequence,stepIndex:0,turnId:`turn_${S.sequence}`})}return n=w===void 0?[]:drainDynamicInstructionUserMessages(w),e={...e,history:[...e.history,...n]},S=await emitTurnEpilogue(k,S,t.mode),{next:null,session:setHarnessEmissionState(e,S)}}return j.outcome===`resolved`?(k&&t.mode===`conversation`&&(S=await emitTurnEpilogue(k,S,t.mode),e=setHarnessEmissionState(e,S)),{next:null,session:e}):{next:null,session:I.session}}if(I.resolvedInputs!==void 0)for(let e of I.resolvedInputs)await v?.publishInputResolutions({batch:e,sessionId:y.sessionId}),k&&await k(createInputResolvedEvent({resolutions:e.inputs.map(e=>{let t={kind:e.request.kind,outcome:e.outcome,requestId:e.request.requestId};return e.response===void 0?t:{...t,response:e.response}}),sequence:e.event.sequence,stepIndex:e.event.stepIndex,turnId:e.event.turnId}));if(k&&I.rejectedActions)for(let e of I.rejectedActions)for(let t of e.results)await k(createActionResultEvent({rejected:!0,result:t,sequence:e.event.sequence,stepIndex:e.event.stepIndex,turnId:e.event.turnId}));let L=[];if(N?.context!==void 0&&I.deferredContext!==!0)for(let e of N.context)L.push({content:e,role:`user`});let me=normalizeUserContent(N?.message),he=me!==void 0&&!I.deferredMessage&&!I.consumedMessage?await stageAttachmentsToSandbox(me):void 0;he!==void 0&&L.push({content:he,role:`user`});let R=[],z;if(k&&hasStepInput(g)){w!==void 0&&(prepareDynamicInstructionPreamble(w,projectHistory(I.session.history,I.session.state)),prepareMemoryPreamble(w,{history:I.messages,input:L,state:I.session.state}));try{let e=await preparePreambleTrace();S=await emitTurnPreamble(k,pe??{},S,t.runtimeIdentity,e)}catch(e){if(R=w===void 0?[]:drainDynamicInstructionUserMessages(w),z=w===void 0?void 0:drainMemoryCommit(w),y={...I.session,history:[...z?.history??I.session.history,...R],state:z?.state??I.session.state},!isDynamicModelSelectionError(e))throw e;return failModelSelection(e,{sessionStarted:!0,sequence:S.sequence,stepIndex:0,turnId:`turn_${S.sequence}`})}R=w===void 0?[]:drainDynamicInstructionUserMessages(w),z=w===void 0?void 0:drainMemoryCommit(w),v?.setTurnId(S.turnId)}let ge=z?.history??I.session.history,_e=I.session.history.length;y=setHarnessEmissionState({...I.session,history:[...ge,...R],state:z?.state??I.session.state},S);let B=[...z?.history??I.messages.slice(0,_e),...R,...z===void 0?I.messages.slice(_e):[]],V=await applySessionLimitContinuation({config:t,emit:k,emissionState:S,limitContinuation:I.limitContinuation,session:y});if(V.result!==null)return V.result;y=V.session;let H=getAgentHandleStore(y.state);if(H!==void 0&&!hasUnansweredToolCall(B)&&H.handles.some(e=>e.phase===`addressed`)!==!0){let e=resolveAgentsAnnouncement({messages:projectHistory(B,y.state),store:H});e!==void 0&&B.push({content:e,role:`user`})}B=[...B,...L];let U=projectHistory(B,y.state),W=w,G;try{W!==void 0&&t.dispatchDynamicModelEvent!==void 0&&await t.dispatchDynamicModelEvent({ctx:W,event:{data:{sequence:S.sequence,stepIndex:S.stepIndex,turnId:S.turnId},type:`step.started`},messages:U}),G=await resolveActiveRuntimeModel({config:t,ctx:W,session:y})}catch(e){return failModelSelection(e,S)}y=G.session;let K=G.model,ve=detectPromptCachePath(K),q=ve.kind===`anthropic-direct`?getAnthropicCacheMarker():void 0,ye=buildGatewayAttributionHeaders(K,t.runtimeIdentity),J=await maybeCompact({abortSignal:t.abortSignal,auth:W?.get(AuthKey)??null,emit:k,emissionState:S,historyProjector:t.historyProjector,messages:[...B],model:K,onCompaction:t.onCompaction,resolveModel:t.resolveModel,runtimeIdentity:t.runtimeIdentity,session:y,telemetry:v?.telemetry()});y=J.session,J.compacted&&(B=J.messages),U=normalizeModelMessages(projectHistory(B,y.state)),k&&await emitStepStarted(k,S,requireSessionModelReference(y).id,U);let be=getApprovedTools(y),xe=S.sequence===0,Y=resolveDeliveryPolicy({hasScheduleProvenance:xe&&W?.get(ScheduleIdKey)!==void 0,hasOutputSchema:y.outputSchema!==void 0,isChild:W?.get(ParentSessionKey)!==void 0,isFirstTurn:xe,taskDeliveryPhase:W?.get(TurnTaskDeliveryKey)}),X=createCurrentMessages(U,{currentTurnMessages:L});if(W!==void 0){X.addSystem(buildDynamicInstructionMessages(W));let e=W.get(PendingSkillAnnouncementKey);e!==void 0&&e.length>0&&X.add(S.sequence,e);let t=W.get(TurnTaskStateKey);t!==void 0&&X.add(S.sequence,t)}Y.instruction!==void 0&&X.add(S.sequence,Y.instruction);let Se=renderPendingApprovalsInstruction(getPendingInputBatches(y.state).flatMap(e=>e.requests));Se!==void 0&&X.add(S.sequence,Se,{cacheFriendly:!1});let Z=await hydrateSandboxAttachments(X.nonSystemMessages),prepareModelCallInput=e=>{let t=e?[{role:`system`,content:e}]:[],n=y.agent.system?[{role:`system`,content:y.agent.system}]:[],r=X.systemMessages.length>0||t.length>0?[...t,...n,...X.systemMessages]:void 0,i=r!==void 0&&q?applySystemCacheBreakpoint(r,q):r,a=i===void 0?y.agent.system??void 0:mergeSystemInstructions(i);return{instructions:a,telemetryRuntimeContext:v?.resolveRuntimeContext({eveVersion,emissionState:S,environment,modelInput:{instructions:a,messages:Z},session:y})}},Ce=t.tools,runSingleModelCall=async e=>{let{instructions:n,telemetryRuntimeContext:i={}}=e.preparedInput??prepareModelCallInput(e.extraSystemNote);e.retryReason&&(i[`eve.retry.reason`]=e.retryReason);let o=e.trailingUserNote?[...Z,{role:`user`,content:e.trailingUserNote}]:[...Z],s=buildHarnessToolsWithDynamicSubagents(t.tools,W),c=createBackgroundToolCallBatch(),l=getAdvertisedTools({delegatedCaller:O,session:y,tools:s});Ce=l;let u=await buildToolSetWithProviderTools({approvedTools:be,backgroundBatch:c,capabilities:t.capabilities,disabledProviderTools:e.disabledProviderTools,modelReference:requireSessionModelReference(y),tools:l,webSearchProvider:t.webSearchProvider});if(W!==void 0){let n=getAdvertisedTools({delegatedCaller:O,session:y,tools:buildDynamicTools(W)}),r=buildToolSetFromDefinitions({approvedTools:be,backgroundBatch:c,capabilities:t.capabilities,disabledProviderTools:e.disabledProviderTools,tools:n});for(let[e,t]of Object.entries(r)){if(l.get(e)?.runtimeAction!==void 0)throw Error(`Dynamic tool "${e}" collides with a runtime-visible subagent.`);u[e]=t}}y.outputSchema!==void 0&&(u[FINAL_OUTPUT_TOOL_NAME]=buildFinalOutputTool(y.outputSchema));let d=t.workflow===!0?{maxSubagents:t.workflowMaxSubagents}:void 0,f=await getAdvertisedTools({delegatedCaller:O,modelTools:u,session:y,tools:l,workflow:d});y=f.session;let p=f.modelTools,m=q?applyLastToolCacheBreakpoint(p,q):p,h=activeTurnId(S),g=v?.prepareAttempt({attemptIndex:e.attemptIndex,runtimeContext:i,stepIndex:S.stepIndex,turnId:h});de=g?.scope;let _=buildStepHooks({auth:W?.get(AuthKey)??null,cachePath:ve,emit:k,emissionState:S,emitStepStarted:e.suppressStepStartedEmission!==!0,marker:q,session:y}),b=new ToolLoopAgent({headers:ye,instructions:n,model:K,onLanguageModelCallEnd(e){for(let t of e.content)t.type!==`tool-call`||t.providerExecuted===!0||isInvalidToolCall(t)||c.register({callId:t.toolCallId,input:t.input,toolName:t.toolName})},onToolExecutionEnd:logToolExecutionError,onError(e){summarizeKnownError(e.error)?.tags.includes(`config`)!==!0&&logError(log,`tool-loop stream error`,e.error)},onStepFinish:_.onStepFinish,prepareStep:_.prepareStep,reasoning:y.agent.reasoning,runtimeContext:i,stopWhen:isStepCount(1),telemetry:g?.telemetry,toolApproval:buildToolApproval(p),tools:m}),executeModelCall=async()=>{if(k){let e=[...t.tools].filter(([e,t])=>t.runtimeAction!==void 0&&l.get(e)===void 0).map(([e])=>e),n=new Set([ASK_QUESTION_TOOL_NAME,FINAL_OUTPUT_TOOL_NAME,...e]),r=await b.stream({abortSignal:t.abortSignal,messages:o}),{emittedActionCallIds:i,handledInlineToolResultCallIds:a,invalidInputToolCallIds:s,inlineAuthorizationResults:c,trailingInlineToolResultParts:u}=await emitStreamContent(k,S,r.fullStream,{excludedActionToolNames:n,tools:l});throwIfTurnAborted(t.abortSignal);let[d,f]=await Promise.all([_.stepResult,r.responseMessages]);if(isEmptyModelResponse(d)&&extractToolResultCallIds(f).size===0&&c.length===0&&u.length===0)throw new EmptyModelResponseError;await emitStepActions(k,S,d,{emittedActionCallIds:i,excludedActionCallIds:s,excludedActionToolNames:n,handledInlineToolResultCallIds:a,tools:l});let p=d.toolResults,m=new Map(p.map(e=>[e.toolCallId,e]));for(let e of c)m.set(e.toolCallId,e);return withAccumulatedResponseMessages({invalidInputToolCallIds:s,responseMessages:appendMissingToolResultMessages({append:u,responseMessages:f}),stepResult:d,toolResults:[...m.values()]})}let e=await b.generate({abortSignal:t.abortSignal,messages:o});throwIfTurnAborted(t.abortSignal);let n=await _.stepResult;if(isEmptyModelResponse(n)&&extractToolResultCallIds(e.responseMessages).size===0)throw new EmptyModelResponseError;return withAccumulatedResponseMessages({responseMessages:e.responseMessages,stepResult:n})};try{let e=await executeModelCall();return await g?.complete(),e}catch(e){return await g?.fail(e),rethrowNoOutputAsEmptyResponse(e)}},we=0,runOneModelCall=async e=>runModelCallWithRetries(t=>runSingleModelCall({...e,attemptIndex:we++,preparedInput:t===1?e.preparedInput:void 0,suppressStepStartedEmission:t!==1||e.suppressStepStartedEmission}),{sessionId:y.sessionId,turnId:S.turnId},t.abortSignal),Te=prepareModelCallInput(),Ee=await continuePendingWorkflowInterrupt({childResults:N?.runtimeActionResults,config:t,emit:k,emissionState:S,runStep,session:y,tools:buildHarnessToolsWithDynamicSubagents(t.tools,W)});if(Ee!==null)return Ee;let De=await enforceSessionTokenLimit({config:t,emit:k,emissionState:S,messages:U,session:y});if(De!==null)return De;let Q;try{Q=await runOneModelCall({preparedInput:Te,suppressStepStartedEmission:!0})}catch(n){throwIfTurnAborted(t.abortSignal);let r=await runModelCallRecoveryPipeline({error:n,stages:[e=>attemptUnsupportedProviderToolRecovery({error:e.error,runOneModelCall,sessionId:y.sessionId,turnId:S.turnId}),e=>attemptEmptyResponseRecovery({emptyDeliveryEnabled:Y.allowsEmptyDelivery,error:e.error,retryCallOptions:e.retryCallOptions,runOneModelCall,sessionId:y.sessionId,turnId:S.turnId})]});if(throwIfTurnAborted(t.abortSignal),r.outcome===`recovered`)Q=r.result;else{let n=r.error;if(v?.recordError(n),!k)throw n;let i=extractWorkflowStreamWriteErrorDetails(n);if(i!==null){let t=createErrorId();return log.error(`workflow stream write failed — parking session for retry by the user`,{...i,errorId:t,error:n,sessionId:y.sessionId,turnId:S.turnId}),S=await emitRecoverableFailedTurn(k,S,{code:`WORKFLOW_STREAM_WRITE_FAILED`,continuationToken:y.continuationToken,details:{...i,errorId:t},message:toErrorMessage(n)}),{next:null,session:setHarnessEmissionState(y,S)}}let a=classifyModelCallError(n),o=createErrorId(),s=summarizeKnownError(n),c=s===null?extractUpstreamRejectionMessage(n):null,l=s?.message??c?.message??toErrorMessage(n),u=s?.hint===void 0?l:`${l} ${s.hint}`,d=extractModelCallErrorDetails(n),p=buildModelCallFailureDetails({catalogSummary:s,error:n,errorId:o,modelCallDetails:d,upstreamRejection:c}),m=buildModelCallFailureLogFields({error:n,errorId:o,modelCallDetails:d,recognized:s!==null||c!==null,sessionId:y.sessionId,turnId:S.turnId});if(a===`terminal`)return s===null?log.error(c?.message??`model call failed terminally`,m):log.error(`${s.name}: ${s.message}`,{errorId:o,hint:s.hint,sessionId:y.sessionId,turnId:S.turnId}),await emitFailedStep(k,S,{code:`MODEL_CALL_FAILED`,details:p,message:l,sessionId:y.sessionId}),{next:t.mode===`task`||ue?{done:!0,isError:!0,output:u}:{done:!0,output:``},session:y};if(t.mode===`task`){if(a===`recoverable`&&!(n instanceof EmptyModelResponseError))throw log.warn(c?.message??`model call failed recoverably in task mode — rethrowing for durable step retry`,m),n;return log.error(c?.message??`model call failed; failing the task run`,m),await emitFailedStep(k,S,{code:`MODEL_CALL_FAILED`,details:p,message:l,sessionId:y.sessionId}),{next:{done:!0,isError:!0,output:u},session:y}}log.error(c?.message??`model call failed — parking session for retry by the user`,m),S=await emitRecoverableFailedTurn(k,S,{code:`MODEL_CALL_FAILED`,continuationToken:y.continuationToken,details:p,message:l});let h={isError:!0,output:u};return y={...y,outputSchema:void 0},{next:null,session:setHarnessEmissionState(y,S),settledTurn:h}}}let $=accumulateTurnUsage({previous:getTurnUsageState(y.state),turnId:S.turnId,usage:extractTokenUsageDelta({costUsd:extractGatewayCostUsd(Q.providerMetadata),usage:Q.usage})});y=setTurnUsageState(y,$);let Oe;try{Oe=formatLanguageModelGatewayId(K)}catch{Oe=void 0}return await setEveAttributes({"$eve.model":Oe,"$eve.input_tokens":$.inputTokens,"$eve.output_tokens":$.outputTokens,"$eve.cache_read_tokens":$.cacheReadTokens,"$eve.cache_write_tokens":$.cacheWriteTokens,"$eve.cost_usd":$.sawCost?$.costUsd:void 0,"$eve.tool_count":t.tools.size}),handleStepResult({config:t,emit:k,emissionState:S,delegatedCaller:O,modelPromptMessageCount:U.length,promptMessages:B,result:Q,runStep,session:y,runtimeActionTools:Ce})}return runStep}function extractTokenUsageDelta(e){let t=e.usage;if(!(t===void 0&&e.costUsd===void 0))return{cacheReadTokens:t?.inputTokenDetails?.cacheReadTokens,cacheWriteTokens:t?.inputTokenDetails?.cacheWriteTokens,costUsd:e.costUsd,inputTokens:t?.inputTokens,outputTokens:t?.outputTokens}}function extractGatewayCostUsd(e){let t=readGatewayMetadata(e)?.cost;if(typeof t==`number`&&Number.isFinite(t))return t;if(typeof t==`string`){let e=Number(t);return Number.isFinite(e)?e:void 0}}function readGatewayMetadata(e){let t=e?.gateway;return t&&typeof t==`object`&&!Array.isArray(t)?t:void 0}function buildModelCallFailureDetails(e){let{catalogSummary:t,error:r,errorId:i,modelCallDetails:a,upstreamRejection:o}=e;if(t!==null){let e={errorId:i,message:t.message,name:t.name,semanticErrorId:t.id,...a};return t.hint!==void 0&&(e.hint=t.hint),e}return o===null?{...formatError(r,i),...a}:{errorId:i,message:toErrorMessage(r),name:o.name,...a}}function buildModelCallFailureLogFields(e){let t={errorId:e.errorId,sessionId:e.sessionId,turnId:e.turnId};return e.recognized?{...t,details:e.modelCallDetails}:{...t,error:e.error}}async function runModelCallRecoveryPipeline(e){let t=e.error,n;for(let r of e.stages){let e=await r({error:t,retryCallOptions:n});if(e.outcome===`recovered`)return e;e.outcome===`failed`&&(t=e.error,n=e.retryCallOptions)}return{outcome:`failed`,error:t}}function withAccumulatedResponseMessages(e){let{stepResult:t}=e;return{content:t.content,finishReason:t.finishReason,...e.invalidInputToolCallIds===void 0?{}:{invalidInputToolCallIds:e.invalidInputToolCallIds},providerMetadata:t.providerMetadata,response:{...t.response,messages:[...e.responseMessages]},text:t.text,toolCalls:t.toolCalls,toolResults:e.toolResults===void 0?t.toolResults:[...e.toolResults],usage:t.usage}}function appendMissingToolResultMessages(e){let t=extractToolResultCallIds(e.responseMessages),n=e.append.filter(e=>!t.has(e.toolCallId));return[...e.responseMessages,...n.length>0?[{role:`tool`,content:[...n]}]:[]]}function getInvalidToolCallInputErrors(e){let t=[];for(let n of e.toolCalls){if(n.toolName===FINAL_OUTPUT_TOOL_NAME)continue;let e=getInvalidToolCallInputError({toolCall:n});e!==void 0&&t.push(e)}return t}function extractToolResultCallIds(e){let t=new Set;for(let n of e)if(Array.isArray(n.content))for(let e of n.content)typeof e==`object`&&e&&e.type===`tool-result`&&t.add(e.toolCallId);return t}function hasUnansweredToolCall(e){let t=new Set,n=new Set;for(let r of e)if(Array.isArray(r.content))for(let e of r.content)typeof e!=`object`||!e||(e.type===`tool-call`&&t.add(e.toolCallId),e.type===`tool-result`&&n.add(e.toolCallId));for(let e of t)if(!n.has(e))return!0;return!1}async function attemptUnsupportedProviderToolRecovery(e){let t=extractUnsupportedProviderToolTypes(e.error);if(t.length===0)return{outcome:`skipped`};let n=[];for(let e of t){let t=resolveFrameworkToolFromUpstreamType(e);t!==null&&!n.includes(t)&&n.push(t)}if(n.length===0)return{outcome:`skipped`};log.warn(`disabling unsupported provider tool(s); retrying step once`,{disabled:n,sessionId:e.sessionId,turnId:e.turnId,upstreamTypes:t});let r={disabledProviderTools:new Set(n),extraSystemNote:buildDisabledToolNote(n)};try{return{outcome:`recovered`,result:await e.runOneModelCall({...r,suppressStepStartedEmission:!0})}}catch(e){return{outcome:`failed`,error:e,retryCallOptions:r}}}function buildDisabledToolNote(e){let t=e.join(`, `);return`The following ${e.length===1?`tool is`:`tools are`} not available with the current model and has been removed: ${t}. Proceed using the remaining tools or your training knowledge.`}function isEmptyModelResponse(e){return e.toolCalls.length===0&&e.toolResults.length===0&&resolveAssistantStepText(e.response.messages,e.text)===null}function rethrowNoOutputAsEmptyResponse(e){throw isNoOutputGeneratedError(e)?new EmptyModelResponseError({cause:e}):e}const EMPTY_RESPONSE_NUDGE=`Your previous reply was empty and was not delivered. Answer now from the tool results above; do not re-run tools or mention this notice.`;function buildEmptyResponseNudge(e){return e?`${EMPTY_RESPONSE_NUDGE} If the current task explicitly requires conditional delivery and there is nothing to report, reply with exactly ${EMPTY_DELIVERY_SENTINEL}.`:EMPTY_RESPONSE_NUDGE}async function attemptEmptyResponseRecovery(e){if(!(e.error instanceof EmptyModelResponseError))return{outcome:`skipped`};log.warn(`empty model response; reissuing the model call once`,{sessionId:e.sessionId,turnId:e.turnId});try{return{outcome:`recovered`,result:await e.runOneModelCall({...e.retryCallOptions,retryReason:`empty-response`,suppressStepStartedEmission:!0,trailingUserNote:buildEmptyResponseNudge(e.emptyDeliveryEnabled)})}}catch(t){return{outcome:`failed`,error:t,retryCallOptions:e.retryCallOptions}}}async function handleStepResult(e){let{config:t,emit:n,promptMessages:r,result:a,runStep:o}=e,{emissionState:s,session:c}=e,l=resolveAssistantStepText(a.response.messages,a.text),u=a.finishReason!==`tool-calls`&&a.toolCalls.length===0&&hasEmptyDeliverySentinel(l),d=getInvalidToolCallInputErrors({toolCalls:a.toolCalls}),f=new Set([...a.invalidInputToolCallIds??[],...a.toolCalls.filter(isInvalidToolCall).map(e=>e.toolCallId),...d.map(e=>e.toolCallId)]),p=u?[]:appendMissingToolResultMessages({append:d.map(e=>createToolResultMessagePartFromToolError(e)),responseMessages:a.response.messages}),m=u?null:l,h=new Set;for(let e of[...a.content??[],...a.toolResults??[]])(e.type===`tool-result`||e.type===`tool-error`)&&e.providerExecuted===!0&&h.add(e.toolCallId);let v=normalizeProviderToolHistory({messages:p,providerExecutedOutcomeIds:h}),y=v.messages,b={...c,compaction:createNextCompactionConfig(c.compaction,e.modelPromptMessageCount,a)},te=t.workflow===!0?readWorkflowContinuationSecurity(b):void 0;if(te!==void 0){let t=await getWorkflowSandboxInterrupt(a,te);if(t!==void 0){if(!isWorkflowRuntimeActionInterrupt(t))throw Error(`Unsupported Workflow interrupt kind "${t.payload.kind}".`);return await parkOnWorkflowInterrupt({baseSession:b,emit:n,emissionState:s,interrupt:t,promptMessages:r,responseMessages:y,tools:e.runtimeActionTools,usedCalls:0})}}let x=extractToolApprovalInputRequests({content:a.content??[],excludedCallIds:f}),S=new Set(x.map(e=>e.action.callId)),ne=extractQuestionInputRequests({toolCalls:a.toolCalls,excludedCallIds:new Set([...f,...S])}),C=[...x,...ne],re=renderPendingApprovalsSnippet(x),w=y.findIndex(e=>e.role!==`tool`),ie=w===-1?y:y.slice(0,w),ae=y.slice(ie.length),oe=[...r,...ie,...re===void 0?[]:[{content:re,role:`user`}]],se=getAdvertisedTools({delegatedCaller:e.delegatedCaller,session:b,tools:e.runtimeActionTools}),T=(a.toolCalls??[]).filter(e=>!f.has(e.toolCallId)).filter(t=>e.runtimeActionTools.get(t.toolName)?.runtimeAction!==void 0).filter(e=>se.get(e.toolName)?.runtimeAction===void 0?(log.warn(`runtime action tool call blocked because tool is not advertised`,{callId:e.toolCallId,sessionId:b.sessionId,toolName:e.toolName}),!1):!0).map(e=>createRuntimeActionRequestFromToolCall({toolCall:e,tools:se}));if(T.length>0){if(C.length===0)return{next:null,session:setHarnessEmissionState(setPendingRuntimeActionBatch({actions:T,event:{sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId},responseMessages:y,session:{...b,history:[...r]}}),advanceStep(s))};let e=setPendingRuntimeActionBatch({actions:T,event:{sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId},responseMessages:ae,session:{...b,history:oe}});return e=appendPendingInputBatch({event:{sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId},requests:C,responseMessages:[],session:e}),n&&await n(createInputRequestedEvent({requests:C,sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId})),{next:null,session:setHarnessEmissionState(e,advanceStep(s))}}if(C.length>0){let e=buildResponseAuthorizationTools({authoredTools:t.tools,context:contextStorage.getStore()}),r=appendPendingInputBatch({event:{sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId},requests:C,responseAuthRequiredRequestIds:x.filter(t=>{let n=e.get(t.action.toolName)?.approval;return n!==void 0&&typeof n!=`function`&&n.response!==void 0}).map(e=>e.requestId),responseMessages:ae,session:{...b,history:oe}});return n&&(await n(createInputRequestedEvent({requests:C,sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId})),t.mode===`conversation`&&(s=await emitTurnEpilogue(n,s,t.mode),r=setHarnessEmissionState(r,s))),{next:hasDeferredStepInput(r)?o:null,session:r}}let ce=resolveInlineAuthorizationInterrupt({messages:[...r,...y],toolResults:a.toolResults});if(ce){let{challenges:e,history:r}=ce;if(n){for(let t of getSupersededAuthorizationChallenges(b.state,e))await n(createAuthorizationCompletedEvent({attemptId:t.attemptId,authorization:t.challenge,name:t.name,outcome:`failed`,reason:`Superseded by a newer authorization attempt.`,sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId}));for(let t of e)await n(createAuthorizationRequiredEvent({attemptId:t.attemptId,authorization:t.challenge,name:t.name,description:t.challenge.instructions??`Authorization required for ${t.name}`,webhookUrl:t.hookUrl,sequence:s.sequence,stepIndex:s.stepIndex,turnId:s.turnId}));t.mode===`conversation`&&(s=await emitTurnEpilogue(n,s,t.mode))}return{next:null,session:setHarnessEmissionState({...b,history:r,state:setPendingAuthorization(b.state,{challenges:e})},s)}}let E=y,le=[...r,...E],D={...b,history:le};return!(D.outputSchema!==void 0&&extractFinalOutput(a)!==void 0)&&(E.at(-1)?.role===`tool`||v.outcomeEndsResponse||hasDeferredStepInput(D))?(n&&(s=advanceStep(s),D=setHarnessEmissionState(D,s)),{next:o,session:D}):t.mode===`task`?finishTaskTurn({emissionState:s,emit:n,history:r,result:a,schema:D.outputSchema,session:D,stepOutput:m}):finishConversationTurn({emissionState:s,emit:n,history:r,result:a,schema:D.outputSchema,session:D,stepOutput:m})}const OUTPUT_SCHEMA_NOT_FULFILLED={code:`OUTPUT_SCHEMA_NOT_FULFILLED`,message:`The agent could not produce a result matching the requested schema.`};function extractFinalOutput(e){return(e.toolCalls??[]).find(e=>e.toolName===FINAL_OUTPUT_TOOL_NAME&&!isInvalidToolCall(e))?.input}function persistStructuredAssistantTurn(e,t,n){return{...e,history:[...t,{content:JSON.stringify(n),role:`assistant`}],outputSchema:void 0}}async function emitStructuredResult(e,t,n,r,i){return await e(createResultCompletedEvent({result:n,sequence:t.sequence,stepIndex:t.stepIndex,turnId:t.turnId})),emitTurnEpilogue(e,t,r,i)}async function finishTaskTurn(e){let{emit:t,history:n,result:r,schema:i,stepOutput:a}=e,{emissionState:o,session:s}=e;if(i===void 0)return t&&(o=await emitTurnEpilogue(t,o,`task`,s.history),s=setHarnessEmissionState(s,o)),{next:{done:!0,output:a??``},session:s};let c=extractFinalOutput(r);return c===void 0?(s={...s,outputSchema:void 0},t&&await emitFailedStep(t,o,{...OUTPUT_SCHEMA_NOT_FULFILLED,sessionId:s.sessionId}),{next:{done:!0,isError:!0,output:OUTPUT_SCHEMA_NOT_FULFILLED.message},session:s}):(s=persistStructuredAssistantTurn(s,n,c),t&&(o=await emitStructuredResult(t,o,c,`task`,s.history),s=setHarnessEmissionState(s,o)),{next:{done:!0,output:c},session:s})}async function finishConversationTurn(e){let{emit:t,history:n,result:r,schema:i,stepOutput:a}=e,{emissionState:o,session:s}=e;if(i===void 0)return t&&(o=await emitTurnEpilogue(t,o,`conversation`,s.history),s=setHarnessEmissionState(s,o)),{next:null,session:s,settledTurn:{output:a??``}};let c=extractFinalOutput(r);if(c===void 0){s={...s,outputSchema:void 0},t&&(o=await emitRecoverableFailedTurn(t,o,{...OUTPUT_SCHEMA_NOT_FULFILLED,continuationToken:s.continuationToken}),s=setHarnessEmissionState(s,o));let e={isError:!0,output:OUTPUT_SCHEMA_NOT_FULFILLED.message};return{next:null,session:s,settledTurn:e}}return s=persistStructuredAssistantTurn(s,n,c),t&&(o=await emitStructuredResult(t,o,c,`conversation`,s.history),s=setHarnessEmissionState(s,o)),{next:null,session:s,settledTurn:{output:c}}}async function continuePendingWorkflowInterrupt(e){let t=getPendingWorkflowInterrupt(e.session.state);if(t===void 0)return null;let n=t.interrupt;if(!isWorkflowRuntimeActionInterrupt(n))throw Error(`Unsupported Workflow interrupt kind "${n.payload.kind}".`);let i=e.childResults??[],a=getWorkflowRuntimeActionInterrupts(n);e.emit!==void 0&&i.length>0&&await emitWorkflowActionResults({emit:e.emit,emissionState:e.emissionState,interrupts:a,results:i});let o=getWorkflowContinuationSecurity(e.session),s;try{let t=buildWorkflowHostTools({tools:e.tools}),r=n,a=0;for(;;){s=await continueWorkflowSandboxInterrupt({bridgeRequestLimit:resolveWorkflowSandboxBridgeRequestLimit(e.config.workflowMaxSubagents),continuationSecurity:o,interrupt:r,resolution:i[a]?.output,tools:t});let n=await unwrapWorkflowSandboxResult(s,o);if(n.status!==`interrupted`||!isWorkflowRuntimeActionInterrupt(n.interrupt)||a+1>=i.length)break;let c=getWorkflowRuntimeActionInterrupts(n.interrupt)[0];if(c===void 0)throw Error(`Workflow continuation contains no pending runtime-action interrupt.`);a++,r=c}}catch(e){logError(log,`Workflow interrupt continuation failed`,e),s={error:`workflow_continuation_failed`,message:toErrorMessage(e),retryable:!1}}let c=await unwrapWorkflowSandboxResult(s,o),l=c.status===`interrupted`?c.interrupt:c.output,u=replaceWorkflowToolResult([...e.session.history,...t.responseMessages],n.outerToolCallId,l),d=clearPendingWorkflowInterrupt({...e.session,history:u});if(c.status===`interrupted`){if(!isWorkflowRuntimeActionInterrupt(c.interrupt))throw Error(`Unsupported Workflow interrupt kind "${c.interrupt.payload.kind}".`);let n=e.session.history.length,r=u.slice(0,n),i=u.slice(n);return d={...d,history:r},await parkOnWorkflowInterrupt({baseSession:d,emit:e.emit,emissionState:e.emissionState,interrupt:c.interrupt,promptMessages:r,responseMessages:i,tools:e.tools,usedCalls:t.usedCalls})}return{next:e.runStep,session:d}}function replaceWorkflowToolResult(e,t,n){if(t===void 0)return[...e];let r=typeof n==`string`?{type:`text`,value:n}:{type:`json`,value:n};return e.map(e=>{if(e.role!==`tool`)return e;let n=e.content.map(e=>e.type!==`tool-result`||e.toolCallId!==t?e:{...e,output:r});return{...e,content:n}})}async function parkOnWorkflowInterrupt(e){let t=getWorkflowRuntimeActionInterrupts(e.interrupt),n=t[0];if(n===void 0)throw Error(`Workflow continuation contains no pending runtime-action interrupt.`);e.emit!==void 0&&await emitWorkflowActionsRequested({emit:e.emit,emissionState:e.emissionState,interrupts:t,tools:e.tools});let r={...e.baseSession,history:[...e.promptMessages]};return{next:null,session:setHarnessEmissionState(setPendingWorkflowInterrupt({interrupt:n,responseMessages:e.responseMessages,session:r,usedCalls:e.usedCalls}),e.emissionState)}}function createNextCompactionConfig(e,t,n){let r={recentWindowSize:e.recentWindowSize,threshold:e.threshold,thresholdPercent:e.thresholdPercent};return n.usage?.inputTokens!==void 0&&(r.lastKnownInputTokens=n.usage.inputTokens,r.lastKnownPromptMessageCount=t),r}async function maybeCompact(e){let{emit:t,emissionState:n}=e,r=e.messages,a=e.session,o=e.historyProjector?.({messages:r,state:a.state})??r,s=e.force===!0||shouldCompact(o,a.compaction),c=shouldCanonicalizeMemory(r);if(!s&&!c)return{compacted:!1,messages:r,session:a};let l=await resolveCompactionModel({compactionModelReference:a.agent.compactionModelReference,model:e.model,modelReference:requireSessionModelReference(a),resolveModel:e.resolveModel}),u=mergeProviderSafetyIdentifier(a.agent.compactionModelReference??requireSessionModelReference(a),l.providerOptions,e.auth);if(t){let e=contextStorage.getStore();e!==void 0&&prepareMemoryCompaction(e,{history:r,state:a.state}),await t(createCompactionRequestedEvent({modelId:formatLanguageModelGatewayId(l.model),sequence:n.sequence,sessionId:a.sessionId,turnId:n.turnId,usageInputTokens:getInputTokenCount(o,a.compaction)}),o)}let d=canonicalizeMemoryRecords(r),f=e.historyProjector?.({messages:d.ordinary,state:a.state})??d.ordinary,p=s?await compactMessages([...f],l.model,a.compaction,u,e.telemetry,buildGatewayAttributionHeaders(l.model,e.runtimeIdentity),e.abortSignal,e.force===!0):[...f];if(r=[...d.memory,...p],e.onCompaction)for(let t of e.onCompaction())r.push(t);if(t){let o=contextStorage.getStore();if(o!==void 0&&prepareMemoryCompaction(o,{history:r,state:a.state}),await t(createCompactionCompletedEvent({modelId:formatLanguageModelGatewayId(l.model),sequence:n.sequence,sessionId:a.sessionId,turnId:n.turnId}),e.historyProjector?.({messages:r,state:a.state})??r),o!==void 0){let e=drainMemoryCommit(o);e!==void 0&&(r=[...e.history],a={...a,state:e.state})}}return{compacted:!0,messages:r,session:a}}function resolveApprovalKeyFromTools(e){return t=>{let n=e.get(t.action.toolName);if(n?.approvalKey!==void 0)return n.approvalKey(t.action.input)}}async function runModelCallWithRetries(e,t,n){for(let r=1;;r++){throwIfTurnAborted(n);try{return await e(r)}catch(e){if(throwIfTurnAborted(n),r===3||classifyModelCallError(e)!==`retry`)throw e;let i=500*2**(r-1)+Math.floor(Math.random()*250);log.warn(`model call failed transiently — retrying`,{attempt:r,delayMs:i,sessionId:t.sessionId,turnId:t.turnId,error:e}),await new Promise(e=>setTimeout(e,i))}}}export{appendMissingToolResultMessages,createToolLoopHarness};
@@ -4,11 +4,17 @@ import type { WorkflowSandboxInterrupt } from "#shared/workflow-sandbox.js";
4
4
  export interface PendingWorkflowInterrupt {
5
5
  readonly interrupt: WorkflowSandboxInterrupt;
6
6
  readonly responseMessages: readonly ModelMessage[];
7
+ readonly usedCalls: number;
7
8
  }
8
9
  export declare function getPendingWorkflowInterrupt(state: SessionStateMap | undefined): PendingWorkflowInterrupt | undefined;
9
10
  export declare function setPendingWorkflowInterrupt(input: {
10
11
  readonly interrupt: WorkflowSandboxInterrupt;
11
12
  readonly responseMessages: readonly ModelMessage[];
12
13
  readonly session: HarnessSession;
14
+ readonly usedCalls: number;
15
+ }): HarnessSession;
16
+ export declare function setPendingWorkflowUsedCalls(input: {
17
+ readonly session: HarnessSession;
18
+ readonly usedCalls: number;
13
19
  }): HarnessSession;
14
20
  export declare function clearPendingWorkflowInterrupt(session: HarnessSession): HarnessSession;
@@ -1 +1 @@
1
- import{WORKFLOW_RUNTIME_ACTION_INTERRUPT_KIND}from"#harness/workflow-runtime-action-state.js";const PENDING_KEY=`eve.harness.pendingWorkflowInterrupt`;function getPendingWorkflowInterrupt(e){let n=e?.[PENDING_KEY];if(isRecord(n)&&!(!isWorkflowInterruptShape(n.interrupt)||!Array.isArray(n.responseMessages)))return{interrupt:n.interrupt,responseMessages:n.responseMessages}}function setPendingWorkflowInterrupt(e){return{...e.session,state:{...e.session.state,[PENDING_KEY]:{interrupt:e.interrupt,responseMessages:e.responseMessages}}}}function clearPendingWorkflowInterrupt(e){if(e.state?.[PENDING_KEY]===void 0)return e;let n={...e.state};return delete n[PENDING_KEY],{...e,state:Object.keys(n).length>0?n:void 0}}function isWorkflowInterruptShape(t){return isRecord(t)&&t.type===`code-mode-interrupt`&&typeof t.interruptId==`string`&&typeof t.outerToolCallId==`string`&&isRecord(t.payload)&&t.payload.kind===WORKFLOW_RUNTIME_ACTION_INTERRUPT_KIND&&isRecord(t.continuation)&&typeof t.continuation.outerToolCallId==`string`}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}export{clearPendingWorkflowInterrupt,getPendingWorkflowInterrupt,setPendingWorkflowInterrupt};
1
+ import{WORKFLOW_RUNTIME_ACTION_INTERRUPT_KIND}from"#harness/workflow-runtime-action-state.js";const PENDING_KEY=`eve.harness.pendingWorkflowInterrupt`;function getPendingWorkflowInterrupt(e){let n=e?.[PENDING_KEY];if(isRecord(n)&&!(!isWorkflowInterruptShape(n.interrupt)||!Array.isArray(n.responseMessages))&&!(!Number.isSafeInteger(n.usedCalls)||n.usedCalls<0))return{interrupt:n.interrupt,responseMessages:n.responseMessages,usedCalls:n.usedCalls}}function setPendingWorkflowInterrupt(e){return{...e.session,state:{...e.session.state,[PENDING_KEY]:{interrupt:e.interrupt,responseMessages:e.responseMessages,usedCalls:e.usedCalls}}}}function setPendingWorkflowUsedCalls(e){let t=getPendingWorkflowInterrupt(e.session.state);return t===void 0?e.session:setPendingWorkflowInterrupt({...t,session:e.session,usedCalls:e.usedCalls})}function clearPendingWorkflowInterrupt(e){if(e.state?.[PENDING_KEY]===void 0)return e;let n={...e.state};return delete n[PENDING_KEY],{...e,state:Object.keys(n).length>0?n:void 0}}function isWorkflowInterruptShape(t){return isRecord(t)&&t.type===`code-mode-interrupt`&&typeof t.interruptId==`string`&&typeof t.outerToolCallId==`string`&&isRecord(t.payload)&&t.payload.kind===WORKFLOW_RUNTIME_ACTION_INTERRUPT_KIND&&isRecord(t.continuation)&&t.continuation.version===2&&typeof t.continuation.outerToolCallId==`string`&&Array.isArray(t.continuation.pendingInterruptions)&&Array.isArray(t.continuation.resolutions)}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}export{clearPendingWorkflowInterrupt,getPendingWorkflowInterrupt,setPendingWorkflowInterrupt,setPendingWorkflowUsedCalls};
@@ -1,13 +1,23 @@
1
1
  import type { HarnessEmissionState } from "#harness/emission.js";
2
2
  import type { HarnessToolMap } from "#harness/types.js";
3
3
  import { type UnstampedMessageStreamEvent } from "#protocol/message.js";
4
- import type { WorkflowSandboxLifecycle } from "#shared/workflow-sandbox.js";
4
+ import type { WorkflowSandboxInterrupt } from "#shared/workflow-sandbox.js";
5
5
  type EmitWorkflowLifecycleEvent = (event: UnstampedMessageStreamEvent) => Promise<void>;
6
- /** Projects sandboxed subagent calls onto eve's existing action event stream. */
7
- export declare function createWorkflowLifecycle(input: {
6
+ /** Projects newly parked workflow calls onto eve's existing action stream. */
7
+ export declare function emitWorkflowActionsRequested(input: {
8
8
  readonly emit: EmitWorkflowLifecycleEvent;
9
9
  readonly emissionState: HarnessEmissionState;
10
- readonly skipReplayed?: boolean;
10
+ readonly interrupts: readonly WorkflowSandboxInterrupt[];
11
11
  readonly tools: HarnessToolMap;
12
- }): WorkflowSandboxLifecycle;
12
+ }): Promise<void>;
13
+ /** Projects completed workflow children before replaying their continuation. */
14
+ export declare function emitWorkflowActionResults(input: {
15
+ readonly emit: EmitWorkflowLifecycleEvent;
16
+ readonly emissionState: HarnessEmissionState;
17
+ readonly interrupts: readonly WorkflowSandboxInterrupt[];
18
+ readonly results: readonly {
19
+ readonly isError?: boolean;
20
+ readonly output?: unknown;
21
+ }[];
22
+ }): Promise<void>;
13
23
  export {};
@@ -1 +1 @@
1
- import{createLogger}from"#internal/logging.js";import{toErrorMessage}from"#shared/errors.js";import{createActionResultEvent,createActionsRequestedEvent}from"#protocol/message.js";import{createRuntimeActionRequestFromToolCall}from"#harness/runtime-actions.js";import{createRuntimeToolResultFromValue}from"#harness/action-result-helpers.js";const log=createLogger(`harness.workflow-lifecycle`);function createWorkflowLifecycle(e){return{onHookError(e,t){log.warn(`workflow lifecycle hook failed`,{error:e,hook:t.hook})},async onNestedToolCall(t){if(e.skipReplayed===!0&&t.replayed)return;let n={input:t.input,toolCallId:t.toolCallId,toolName:t.toolName,type:`tool-call`};await e.emit(createActionsRequestedEvent({actions:[createRuntimeActionRequestFromToolCall({toolCall:n,tools:e.tools})],sequence:e.emissionState.sequence,stepIndex:e.emissionState.stepIndex,turnId:e.emissionState.turnId}))},async onNestedToolResult(r){if(e.skipReplayed===!0&&r.replayed||r.status===`interrupted`)return;let i=createRuntimeToolResultFromValue({callId:r.toolCallId,output:r.status===`rejected`?toErrorMessage(r.error):r.output,toolName:r.toolName,isError:r.status===`rejected`});await e.emit(createActionResultEvent({result:i,sequence:e.emissionState.sequence,stepIndex:e.emissionState.stepIndex,turnId:e.emissionState.turnId}))}}}export{createWorkflowLifecycle};
1
+ import{createActionResultEvent,createActionsRequestedEvent}from"#protocol/message.js";import{createRuntimeActionRequestFromToolCall}from"#harness/runtime-actions.js";import{createRuntimeToolResultFromValue}from"#harness/action-result-helpers.js";async function emitWorkflowActionsRequested(e){for(let r of e.interrupts){let i={input:r.input,toolCallId:r.toolCallId,toolName:r.toolName,type:`tool-call`};await e.emit(createActionsRequestedEvent({actions:[createRuntimeActionRequestFromToolCall({toolCall:i,tools:e.tools})],sequence:e.emissionState.sequence,stepIndex:e.emissionState.stepIndex,turnId:e.emissionState.turnId}))}}async function emitWorkflowActionResults(t){for(let[n,i]of t.results.entries()){let a=t.interrupts[n];if(a===void 0)break;await t.emit(createActionResultEvent({result:createRuntimeToolResultFromValue({callId:a.toolCallId,isError:i.isError,output:i.output,toolName:a.toolName}),sequence:t.emissionState.sequence,stepIndex:t.emissionState.stepIndex,turnId:t.emissionState.turnId}))}}export{emitWorkflowActionResults,emitWorkflowActionsRequested};
@@ -1,9 +1,9 @@
1
1
  import type { RuntimeActionRequest } from "#shared/action-types.js";
2
- import type { WorkflowSandboxInterrupt } from "#shared/workflow-sandbox.js";
2
+ import { type WorkflowSandboxInterrupt } from "#shared/workflow-sandbox.js";
3
3
  export declare const WORKFLOW_RUNTIME_ACTION_INTERRUPT_KIND = "eve.workflow-runtime-action";
4
4
  export declare function isWorkflowRuntimeActionInterrupt(interrupt: unknown): boolean;
5
5
  export declare function buildRuntimeActionFromWorkflowInterrupt(interrupt: WorkflowSandboxInterrupt): RuntimeActionRequest;
6
- /** Returns every pending runtime-action interrupt in deterministic ledger order. */
6
+ /** Returns every pending runtime-action interrupt in deterministic request order. */
7
7
  export declare function getWorkflowRuntimeActionInterrupts(interrupt: WorkflowSandboxInterrupt): WorkflowSandboxInterrupt[];
8
8
  export declare function buildRuntimeActionsFromWorkflowInterrupt(interrupt: WorkflowSandboxInterrupt): RuntimeActionRequest[];
9
9
  export declare function getRuntimeActionKeysFromWorkflowInterrupt(interrupt: WorkflowSandboxInterrupt): string[];
@@ -1 +1 @@
1
- import{getRuntimeActionRequestKey}from"#runtime/actions/keys.js";const WORKFLOW_RUNTIME_ACTION_INTERRUPT_KIND=`eve.workflow-runtime-action`;function isWorkflowRuntimeActionInterrupt(e){return isRecord(e)&&isRecord(e.payload)&&e.payload.kind===`eve.workflow-runtime-action`}function buildRuntimeActionFromWorkflowInterrupt(e){let t=e.payload,n=t.runtimeAction,r=t.toolInput,i=t.toolName,a=sanitizeCallId(`${i}_${`interruptId`in e?String(e.interruptId):``}`);if(n.kind===`remote-agent-call`)return{callId:a,description:``,input:r,kind:`remote-agent-call`,name:i,nodeId:n.nodeId,remoteAgentName:n.remoteAgentName??i};if(n.kind===`subagent-call`)return{callId:a,description:``,input:r,kind:`subagent-call`,name:i,nodeId:n.nodeId,subagentName:n.subagentName};throw Error(`Workflow runtime actions cannot carry "${n.kind}" tools.`)}function getWorkflowRuntimeActionInterrupts(e){return e.continuation.ledger.flatMap(t=>t.kind!==`tool`||t.status!==`interrupted`||t.interruptPayload.kind!==`eve.workflow-runtime-action`?[]:[{continuation:e.continuation,input:t.inputJson===``?void 0:JSON.parse(t.inputJson),interruptId:t.interruptId,outerToolCallId:e.continuation.outerToolCallId,payload:t.interruptPayload,toolCallId:t.toolCallId,toolName:t.name,type:`code-mode-interrupt`}])}function buildRuntimeActionsFromWorkflowInterrupt(e){return getWorkflowRuntimeActionInterrupts(e).map(e=>buildRuntimeActionFromWorkflowInterrupt(e))}function getRuntimeActionKeysFromWorkflowInterrupt(t){return buildRuntimeActionsFromWorkflowInterrupt(t).map(getRuntimeActionRequestKey)}function sanitizeCallId(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`)}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}export{WORKFLOW_RUNTIME_ACTION_INTERRUPT_KIND,buildRuntimeActionFromWorkflowInterrupt,buildRuntimeActionsFromWorkflowInterrupt,getRuntimeActionKeysFromWorkflowInterrupt,getWorkflowRuntimeActionInterrupts,isWorkflowRuntimeActionInterrupt};
1
+ import{getRuntimeActionRequestKey}from"#runtime/actions/keys.js";import{getWorkflowSandboxPendingInterrupts}from"#shared/workflow-sandbox.js";const WORKFLOW_RUNTIME_ACTION_INTERRUPT_KIND=`eve.workflow-runtime-action`;function isWorkflowRuntimeActionInterrupt(e){return isRecord(e)&&isRecord(e.payload)&&e.payload.kind===`eve.workflow-runtime-action`}function buildRuntimeActionFromWorkflowInterrupt(e){let t=e.payload,n=t.runtimeAction,r=t.toolInput,i=t.toolName,a=sanitizeCallId(`${i}_${`interruptId`in e?String(e.interruptId):``}`);if(n.kind===`remote-agent-call`)return{callId:a,description:``,input:r,kind:`remote-agent-call`,name:i,nodeId:n.nodeId,remoteAgentName:n.remoteAgentName??i};if(n.kind===`subagent-call`)return{callId:a,description:``,input:r,kind:`subagent-call`,name:i,nodeId:n.nodeId,subagentName:n.subagentName};throw Error(`Workflow runtime actions cannot carry "${n.kind}" tools.`)}function getWorkflowRuntimeActionInterrupts(e){return getWorkflowSandboxPendingInterrupts(e).filter(isWorkflowRuntimeActionInterrupt)}function buildRuntimeActionsFromWorkflowInterrupt(e){return getWorkflowRuntimeActionInterrupts(e).map(e=>buildRuntimeActionFromWorkflowInterrupt(e))}function getRuntimeActionKeysFromWorkflowInterrupt(t){return buildRuntimeActionsFromWorkflowInterrupt(t).map(getRuntimeActionRequestKey)}function sanitizeCallId(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`)}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}export{WORKFLOW_RUNTIME_ACTION_INTERRUPT_KIND,buildRuntimeActionFromWorkflowInterrupt,buildRuntimeActionsFromWorkflowInterrupt,getRuntimeActionKeysFromWorkflowInterrupt,getWorkflowRuntimeActionInterrupts,isWorkflowRuntimeActionInterrupt};
@@ -1,6 +1,6 @@
1
1
  import type { ToolSet } from "ai";
2
2
  import type { HarnessToolMap } from "#harness/types.js";
3
- import { type WorkflowSandboxContinuationSecurity, type WorkflowSandboxLifecycle } from "#shared/workflow-sandbox.js";
3
+ import { type WorkflowSandboxContinuationSecurity } from "#shared/workflow-sandbox.js";
4
4
  interface WorkflowToolSet {
5
5
  readonly hostTools: ToolSet;
6
6
  readonly modelTools: ToolSet;
@@ -12,7 +12,6 @@ interface WorkflowToolSet {
12
12
  export declare function applyWorkflowTool(input: {
13
13
  readonly continuationSecurity: WorkflowSandboxContinuationSecurity;
14
14
  readonly harnessTools: HarnessToolMap;
15
- readonly lifecycle?: WorkflowSandboxLifecycle;
16
15
  readonly maxSubagents?: number;
17
16
  readonly tools: ToolSet;
18
17
  }): Promise<WorkflowToolSet>;
@@ -1,2 +1,2 @@
1
- import{z}from"#compiled/zod/index.js";import{WORKFLOW_RUNTIME_ACTION_INTERRUPT_KIND}from"#harness/workflow-runtime-action-state.js";import{DEFAULT_WORKFLOW_MAX_SUBAGENTS}from"#harness/workflow-subagent-limit.js";import{WORKFLOW_TOOL_NAME,createWorkflowSandboxTool,readWorkflowSandboxResolution,requestWorkflowSandboxInterrupt}from"#shared/workflow-sandbox.js";import{workflowToolDescription}from"#harness/workflow-tool-description.js";const workflowInputSchema=z.strictObject({js:z.string().describe(`Complete JavaScript orchestration program. Call only the agents listed in the Workflow description and return one JSON-serializable result.`)});async function applyWorkflowTool(e){let t=createWorkflowHostTools(e.harnessTools,Object.keys(e.tools));if(Object.keys(t).length===0)return{hostTools:t,modelTools:e.tools};let n=await createWorkflowSandboxTool({bridgeRequestLimit:resolveWorkflowSandboxBridgeRequestLimit(e.maxSubagents),continuationSecurity:e.continuationSecurity,hostTools:t,lifecycle:e.lifecycle}),a=typeof n.description==`string`?n.description:``,o=workflowToolDescription(Object.keys(t),{maxSubagents:e.maxSubagents}),s=workflowApiReference(a),c={...e.tools};return c[WORKFLOW_TOOL_NAME]={...n,description:s.length>0?`${o}\n\n${s}`:o,inputSchema:workflowInputSchema},{hostTools:t,modelTools:c}}function resolveWorkflowSandboxBridgeRequestLimit(e){return Math.max(256,(e??DEFAULT_WORKFLOW_MAX_SUBAGENTS)+1)}function workflowApiReference(e){let t=e.indexOf(`Tools:
1
+ import{z}from"#compiled/zod/index.js";import{WORKFLOW_RUNTIME_ACTION_INTERRUPT_KIND}from"#harness/workflow-runtime-action-state.js";import{DEFAULT_WORKFLOW_MAX_SUBAGENTS}from"#harness/workflow-subagent-limit.js";import{WORKFLOW_TOOL_NAME,createWorkflowSandboxTool,readWorkflowSandboxResolution,requestWorkflowSandboxInterrupt}from"#shared/workflow-sandbox.js";import{workflowToolDescription}from"#harness/workflow-tool-description.js";const workflowInputSchema=z.strictObject({js:z.string().describe(`Complete JavaScript orchestration program. Call only the agents listed in the Workflow description and return one JSON-serializable result.`)});async function applyWorkflowTool(e){let t=createWorkflowHostTools(e.harnessTools,Object.keys(e.tools));if(Object.keys(t).length===0)return{hostTools:t,modelTools:e.tools};let n=await createWorkflowSandboxTool({bridgeRequestLimit:resolveWorkflowSandboxBridgeRequestLimit(e.maxSubagents),continuationSecurity:e.continuationSecurity,hostTools:t}),a=typeof n.description==`string`?n.description:``,o=workflowToolDescription(Object.keys(t),{maxSubagents:e.maxSubagents}),s=workflowApiReference(a),c={...e.tools};return c[WORKFLOW_TOOL_NAME]={...n,description:s.length>0?`${o}\n\n${s}`:o,inputSchema:workflowInputSchema},{hostTools:t,modelTools:c}}function resolveWorkflowSandboxBridgeRequestLimit(e){return Math.max(256,(e??DEFAULT_WORKFLOW_MAX_SUBAGENTS)+1)}function workflowApiReference(e){let t=e.indexOf(`Tools:
2
2
  `);return t<0?e:`Available agent API:\n${e.slice(t+7)}`}function buildWorkflowHostTools(e){return createWorkflowHostTools(e.tools,e.tools.keys())}function createWorkflowHostTools(e,t){let n={};for(let r of t){let t=e.get(r);t?.runtimeAction!==void 0&&(n[r]=createWorkflowRuntimeActionHostTool(t))}return n}function createWorkflowRuntimeActionHostTool(e){return{description:e.description,inputSchema:e.inputSchema,execute:async(n,r)=>{let i=readWorkflowSandboxResolution(r);return i===void 0?requestWorkflowSandboxInterrupt({kind:WORKFLOW_RUNTIME_ACTION_INTERRUPT_KIND,runtimeAction:e.runtimeAction,toolInput:n,toolName:e.name}):i}}}export{applyWorkflowTool,buildWorkflowHostTools,resolveWorkflowSandboxBridgeRequestLimit};
@@ -1,5 +1,4 @@
1
1
  import type { RuntimeActionRequest } from "#shared/action-types.js";
2
- import type { WorkflowSandboxInterrupt } from "#shared/workflow-sandbox.js";
3
2
  /**
4
3
  * Default maximum number of subagent (and remote-agent) calls one `Workflow`
5
4
  * tool invocation may dispatch.
@@ -16,23 +15,14 @@ export type WorkflowSubagentDispatchPlan = {
16
15
  readonly maxSubagents: number;
17
16
  readonly usedCalls: number;
18
17
  };
19
- /**
20
- * Counts the subagent calls this Workflow invocation has already resolved.
21
- *
22
- * Every host tool bridged into the workflow sandbox is a subagent or
23
- * remote-agent call, so each fulfilled or rejected `tool` ledger entry is one
24
- * consumed call. Entries still `interrupted` are the pending actions being
25
- * planned, not consumed budget.
26
- */
27
- export declare function countResolvedWorkflowSubagentCalls(interrupt: WorkflowSandboxInterrupt): number;
28
18
  /**
29
19
  * Splits the pending actions of one workflow interrupt into the prefix that
30
20
  * still fits the invocation's `maxSubagents` budget and the remainder that
31
- * must be blocked. Actions keep ledger order so results pair with the
32
- * sandbox program's call order.
21
+ * must be blocked. Actions keep request order so results pair with the sandbox
22
+ * program's call order.
33
23
  */
34
24
  export declare function planWorkflowSubagentDispatch(input: {
35
25
  readonly actions: readonly RuntimeActionRequest[];
36
- readonly interrupt: WorkflowSandboxInterrupt;
37
26
  readonly maxSubagents?: number;
27
+ readonly usedCalls: number;
38
28
  }): WorkflowSubagentDispatchPlan;
@@ -1 +1 @@
1
- const DEFAULT_WORKFLOW_MAX_SUBAGENTS=100;function countResolvedWorkflowSubagentCalls(e){let t=0;for(let n of e.continuation.ledger)n.kind===`tool`&&n.status!==`interrupted`&&(t+=1);return t}function planWorkflowSubagentDispatch(e){let t=e.maxSubagents??100,n=countResolvedWorkflowSubagentCalls(e.interrupt),r=Math.max(0,t-n);return{allowed:e.actions.slice(0,r),blocked:e.actions.slice(r),maxSubagents:t,usedCalls:n}}export{DEFAULT_WORKFLOW_MAX_SUBAGENTS,countResolvedWorkflowSubagentCalls,planWorkflowSubagentDispatch};
1
+ const DEFAULT_WORKFLOW_MAX_SUBAGENTS=100;function planWorkflowSubagentDispatch(e){let t=e.maxSubagents??100,n=e.usedCalls,r=Math.max(0,t-n);return{allowed:e.actions.slice(0,r),blocked:e.actions.slice(r),maxSubagents:t,usedCalls:n}}export{DEFAULT_WORKFLOW_MAX_SUBAGENTS,planWorkflowSubagentDispatch};
@@ -1 +1 @@
1
- import{createRequire}from"node:module";import{basename,dirname,join}from"node:path";import{existsSync,readFileSync,realpathSync}from"node:fs";import{fileURLToPath}from"node:url";import{EVE_PACKAGE_NAME}from"#internal/package-name.js";let cachedPackageInfo,cachedPackageLocation;const BUNDLED_FALLBACK_PACKAGE_VERSION=`0.47.5`,WORKFLOW_MODULE_ALIASES={"workflow/errors":`src/compiled/@workflow/errors/index.js`,"workflow/internal/private":`src/compiled/@workflow/core/private.js`};function resolveFallbackPackageVersion(){return BUNDLED_FALLBACK_PACKAGE_VERSION.startsWith(`__`)?`0.0.0`:BUNDLED_FALLBACK_PACKAGE_VERSION}const FALLBACK_PACKAGE_INFO={name:EVE_PACKAGE_NAME,version:resolveFallbackPackageVersion()};function resolveCurrentModulePath(){return typeof __filename==`string`?__filename:resolveCurrentModulePathFromStack()}function resolveCurrentModulePathFromStack(){let e=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let e=Error().stack?.[0]?.getFileName();if(typeof e!=`string`||e.length===0)throw Error(`Failed to resolve the current module path from the stack trace.`);return e.startsWith(`file:`)?fileURLToPath(e):e}finally{Error.prepareStackTrace=e}}const require=createRequire(resolveCurrentModulePath());function tryResolveVerifiedPackageRoot(e){try{let t=realpathSync.native(e);return tryReadInstalledPackageInfo(t,EVE_PACKAGE_NAME)===void 0?void 0:dirname(t)}catch{return}}function findNearestVerifiedPackageRoot(e){let t=e;for(;;){let e=tryResolveVerifiedPackageRoot(join(t,`package.json`));if(e!==void 0)return e;let i=dirname(t);if(i===t)return;t=i}}function tryResolveDirectBuildLocation(e){let i=dirname(e);for(;;){if(basename(i)===`dist`){let e=tryResolveVerifiedPackageRoot(join(dirname(i),`package.json`));if(e!==void 0)return{packageBuildRoot:i,packageRoot:e}}let e=dirname(i);if(e===i)return;i=e}}function isSourceCheckout(e){return existsSync(join(e,`src`,`internal`,`application`,`package.ts`))}function tryCreatePackageLocation(e){if(isSourceCheckout(e))return{packageBuildRoot:null,packageRoot:e};let t=join(e,`dist`);if(existsSync(t))return{packageBuildRoot:t,packageRoot:e}}function resolveSelfPackageJsonPath(t){return createRequire(t).resolve(`${EVE_PACKAGE_NAME}/package.json`)}function resolvePackageLocationFromModulePath(e,t=resolveSelfPackageJsonPath){let r=realpathSync.native(e),i=tryResolveDirectBuildLocation(r);if(i!==void 0)return i;let a=findNearestVerifiedPackageRoot(dirname(r));if(a!==void 0&&isSourceCheckout(a))return{packageBuildRoot:null,packageRoot:a};try{let e=tryResolveVerifiedPackageRoot(t(r)),n=e===void 0?void 0:tryCreatePackageLocation(e);if(n!==void 0)return n}catch{}let o=a===void 0?void 0:tryCreatePackageLocation(a);if(o!==void 0)return o;throw Error(`Failed to resolve the eve package root from "${e}".`)}function resolvePackageLocation(){return cachedPackageLocation??=resolvePackageLocationFromModulePath(resolveCurrentModulePath()),cachedPackageLocation}function resolvePackageBuildRoot(){return resolvePackageLocation().packageBuildRoot}function resolvePackageRoot(){return resolvePackageLocation().packageRoot}function tryResolvePackageRoot(){try{return resolvePackageRoot()}catch{return}}function rewriteSourceFilePathForBuild(e){return e.replace(/\.[cm]?tsx?$/,`.js`)}function resolvePackageSourceFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),e):join(t,rewriteSourceFilePathForBuild(e))}function resolvePackageSourceDirectoryPath(e){let t=resolvePackageBuildRoot();return join(t===null?resolvePackageRoot():t,e)}function resolvePackageDependencyPath(e){return require.resolve(e)}function resolvePackageCompiledFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),`.generated`,`compiled`,e.replace(/^src\/compiled\//,``)):join(t,e)}function normalizeInstalledPackageInfo(e){let t=e;if(!(typeof t.name!=`string`||typeof t.version!=`string`))return{name:t.name,version:t.version}}function tryReadInstalledPackageInfo(e,t){let n=normalizeInstalledPackageInfo(JSON.parse(readFileSync(e,`utf8`)));if(n?.name===t)return n}function resolveInstalledPackageInfo(){if(cachedPackageInfo)return cachedPackageInfo;let e=tryResolvePackageRoot(),t=e===void 0?void 0:tryReadInstalledPackageInfo(join(e,`package.json`),EVE_PACKAGE_NAME);if(t)return cachedPackageInfo=t,cachedPackageInfo;try{let e=tryReadInstalledPackageInfo(require.resolve(`${EVE_PACKAGE_NAME}/package.json`),EVE_PACKAGE_NAME);if(e)return cachedPackageInfo=e,cachedPackageInfo}catch{}return cachedPackageInfo={...FALLBACK_PACKAGE_INFO},cachedPackageInfo}function readWorkflowVersionFromManifest(e){let t=e;for(let e of[t.devDependencies,t.dependencies,t.peerDependencies]){let t=e?.[`@workflow/core`];if(typeof t==`string`&&t.trim().length>0)return t}}function resolveExpectedWorkflowVersion(){let e=tryResolvePackageRoot();if(e!==void 0)try{return readWorkflowVersionFromManifest(JSON.parse(readFileSync(join(e,`package.json`),`utf8`)))}catch{}try{return readWorkflowVersionFromManifest(JSON.parse(readFileSync(require.resolve(`${EVE_PACKAGE_NAME}/package.json`),`utf8`)))}catch{return}}function resolveWorkflowModulePath(e){if(e===`workflow`)return resolvePackageSourceFilePath(`src/internal/workflow/index.ts`);if(e===`workflow/api`||e===`workflow/runtime`)return resolvePackageSourceFilePath(`src/internal/workflow/runtime.ts`);if(e===`workflow/internal/builtins`)return resolvePackageSourceFilePath(`src/internal/workflow/builtins.ts`);let t=WORKFLOW_MODULE_ALIASES[e];return t===void 0?require.resolve(e):resolvePackageCompiledFilePath(t)}export{resolveExpectedWorkflowVersion,resolveInstalledPackageInfo,resolvePackageCompiledFilePath,resolvePackageDependencyPath,resolvePackageLocationFromModulePath,resolvePackageRoot,resolvePackageSourceDirectoryPath,resolvePackageSourceFilePath,resolveWorkflowModulePath};
1
+ import{createRequire}from"node:module";import{basename,dirname,join}from"node:path";import{existsSync,readFileSync,realpathSync}from"node:fs";import{fileURLToPath}from"node:url";import{EVE_PACKAGE_NAME}from"#internal/package-name.js";let cachedPackageInfo,cachedPackageLocation;const BUNDLED_FALLBACK_PACKAGE_VERSION=`0.47.6`,WORKFLOW_MODULE_ALIASES={"workflow/errors":`src/compiled/@workflow/errors/index.js`,"workflow/internal/private":`src/compiled/@workflow/core/private.js`};function resolveFallbackPackageVersion(){return BUNDLED_FALLBACK_PACKAGE_VERSION.startsWith(`__`)?`0.0.0`:BUNDLED_FALLBACK_PACKAGE_VERSION}const FALLBACK_PACKAGE_INFO={name:EVE_PACKAGE_NAME,version:resolveFallbackPackageVersion()};function resolveCurrentModulePath(){return typeof __filename==`string`?__filename:resolveCurrentModulePathFromStack()}function resolveCurrentModulePathFromStack(){let e=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let e=Error().stack?.[0]?.getFileName();if(typeof e!=`string`||e.length===0)throw Error(`Failed to resolve the current module path from the stack trace.`);return e.startsWith(`file:`)?fileURLToPath(e):e}finally{Error.prepareStackTrace=e}}const require=createRequire(resolveCurrentModulePath());function tryResolveVerifiedPackageRoot(e){try{let t=realpathSync.native(e);return tryReadInstalledPackageInfo(t,EVE_PACKAGE_NAME)===void 0?void 0:dirname(t)}catch{return}}function findNearestVerifiedPackageRoot(e){let t=e;for(;;){let e=tryResolveVerifiedPackageRoot(join(t,`package.json`));if(e!==void 0)return e;let i=dirname(t);if(i===t)return;t=i}}function tryResolveDirectBuildLocation(e){let i=dirname(e);for(;;){if(basename(i)===`dist`){let e=tryResolveVerifiedPackageRoot(join(dirname(i),`package.json`));if(e!==void 0)return{packageBuildRoot:i,packageRoot:e}}let e=dirname(i);if(e===i)return;i=e}}function isSourceCheckout(e){return existsSync(join(e,`src`,`internal`,`application`,`package.ts`))}function tryCreatePackageLocation(e){if(isSourceCheckout(e))return{packageBuildRoot:null,packageRoot:e};let t=join(e,`dist`);if(existsSync(t))return{packageBuildRoot:t,packageRoot:e}}function resolveSelfPackageJsonPath(t){return createRequire(t).resolve(`${EVE_PACKAGE_NAME}/package.json`)}function resolvePackageLocationFromModulePath(e,t=resolveSelfPackageJsonPath){let r=realpathSync.native(e),i=tryResolveDirectBuildLocation(r);if(i!==void 0)return i;let a=findNearestVerifiedPackageRoot(dirname(r));if(a!==void 0&&isSourceCheckout(a))return{packageBuildRoot:null,packageRoot:a};try{let e=tryResolveVerifiedPackageRoot(t(r)),n=e===void 0?void 0:tryCreatePackageLocation(e);if(n!==void 0)return n}catch{}let o=a===void 0?void 0:tryCreatePackageLocation(a);if(o!==void 0)return o;throw Error(`Failed to resolve the eve package root from "${e}".`)}function resolvePackageLocation(){return cachedPackageLocation??=resolvePackageLocationFromModulePath(resolveCurrentModulePath()),cachedPackageLocation}function resolvePackageBuildRoot(){return resolvePackageLocation().packageBuildRoot}function resolvePackageRoot(){return resolvePackageLocation().packageRoot}function tryResolvePackageRoot(){try{return resolvePackageRoot()}catch{return}}function rewriteSourceFilePathForBuild(e){return e.replace(/\.[cm]?tsx?$/,`.js`)}function resolvePackageSourceFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),e):join(t,rewriteSourceFilePathForBuild(e))}function resolvePackageSourceDirectoryPath(e){let t=resolvePackageBuildRoot();return join(t===null?resolvePackageRoot():t,e)}function resolvePackageDependencyPath(e){return require.resolve(e)}function resolvePackageCompiledFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),`.generated`,`compiled`,e.replace(/^src\/compiled\//,``)):join(t,e)}function normalizeInstalledPackageInfo(e){let t=e;if(!(typeof t.name!=`string`||typeof t.version!=`string`))return{name:t.name,version:t.version}}function tryReadInstalledPackageInfo(e,t){let n=normalizeInstalledPackageInfo(JSON.parse(readFileSync(e,`utf8`)));if(n?.name===t)return n}function resolveInstalledPackageInfo(){if(cachedPackageInfo)return cachedPackageInfo;let e=tryResolvePackageRoot(),t=e===void 0?void 0:tryReadInstalledPackageInfo(join(e,`package.json`),EVE_PACKAGE_NAME);if(t)return cachedPackageInfo=t,cachedPackageInfo;try{let e=tryReadInstalledPackageInfo(require.resolve(`${EVE_PACKAGE_NAME}/package.json`),EVE_PACKAGE_NAME);if(e)return cachedPackageInfo=e,cachedPackageInfo}catch{}return cachedPackageInfo={...FALLBACK_PACKAGE_INFO},cachedPackageInfo}function readWorkflowVersionFromManifest(e){let t=e;for(let e of[t.devDependencies,t.dependencies,t.peerDependencies]){let t=e?.[`@workflow/core`];if(typeof t==`string`&&t.trim().length>0)return t}}function resolveExpectedWorkflowVersion(){let e=tryResolvePackageRoot();if(e!==void 0)try{return readWorkflowVersionFromManifest(JSON.parse(readFileSync(join(e,`package.json`),`utf8`)))}catch{}try{return readWorkflowVersionFromManifest(JSON.parse(readFileSync(require.resolve(`${EVE_PACKAGE_NAME}/package.json`),`utf8`)))}catch{return}}function resolveWorkflowModulePath(e){if(e===`workflow`)return resolvePackageSourceFilePath(`src/internal/workflow/index.ts`);if(e===`workflow/api`||e===`workflow/runtime`)return resolvePackageSourceFilePath(`src/internal/workflow/runtime.ts`);if(e===`workflow/internal/builtins`)return resolvePackageSourceFilePath(`src/internal/workflow/builtins.ts`);let t=WORKFLOW_MODULE_ALIASES[e];return t===void 0?require.resolve(e):resolvePackageCompiledFilePath(t)}export{resolveExpectedWorkflowVersion,resolveInstalledPackageInfo,resolvePackageCompiledFilePath,resolvePackageDependencyPath,resolvePackageLocationFromModulePath,resolvePackageRoot,resolvePackageSourceDirectoryPath,resolvePackageSourceFilePath,resolveWorkflowModulePath};
@@ -1 +1 @@
1
- import{installWorkflowSandboxModule}from"#shared/workflow-sandbox.js";import{continueCodeModeInterrupt,createCodeModeTool,getCodeModeInterrupt,requestCodeModeInterrupt,unwrapCodeModeResult}from"#compiled/experimental-ai-sdk-code-mode/index.js";installWorkflowSandboxModule({continueCodeModeInterrupt,createCodeModeTool,getCodeModeInterrupt,requestCodeModeInterrupt,unwrapCodeModeResult});function installWorkflowSandboxRuntimePlugin(){}export{installWorkflowSandboxRuntimePlugin as default};
1
+ import{installWorkflowSandboxModule}from"#shared/workflow-sandbox.js";import{experimental_continueCodeModeInterrupt,experimental_createCodeModeTool,experimental_getCodeModeInterrupt,experimental_requestCodeModeInterrupt,experimental_unwrapCodeModeResult}from"#compiled/@ai-sdk/code-mode/index.js";installWorkflowSandboxModule({continueCodeModeInterrupt:experimental_continueCodeModeInterrupt,createCodeModeTool:experimental_createCodeModeTool,getCodeModeInterrupt:experimental_getCodeModeInterrupt,requestCodeModeInterrupt:experimental_requestCodeModeInterrupt,unwrapCodeModeResult:experimental_unwrapCodeModeResult});function installWorkflowSandboxRuntimePlugin(){}export{installWorkflowSandboxRuntimePlugin as default};
@@ -1 +1 @@
1
- import"../../../../../../zod@4.4.3/node_modules/zod/v3/ZodError.js";import"../../../../../../zod@4.4.3/node_modules/zod/v3/index.js";import{SDKValidationError}from"../models/sdkvalidationerror.js";import{ERR,OK}from"../types/fp.js";function safeParse(t,n,r){try{return OK(n(t))}catch(e){return ERR(new SDKValidationError(r,e,t))}}export{safeParse};
1
+ import"../../../../../../zod@4.5.4/node_modules/zod/v3/ZodError.js";import"../../../../../../zod@4.5.4/node_modules/zod/v3/index.js";import{SDKValidationError}from"../models/sdkvalidationerror.js";import{ERR,OK}from"../types/fp.js";function safeParse(t,n,r){try{return OK(n(t))}catch(e){return ERR(new SDKValidationError(r,e,t))}}export{safeParse};
@@ -1 +1 @@
1
- import{nativeEnum as nativeEnumType}from"../../../../../../zod@4.4.3/node_modules/zod/v3/types.js";import"../../../../../../zod@4.4.3/node_modules/zod/v3/index.js";const ACLAction={Create:`create`,Delete:`delete`,List:`list`,Read:`read`,Update:`update`},ACLAction$inboundSchema=nativeEnumType(ACLAction);export{ACLAction,ACLAction$inboundSchema};
1
+ import{nativeEnum as nativeEnumType}from"../../../../../../zod@4.5.4/node_modules/zod/v3/types.js";import"../../../../../../zod@4.5.4/node_modules/zod/v3/index.js";const ACLAction={Create:`create`,Delete:`delete`,List:`list`,Read:`read`,Update:`update`},ACLAction$inboundSchema=nativeEnumType(ACLAction);export{ACLAction,ACLAction$inboundSchema};
@@ -1 +1 @@
1
- import{ZodError}from"../../../../../../zod@4.4.3/node_modules/zod/v3/ZodError.js";import"../../../../../../zod@4.4.3/node_modules/zod/v3/index.js";var SDKValidationError=class extends Error{rawValue;rawMessage;static[Symbol.hasInstance](e){return!(!(e instanceof Error)||!(`rawValue`in e)||!(`rawMessage`in e)||!(`pretty`in e)||typeof e.pretty!=`function`)}constructor(e,t,n){super(`${e}: ${t}`),this.name=`SDKValidationError`,this.cause=t,this.rawValue=n,this.rawMessage=e}pretty(){return this.cause instanceof ZodError?`${this.rawMessage}\n${formatZodError(this.cause)}`:this.toString()}};function formatZodError(e,t=0){let n=` `.repeat(t);n=t>0?`│${n}`:n,n+=` `.repeat(t);let r=``,append=e=>r+=`\n${n}${e}`,i=e.issues.length,a=i===1?`${i} issue found`:`${i} issues found`;i&&append(`┌ ${a}:`);for(let n of e.issues){let e=n.path.join(`.`);switch(e=e?`<root>.${e}`:`<root>`,append(`│ • [${e}]: ${n.message} (${n.code})`),n.code){case`invalid_literal`:case`invalid_type`:append(`│ Want: ${n.expected}`),append(`│ Got: ${n.received}`);break;case`unrecognized_keys`:append(`│ Keys: ${n.keys.join(`, `)}`);break;case`invalid_enum_value`:append(`│ Allowed: ${n.options.join(`, `)}`),append(`│ Got: ${n.received}`);break;case`invalid_union_discriminator`:append(`│ Allowed: ${n.options.join(`, `)}`);break;case`invalid_union`:{let e=n.unionErrors.length;append(`│ ✖︎ Attemped to deserialize into one of ${e} union members:`),n.unionErrors.forEach((n,r)=>{append(`│ ✖︎ Member ${r+1} of ${e}`),append(`${formatZodError(n,t+1)}`)})}}}return e.issues.length&&append(`└─*`),r.slice(1)}export{SDKValidationError,formatZodError};
1
+ import{ZodError}from"../../../../../../zod@4.5.4/node_modules/zod/v3/ZodError.js";import"../../../../../../zod@4.5.4/node_modules/zod/v3/index.js";var SDKValidationError=class extends Error{rawValue;rawMessage;static[Symbol.hasInstance](e){return!(!(e instanceof Error)||!(`rawValue`in e)||!(`rawMessage`in e)||!(`pretty`in e)||typeof e.pretty!=`function`)}constructor(e,t,n){super(`${e}: ${t}`),this.name=`SDKValidationError`,this.cause=t,this.rawValue=n,this.rawMessage=e}pretty(){return this.cause instanceof ZodError?`${this.rawMessage}\n${formatZodError(this.cause)}`:this.toString()}};function formatZodError(e,t=0){let n=` `.repeat(t);n=t>0?`│${n}`:n,n+=` `.repeat(t);let r=``,append=e=>r+=`\n${n}${e}`,i=e.issues.length,a=i===1?`${i} issue found`:`${i} issues found`;i&&append(`┌ ${a}:`);for(let n of e.issues){let e=n.path.join(`.`);switch(e=e?`<root>.${e}`:`<root>`,append(`│ • [${e}]: ${n.message} (${n.code})`),n.code){case`invalid_literal`:case`invalid_type`:append(`│ Want: ${n.expected}`),append(`│ Got: ${n.received}`);break;case`unrecognized_keys`:append(`│ Keys: ${n.keys.join(`, `)}`);break;case`invalid_enum_value`:append(`│ Allowed: ${n.options.join(`, `)}`),append(`│ Got: ${n.received}`);break;case`invalid_union_discriminator`:append(`│ Allowed: ${n.options.join(`, `)}`);break;case`invalid_union`:{let e=n.unionErrors.length;append(`│ ✖︎ Attemped to deserialize into one of ${e} union members:`),n.unionErrors.forEach((n,r)=>{append(`│ ✖︎ Member ${r+1} of ${e}`),append(`${formatZodError(n,t+1)}`)})}}}return e.issues.length&&append(`└─*`),r.slice(1)}export{SDKValidationError,formatZodError};