eve 0.27.0 → 0.27.2

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 (177) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/src/channel/resolve-active-session.d.ts +4 -0
  3. package/dist/src/channel/resolve-active-session.js +1 -0
  4. package/dist/src/channel/routes.d.ts +11 -0
  5. package/dist/src/chunks/{use-eve-agent-PMY2WkAt.js → use-eve-agent-CbF0l_Fp.js} +66 -27
  6. package/dist/src/chunks/{use-eve-agent-AeQLLhu9.js → use-eve-agent-CgxB9WQv.js} +66 -27
  7. package/dist/src/cli/dev/tui/vercel-trusted-sources-policy.d.ts +1 -1
  8. package/dist/src/cli/dev/tui/vercel-trusted-sources.js +1 -1
  9. package/dist/src/client/index.d.ts +1 -1
  10. package/dist/src/client/open-stream.d.ts +15 -2
  11. package/dist/src/client/open-stream.js +1 -1
  12. package/dist/src/client/session.d.ts +3 -2
  13. package/dist/src/client/session.js +1 -1
  14. package/dist/src/client/types.d.ts +32 -0
  15. package/dist/src/compiled/.vendor-stamp.json +16 -16
  16. package/dist/src/compiled/@ai-sdk/anthropic/index.js +2 -2
  17. package/dist/src/compiled/@ai-sdk/google/index.d.ts +9 -2
  18. package/dist/src/compiled/@ai-sdk/google/index.js +6 -6
  19. package/dist/src/compiled/@ai-sdk/mcp/index.d.ts +18 -3
  20. package/dist/src/compiled/@ai-sdk/mcp/index.js +1 -1
  21. package/dist/src/compiled/@ai-sdk/openai/index.d.ts +285 -24
  22. package/dist/src/compiled/@ai-sdk/openai/index.js +2 -2
  23. package/dist/src/compiled/@ai-sdk/otel/index.js +1 -1
  24. package/dist/src/compiled/@ai-sdk/provider-utils/index.d.ts +7 -3
  25. package/dist/src/compiled/@vercel/oidc/index.js +28 -2
  26. package/dist/src/compiled/@vercel/sandbox/api-client/api-client.d.ts +11 -0
  27. package/dist/src/compiled/@vercel/sandbox/api-client/validators.d.ts +7 -0
  28. package/dist/src/compiled/@vercel/sandbox/command.d.ts +8 -0
  29. package/dist/src/compiled/@vercel/sandbox/execution-context.d.ts +116 -0
  30. package/dist/src/compiled/@vercel/sandbox/index.d.ts +3 -1
  31. package/dist/src/compiled/@vercel/sandbox/index.js +20 -19
  32. package/dist/src/compiled/@vercel/sandbox/network-policy.d.ts +13 -5
  33. package/dist/src/compiled/@vercel/sandbox/sandbox-user.d.ts +212 -0
  34. package/dist/src/compiled/@vercel/sandbox/sandbox.d.ts +133 -2
  35. package/dist/src/compiled/@vercel/sandbox/session.d.ts +2 -1
  36. package/dist/src/compiled/@vercel/sandbox/snapshot.d.ts +1 -1
  37. package/dist/src/compiled/@workflow/core/create-hook.d.ts +41 -22
  38. package/dist/src/compiled/@workflow/core/flushable-stream.d.ts +29 -0
  39. package/dist/src/compiled/@workflow/core/global.d.ts +2 -0
  40. package/dist/src/compiled/@workflow/core/index.js +2 -2
  41. package/dist/src/compiled/@workflow/core/private.d.ts +6 -17
  42. package/dist/src/compiled/@workflow/core/private.js +1 -1
  43. package/dist/src/compiled/@workflow/core/replay-payload-cache.d.ts +56 -0
  44. package/dist/src/compiled/@workflow/core/runtime/constants.d.ts +11 -0
  45. package/dist/src/compiled/@workflow/core/runtime/helpers.d.ts +6 -4
  46. package/dist/src/compiled/@workflow/core/runtime/resume-hook.d.ts +4 -1
  47. package/dist/src/compiled/@workflow/core/runtime/step-executor.d.ts +39 -0
  48. package/dist/src/compiled/@workflow/core/runtime.js +3 -3
  49. package/dist/src/compiled/@workflow/core/serialization.d.ts +44 -4
  50. package/dist/src/compiled/@workflow/core/symbols.d.ts +13 -0
  51. package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
  52. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  53. package/dist/src/compiled/@workflow/errors/error-codes.d.ts +2 -0
  54. package/dist/src/compiled/@workflow/errors/index.d.ts +14 -0
  55. package/dist/src/compiled/@workflow/errors/index.js +1 -1
  56. package/dist/src/compiled/@workflow/world/events.d.ts +15 -0
  57. package/dist/src/compiled/@workflow/world/hooks.d.ts +2 -1
  58. package/dist/src/compiled/@workflow/world/interfaces.d.ts +77 -4
  59. package/dist/src/compiled/@workflow/world-local/index.js +4 -4
  60. package/dist/src/compiled/@workflow/world-vercel/index.js +16 -16
  61. package/dist/src/compiled/_chunks/node/{auth-BuQkq4Gr.js → auth-l7F2PF2b.js} +2 -2
  62. package/dist/src/compiled/_chunks/node/{version-DD-FX9rK.js → version-CjHTLx2a.js} +1 -1
  63. package/dist/src/compiled/_chunks/node/virtual-loader-Cwgujv7l.js +1 -0
  64. package/dist/src/compiled/_chunks/workflow/attribute-changes-Dk1fP6vt.js +20 -0
  65. package/dist/src/compiled/_chunks/workflow/{chunk-BHKSVoKr.js → chunk-BTyA9uPd.js} +1 -1
  66. package/dist/src/compiled/_chunks/workflow/dist-B3qkUnLJ.js +3 -0
  67. package/dist/src/compiled/_chunks/workflow/{dist-CSfKNxQW.js → dist-BX517Nmz.js} +2 -2
  68. package/dist/src/compiled/_chunks/workflow/{dist-zLevmMyU.js → dist-C_VDTghO.js} +10 -10
  69. package/dist/src/compiled/_chunks/workflow/{dist-CttsoN4D.js → dist-CrxV2rsR.js} +1 -1
  70. package/dist/src/compiled/_chunks/workflow/{functions-PT9ri9Hu.js → functions-Dv8dc_-I.js} +1 -1
  71. package/dist/src/compiled/_chunks/workflow/resume-hook-czpG5xnP.js +1 -0
  72. package/dist/src/compiled/_chunks/workflow/run-6zaMjFY6.js +1 -0
  73. package/dist/src/compiled/_chunks/workflow/sleep-B2u06FWc.js +1 -0
  74. package/dist/src/compiled/_chunks/workflow/{src-CQuMexnO.js → src-D1EltLDA.js} +1 -1
  75. package/dist/src/compiled/_chunks/workflow/{token-CaY0nA5J.js → token-Cz223z3C.js} +1 -1
  76. package/dist/src/compiled/_chunks/workflow/token-DWqA5-DA.js +1 -0
  77. package/dist/src/compiled/_chunks/workflow/token-util-B6qBs3-0.js +27 -0
  78. package/dist/src/compiled/_chunks/workflow/{undici-fb54XL8i.js → undici-C2ZhYnV9.js} +1 -1
  79. package/dist/src/compiled/_chunks/workflow/wrapper-Cc2otuUR.js +6 -0
  80. package/dist/src/compiled/env-runner/index.js +1 -1
  81. package/dist/src/compiled/env-runner/node-worker.js +1 -1
  82. package/dist/src/compiled/eventsource-parser/stream/index.d.ts +16 -3
  83. package/dist/src/compiled/jose/index.js +1 -1
  84. package/dist/src/compiler/compile-from-memory.d.ts +5 -0
  85. package/dist/src/compiler/compile-from-memory.js +1 -1
  86. package/dist/src/compiler/extension-compatibility.d.ts +10 -10
  87. package/dist/src/compiler/extension-compatibility.js +1 -1
  88. package/dist/src/execution/deliver-payloads.d.ts +1 -1
  89. package/dist/src/execution/deliver-payloads.js +1 -1
  90. package/dist/src/execution/workflow-entry.js +1 -1
  91. package/dist/src/execution/workflow-steps.js +1 -1
  92. package/dist/src/harness/session-limit-continuation.d.ts +8 -0
  93. package/dist/src/harness/session-limit-continuation.js +1 -1
  94. package/dist/src/harness/session-limit-enforcement.d.ts +9 -6
  95. package/dist/src/harness/session-limit-enforcement.js +1 -1
  96. package/dist/src/harness/stale-input-responses.d.ts +21 -3
  97. package/dist/src/harness/stale-input-responses.js +2 -2
  98. package/dist/src/harness/tool-loop.js +2 -2
  99. package/dist/src/harness/turn-cancellation.d.ts +13 -0
  100. package/dist/src/harness/turn-cancellation.js +1 -1
  101. package/dist/src/internal/application/package.js +1 -1
  102. package/dist/src/internal/authored-module-evaluation-error.d.ts +2 -0
  103. package/dist/src/internal/authored-module-evaluation-error.js +4 -0
  104. package/dist/src/internal/authored-module-loader.js +2 -2
  105. package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -1
  106. package/dist/src/internal/workflow-bundle/vercel-workflow-output.js +1 -1
  107. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/updateprojectblock.js +1 -0
  108. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/updateprojectprojectsbranchmatcher.js +1 -0
  109. package/dist/src/packages/eve-catalog/src/index.js +1 -1
  110. package/dist/src/public/channels/discord/defaults.js +1 -1
  111. package/dist/src/public/channels/eve.js +2 -1
  112. package/dist/src/public/channels/linear/api.d.ts +2 -0
  113. package/dist/src/public/channels/linear/api.js +3 -1
  114. package/dist/src/public/channels/linear/defaults.js +2 -2
  115. package/dist/src/public/channels/linear/hitl.d.ts +8 -13
  116. package/dist/src/public/channels/linear/hitl.js +3 -3
  117. package/dist/src/public/channels/linear/index.d.ts +1 -1
  118. package/dist/src/public/channels/linear/index.js +1 -1
  119. package/dist/src/public/channels/linear/linearChannel.js +1 -1
  120. package/dist/src/public/channels/slack/api.d.ts +46 -2
  121. package/dist/src/public/channels/slack/api.js +1 -1
  122. package/dist/src/public/channels/slack/attachments.d.ts +6 -5
  123. package/dist/src/public/channels/slack/defaults.js +1 -1
  124. package/dist/src/public/channels/slack/inbound.d.ts +31 -0
  125. package/dist/src/public/channels/slack/inbound.js +1 -1
  126. package/dist/src/public/channels/slack/index.d.ts +2 -2
  127. package/dist/src/public/channels/slack/interactions.d.ts +2 -1
  128. package/dist/src/public/channels/slack/interactions.js +1 -1
  129. package/dist/src/public/channels/slack/slackChannel.d.ts +118 -13
  130. package/dist/src/public/channels/slack/slackChannel.js +1 -1
  131. package/dist/src/public/channels/slack/thread.d.ts +4 -3
  132. package/dist/src/public/channels/slack/thread.js +1 -1
  133. package/dist/src/public/channels/teams/defaults.js +2 -2
  134. package/dist/src/public/channels/teams/index.d.ts +1 -1
  135. package/dist/src/public/channels/teams/teamsChannel.d.ts +7 -2
  136. package/dist/src/public/channels/teams/teamsChannel.js +1 -1
  137. package/dist/src/public/channels/telegram/defaults.js +1 -1
  138. package/dist/src/public/definitions/channel.d.ts +1 -1
  139. package/dist/src/runtime/framework-tools/connection-search-dynamic.js +2 -1
  140. package/dist/src/setup/scaffold/create/add-to-project.js +1 -1
  141. package/dist/src/setup/scaffold/create/project.js +2 -2
  142. package/dist/src/setup/scaffold/create/web-template.d.ts +1 -1
  143. package/dist/src/setup/scaffold/create/web-template.js +90 -5
  144. package/dist/src/setup/scaffold/update/channels.js +2 -2
  145. package/dist/src/setup/scaffold/update/connections.js +1 -1
  146. package/dist/src/svelte/index.js +1 -1
  147. package/dist/src/svelte/use-eve-agent.js +1 -1
  148. package/dist/src/vue/index.js +1 -1
  149. package/dist/src/vue/use-eve-agent.js +1 -1
  150. package/docs/agent-config.md +10 -5
  151. package/docs/channels/slack.mdx +115 -12
  152. package/docs/channels/teams.mdx +10 -3
  153. package/docs/guides/client/streaming.mdx +15 -0
  154. package/docs/guides/deployment/vercel.mdx +1 -1
  155. package/docs/guides/frontend/overview.mdx +2 -0
  156. package/package.json +22 -22
  157. package/dist/src/compiled/@workflow/core/step-hydration-cache.d.ts +0 -148
  158. package/dist/src/compiled/_chunks/node/virtual-loader-B8K8w9cr.js +0 -1
  159. package/dist/src/compiled/_chunks/workflow/attribute-changes-CXiYB8h9.js +0 -20
  160. package/dist/src/compiled/_chunks/workflow/dist-BYo8Gno2.js +0 -3
  161. package/dist/src/compiled/_chunks/workflow/resume-hook-CHXbXuRZ.js +0 -1
  162. package/dist/src/compiled/_chunks/workflow/run-BjtAGa3_.js +0 -1
  163. package/dist/src/compiled/_chunks/workflow/sleep-BJAv0MFP.js +0 -1
  164. package/dist/src/compiled/_chunks/workflow/token-D4VIwGlD.js +0 -1
  165. package/dist/src/compiled/_chunks/workflow/wrapper-ulTvoTdW.js +0 -6
  166. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.1/node_modules/@vercel/sdk/esm/models/updateprojectprojectsaction.js +0 -1
  167. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.1/node_modules/@vercel/sdk/esm/models/updateprojectprojectsoptionsallowlist.js +0 -1
  168. /package/dist/src/node_modules/.pnpm/{@vercel_sdk@1.28.1 → @vercel_sdk@1.28.8}/node_modules/@vercel/sdk/esm/lib/primitives.js +0 -0
  169. /package/dist/src/node_modules/.pnpm/{@vercel_sdk@1.28.1 → @vercel_sdk@1.28.8}/node_modules/@vercel/sdk/esm/lib/schemas.js +0 -0
  170. /package/dist/src/node_modules/.pnpm/{@vercel_sdk@1.28.1 → @vercel_sdk@1.28.8}/node_modules/@vercel/sdk/esm/models/aclaction.js +0 -0
  171. /package/dist/src/node_modules/.pnpm/{@vercel_sdk@1.28.1 → @vercel_sdk@1.28.8}/node_modules/@vercel/sdk/esm/models/sdkvalidationerror.js +0 -0
  172. /package/dist/src/node_modules/.pnpm/{@vercel_sdk@1.28.1 → @vercel_sdk@1.28.8}/node_modules/@vercel/sdk/esm/types/defaultToZeroValue.js +0 -0
  173. /package/dist/src/node_modules/.pnpm/{@vercel_sdk@1.28.1 → @vercel_sdk@1.28.8}/node_modules/@vercel/sdk/esm/types/fp.js +0 -0
  174. /package/dist/src/node_modules/.pnpm/{@vercel_sdk@1.28.1 → @vercel_sdk@1.28.8}/node_modules/@vercel/sdk/esm/types/primitives.js +0 -0
  175. /package/dist/src/node_modules/.pnpm/{@vercel_sdk@1.28.1 → @vercel_sdk@1.28.8}/node_modules/@vercel/sdk/esm/types/rfcdate.js +0 -0
  176. /package/dist/src/node_modules/.pnpm/{@vercel_sdk@1.28.1 → @vercel_sdk@1.28.8}/node_modules/@vercel/sdk/esm/types/smartUnion.js +0 -0
  177. /package/dist/src/node_modules/.pnpm/{@vercel_sdk@1.28.1 → @vercel_sdk@1.28.8}/node_modules/@vercel/sdk/esm/types/unrecognized.js +0 -0
@@ -1,3 +1,3 @@
1
- import{createErrorId,createLogger,formatError,logError,recordErrorOnSpan}from"#internal/logging.js";import{isScheduleAppAuth}from"#channel/schedule-auth.js";import{AuthKey,ParentSessionKey}from"#context/keys.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{toErrorMessage}from"#shared/errors.js";import{createActionResultEvent,createAuthorizationRequiredEvent,createCompactionCompletedEvent,createCompactionRequestedEvent,createInputRequestedEvent,createResultCompletedEvent,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{contextStorage}from"#context/container.js";import{advanceStep,emitFailedStep,emitRecoverableFailedTurn,emitStepStarted,emitStreamContent,emitTurnEpilogue,emitTurnPreamble,getHarnessEmissionState,setHarnessEmissionState}from"#harness/emission.js";import{ToolLoopAgent,isStepCount}from"ai";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{getActiveDynamicModelSelection}from"#context/dynamic-model-lifecycle.js";import{context,trace}from"#compiled/@opentelemetry/api/index.js";import{isAuthorizationSignal,setPendingAuthorization}from"#harness/authorization.js";import{throwIfTurnAborted}from"#harness/turn-cancellation.js";import{normalizeUserContent,resolveAssistantStepText}from"#harness/messages.js";import{buildDynamicInstructionMessages}from"#context/dynamic-instruction-lifecycle.js";import{PendingSkillAnnouncementKey}from"#context/dynamic-skill-lifecycle.js";import{consumeDeferredStepInput,getApprovedTools,getPendingInputRequestIds,hasDeferredStepInput,hasStepInput,resolvePendingInput,setPendingInputBatch}from"#harness/input-requests.js";import{accumulateTurnUsage,getTurnUsageState,setTurnUsageState}from"#harness/turn-tag-state.js";import{getWorkflowContinuationSecurity,readWorkflowContinuationSecurity}from"#harness/workflow-continuation-security.js";import{buildWorkflowHostTools,resolveWorkflowSandboxBridgeRequestLimit}from"#harness/workflow-sandbox.js";import{CONDITIONAL_DELIVERY_INSTRUCTION,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{readToolInterrupt}from"#harness/tool-interrupts.js";import{ASK_QUESTION_TOOL_NAME}from"#runtime/framework-tools/ask-question.js";import{extractQuestionInputRequests,extractToolApprovalInputRequests}from"#harness/input-extraction.js";import{applyLastToolCacheBreakpoint,applySystemCacheBreakpoint,detectPromptCachePath,getAnthropicCacheMarker}from"#harness/prompt-cache.js";import{buildDynamicTools}from"#context/build-dynamic-tools.js";import{hydrateSandboxAttachments,stageAttachmentsToSandbox}from"#harness/attachment-staging.js";import{createWorkflowLifecycle}from"#harness/workflow-lifecycle.js";import{compactMessages,getInputTokenCount,resolveCompactionModel,shouldCompact}from"#harness/compaction.js";import{applySessionLimitContinuation,enforceSessionTokenLimit}from"#harness/session-limit-enforcement.js";import{setEveAttributes}from"#runtime/attributes/emit.js";import{buildTelemetryRuntimeContext}from"#harness/instrumentation-runtime-context.js";import{convertStaleResponsesToUserMessage}from"#harness/stale-input-responses.js";import{getInstrumentationConfig}from"#harness/instrumentation-config.js";import{normalizeProviderToolHistory}from"#harness/provider-tool-history.js";import{extractWorkflowStreamWriteErrorDetails}from"#harness/workflow-stream-error.js";import{ensureOtelIntegration}from"#harness/otel-integration.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"#runtime/framework-tools/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 enrichTelemetry(e,t,n){if(e===void 0)return;let r={};for(let e of Object.keys(n??{}))r[e]=!0;return{functionId:e.functionId??t,includeRuntimeContext:r,isEnabled:!0,recordInputs:e.recordInputs??!0,recordOutputs:e.recordOutputs??!0}}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,recordErrorOnSpan}from"#internal/logging.js";import{isScheduleAppAuth}from"#channel/schedule-auth.js";import{AuthKey,ParentSessionKey}from"#context/keys.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{toErrorMessage}from"#shared/errors.js";import{createActionResultEvent,createAuthorizationRequiredEvent,createCompactionCompletedEvent,createCompactionRequestedEvent,createInputRequestedEvent,createResultCompletedEvent,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{contextStorage}from"#context/container.js";import{advanceStep,emitFailedStep,emitRecoverableFailedTurn,emitStepStarted,emitStreamContent,emitTurnEpilogue,emitTurnPreamble,getHarnessEmissionState,setHarnessEmissionState}from"#harness/emission.js";import{ToolLoopAgent,isStepCount}from"ai";import{createRuntimeActionRequestFromToolCall,resolvePendingRuntimeActions,setPendingRuntimeActionBatch}from"#harness/runtime-actions.js";import{normalizeUserContent,resolveAssistantStepText}from"#harness/messages.js";import{clearPendingWorkflowInterrupt,getPendingWorkflowInterrupt,setPendingWorkflowInterrupt}from"#harness/workflow-interrupt-state.js";import{getWorkflowRuntimeActionInterrupts,isWorkflowRuntimeActionInterrupt}from"#harness/workflow-runtime-action-state.js";import{getActiveDynamicModelSelection}from"#context/dynamic-model-lifecycle.js";import{context,trace}from"#compiled/@opentelemetry/api/index.js";import{isAuthorizationSignal,setPendingAuthorization}from"#harness/authorization.js";import{throwIfTurnAborted}from"#harness/turn-cancellation.js";import{buildDynamicInstructionMessages}from"#context/dynamic-instruction-lifecycle.js";import{PendingSkillAnnouncementKey}from"#context/dynamic-skill-lifecycle.js";import{consumeDeferredStepInput,getApprovedTools,getPendingInputRequestIds,hasDeferredStepInput,hasStepInput,resolvePendingInput,setPendingInputBatch}from"#harness/input-requests.js";import{accumulateTurnUsage,getTurnUsageState,setTurnUsageState}from"#harness/turn-tag-state.js";import{getWorkflowContinuationSecurity,readWorkflowContinuationSecurity}from"#harness/workflow-continuation-security.js";import{buildWorkflowHostTools,resolveWorkflowSandboxBridgeRequestLimit}from"#harness/workflow-sandbox.js";import{CONDITIONAL_DELIVERY_INSTRUCTION,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{readToolInterrupt}from"#harness/tool-interrupts.js";import{ASK_QUESTION_TOOL_NAME}from"#runtime/framework-tools/ask-question.js";import{extractQuestionInputRequests,extractToolApprovalInputRequests}from"#harness/input-extraction.js";import{applyLastToolCacheBreakpoint,applySystemCacheBreakpoint,detectPromptCachePath,getAnthropicCacheMarker}from"#harness/prompt-cache.js";import{buildDynamicTools}from"#context/build-dynamic-tools.js";import{hydrateSandboxAttachments,stageAttachmentsToSandbox}from"#harness/attachment-staging.js";import{createWorkflowLifecycle}from"#harness/workflow-lifecycle.js";import{compactMessages,getInputTokenCount,resolveCompactionModel,shouldCompact}from"#harness/compaction.js";import{applySessionLimitContinuation,enforceSessionTokenLimit}from"#harness/session-limit-enforcement.js";import{setEveAttributes}from"#runtime/attributes/emit.js";import{buildTelemetryRuntimeContext}from"#harness/instrumentation-runtime-context.js";import{convertStaleResponsesToUserMessage,dropStaleSessionLimitContinuationResponses}from"#harness/stale-input-responses.js";import{getInstrumentationConfig}from"#harness/instrumentation-config.js";import{normalizeProviderToolHistory}from"#harness/provider-tool-history.js";import{extractWorkflowStreamWriteErrorDetails}from"#harness/workflow-stream-error.js";import{ensureOtelIntegration}from"#harness/otel-integration.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"#runtime/framework-tools/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 enrichTelemetry(e,t,n){if(e===void 0)return;let r={};for(let e of Object.keys(n??{}))r[e]=!0;return{functionId:e.functionId??t,includeRuntimeContext:r,isEnabled:!0,recordInputs:e.recordInputs??!0,recordOutputs:e.recordOutputs??!0}}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)return{model:await e.config.resolveModel(e.session.agent.modelReference),session:e.session};let t=e.session.agent.dynamicModelDefaultReference??e.session.agent.modelReference,n=getActiveDynamicModelSelection(e.ctx);return n===null?{model:await e.config.resolveModel(t),session:updateSessionModelReference(e.session,t)}:{model:n.model===void 0?await e.config.resolveModel(n.reference):n.model,session:updateSessionModelReference(e.session,n.reference)}}function updateSessionModelReference(e,t){let n=e.agent.modelReference;return{...e,agent:{...e.agent,modelReference:t},compaction:updateCompactionThresholdForModelReference({compaction:e.compaction,modelReference:t,priorReference:n})}}function updateCompactionThresholdForModelReference(e){if(e.modelReference.contextWindowTokens===void 0||e.priorReference.contextWindowTokens===void 0)return e.compaction;let t=e.compaction.threshold/e.priorReference.contextWindowTokens;return{...e.compaction,threshold:Math.max(1,Math.floor(e.modelReference.contextWindowTokens*t))}}const TURN_TRACE_STATE_KEY=`eve.harness.turnTrace`;function getTurnTraceState(e){return e.state?.[TURN_TRACE_STATE_KEY]}function setTurnTraceState(e,t){let n={traceId:t.traceId,spanId:t.spanId,traceFlags:t.traceFlags};return{...e,state:{...e.state,[TURN_TRACE_STATE_KEY]:n}}}function resolveStepOtelContext(e,t,n){if(t)return trace.setSpan(context.active(),t);if(e){let e=getTurnTraceState(n);if(e){let t=trace.wrapSpanContext({traceId:e.traceId,spanId:e.spanId,traceFlags:e.traceFlags});return trace.setSpan(context.active(),t)}}}function createToolLoopHarness(t){let n=t.handleEvent,c=getInstrumentationConfig();c!==void 0&&ensureOtelIntegration();let d=c===void 0?void 0:trace.getTracer(`eve`),f=t.runtimeIdentity?.agentName;async function runStep(e,t){let n;if(d&&hasStepInput(t)){let t=c?.functionId??f,r={"eve.version":eveVersion,"eve.environment":environment,"eve.session.id":e.sessionId};t&&(r[`ai.telemetry.functionId`]=t),n=d.startSpan(`ai.eve.turn`,{attributes:r})}let r=resolveStepOtelContext(d,n,e),executeStep=()=>executeStepBody(e,t,n);try{return r?await context.with(r,executeStep):await executeStep()}finally{n?.end()}}async function executeStepBody(d,p,m){let h=d;m&&(h=setTurnTraceState(h,m.spanContext()));let v=getHarnessEmissionState(h.state),x=consumeDeferredStepInput({input:p,session:h});h=x.session;let O=await resolvePendingRuntimeActions({emit:n,session:h,stepInput:x.input});if(O.outcome===`unresolved`)return{next:null,session:O.session};h=O.session;let A=convertStaleResponsesToUserMessage({history:O.messages,pendingRequestIds:getPendingInputRequestIds(h.state),stepInput:x.input}),j=A.stepInput,M=A.kind===`converted`?{...j,message:A.displayMessage}:j,N=resolvePendingInput({history:O.messages,resolveApprovalKey:resolveApprovalKeyFromTools(t.tools),session:h,stepInput:j});if(N.outcome===`unresolved`)return n&&N.deferredMessage===!0&&hasStepInput(p)?(v=await emitTurnPreamble(n,M??{},v,t.runtimeIdentity),v=await emitTurnEpilogue(n,v,t.mode,N.session.continuationToken),{next:null,session:setHarnessEmissionState(N.session,v)}):{next:null,session:N.session};if(n&&N.rejectedActions)for(let e of N.rejectedActions.results)await n(createActionResultEvent({rejected:!0,result:e,sequence:N.rejectedActions.event.sequence,stepIndex:N.rejectedActions.event.stepIndex,turnId:N.rejectedActions.event.turnId}));n&&hasStepInput(p)&&(v=await emitTurnPreamble(n,M??{},v,t.runtimeIdentity),h=setHarnessEmissionState(h,v),m&&m.setAttribute(`eve.turn.id`,v.turnId)),h=N.session;let P=N.messages,F=await applySessionLimitContinuation({config:t,emit:n,emissionState:v,limitContinuation:N.limitContinuation,session:h});if(F.result!==null)return F.result;if(h=F.session,j?.context!==void 0&&N.deferredContext!==!0)for(let e of j.context)P.push({content:e,role:`user`});let I=normalizeUserContent(j?.message);if(I!==void 0&&!N.deferredMessage&&!N.consumedMessage){let e=await stageAttachmentsToSandbox(I);P.push({content:e,role:`user`})}let L=contextStorage.getStore();L!==void 0&&t.dispatchDynamicModelEvent!==void 0&&await t.dispatchDynamicModelEvent({ctx:L,event:createStepStartedEvent({sequence:v.sequence,stepIndex:v.stepIndex,turnId:v.turnId}),fallback:h.agent.dynamicModelDefaultReference??h.agent.modelReference,messages:P});let R=await resolveActiveRuntimeModel({config:t,ctx:L,session:h});h=R.session;let z=R.model,B=detectPromptCachePath(z),V=B.kind===`anthropic-direct`?getAnthropicCacheMarker():void 0,H=buildGatewayAttributionHeaders(z,t.runtimeIdentity);({messages:P,session:h}=await maybeCompact({abortSignal:t.abortSignal,emit:n,emissionState:v,messages:P,model:z,onCompaction:t.onCompaction,resolveModel:t.resolveModel,runtimeIdentity:t.runtimeIdentity,session:h,telemetry:enrichTelemetry(c,f)??void 0}));let U=getApprovedTools(h),W=h.outputSchema===void 0&&L!==void 0&&isScheduleAppAuth(L.get(AuthKey))&&L.get(ParentSessionKey)===void 0,G=await hydrateSandboxAttachments(P),K=[],q=[];for(let e of G)e.role===`system`?K.push(e):q.push(e);if(L!==void 0){K.push(...buildDynamicInstructionMessages(L));let e=L.get(PendingSkillAnnouncementKey);e!==void 0&&e.length>0&&K.push({role:`system`,content:e})}W&&K.push({role:`system`,content:CONDITIONAL_DELIVERY_INSTRUCTION});let J=q,prepareModelCallInput=e=>{let t=e?[{role:`system`,content:e}]:[],n=h.agent.system?[{role:`system`,content:h.agent.system}]:[],r=K.length>0||t.length>0?[...t,...n,...K]:void 0,i=r!==void 0&&V?applySystemCacheBreakpoint(r,V):r,a=i===void 0?h.agent.system??void 0:mergeSystemInstructions(i);return{instructions:a,telemetryRuntimeContext:buildTelemetryRuntimeContext({eveVersion,authored:c,emissionState:v,environment,modelInput:{instructions:a,messages:J},session:h})}},runSingleModelCall=async e=>{let{instructions:i,telemetryRuntimeContext:a={}}=e.preparedInput??prepareModelCallInput(e.extraSystemNote);e.retryReason&&(a[`eve.retry.reason`]=e.retryReason);let o=e.trailingUserNote?[...J,{role:`user`,content:e.trailingUserNote}]:J,s=getAdvertisedTools({session:h,tools:t.tools}),l=await buildToolSetWithProviderTools({approvedTools:U,capabilities:t.capabilities,disabledProviderTools:e.disabledProviderTools,modelReference:h.agent.modelReference,tools:s});if(L!==void 0){let n=getAdvertisedTools({session:h,tools:buildDynamicTools(L)}),r=buildToolSetFromDefinitions({approvedTools:U,capabilities:t.capabilities,disabledProviderTools:e.disabledProviderTools,tools:n});for(let[e,t]of Object.entries(r))l[e]=t}h.outputSchema!==void 0&&(l[FINAL_OUTPUT_TOOL_NAME]=buildFinalOutputTool(h.outputSchema));let u=n===void 0?void 0:({tools:e})=>createWorkflowLifecycle({emit:n,emissionState:v,tools:e}),d=t.workflow===!0?{lifecycle:u,maxSubagents:t.workflowMaxSubagents}:void 0,p=await getAdvertisedTools({modelTools:l,session:h,tools:s,workflow:d});h=p.session;let m=p.modelTools,g=V?applyLastToolCacheBreakpoint(m,V):m,y=buildStepHooks({cachePath:B,emit:n,emissionState:v,emitStepStarted:e.suppressStepStartedEmission!==!0,marker:V,session:h}),b=new ToolLoopAgent({headers:H,instructions:i,model:z,onToolExecutionEnd:logToolExecutionError,onError(e){summarizeKnownError(e.error)?.tags.includes(`config`)!==!0&&logError(log,`tool-loop stream error`,e.error)},onStepFinish:y.onStepFinish,prepareStep:y.prepareStep,reasoning:h.agent.reasoning,runtimeContext:a,stopWhen:isStepCount(1),telemetry:enrichTelemetry(c,f,a),toolApproval:buildToolApproval(m),tools:g});return(async()=>{if(n){let e=[...t.tools].filter(([e,t])=>t.runtimeAction!==void 0&&s.get(e)===void 0).map(([e])=>e),r=new Set([ASK_QUESTION_TOOL_NAME,FINAL_OUTPUT_TOOL_NAME,...e]),i=await b.stream({abortSignal:t.abortSignal,messages:o}),{emittedActionCallIds:a,handledInlineToolResultCallIds:c,invalidInputToolCallIds:l,inlineAuthorizationResults:u,trailingInlineToolResultParts:d}=await emitStreamContent(n,v,i.fullStream,{excludedActionToolNames:r,tools:t.tools});throwIfTurnAborted(t.abortSignal);let[f,p]=await Promise.all([y.stepResult,i.responseMessages]);if(isEmptyModelResponse(f)&&extractToolResultCallIds(p).size===0&&u.length===0&&d.length===0)throw new EmptyModelResponseError;await emitStepActions(n,v,f,{emittedActionCallIds:a,excludedActionCallIds:l,excludedActionToolNames:r,handledInlineToolResultCallIds:c,tools:s});let m=f.toolResults,h=new Map(m.map(e=>[e.toolCallId,e]));for(let e of u)h.set(e.toolCallId,e);return withAccumulatedResponseMessages({invalidInputToolCallIds:l,responseMessages:appendMissingToolResultMessages({append:d,responseMessages:p}),stepResult:f,toolResults:[...h.values()]})}let e=await b.generate({abortSignal:t.abortSignal,messages:o});throwIfTurnAborted(t.abortSignal);let r=await y.stepResult;if(isEmptyModelResponse(r)&&extractToolResultCallIds(e.responseMessages).size===0)throw new EmptyModelResponseError;return withAccumulatedResponseMessages({responseMessages:e.responseMessages,stepResult:r})})().catch(rethrowNoOutputAsEmptyResponse)},runOneModelCall=async e=>runModelCallWithRetries(t=>runSingleModelCall({...e,preparedInput:t===1?e.preparedInput:void 0,suppressStepStartedEmission:t===1?e.suppressStepStartedEmission:!0}),{sessionId:h.sessionId,turnId:v.turnId},t.abortSignal),ne=prepareModelCallInput();n&&await emitStepStarted(n,v,P);let Y=await continuePendingWorkflowInterrupt({childResults:j?.runtimeActionResults,config:t,emit:n,emissionState:v,runStep,session:h});if(Y!==null)return Y;let X=await enforceSessionTokenLimit({config:t,emit:n,emissionState:v,messages:P,session:h});if(X!==null)return X;let Z;try{Z=await runOneModelCall({preparedInput:ne,suppressStepStartedEmission:!0})}catch(r){throwIfTurnAborted(t.abortSignal);let a=await runModelCallRecoveryPipeline({error:r,stages:[e=>attemptUnsupportedProviderToolRecovery({error:e.error,runOneModelCall,sessionId:h.sessionId,turnId:v.turnId}),e=>attemptEmptyResponseRecovery({emptyDeliveryEnabled:W,error:e.error,retryCallOptions:e.retryCallOptions,runOneModelCall,sessionId:h.sessionId,turnId:v.turnId})]});if(throwIfTurnAborted(t.abortSignal),a.outcome===`recovered`)Z=a.result;else{let r=a.error;if(m&&recordErrorOnSpan(m,r),!n)throw r;let o=extractWorkflowStreamWriteErrorDetails(r);if(o!==null){let t=createErrorId();return log.error(`workflow stream write failed — parking session for retry by the user`,{...o,errorId:t,error:r,sessionId:h.sessionId,turnId:v.turnId}),v=await emitRecoverableFailedTurn(n,v,{code:`WORKFLOW_STREAM_WRITE_FAILED`,continuationToken:h.continuationToken,details:{...o,errorId:t},message:toErrorMessage(r)}),{next:null,session:setHarnessEmissionState(h,v)}}let s=classifyModelCallError(r),c=createErrorId(),u=summarizeKnownError(r),d=u===null?extractUpstreamRejectionMessage(r):null,f=u?.message??d?.message??toErrorMessage(r),p=u?.hint===void 0?f:`${f} ${u.hint}`,g=extractModelCallErrorDetails(r),y=buildModelCallFailureDetails({catalogSummary:u,error:r,errorId:c,modelCallDetails:g,upstreamRejection:d}),b=buildModelCallFailureLogFields({error:r,errorId:c,modelCallDetails:g,recognized:u!==null||d!==null,sessionId:h.sessionId,turnId:v.turnId});if(s===`terminal`)return u===null?log.error(d?.message??`model call failed terminally`,b):log.error(`${u.name}: ${u.message}`,{errorId:c,hint:u.hint,sessionId:h.sessionId,turnId:v.turnId}),await emitFailedStep(n,v,{code:`MODEL_CALL_FAILED`,details:y,message:f,sessionId:h.sessionId}),{next:t.mode===`task`?{done:!0,isError:!0,output:p}:{done:!0,output:``},session:h};if(t.mode===`task`){if(s===`recoverable`&&!(r instanceof EmptyModelResponseError))throw log.warn(d?.message??`model call failed recoverably in task mode — rethrowing for durable step retry`,b),r;return log.error(d?.message??`model call failed; failing the task run`,b),await emitFailedStep(n,v,{code:`MODEL_CALL_FAILED`,details:y,message:f,sessionId:h.sessionId}),{next:{done:!0,isError:!0,output:p},session:h}}return log.error(d?.message??`model call failed — parking session for retry by the user`,b),v=await emitRecoverableFailedTurn(n,v,{code:`MODEL_CALL_FAILED`,continuationToken:h.continuationToken,details:y,message:f}),{next:null,session:setHarnessEmissionState(h,v)}}}let Q=accumulateTurnUsage({previous:getTurnUsageState(h.state),turnId:v.turnId,usage:extractTokenUsageDelta({costUsd:extractGatewayCostUsd(Z.providerMetadata),usage:Z.usage})});h=setTurnUsageState(h,Q);let $;try{$=formatLanguageModelGatewayId(z)}catch{$=void 0}return await setEveAttributes({"$eve.model":$,"$eve.input_tokens":Q.inputTokens,"$eve.output_tokens":Q.outputTokens,"$eve.cache_read_tokens":Q.cacheReadTokens,"$eve.cache_write_tokens":Q.cacheWriteTokens,"$eve.cost_usd":Q.sawCost?Q.costUsd:void 0,"$eve.tool_count":t.tools.size}),handleStepResult({config:t,emit:n,emissionState:v,promptMessages:P,result:Z,runStep,session:h})}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(!(n.role!==`tool`||!Array.isArray(n.content)))for(let e of n.content)e.type===`tool-result`&&t.add(e.toolCallId);return t}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:i,runStep:a}=e,{emissionState:o,session:s}=e,c=resolveAssistantStepText(i.response.messages,i.text),l=i.finishReason!==`tool-calls`&&i.toolCalls.length===0&&hasEmptyDeliverySentinel(c),u=getInvalidToolCallInputErrors({toolCalls:i.toolCalls}),f=new Set([...i.invalidInputToolCallIds??[],...i.toolCalls.filter(isInvalidToolCall).map(e=>e.toolCallId),...u.map(e=>e.toolCallId)]),p=l?[]:appendMissingToolResultMessages({append:u.map(e=>createToolResultMessagePartFromToolError(e)),responseMessages:i.response.messages}),h=l?null:c,g=new Set;for(let e of[...i.content??[],...i.toolResults??[]])(e.type===`tool-result`||e.type===`tool-error`)&&e.providerExecuted===!0&&g.add(e.toolCallId);let _=normalizeProviderToolHistory({messages:p,providerExecutedOutcomeIds:g}),v=_.messages,y={...s,compaction:createNextCompactionConfig(s.compaction,r,i)},b=t.workflow===!0?readWorkflowContinuationSecurity(y):void 0;if(b!==void 0){let e=await getWorkflowSandboxInterrupt(i,b);if(e!==void 0){if(!isWorkflowRuntimeActionInterrupt(e))throw Error(`Unsupported Workflow interrupt kind "${e.payload.kind}".`);return parkOnWorkflowInterrupt({baseSession:y,emissionState:o,interrupt:e,promptMessages:r,responseMessages:v})}}let S=extractToolApprovalInputRequests({content:i.content??[],excludedCallIds:f}),ee=new Set(S.map(e=>e.action.callId)),te=extractQuestionInputRequests({toolCalls:i.toolCalls,excludedCallIds:new Set([...f,...ee])}),C=[...S,...te],w=getAdvertisedTools({session:y,tools:t.tools}),T=(i.toolCalls??[]).filter(e=>!f.has(e.toolCallId)).filter(e=>t.tools.get(e.toolName)?.runtimeAction!==void 0).filter(e=>w.get(e.toolName)?.runtimeAction===void 0?(log.warn(`runtime action tool call blocked because tool is not advertised`,{callId:e.toolCallId,sessionId:y.sessionId,toolName:e.toolName}),!1):!0).map(e=>createRuntimeActionRequestFromToolCall({toolCall:e,tools:w}));if(T.length>0)return{next:null,session:setHarnessEmissionState(setPendingRuntimeActionBatch({actions:T,event:{sequence:o.sequence,stepIndex:o.stepIndex,turnId:o.turnId},responseMessages:v,session:{...y,history:[...r]}}),o)};if(C.length>0){let e=setPendingInputBatch({event:{sequence:o.sequence,stepIndex:o.stepIndex,turnId:o.turnId},requests:C,responseMessages:v,session:{...y,history:[...r]}});return n&&(await n(createInputRequestedEvent({requests:C,sequence:o.sequence,stepIndex:o.stepIndex,turnId:o.turnId})),t.mode===`conversation`&&(o=await emitTurnEpilogue(n,o,t.mode,e.continuationToken),e=setHarnessEmissionState(e,o))),{next:null,session:e}}let E=findAuthorizationSignalFromToolResults(i.toolResults);if(E){let{challenges:e}=E;if(n)for(let t of e)await n(createAuthorizationRequiredEvent({authorization:t.challenge,name:t.name,description:t.challenge.instructions??`Authorization required for ${t.name}`,webhookUrl:t.hookUrl,sequence:o.sequence,stepIndex:o.stepIndex,turnId:o.turnId}));return{next:null,session:setHarnessEmissionState({...y,history:[...r],state:setPendingAuthorization(y.state,{challenges:e})},o)}}let D=v,k=[...r,...D],j={...y,history:k};return!(j.outputSchema!==void 0&&extractFinalOutput(i)!==void 0)&&(D.at(-1)?.role===`tool`||_.outcomeEndsResponse||hasDeferredStepInput(j))?(n&&(o=advanceStep(o),j=setHarnessEmissionState(j,o)),{next:a,session:j}):t.mode===`task`?finishTaskTurn({emissionState:o,emit:n,history:r,result:i,schema:j.outputSchema,session:j,stepOutput:h}):finishConversationTurn({emissionState:o,emit:n,history:r,result:i,schema:j.outputSchema,session:j})}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.continuationToken),s=setHarnessEmissionState(s,o)),{next:{done:!0,output:a??``},session:s};let c=extractFinalOutput(r);return c===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.continuationToken),s=setHarnessEmissionState(s,o)),{next:{done:!0,output:c},session:s})}async function finishConversationTurn(e){let{emit:t,history:n,result:r,schema:i}=e,{emissionState:a,session:o}=e;if(i===void 0)return t&&(a=await emitTurnEpilogue(t,a,`conversation`,o.continuationToken),o=setHarnessEmissionState(o,a)),{next:null,session:o};let s=extractFinalOutput(r);return s===void 0?(t&&(a=await emitRecoverableFailedTurn(t,a,{...OUTPUT_SCHEMA_NOT_FULFILLED,continuationToken:o.continuationToken}),o=setHarnessEmissionState(o,a)),{next:null,session:o}):(o=persistStructuredAssistantTurn(o,n,s),t&&(a=await emitStructuredResult(t,a,s,`conversation`,o.continuationToken),o=setHarnessEmissionState(o,a)),{next:null,session:o})}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.config.tools}),a=getWorkflowContinuationSecurity(e.session),o;try{let t=buildWorkflowHostTools({tools:e.config.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,u=replaceWorkflowToolResult([...e.session.history,...t.responseMessages],n.outerToolCallId,c),d=clearPendingWorkflowInterrupt({...e.session,history:u});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=u.slice(0,t),r=u.slice(t);return d={...d,history:n},parkOnWorkflowInterrupt({baseSession:d,emissionState:e.emissionState,interrupt:s.interrupt,promptMessages:n,responseMessages:r})}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}})}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};return n.usage?.inputTokens!==void 0&&(r.lastKnownInputTokens=n.usage.inputTokens,r.lastKnownPromptMessageCount=t.length),r}async function maybeCompact(e){let{emit:t,emissionState:n}=e,r=e.messages,i=e.session;if(!shouldCompact(r,i.compaction))return{messages:r,session:i};let a=await resolveCompactionModel({compactionModelReference:i.agent.compactionModelReference,model:e.model,modelReference:i.agent.modelReference,resolveModel:e.resolveModel});if(t&&await t(createCompactionRequestedEvent({modelId:formatLanguageModelGatewayId(a.model),sequence:n.sequence,sessionId:i.sessionId,turnId:n.turnId,usageInputTokens:getInputTokenCount(r,i.compaction)})),r=await compactMessages(r,a.model,i.compaction,a.providerOptions,e.telemetry,buildGatewayAttributionHeaders(a.model,e.runtimeIdentity),e.abortSignal),e.onCompaction)for(let t of e.onCompaction())r.push(t);return t&&await t(createCompactionCompletedEvent({modelId:formatLanguageModelGatewayId(a.model),sequence:n.sequence,sessionId:i.sessionId,turnId:n.turnId})),{messages:r,session:i}}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))}}}function findAuthorizationSignalFromToolResults(e){let t=contextStorage.getStore();if(t!==void 0)for(let n of e??[]){let e=readToolInterrupt(t,n.toolCallId);if(e!==void 0&&isAuthorizationSignal(e))return e}for(let t of e??[])if(isAuthorizationSignal(t.output))return t.output}export{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)return{model:await e.config.resolveModel(e.session.agent.modelReference),session:e.session};let t=e.session.agent.dynamicModelDefaultReference??e.session.agent.modelReference,n=getActiveDynamicModelSelection(e.ctx);return n===null?{model:await e.config.resolveModel(t),session:updateSessionModelReference(e.session,t)}:{model:n.model===void 0?await e.config.resolveModel(n.reference):n.model,session:updateSessionModelReference(e.session,n.reference)}}function updateSessionModelReference(e,t){let n=e.agent.modelReference;return{...e,agent:{...e.agent,modelReference:t},compaction:updateCompactionThresholdForModelReference({compaction:e.compaction,modelReference:t,priorReference:n})}}function updateCompactionThresholdForModelReference(e){if(e.modelReference.contextWindowTokens===void 0||e.priorReference.contextWindowTokens===void 0)return e.compaction;let t=e.compaction.threshold/e.priorReference.contextWindowTokens;return{...e.compaction,threshold:Math.max(1,Math.floor(e.modelReference.contextWindowTokens*t))}}const TURN_TRACE_STATE_KEY=`eve.harness.turnTrace`;function getTurnTraceState(e){return e.state?.[TURN_TRACE_STATE_KEY]}function setTurnTraceState(e,t){let n={traceId:t.traceId,spanId:t.spanId,traceFlags:t.traceFlags};return{...e,state:{...e.state,[TURN_TRACE_STATE_KEY]:n}}}function resolveStepOtelContext(e,t,n){if(t)return trace.setSpan(context.active(),t);if(e){let e=getTurnTraceState(n);if(e){let t=trace.wrapSpanContext({traceId:e.traceId,spanId:e.spanId,traceFlags:e.traceFlags});return trace.setSpan(context.active(),t)}}}function createToolLoopHarness(t){let n=t.handleEvent,c=getInstrumentationConfig();c!==void 0&&ensureOtelIntegration();let d=c===void 0?void 0:trace.getTracer(`eve`),f=t.runtimeIdentity?.agentName;async function runStep(e,t){let n;if(d&&hasStepInput(t)){let t=c?.functionId??f,r={"eve.version":eveVersion,"eve.environment":environment,"eve.session.id":e.sessionId};t&&(r[`ai.telemetry.functionId`]=t),n=d.startSpan(`ai.eve.turn`,{attributes:r})}let r=resolveStepOtelContext(d,n,e),executeStep=()=>executeStepBody(e,t,n);try{return r?await context.with(r,executeStep):await executeStep()}finally{n?.end()}}async function executeStepBody(d,p,m){let h=d;m&&(h=setTurnTraceState(h,m.spanContext()));let v=getHarnessEmissionState(h.state),x=consumeDeferredStepInput({input:p,session:h});h=x.session;let k=await resolvePendingRuntimeActions({emit:n,session:h,stepInput:x.input});if(k.outcome===`unresolved`)return{next:null,session:k.session};h=k.session;let A=getPendingInputRequestIds(h.state),M=convertStaleResponsesToUserMessage({history:k.messages,pendingRequestIds:A,stepInput:dropStaleSessionLimitContinuationResponses({pendingRequestIds:A,stepInput:x.input})}),N=M.stepInput,P=M.kind===`converted`?{...N,message:M.displayMessage}:N,F=resolvePendingInput({history:k.messages,resolveApprovalKey:resolveApprovalKeyFromTools(t.tools),session:h,stepInput:N});if(F.outcome===`unresolved`)return n&&F.deferredMessage===!0&&hasStepInput(p)?(v=await emitTurnPreamble(n,P??{},v,t.runtimeIdentity),v=await emitTurnEpilogue(n,v,t.mode,F.session.continuationToken),{next:null,session:setHarnessEmissionState(F.session,v)}):{next:null,session:F.session};if(n&&F.rejectedActions)for(let e of F.rejectedActions.results)await n(createActionResultEvent({rejected:!0,result:e,sequence:F.rejectedActions.event.sequence,stepIndex:F.rejectedActions.event.stepIndex,turnId:F.rejectedActions.event.turnId}));n&&hasStepInput(p)&&(v=await emitTurnPreamble(n,P??{},v,t.runtimeIdentity),h=setHarnessEmissionState(h,v),m&&m.setAttribute(`eve.turn.id`,v.turnId)),h=F.session;let I=F.messages,L=await applySessionLimitContinuation({config:t,emit:n,emissionState:v,limitContinuation:F.limitContinuation,session:h});if(L.result!==null)return L.result;if(h=L.session,N?.context!==void 0&&F.deferredContext!==!0)for(let e of N.context)I.push({content:e,role:`user`});let R=normalizeUserContent(N?.message);if(R!==void 0&&!F.deferredMessage&&!F.consumedMessage){let e=await stageAttachmentsToSandbox(R);I.push({content:e,role:`user`})}let z=contextStorage.getStore();z!==void 0&&t.dispatchDynamicModelEvent!==void 0&&await t.dispatchDynamicModelEvent({ctx:z,event:createStepStartedEvent({sequence:v.sequence,stepIndex:v.stepIndex,turnId:v.turnId}),fallback:h.agent.dynamicModelDefaultReference??h.agent.modelReference,messages:I});let B=await resolveActiveRuntimeModel({config:t,ctx:z,session:h});h=B.session;let V=B.model,H=detectPromptCachePath(V),U=H.kind===`anthropic-direct`?getAnthropicCacheMarker():void 0,ne=buildGatewayAttributionHeaders(V,t.runtimeIdentity);({messages:I,session:h}=await maybeCompact({abortSignal:t.abortSignal,emit:n,emissionState:v,messages:I,model:V,onCompaction:t.onCompaction,resolveModel:t.resolveModel,runtimeIdentity:t.runtimeIdentity,session:h,telemetry:enrichTelemetry(c,f)??void 0}));let W=getApprovedTools(h),G=h.outputSchema===void 0&&z!==void 0&&isScheduleAppAuth(z.get(AuthKey))&&z.get(ParentSessionKey)===void 0,re=await hydrateSandboxAttachments(I),K=[],q=[];for(let e of re)e.role===`system`?K.push(e):q.push(e);if(z!==void 0){K.push(...buildDynamicInstructionMessages(z));let e=z.get(PendingSkillAnnouncementKey);e!==void 0&&e.length>0&&K.push({role:`system`,content:e})}G&&K.push({role:`system`,content:CONDITIONAL_DELIVERY_INSTRUCTION});let J=q,prepareModelCallInput=e=>{let t=e?[{role:`system`,content:e}]:[],n=h.agent.system?[{role:`system`,content:h.agent.system}]:[],r=K.length>0||t.length>0?[...t,...n,...K]:void 0,i=r!==void 0&&U?applySystemCacheBreakpoint(r,U):r,a=i===void 0?h.agent.system??void 0:mergeSystemInstructions(i);return{instructions:a,telemetryRuntimeContext:buildTelemetryRuntimeContext({eveVersion,authored:c,emissionState:v,environment,modelInput:{instructions:a,messages:J},session:h})}},runSingleModelCall=async e=>{let{instructions:i,telemetryRuntimeContext:a={}}=e.preparedInput??prepareModelCallInput(e.extraSystemNote);e.retryReason&&(a[`eve.retry.reason`]=e.retryReason);let o=e.trailingUserNote?[...J,{role:`user`,content:e.trailingUserNote}]:J,s=getAdvertisedTools({session:h,tools:t.tools}),l=await buildToolSetWithProviderTools({approvedTools:W,capabilities:t.capabilities,disabledProviderTools:e.disabledProviderTools,modelReference:h.agent.modelReference,tools:s});if(z!==void 0){let n=getAdvertisedTools({session:h,tools:buildDynamicTools(z)}),r=buildToolSetFromDefinitions({approvedTools:W,capabilities:t.capabilities,disabledProviderTools:e.disabledProviderTools,tools:n});for(let[e,t]of Object.entries(r))l[e]=t}h.outputSchema!==void 0&&(l[FINAL_OUTPUT_TOOL_NAME]=buildFinalOutputTool(h.outputSchema));let u=n===void 0?void 0:({tools:e})=>createWorkflowLifecycle({emit:n,emissionState:v,tools:e}),d=t.workflow===!0?{lifecycle:u,maxSubagents:t.workflowMaxSubagents}:void 0,p=await getAdvertisedTools({modelTools:l,session:h,tools:s,workflow:d});h=p.session;let m=p.modelTools,g=U?applyLastToolCacheBreakpoint(m,U):m,y=buildStepHooks({cachePath:H,emit:n,emissionState:v,emitStepStarted:e.suppressStepStartedEmission!==!0,marker:U,session:h}),b=new ToolLoopAgent({headers:ne,instructions:i,model:V,onToolExecutionEnd:logToolExecutionError,onError(e){summarizeKnownError(e.error)?.tags.includes(`config`)!==!0&&logError(log,`tool-loop stream error`,e.error)},onStepFinish:y.onStepFinish,prepareStep:y.prepareStep,reasoning:h.agent.reasoning,runtimeContext:a,stopWhen:isStepCount(1),telemetry:enrichTelemetry(c,f,a),toolApproval:buildToolApproval(m),tools:g});return(async()=>{if(n){let e=[...t.tools].filter(([e,t])=>t.runtimeAction!==void 0&&s.get(e)===void 0).map(([e])=>e),r=new Set([ASK_QUESTION_TOOL_NAME,FINAL_OUTPUT_TOOL_NAME,...e]),i=await b.stream({abortSignal:t.abortSignal,messages:o}),{emittedActionCallIds:a,handledInlineToolResultCallIds:c,invalidInputToolCallIds:l,inlineAuthorizationResults:u,trailingInlineToolResultParts:d}=await emitStreamContent(n,v,i.fullStream,{excludedActionToolNames:r,tools:t.tools});throwIfTurnAborted(t.abortSignal);let[f,p]=await Promise.all([y.stepResult,i.responseMessages]);if(isEmptyModelResponse(f)&&extractToolResultCallIds(p).size===0&&u.length===0&&d.length===0)throw new EmptyModelResponseError;await emitStepActions(n,v,f,{emittedActionCallIds:a,excludedActionCallIds:l,excludedActionToolNames:r,handledInlineToolResultCallIds:c,tools:s});let m=f.toolResults,h=new Map(m.map(e=>[e.toolCallId,e]));for(let e of u)h.set(e.toolCallId,e);return withAccumulatedResponseMessages({invalidInputToolCallIds:l,responseMessages:appendMissingToolResultMessages({append:d,responseMessages:p}),stepResult:f,toolResults:[...h.values()]})}let e=await b.generate({abortSignal:t.abortSignal,messages:o});throwIfTurnAborted(t.abortSignal);let r=await y.stepResult;if(isEmptyModelResponse(r)&&extractToolResultCallIds(e.responseMessages).size===0)throw new EmptyModelResponseError;return withAccumulatedResponseMessages({responseMessages:e.responseMessages,stepResult:r})})().catch(rethrowNoOutputAsEmptyResponse)},runOneModelCall=async e=>runModelCallWithRetries(t=>runSingleModelCall({...e,preparedInput:t===1?e.preparedInput:void 0,suppressStepStartedEmission:t===1?e.suppressStepStartedEmission:!0}),{sessionId:h.sessionId,turnId:v.turnId},t.abortSignal),ie=prepareModelCallInput();n&&await emitStepStarted(n,v,I);let Y=await continuePendingWorkflowInterrupt({childResults:N?.runtimeActionResults,config:t,emit:n,emissionState:v,runStep,session:h});if(Y!==null)return Y;let X=await enforceSessionTokenLimit({config:t,emit:n,emissionState:v,messages:I,session:h});if(X!==null)return X;let Z;try{Z=await runOneModelCall({preparedInput:ie,suppressStepStartedEmission:!0})}catch(r){throwIfTurnAborted(t.abortSignal);let a=await runModelCallRecoveryPipeline({error:r,stages:[e=>attemptUnsupportedProviderToolRecovery({error:e.error,runOneModelCall,sessionId:h.sessionId,turnId:v.turnId}),e=>attemptEmptyResponseRecovery({emptyDeliveryEnabled:G,error:e.error,retryCallOptions:e.retryCallOptions,runOneModelCall,sessionId:h.sessionId,turnId:v.turnId})]});if(throwIfTurnAborted(t.abortSignal),a.outcome===`recovered`)Z=a.result;else{let r=a.error;if(m&&recordErrorOnSpan(m,r),!n)throw r;let o=extractWorkflowStreamWriteErrorDetails(r);if(o!==null){let t=createErrorId();return log.error(`workflow stream write failed — parking session for retry by the user`,{...o,errorId:t,error:r,sessionId:h.sessionId,turnId:v.turnId}),v=await emitRecoverableFailedTurn(n,v,{code:`WORKFLOW_STREAM_WRITE_FAILED`,continuationToken:h.continuationToken,details:{...o,errorId:t},message:toErrorMessage(r)}),{next:null,session:setHarnessEmissionState(h,v)}}let s=classifyModelCallError(r),c=createErrorId(),u=summarizeKnownError(r),d=u===null?extractUpstreamRejectionMessage(r):null,f=u?.message??d?.message??toErrorMessage(r),p=u?.hint===void 0?f:`${f} ${u.hint}`,g=extractModelCallErrorDetails(r),y=buildModelCallFailureDetails({catalogSummary:u,error:r,errorId:c,modelCallDetails:g,upstreamRejection:d}),b=buildModelCallFailureLogFields({error:r,errorId:c,modelCallDetails:g,recognized:u!==null||d!==null,sessionId:h.sessionId,turnId:v.turnId});if(s===`terminal`)return u===null?log.error(d?.message??`model call failed terminally`,b):log.error(`${u.name}: ${u.message}`,{errorId:c,hint:u.hint,sessionId:h.sessionId,turnId:v.turnId}),await emitFailedStep(n,v,{code:`MODEL_CALL_FAILED`,details:y,message:f,sessionId:h.sessionId}),{next:t.mode===`task`?{done:!0,isError:!0,output:p}:{done:!0,output:``},session:h};if(t.mode===`task`){if(s===`recoverable`&&!(r instanceof EmptyModelResponseError))throw log.warn(d?.message??`model call failed recoverably in task mode — rethrowing for durable step retry`,b),r;return log.error(d?.message??`model call failed; failing the task run`,b),await emitFailedStep(n,v,{code:`MODEL_CALL_FAILED`,details:y,message:f,sessionId:h.sessionId}),{next:{done:!0,isError:!0,output:p},session:h}}return log.error(d?.message??`model call failed — parking session for retry by the user`,b),v=await emitRecoverableFailedTurn(n,v,{code:`MODEL_CALL_FAILED`,continuationToken:h.continuationToken,details:y,message:f}),{next:null,session:setHarnessEmissionState(h,v)}}}let Q=accumulateTurnUsage({previous:getTurnUsageState(h.state),turnId:v.turnId,usage:extractTokenUsageDelta({costUsd:extractGatewayCostUsd(Z.providerMetadata),usage:Z.usage})});h=setTurnUsageState(h,Q);let $;try{$=formatLanguageModelGatewayId(V)}catch{$=void 0}return await setEveAttributes({"$eve.model":$,"$eve.input_tokens":Q.inputTokens,"$eve.output_tokens":Q.outputTokens,"$eve.cache_read_tokens":Q.cacheReadTokens,"$eve.cache_write_tokens":Q.cacheWriteTokens,"$eve.cost_usd":Q.sawCost?Q.costUsd:void 0,"$eve.tool_count":t.tools.size}),handleStepResult({config:t,emit:n,emissionState:v,promptMessages:I,result:Z,runStep,session:h})}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(!(n.role!==`tool`||!Array.isArray(n.content)))for(let e of n.content)e.type===`tool-result`&&t.add(e.toolCallId);return t}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:i,runStep:a}=e,{emissionState:o,session:s}=e,c=resolveAssistantStepText(i.response.messages,i.text),l=i.finishReason!==`tool-calls`&&i.toolCalls.length===0&&hasEmptyDeliverySentinel(c),u=getInvalidToolCallInputErrors({toolCalls:i.toolCalls}),f=new Set([...i.invalidInputToolCallIds??[],...i.toolCalls.filter(isInvalidToolCall).map(e=>e.toolCallId),...u.map(e=>e.toolCallId)]),p=l?[]:appendMissingToolResultMessages({append:u.map(e=>createToolResultMessagePartFromToolError(e)),responseMessages:i.response.messages}),h=l?null:c,g=new Set;for(let e of[...i.content??[],...i.toolResults??[]])(e.type===`tool-result`||e.type===`tool-error`)&&e.providerExecuted===!0&&g.add(e.toolCallId);let _=normalizeProviderToolHistory({messages:p,providerExecutedOutcomeIds:g}),v=_.messages,y={...s,compaction:createNextCompactionConfig(s.compaction,r,i)},b=t.workflow===!0?readWorkflowContinuationSecurity(y):void 0;if(b!==void 0){let e=await getWorkflowSandboxInterrupt(i,b);if(e!==void 0){if(!isWorkflowRuntimeActionInterrupt(e))throw Error(`Unsupported Workflow interrupt kind "${e.payload.kind}".`);return parkOnWorkflowInterrupt({baseSession:y,emissionState:o,interrupt:e,promptMessages:r,responseMessages:v})}}let S=extractToolApprovalInputRequests({content:i.content??[],excludedCallIds:f}),C=new Set(S.map(e=>e.action.callId)),ee=extractQuestionInputRequests({toolCalls:i.toolCalls,excludedCallIds:new Set([...f,...C])}),w=[...S,...ee],T=getAdvertisedTools({session:y,tools:t.tools}),E=(i.toolCalls??[]).filter(e=>!f.has(e.toolCallId)).filter(e=>t.tools.get(e.toolName)?.runtimeAction!==void 0).filter(e=>T.get(e.toolName)?.runtimeAction===void 0?(log.warn(`runtime action tool call blocked because tool is not advertised`,{callId:e.toolCallId,sessionId:y.sessionId,toolName:e.toolName}),!1):!0).map(e=>createRuntimeActionRequestFromToolCall({toolCall:e,tools:T}));if(E.length>0)return{next:null,session:setHarnessEmissionState(setPendingRuntimeActionBatch({actions:E,event:{sequence:o.sequence,stepIndex:o.stepIndex,turnId:o.turnId},responseMessages:v,session:{...y,history:[...r]}}),o)};if(w.length>0){let e=setPendingInputBatch({event:{sequence:o.sequence,stepIndex:o.stepIndex,turnId:o.turnId},requests:w,responseMessages:v,session:{...y,history:[...r]}});return n&&(await n(createInputRequestedEvent({requests:w,sequence:o.sequence,stepIndex:o.stepIndex,turnId:o.turnId})),t.mode===`conversation`&&(o=await emitTurnEpilogue(n,o,t.mode,e.continuationToken),e=setHarnessEmissionState(e,o))),{next:null,session:e}}let D=findAuthorizationSignalFromToolResults(i.toolResults);if(D){let{challenges:e}=D;if(n)for(let t of e)await n(createAuthorizationRequiredEvent({authorization:t.challenge,name:t.name,description:t.challenge.instructions??`Authorization required for ${t.name}`,webhookUrl:t.hookUrl,sequence:o.sequence,stepIndex:o.stepIndex,turnId:o.turnId}));return{next:null,session:setHarnessEmissionState({...y,history:[...r],state:setPendingAuthorization(y.state,{challenges:e})},o)}}let O=v,te=[...r,...O],j={...y,history:te};return!(j.outputSchema!==void 0&&extractFinalOutput(i)!==void 0)&&(O.at(-1)?.role===`tool`||_.outcomeEndsResponse||hasDeferredStepInput(j))?(n&&(o=advanceStep(o),j=setHarnessEmissionState(j,o)),{next:a,session:j}):t.mode===`task`?finishTaskTurn({emissionState:o,emit:n,history:r,result:i,schema:j.outputSchema,session:j,stepOutput:h}):finishConversationTurn({emissionState:o,emit:n,history:r,result:i,schema:j.outputSchema,session:j})}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.continuationToken),s=setHarnessEmissionState(s,o)),{next:{done:!0,output:a??``},session:s};let c=extractFinalOutput(r);return c===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.continuationToken),s=setHarnessEmissionState(s,o)),{next:{done:!0,output:c},session:s})}async function finishConversationTurn(e){let{emit:t,history:n,result:r,schema:i}=e,{emissionState:a,session:o}=e;if(i===void 0)return t&&(a=await emitTurnEpilogue(t,a,`conversation`,o.continuationToken),o=setHarnessEmissionState(o,a)),{next:null,session:o};let s=extractFinalOutput(r);return s===void 0?(t&&(a=await emitRecoverableFailedTurn(t,a,{...OUTPUT_SCHEMA_NOT_FULFILLED,continuationToken:o.continuationToken}),o=setHarnessEmissionState(o,a)),{next:null,session:o}):(o=persistStructuredAssistantTurn(o,n,s),t&&(a=await emitStructuredResult(t,a,s,`conversation`,o.continuationToken),o=setHarnessEmissionState(o,a)),{next:null,session:o})}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.config.tools}),a=getWorkflowContinuationSecurity(e.session),o;try{let t=buildWorkflowHostTools({tools:e.config.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,u=replaceWorkflowToolResult([...e.session.history,...t.responseMessages],n.outerToolCallId,c),d=clearPendingWorkflowInterrupt({...e.session,history:u});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=u.slice(0,t),r=u.slice(t);return d={...d,history:n},parkOnWorkflowInterrupt({baseSession:d,emissionState:e.emissionState,interrupt:s.interrupt,promptMessages:n,responseMessages:r})}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}})}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};return n.usage?.inputTokens!==void 0&&(r.lastKnownInputTokens=n.usage.inputTokens,r.lastKnownPromptMessageCount=t.length),r}async function maybeCompact(e){let{emit:t,emissionState:n}=e,r=e.messages,i=e.session;if(!shouldCompact(r,i.compaction))return{messages:r,session:i};let a=await resolveCompactionModel({compactionModelReference:i.agent.compactionModelReference,model:e.model,modelReference:i.agent.modelReference,resolveModel:e.resolveModel});if(t&&await t(createCompactionRequestedEvent({modelId:formatLanguageModelGatewayId(a.model),sequence:n.sequence,sessionId:i.sessionId,turnId:n.turnId,usageInputTokens:getInputTokenCount(r,i.compaction)})),r=await compactMessages(r,a.model,i.compaction,a.providerOptions,e.telemetry,buildGatewayAttributionHeaders(a.model,e.runtimeIdentity),e.abortSignal),e.onCompaction)for(let t of e.onCompaction())r.push(t);return t&&await t(createCompactionCompletedEvent({modelId:formatLanguageModelGatewayId(a.model),sequence:n.sequence,sessionId:i.sessionId,turnId:n.turnId})),{messages:r,session:i}}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))}}}function findAuthorizationSignalFromToolResults(e){let t=contextStorage.getStore();if(t!==void 0)for(let n of e??[]){let e=readToolInterrupt(t,n.toolCallId);if(e!==void 0&&isAuthorizationSignal(e))return e}for(let t of e??[])if(isAuthorizationSignal(t.output))return t.output}export{createToolLoopHarness};
@@ -2,6 +2,19 @@
2
2
  export declare class TurnCancelledError extends Error {
3
3
  constructor(message?: string);
4
4
  }
5
+ /**
6
+ * A turn cancellation raised when the user declines a session-limit
7
+ * continuation prompt. Carries intent only — the execution layer detects it
8
+ * at the step boundary and cancels the root turn, so a delegated child's
9
+ * decline stops the whole delegation tree. Keeps the harness free of
10
+ * cross-session cancellation authority.
11
+ */
12
+ export declare class SessionLimitDeclinedError extends TurnCancelledError {
13
+ readonly sessionLimitDeclined = true;
14
+ constructor();
15
+ }
16
+ /** True when the error, or one of its causes, marks a session-limit decline. */
17
+ export declare function isSessionLimitDecline(error: unknown): boolean;
5
18
  /** True when the error, or one of its causes, is a {@link TurnCancelledError}. */
6
19
  export declare function isTurnCancellation(error: unknown): boolean;
7
20
  /** Throws when the turn signal has aborted. */
@@ -1 +1 @@
1
- const TURN_CANCELLED_ERROR_NAME=`TurnCancelledError`;var TurnCancelledError=class extends Error{constructor(t=`The turn was cancelled.`){super(t),this.name=TURN_CANCELLED_ERROR_NAME}};function isTurnCancellation(t){let n=t,r=new Set;for(;typeof n==`object`&&n&&!r.has(n);){if(r.add(n),n.name===TURN_CANCELLED_ERROR_NAME)return!0;n=n.cause}return!1}function throwIfTurnAborted(e){if(e?.aborted===!0)throw isTurnCancellation(e.reason)?e.reason:new TurnCancelledError}export{TurnCancelledError,isTurnCancellation,throwIfTurnAborted};
1
+ const TURN_CANCELLED_ERROR_NAME=`TurnCancelledError`;var TurnCancelledError=class extends Error{constructor(t=`The turn was cancelled.`){super(t),this.name=TURN_CANCELLED_ERROR_NAME}},SessionLimitDeclinedError=class extends TurnCancelledError{sessionLimitDeclined=!0;constructor(){super(`The user declined a fresh session token budget.`)}};function isSessionLimitDecline(e){let t=e,n=new Set;for(;typeof t==`object`&&t&&!n.has(t);){if(n.add(t),t.sessionLimitDeclined===!0)return!0;t=t.cause}return!1}function isTurnCancellation(t){let n=t,r=new Set;for(;typeof n==`object`&&n&&!r.has(n);){if(r.add(n),n.name===TURN_CANCELLED_ERROR_NAME)return!0;n=n.cause}return!1}function throwIfTurnAborted(e){if(e?.aborted===!0)throw isTurnCancellation(e.reason)?e.reason:new TurnCancelledError}export{SessionLimitDeclinedError,TurnCancelledError,isSessionLimitDecline,isTurnCancellation,throwIfTurnAborted};
@@ -1 +1 @@
1
- import{createRequire}from"node:module";import{existsSync,readFileSync,realpathSync}from"node:fs";import{basename,dirname,join}from"node:path";import{EVE_PACKAGE_NAME}from"#internal/package-name.js";import{fileURLToPath}from"node:url";let cachedPackageInfo;const BUNDLED_FALLBACK_PACKAGE_VERSION=`0.27.0`,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 isBuildOutputPackageRoot(e){return basename(e)===`dist`&&existsSync(join(dirname(e),`package.json`))}function resolvePackageBuildRoot(){let e=dirname(realpathSync(resolveCurrentModulePath()));for(;;){if(isBuildOutputPackageRoot(e))return e;let t=dirname(e);if(t===e)return null;e=t}}function findNearestPackageRoot(e){let n=e;for(;;){if(existsSync(join(n,`package.json`))&&!isBuildOutputPackageRoot(n))return n;let r=dirname(n);if(r===n)throw Error(`Failed to resolve package root from "${e}".`);n=r}}function resolvePackageRoot(){return findNearestPackageRoot(dirname(realpathSync(resolveCurrentModulePath())))}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 r=normalizeInstalledPackageInfo(JSON.parse(readFileSync(e,`utf8`)));if(r?.name===t)return r}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,resolvePackageRoot,resolvePackageSourceDirectoryPath,resolvePackageSourceFilePath,resolveWorkflowModulePath};
1
+ import{createRequire}from"node:module";import{existsSync,readFileSync,realpathSync}from"node:fs";import{basename,dirname,join}from"node:path";import{EVE_PACKAGE_NAME}from"#internal/package-name.js";import{fileURLToPath}from"node:url";let cachedPackageInfo;const BUNDLED_FALLBACK_PACKAGE_VERSION=`0.27.2`,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 isBuildOutputPackageRoot(e){return basename(e)===`dist`&&existsSync(join(dirname(e),`package.json`))}function resolvePackageBuildRoot(){let e=dirname(realpathSync(resolveCurrentModulePath()));for(;;){if(isBuildOutputPackageRoot(e))return e;let t=dirname(e);if(t===e)return null;e=t}}function findNearestPackageRoot(e){let n=e;for(;;){if(existsSync(join(n,`package.json`))&&!isBuildOutputPackageRoot(n))return n;let r=dirname(n);if(r===n)throw Error(`Failed to resolve package root from "${e}".`);n=r}}function resolvePackageRoot(){return findNearestPackageRoot(dirname(realpathSync(resolveCurrentModulePath())))}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 r=normalizeInstalledPackageInfo(JSON.parse(readFileSync(e,`utf8`)));if(r?.name===t)return r}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,resolvePackageRoot,resolvePackageSourceDirectoryPath,resolvePackageSourceFilePath,resolveWorkflowModulePath};
@@ -0,0 +1,2 @@
1
+ /** Adds authored-module and installed-package context to Node evaluation failures. */
2
+ export declare function createAuthoredModuleEvaluationError(modulePath: string, cause: unknown): Error;
@@ -0,0 +1,4 @@
1
+ import{existsSync,readFileSync,statSync}from"node:fs";import{dirname,extname,join,relative,resolve}from"node:path";import{fileURLToPath}from"node:url";function createAuthoredModuleEvaluationError(e,t){let n=describeInstalledPackageLoadFailure(t);return Error([`Failed to evaluate authored module:`,` ${e}`,...n===void 0?[]:[``,n]].join(`
2
+ `),{cause:t})}function describeInstalledPackageLoadFailure(e){if(!(e instanceof Error))return;let t=e;if(t.code!==`ERR_MODULE_NOT_FOUND`||typeof t.url!=`string`)return;let n=filePathFromUrl(t.url);if(n===void 0||extname(n)!==``)return;let r=findInstalledPackage(n);if(r===void 0)return;let a=toPackageRelativePath(r.root,n);return findExistingModulePath(n)===void 0?[`Failed to load an installed package:`,` Package: ${r.name} (loaded outside the authored bundle)`,` Missing: ${a}`,` Reason: Package output may be incomplete, incorrectly installed, or incompatible with a standalone Node runtime.`,` Hint: Verify the installed package version and output, use a Node-compatible entrypoint, or report the missing module to the package publisher.`].join(`
3
+ `):[`Failed to load an installed package:`,` Package: ${r.name} (loaded outside the authored bundle)`,` Import: ${a}`,` Reason: Node's ESM loader does not infer file extensions for relative imports.`,` Hint: Use a Node-compatible package or entrypoint, or report the extensionless import to the package publisher.`].join(`
4
+ `)}function findExistingModulePath(e){for(let t of[`.js`,`.mjs`,`.cjs`]){let r=`${e}${t}`;try{if(statSync(r).isFile())return r}catch{}}}function toPackageRelativePath(e,t){return relative(e,t).replaceAll(`\\`,`/`)}function filePathFromUrl(e){try{let t=new URL(e);return t.protocol===`file:`?fileURLToPath(t):void 0}catch{return}}function findInstalledPackage(n){let i=dirname(resolve(n));for(;;){let n=join(i,`package.json`);if(existsSync(n)&&isNodeModulesPath(n))try{let e=JSON.parse(readFileSync(n,`utf8`));if(typeof e.name==`string`&&e.name.length>0)return{name:e.name,root:i}}catch{return}let o=dirname(i);if(o===i)return;i=o}}function isNodeModulesPath(e){return e.replaceAll(`\\`,`/`).includes(`/node_modules/`)}export{createAuthoredModuleEvaluationError};
@@ -1,4 +1,4 @@
1
- import{expectObjectRecord}from"#internal/authored-module.js";import{existsSync,mkdirSync,realpathSync,statSync,writeFileSync}from"node:fs";import{dirname,isAbsolute,join,resolve}from"node:path";import{createHash}from"node:crypto";import{createCompiledModuleMapSource}from"#compiler/module-map.js";import{buildSingleRolldownChunk,buildWithNitroRolldown}from"#internal/bundler/nitro-rolldown.js";import{createAuthoredAssetImportPlugin}from"#internal/authored-asset-import-plugin.js";import{assertNoWorkflowDirectivePrologue}from"#internal/authored-directive-prologue.js";import{createAuthoredModuleBundleError}from"#internal/authored-module-bundle.js";import{createAuthoredPackageTsConfigPathsPlugin}from"#internal/authored-package-tsconfig-paths.js";import{createExtensionScopePlugin,createFixedNamespaceScopePlugin}from"#internal/bundler/extension-scope-plugin.js";import{CACHED_CHANNEL_PREFIX,RESOLVE_EXTENSIONS,createDistributionPackageBoundaryPlugin,createGenerationPackageBoundaryPlugin,createRuntimeLoaderPackageBoundaryPlugin,isNodeModulesPath,isPathImport,normalizeExternalDependencies}from"#internal/authored-package-boundary.js";import{createNodeEsmCompatBannerPlugin}from"#internal/node-esm-compat-banner.js";const AUTHORED_BUNDLED_MODULE_EXTENSION=/\.[cm]?[jt]sx?$/,AUTHORED_MODULE_BUNDLE_DIRECTORY_PATH=join(`node_modules`,`.cache`,`eve`,`authored-modules`),CHANNEL_MODULE_CACHE_KEY=`__eveChannelModuleCache__`;function getChannelModuleCache(){return globalThis[CHANNEL_MODULE_CACHE_KEY]}const inFlightModuleLoads=new Map;function loadAuthoredModuleNamespace(e,t={}){let n=createInFlightModuleLoadKey(resolve(e),t),r=inFlightModuleLoads.get(n);if(r!==void 0)return r;let i=(async()=>{try{return await doLoadAuthoredModuleNamespace(e,t)}finally{inFlightModuleLoads.delete(n)}})();return inFlightModuleLoads.set(n,i),i}async function doLoadAuthoredModuleNamespace(t,n){return expectObjectRecord(AUTHORED_BUNDLED_MODULE_EXTENSION.test(t)?await loadBundledAuthoredModule(t,n):await import(createFileImportSpecifier(t)),`Expected "${t}" to export a module namespace object.`)}function createFileImportSpecifier(e){let t=e.replaceAll(`\\`,`/`);return/^[A-Za-z]:\//.test(t)?`file:///${encodeURI(t)}`:t.startsWith(`/`)?`file://${encodeURI(t)}`:t}async function bundleAuthoredModuleCode(e,t={}){return await buildAuthoredModuleBundle(e,t,{channelIdentity:!0,packageBoundaryPlugin:createRuntimeLoaderPackageBoundaryPlugin({externalDependencies:normalizeExternalDependencies(t.externalDependencies),packageRoot:resolveAuthoredPackageRoot(e)}),plugins:[],sourcemap:`inline`})}async function bundleAuthoredModuleForGeneration(e,t={}){return removeRolldownModuleRegionComments(await buildAuthoredModuleBundle(e,t,{channelIdentity:!1,packageBoundaryPlugin:createGenerationPackageBoundaryPlugin({externalDependencies:normalizeExternalDependencies(t.externalDependencies),packageRoot:resolveAuthoredPackageRoot(e)}),plugins:[createAuthoredDirectiveGuardPlugin()],sourcemap:!1}))}async function bundleExtensionDistributionGraph(e){let t=[createAuthoredDirectiveGuardPlugin(),createAuthoredRelativeExtensionResolverPlugin({extensions:RESOLVE_EXTENSIONS}),createAuthoredAssetImportPlugin(),createAuthoredPackageTsConfigPathsPlugin({appPackageRoot:e.packageRoot,extensions:RESOLVE_EXTENSIONS}),createNodeEsmCompatBannerPlugin({includeRequire:!0}),createDistributionPackageBoundaryPlugin({packageRoot:e.packageRoot,runtimeDependencies:e.runtimeDependencies})];try{let n=await buildWithNitroRolldown({cwd:e.packageRoot,input:Object.fromEntries(e.entries.map(e=>[e.name,e.path])),platform:`node`,plugins:t,resolve:{extensions:[...RESOLVE_EXTENSIONS]},tsconfig:resolveAuthoredTsConfigPath(e.packageRoot),write:!1,output:{chunkFileNames:`_chunks/[name]-[hash].mjs`,codeSplitting:!0,comments:!1,entryFileNames:`[name].mjs`,format:`esm`,sourcemap:!1}}),r=new Map;for(let e of n.output)e.type===`chunk`&&r.set(e.fileName,removeRolldownModuleRegionComments(e.code));return r}catch(t){throw createAuthoredModuleBundleError(e.packageRoot,t)}}async function bundleAuthoredModuleMapForGeneration(e){let t=resolveAuthoredPackageRoot(e.manifest.agentRoot),n=normalizeExternalDependencies([e.manifest,...e.manifest.subagents.map(e=>e.agent)].flatMap(e=>e.config.build?.externalDependencies??[])),r=createCompiledModuleMapSource({manifest:e.manifest,moduleMapPath:e.moduleMapPath}),i=createExtensionScopePlugin(e.manifest.extensionMounts.map(e=>({packageNamespace:e.packageNamespace,sourceRoot:e.sourceRoot}))),a=[createVirtualGenerationModuleMapPlugin({id:e.moduleMapPath,source:r}),createAuthoredDirectiveGuardPlugin(),i,createAuthoredRelativeExtensionResolverPlugin({extensions:RESOLVE_EXTENSIONS}),createAuthoredAssetImportPlugin(),createAuthoredPackageTsConfigPathsPlugin({appPackageRoot:t,extensions:RESOLVE_EXTENSIONS}),createNodeEsmCompatBannerPlugin({includeRequire:!0}),createGenerationPackageBoundaryPlugin({externalDependencies:n,packageRoot:t})].filter(e=>e!==null);try{return removeRolldownModuleRegionComments((await buildSingleRolldownChunk(`authored module map`,{cwd:t,input:e.moduleMapPath,platform:`node`,plugins:a,resolve:{extensions:[...RESOLVE_EXTENSIONS]},tsconfig:resolveAuthoredTsConfigPath(t),output:{comments:!1,format:`esm`,sourcemap:!1}})).code)}catch(t){throw createAuthoredModuleBundleError(e.moduleMapPath,t)}}function createVirtualGenerationModuleMapPlugin(e){return{name:`eve-generation-module-map`,resolveId(t){return t===e.id?t:void 0},load(t){return t===e.id?{code:e.source,moduleType:`js`}:void 0}}}async function buildAuthoredModuleBundle(e,t,n){let r=n.channelIdentity?getChannelModuleCache():void 0,i=resolveAuthoredPackageRoot(e),a=resolveAuthoredTsConfigPath(i),o=[r&&r.size>0?{name:`eve-channel-identity`,async resolveId(e,t,n){if(!/channels[/\\]/.test(e)||n.kind!==`import-statement`)return;let i=await this.resolve(e,t,{kind:n.kind,skipSelf:!0});if(i===null||typeof i.id!=`string`)return;let a=resolve(i.id);if(r.has(a))return{id:`${CACHED_CHANNEL_PREFIX}${a}`}},load(e){if(!e.startsWith(CACHED_CHANNEL_PREFIX))return;let t=e.slice(CACHED_CHANNEL_PREFIX.length);return{code:[`const cache = globalThis["${CHANNEL_MODULE_CACHE_KEY}"];`,`export default cache.get(${JSON.stringify(t)});`].join(`
1
+ import{expectObjectRecord}from"#internal/authored-module.js";import{existsSync,mkdirSync,realpathSync,statSync,writeFileSync}from"node:fs";import{dirname,isAbsolute,join,resolve}from"node:path";import{createHash}from"node:crypto";import{createCompiledModuleMapSource}from"#compiler/module-map.js";import{buildSingleRolldownChunk,buildWithNitroRolldown}from"#internal/bundler/nitro-rolldown.js";import{createAuthoredAssetImportPlugin}from"#internal/authored-asset-import-plugin.js";import{assertNoWorkflowDirectivePrologue}from"#internal/authored-directive-prologue.js";import{createAuthoredModuleBundleError}from"#internal/authored-module-bundle.js";import{createAuthoredModuleEvaluationError}from"#internal/authored-module-evaluation-error.js";import{createAuthoredPackageTsConfigPathsPlugin}from"#internal/authored-package-tsconfig-paths.js";import{createExtensionScopePlugin,createFixedNamespaceScopePlugin}from"#internal/bundler/extension-scope-plugin.js";import{CACHED_CHANNEL_PREFIX,RESOLVE_EXTENSIONS,createDistributionPackageBoundaryPlugin,createGenerationPackageBoundaryPlugin,createRuntimeLoaderPackageBoundaryPlugin,isNodeModulesPath,isPathImport,normalizeExternalDependencies}from"#internal/authored-package-boundary.js";import{createNodeEsmCompatBannerPlugin}from"#internal/node-esm-compat-banner.js";const AUTHORED_BUNDLED_MODULE_EXTENSION=/\.[cm]?[jt]sx?$/,AUTHORED_MODULE_BUNDLE_DIRECTORY_PATH=join(`node_modules`,`.cache`,`eve`,`authored-modules`),CHANNEL_MODULE_CACHE_KEY=`__eveChannelModuleCache__`;function getChannelModuleCache(){return globalThis[CHANNEL_MODULE_CACHE_KEY]}const inFlightModuleLoads=new Map;function loadAuthoredModuleNamespace(e,t={}){let n=createInFlightModuleLoadKey(resolve(e),t),r=inFlightModuleLoads.get(n);if(r!==void 0)return r;let i=(async()=>{try{return await doLoadAuthoredModuleNamespace(e,t)}finally{inFlightModuleLoads.delete(n)}})();return inFlightModuleLoads.set(n,i),i}async function doLoadAuthoredModuleNamespace(t,n){return expectObjectRecord(AUTHORED_BUNDLED_MODULE_EXTENSION.test(t)?await loadBundledAuthoredModule(t,n):await import(createFileImportSpecifier(t)),`Expected "${t}" to export a module namespace object.`)}function createFileImportSpecifier(e){let t=e.replaceAll(`\\`,`/`);return/^[A-Za-z]:\//.test(t)?`file:///${encodeURI(t)}`:t.startsWith(`/`)?`file://${encodeURI(t)}`:t}async function bundleAuthoredModuleCode(e,t={}){return await buildAuthoredModuleBundle(e,t,{channelIdentity:!0,packageBoundaryPlugin:createRuntimeLoaderPackageBoundaryPlugin({externalDependencies:normalizeExternalDependencies(t.externalDependencies),packageRoot:resolveAuthoredPackageRoot(e)}),plugins:[],sourcemap:`inline`})}async function bundleAuthoredModuleForGeneration(e,t={}){return removeRolldownModuleRegionComments(await buildAuthoredModuleBundle(e,t,{channelIdentity:!1,packageBoundaryPlugin:createGenerationPackageBoundaryPlugin({externalDependencies:normalizeExternalDependencies(t.externalDependencies),packageRoot:resolveAuthoredPackageRoot(e)}),plugins:[createAuthoredDirectiveGuardPlugin()],sourcemap:!1}))}async function bundleExtensionDistributionGraph(e){let t=[createAuthoredDirectiveGuardPlugin(),createAuthoredRelativeExtensionResolverPlugin({extensions:RESOLVE_EXTENSIONS}),createAuthoredAssetImportPlugin(),createAuthoredPackageTsConfigPathsPlugin({appPackageRoot:e.packageRoot,extensions:RESOLVE_EXTENSIONS}),createNodeEsmCompatBannerPlugin({includeRequire:!0}),createDistributionPackageBoundaryPlugin({packageRoot:e.packageRoot,runtimeDependencies:e.runtimeDependencies})];try{let n=await buildWithNitroRolldown({cwd:e.packageRoot,input:Object.fromEntries(e.entries.map(e=>[e.name,e.path])),platform:`node`,plugins:t,resolve:{extensions:[...RESOLVE_EXTENSIONS]},tsconfig:resolveAuthoredTsConfigPath(e.packageRoot),write:!1,output:{chunkFileNames:`_chunks/[name]-[hash].mjs`,codeSplitting:!0,comments:!1,entryFileNames:`[name].mjs`,format:`esm`,sourcemap:!1}}),r=new Map;for(let e of n.output)e.type===`chunk`&&r.set(e.fileName,removeRolldownModuleRegionComments(e.code));return r}catch(t){throw createAuthoredModuleBundleError(e.packageRoot,t)}}async function bundleAuthoredModuleMapForGeneration(e){let t=resolveAuthoredPackageRoot(e.manifest.agentRoot),n=normalizeExternalDependencies([e.manifest,...e.manifest.subagents.map(e=>e.agent)].flatMap(e=>e.config.build?.externalDependencies??[])),r=createCompiledModuleMapSource({manifest:e.manifest,moduleMapPath:e.moduleMapPath}),i=createExtensionScopePlugin(e.manifest.extensionMounts.map(e=>({packageNamespace:e.packageNamespace,sourceRoot:e.sourceRoot}))),a=[createVirtualGenerationModuleMapPlugin({id:e.moduleMapPath,source:r}),createAuthoredDirectiveGuardPlugin(),i,createAuthoredRelativeExtensionResolverPlugin({extensions:RESOLVE_EXTENSIONS}),createAuthoredAssetImportPlugin(),createAuthoredPackageTsConfigPathsPlugin({appPackageRoot:t,extensions:RESOLVE_EXTENSIONS}),createNodeEsmCompatBannerPlugin({includeRequire:!0}),createGenerationPackageBoundaryPlugin({externalDependencies:n,packageRoot:t})].filter(e=>e!==null);try{return removeRolldownModuleRegionComments((await buildSingleRolldownChunk(`authored module map`,{cwd:t,input:e.moduleMapPath,platform:`node`,plugins:a,resolve:{extensions:[...RESOLVE_EXTENSIONS]},tsconfig:resolveAuthoredTsConfigPath(t),output:{comments:!1,format:`esm`,sourcemap:!1}})).code)}catch(t){throw createAuthoredModuleBundleError(e.moduleMapPath,t)}}function createVirtualGenerationModuleMapPlugin(e){return{name:`eve-generation-module-map`,resolveId(t){return t===e.id?t:void 0},load(t){return t===e.id?{code:e.source,moduleType:`js`}:void 0}}}async function buildAuthoredModuleBundle(e,t,n){let r=n.channelIdentity?getChannelModuleCache():void 0,i=resolveAuthoredPackageRoot(e),a=resolveAuthoredTsConfigPath(i),o=[r&&r.size>0?{name:`eve-channel-identity`,async resolveId(e,t,n){if(!/channels[/\\]/.test(e)||n.kind!==`import-statement`)return;let i=await this.resolve(e,t,{kind:n.kind,skipSelf:!0});if(i===null||typeof i.id!=`string`)return;let a=resolve(i.id);if(r.has(a))return{id:`${CACHED_CHANNEL_PREFIX}${a}`}},load(e){if(!e.startsWith(CACHED_CHANNEL_PREFIX))return;let t=e.slice(CACHED_CHANNEL_PREFIX.length);return{code:[`const cache = globalThis["${CHANNEL_MODULE_CACHE_KEY}"];`,`export default cache.get(${JSON.stringify(t)});`].join(`
2
2
  `),moduleType:`js`}}}:null,...n.plugins,t.extensionScopeNamespace===void 0?null:createFixedNamespaceScopePlugin(t.extensionScopeNamespace),createAuthoredRelativeExtensionResolverPlugin({extensions:RESOLVE_EXTENSIONS}),createAuthoredAssetImportPlugin(),createAuthoredPackageTsConfigPathsPlugin({appPackageRoot:i,extensions:RESOLVE_EXTENSIONS}),createNodeEsmCompatBannerPlugin({includeRequire:!0}),n.packageBoundaryPlugin].filter(e=>e!==null);try{return(await buildSingleRolldownChunk(`authored module for "${e}"`,{cwd:i,input:e,platform:`node`,plugins:o,resolve:{extensions:[...RESOLVE_EXTENSIONS]},tsconfig:a,output:{comments:!1,format:`esm`,sourcemap:n.sourcemap}})).code}catch(t){throw createAuthoredModuleBundleError(e,t)}}function createAuthoredDirectiveGuardPlugin(){return{name:`eve-authored-directive-guard`,async transform(e,t){!AUTHORED_BUNDLED_MODULE_EXTENSION.test(t)||isNodeModulesPath(t)||await assertNoWorkflowDirectivePrologue({filePath:t,source:e})}}}function removeRolldownModuleRegionComments(e){return e.split(`
3
3
  `).filter(e=>!e.startsWith(`//#region `)&&e!==`//#endregion`).join(`
4
- `)}async function loadBundledAuthoredModule(e,r){let i=await bundleAuthoredModuleCode(e,r),o=normalizeExternalDependencies(r.externalDependencies),s=createHash(`sha1`).update(e).update(`\0`).update(o.join(`\0`)).update(`\0`).update(r.extensionScopeNamespace??``).update(`\0`).update(i).digest(`hex`),c=join(resolveAuthoredPackageRoot(e),AUTHORED_MODULE_BUNDLE_DIRECTORY_PATH),l=join(c,`${s}.mjs`);return existsSync(l)||(mkdirSync(c,{recursive:!0}),writeFileSync(l,i)),await import(`${createFileImportSpecifier(l)}?v=${s}`)}function createAuthoredRelativeExtensionResolverPlugin(e){return{name:`eve-authored-relative-extension-resolver`,resolveId(t,n){if(n===void 0||n.startsWith(`\0`)||n.startsWith(CACHED_CHANNEL_PREFIX)||!isPathImport(t))return;let r=resolveExistingImportPath(isAbsolute(t)?t:resolve(dirname(n),t),e.extensions);if(r!==void 0)return{id:isNodeModulesPath(r)?toRealModulePath(r):r}}}}function toRealModulePath(e){try{return realpathSync(e)}catch{return e}}function createInFlightModuleLoadKey(e,t){return`${e}\0${normalizeExternalDependencies(t.externalDependencies).join(`\0`)}\0${t.extensionScopeNamespace??``}`}function resolveExistingImportPath(e,t){if(isFile(e))return e;for(let n of t){let t=`${e}${n}`;if(isFile(t))return t}for(let n of t){let t=join(e,`index${n}`);if(isFile(t))return t}}function isFile(e){try{return statSync(e).isFile()}catch{return!1}}function resolveAuthoredTsConfigPath(e){for(let n of[`tsconfig.json`,`jsconfig.json`]){let r=join(e,n);if(existsSync(r))return r}return!1}function resolveAuthoredPackageRoot(e){let n=dirname(e);for(;;){if(existsSync(join(n,`package.json`)))return n;let r=dirname(n);if(r===n)throw Error(`Failed to resolve the authored package root for "${e}".`);n=r}}export{bundleAuthoredModuleCode,bundleAuthoredModuleForGeneration,bundleAuthoredModuleMapForGeneration,bundleExtensionDistributionGraph,loadAuthoredModuleNamespace};
4
+ `)}async function loadBundledAuthoredModule(e,r){let i=await bundleAuthoredModuleCode(e,r),o=normalizeExternalDependencies(r.externalDependencies),s=createHash(`sha1`).update(e).update(`\0`).update(o.join(`\0`)).update(`\0`).update(r.extensionScopeNamespace??``).update(`\0`).update(i).digest(`hex`),c=join(resolveAuthoredPackageRoot(e),AUTHORED_MODULE_BUNDLE_DIRECTORY_PATH),l=join(c,`${s}.mjs`);existsSync(l)||(mkdirSync(c,{recursive:!0}),writeFileSync(l,i));try{return await import(`${createFileImportSpecifier(l)}?v=${s}`)}catch(t){throw createAuthoredModuleEvaluationError(e,t)}}function createAuthoredRelativeExtensionResolverPlugin(e){return{name:`eve-authored-relative-extension-resolver`,resolveId(t,n){if(n===void 0||n.startsWith(`\0`)||n.startsWith(CACHED_CHANNEL_PREFIX)||!isPathImport(t))return;let r=resolveExistingImportPath(isAbsolute(t)?t:resolve(dirname(n),t),e.extensions);if(r!==void 0)return{id:isNodeModulesPath(r)?toRealModulePath(r):r}}}}function toRealModulePath(e){try{return realpathSync(e)}catch{return e}}function createInFlightModuleLoadKey(e,t){return`${e}\0${normalizeExternalDependencies(t.externalDependencies).join(`\0`)}\0${t.extensionScopeNamespace??``}`}function resolveExistingImportPath(e,t){if(isFile(e))return e;for(let n of t){let t=`${e}${n}`;if(isFile(t))return t}for(let n of t){let t=join(e,`index${n}`);if(isFile(t))return t}}function isFile(e){try{return statSync(e).isFile()}catch{return!1}}function resolveAuthoredTsConfigPath(e){for(let n of[`tsconfig.json`,`jsconfig.json`]){let r=join(e,n);if(existsSync(r))return r}return!1}function resolveAuthoredPackageRoot(e){let n=dirname(e);for(;;){if(existsSync(join(n,`package.json`)))return n;let r=dirname(n);if(r===n)throw Error(`Failed to resolve the authored package root for "${e}".`);n=r}}export{bundleAuthoredModuleCode,bundleAuthoredModuleForGeneration,bundleAuthoredModuleMapForGeneration,bundleExtensionDistributionGraph,loadAuthoredModuleNamespace};
@@ -1 +1 @@
1
- import{createGetSessionFn}from"#channel/session.js";import{createLogger,logError}from"#internal/logging.js";import{createSendFn}from"#channel/send.js";import{createCrossChannelReceiveFn,toCrossChannelTargets}from"#channel/cross-channel-receive.js";import{DEVELOPMENT_WORKFLOW_SECRET_ENV}from"#internal/workflow/development-world-protocol.js";import{readTrustedDevelopmentClientAddress}from"#internal/nitro/dev-client-address.js";import{createCancelFn}from"#channel/cancel.js";import{attachAgentInfoRouteResponse,attachRouteAgent}from"#internal/nitro/routes/channel-route-context.js";import{resolveNitroChannelRuntimeBundle}from"#internal/nitro/routes/runtime-stack.js";import{readVercelProjectLink}from"#internal/vercel/project-link.js";import{withVercelOidcProjectResolver}from"#runtime/governance/auth/vercel-oidc-project.js";const log=createLogger(`channel.dispatch`);async function dispatchChannelRequest(e,t,r){let i=await resolveNitroChannelRuntimeBundle(r),a=i.channels.find(e=>`${e.method.toUpperCase()} ${e.urlPath}`===t);if(a===void 0)return Response.json({error:`No matching channel for this request.`,ok:!1},{status:404});let o=buildRouteArgs(e,i,a.name,r),s;try{s=await withDevelopmentVercelOidcContext(r,e.req,async()=>{if(a.handler)return await a.handler(e.req,o.args);let t={agent:o.agent,waitUntil:o.args.waitUntil,params:o.args.params,requestIp:o.args.requestIp};return await a.fetch(e.req,t)})}catch(r){let i=logError(log,`channel handler threw`,r,{routeKey:t,channel:a.name});return flushBackgroundTasks(e,o.backgroundTasks,t,a.name),Response.json({error:`Channel handler failed.`,errorId:i,ok:!1},{status:500})}return flushBackgroundTasks(e,o.backgroundTasks,t,a.name),s}async function dispatchChannelWebSocketRequest(e,t,r){let i=await resolveNitroChannelRuntimeBundle(r),a=i.channels.find(e=>`${e.method.toUpperCase()} ${e.urlPath}`===t);if(a===void 0||a.websocket===void 0)return rejectWebSocketUpgrade({error:`No matching websocket channel for this request.`,ok:!1},404);let o=a.websocket,s=buildRouteArgs(e,i,a.name,r);try{let n=await withDevelopmentVercelOidcContext(r,e.req,async()=>await o(e.req,s.args));return flushBackgroundTasks(e,s.backgroundTasks,t,a.name),n}catch(r){let i=logError(log,`channel websocket handler threw`,r,{routeKey:t,channel:a.name});return flushBackgroundTasks(e,s.backgroundTasks,t,a.name),rejectWebSocketUpgrade({error:`Channel websocket handler failed.`,errorId:i,ok:!1},500)}}async function withDevelopmentVercelOidcContext(e,t,n){return e.kind===`development`?await withVercelOidcProjectResolver({request:t,resolveCurrentProject:async()=>{let t=await readVercelProjectLink(e.appRoot);return t===void 0?void 0:{environment:`development`,projectId:t.projectId}}},n):await n()}function buildRouteArgs(t,n,o,s){let c=readVercelRequestId(t.req.headers),l=extractRequestIp(t,s),u=[],d=t.context.params??{},f={};for(let[e,t]of Object.entries(d))f[e]=decodeURIComponent(t);let waitUntil=e=>{u.push(e)},p=n.channels.find(e=>e.name===o)?.adapter??{kind:`channel`},m=createRouteAgent(n.runtime,c);return{agent:m,args:attachRouteAgent(attachAgentInfoRouteResponse({send:createSendFn(n.runtime,p,o,{requestId:c}),cancel:createCancelFn(n.runtime,o),getSession:createGetSessionFn(n.runtime),receive:createCrossChannelReceiveFn(n.runtime,toCrossChannelTargets(n.channels)),params:f,waitUntil,requestIp:l},async()=>{let{handleAgentInfoRequest:e}=await import(`#internal/nitro/routes/info.js`);return await e(s)}),m),backgroundTasks:u}}function createRouteAgent(e,t){return{async cancelTurn(t){return await e.cancelTurn(t)},async deliver(n){let r={...n,requestId:t};return await e.deliver(r)},async getEventStream(t,n){return await e.getEventStream(t,n)},async run(n){let r={...n,requestId:t};return await e.run(r)}}}function readVercelRequestId(e){let t=e.get(`x-vercel-id`)?.trim();return t===``?void 0:t}function rejectWebSocketUpgrade(e,t){return{upgrade(){throw Response.json(e,{status:t})}}}function flushBackgroundTasks(e,t,r,i){t.length!==0&&e.waitUntil(Promise.allSettled(t).then(e=>{for(let t of e)t.status===`rejected`&&logError(log,`channel background task failed`,t.reason,{routeKey:r,channel:i})}))}function extractRequestIp(e,t){if(t.kind===`development`){let t=readTrustedDevelopmentClientAddress(e.req.headers,process.env[DEVELOPMENT_WORKFLOW_SECRET_ENV]);if(t!==void 0)return t}return extractSocketIp(e)}function extractSocketIp(e){let t=e.req.ip;return typeof t==`string`&&t.length>0?t:null}export{dispatchChannelRequest,dispatchChannelWebSocketRequest};
1
+ import{createGetSessionFn}from"#channel/session.js";import{createLogger,logError}from"#internal/logging.js";import{createSendFn}from"#channel/send.js";import{createCrossChannelReceiveFn,toCrossChannelTargets}from"#channel/cross-channel-receive.js";import{DEVELOPMENT_WORKFLOW_SECRET_ENV}from"#internal/workflow/development-world-protocol.js";import{readTrustedDevelopmentClientAddress}from"#internal/nitro/dev-client-address.js";import{createCancelFn}from"#channel/cancel.js";import{createResolveActiveSessionFn}from"#channel/resolve-active-session.js";import{attachAgentInfoRouteResponse,attachRouteAgent}from"#internal/nitro/routes/channel-route-context.js";import{resolveNitroChannelRuntimeBundle}from"#internal/nitro/routes/runtime-stack.js";import{readVercelProjectLink}from"#internal/vercel/project-link.js";import{withVercelOidcProjectResolver}from"#runtime/governance/auth/vercel-oidc-project.js";const log=createLogger(`channel.dispatch`);async function dispatchChannelRequest(e,t,r){let i=await resolveNitroChannelRuntimeBundle(r),a=i.channels.find(e=>`${e.method.toUpperCase()} ${e.urlPath}`===t);if(a===void 0)return Response.json({error:`No matching channel for this request.`,ok:!1},{status:404});let o=buildRouteArgs(e,i,a.name,r),s;try{s=await withDevelopmentVercelOidcContext(r,e.req,async()=>{if(a.handler)return await a.handler(e.req,o.args);let t={agent:o.agent,waitUntil:o.args.waitUntil,params:o.args.params,requestIp:o.args.requestIp};return await a.fetch(e.req,t)})}catch(r){let i=logError(log,`channel handler threw`,r,{routeKey:t,channel:a.name});return flushBackgroundTasks(e,o.backgroundTasks,t,a.name),Response.json({error:`Channel handler failed.`,errorId:i,ok:!1},{status:500})}return flushBackgroundTasks(e,o.backgroundTasks,t,a.name),s}async function dispatchChannelWebSocketRequest(e,t,r){let i=await resolveNitroChannelRuntimeBundle(r),a=i.channels.find(e=>`${e.method.toUpperCase()} ${e.urlPath}`===t);if(a===void 0||a.websocket===void 0)return rejectWebSocketUpgrade({error:`No matching websocket channel for this request.`,ok:!1},404);let o=a.websocket,s=buildRouteArgs(e,i,a.name,r);try{let n=await withDevelopmentVercelOidcContext(r,e.req,async()=>await o(e.req,s.args));return flushBackgroundTasks(e,s.backgroundTasks,t,a.name),n}catch(r){let i=logError(log,`channel websocket handler threw`,r,{routeKey:t,channel:a.name});return flushBackgroundTasks(e,s.backgroundTasks,t,a.name),rejectWebSocketUpgrade({error:`Channel websocket handler failed.`,errorId:i,ok:!1},500)}}async function withDevelopmentVercelOidcContext(e,t,n){return e.kind===`development`?await withVercelOidcProjectResolver({request:t,resolveCurrentProject:async()=>{let t=await readVercelProjectLink(e.appRoot);return t===void 0?void 0:{environment:`development`,projectId:t.projectId}}},n):await n()}function buildRouteArgs(t,n,o,s){let c=readVercelRequestId(t.req.headers),l=extractRequestIp(t,s),u=[],d=t.context.params??{},f={};for(let[e,t]of Object.entries(d))f[e]=decodeURIComponent(t);let waitUntil=e=>{u.push(e)},p=n.channels.find(e=>e.name===o)?.adapter??{kind:`channel`},m=createRouteAgent(n.runtime,c);return{agent:m,args:attachRouteAgent(attachAgentInfoRouteResponse({send:createSendFn(n.runtime,p,o,{requestId:c}),resolveActiveSession:createResolveActiveSessionFn(n.runtime,o),cancel:createCancelFn(n.runtime,o),getSession:createGetSessionFn(n.runtime),receive:createCrossChannelReceiveFn(n.runtime,toCrossChannelTargets(n.channels)),params:f,waitUntil,requestIp:l},async()=>{let{handleAgentInfoRequest:e}=await import(`#internal/nitro/routes/info.js`);return await e(s)}),m),backgroundTasks:u}}function createRouteAgent(e,t){return{async cancelTurn(t){return await e.cancelTurn(t)},async deliver(n){let r={...n,requestId:t};return await e.deliver(r)},async getEventStream(t,n){return await e.getEventStream(t,n)},async run(n){let r={...n,requestId:t};return await e.run(r)}}}function readVercelRequestId(e){let t=e.get(`x-vercel-id`)?.trim();return t===``?void 0:t}function rejectWebSocketUpgrade(e,t){return{upgrade(){throw Response.json(e,{status:t})}}}function flushBackgroundTasks(e,t,r,i){t.length!==0&&e.waitUntil(Promise.allSettled(t).then(e=>{for(let t of e)t.status===`rejected`&&logError(log,`channel background task failed`,t.reason,{routeKey:r,channel:i})}))}function extractRequestIp(e,t){if(t.kind===`development`){let t=readTrustedDevelopmentClientAddress(e.req.headers,process.env[DEVELOPMENT_WORKFLOW_SECRET_ENV]);if(t!==void 0)return t}return extractSocketIp(e)}function extractSocketIp(e){let t=e.req.ip;return typeof t==`string`&&t.length>0?t:null}export{dispatchChannelRequest,dispatchChannelWebSocketRequest};
@@ -1,3 +1,3 @@
1
- import{basename,dirname,extname,join,relative}from"node:path";import{cp,mkdir,readFile,readdir,realpath,rename,rm,symlink,writeFile}from"node:fs/promises";import{buildSingleRolldownChunk}from"#internal/bundler/nitro-rolldown.js";import{EVE_SHARED_SERVER_FUNCTION_PATH,isEveVercelFunctionPath,normalizeEveVercelRoutes}from"#internal/workflow-bundle/eve-service-route-output.js";const WORKFLOW_STEP_EXTERNAL_PACKAGES=[`@mongodb-js/zstd`,`just-bash`,`microsandbox`,`node-liblzma`],WORKFLOW_BUILDER_DEFERRED_PACKAGES=[`@chat-adapter/slack`,`chat`];function createWorkflowFunctionEnvironment(e){let t={};return isRecord(e)&&Object.assign(t,e),t.NODE_OPTIONS=`--experimental-require-module`,t}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}async function prepareVercelFunctionDirectory(e){await rm(e,{force:!0,recursive:!0}),await mkdir(e,{recursive:!0})}async function resolveNitroFunctionDirectory(e){try{return await realpath(e.sourcePath)}catch{return await realpath(e.fallbackPath)}}async function copyNitroFunctionDirectory(e){let t=await resolveNitroFunctionDirectory({fallbackPath:e.fallbackPath,sourcePath:e.sourcePath});await prepareVercelFunctionDirectory(e.targetPath),await cp(t,e.targetPath,{dereference:!0,recursive:!0})}async function normalizeEveVercelFunctionOutput(e,t={}){let n=join(e,`functions`),i=await prepareSharedEveServerFunction(n);i!==null&&await repointEveFunctionSymlinksInDirectory(n,i),await pruneNonEveFunctionEntries(n,n),await pruneNonEveVercelRoutes(e,t.servicePrefix)}async function prepareSharedEveServerFunction(e){let n=join(e,`__server.func`),i=join(e,EVE_SHARED_SERVER_FUNCTION_PATH),s;try{s=await realpath(n)}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return null;throw e}let c=`${i}.eve-staging`;return await mkdir(dirname(i),{recursive:!0}),await rm(c,{force:!0,recursive:!0}),await cp(s,c,{dereference:!0,recursive:!0}),await rm(i,{force:!0,recursive:!0}),await rename(c,i),i}async function repointEveFunctionSymlinksInDirectory(e,t,n=e){let a;try{a=await readdir(e,{withFileTypes:!0})}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}await Promise.all(a.map(async a=>{let o=join(e,a.name),s=normalizeVercelOutputPath(relative(n,o));if(a.isSymbolicLink()){a.name.endsWith(`.func`)&&isEveVercelFunctionPath(s)&&await repointFunctionSymlink(o,t);return}a.isDirectory()&&!a.name.endsWith(`.func`)&&await repointEveFunctionSymlinksInDirectory(o,t,n)}))}async function repointFunctionSymlink(e,n){await rm(e,{force:!0,recursive:!0}),await symlink(normalizeVercelOutputPath(relative(dirname(e),n)),e,`dir`)}async function pruneNonEveFunctionEntries(e,t){let n;try{n=await readdir(t,{withFileTypes:!0})}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}await Promise.all(n.map(async n=>{let a=join(t,n.name),o=normalizeVercelOutputPath(relative(e,a));if(n.name.endsWith(`.func`)){isEveVercelFunctionPath(o)||await rm(a,{force:!0,recursive:!0});return}n.isDirectory()&&await pruneNonEveFunctionEntries(e,a)}))}async function pruneNonEveVercelRoutes(e,t){let n=join(e,`config.json`),i;try{i=JSON.parse(await readFile(n,`utf8`))}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}!isRecord(i)||!Array.isArray(i.routes)||(i.routes=normalizeEveVercelRoutes(i.routes,t),await writeFile(n,`${JSON.stringify(i,null,2)}\n`))}function normalizeVercelOutputPath(e){return e.replaceAll(`\\`,`/`)}async function emitBundledWorkflowFunctionDirectory(e){await prepareVercelFunctionDirectory(e.targetPath);let n=await emitBundledWorkflowPluginModules({pluginPaths:e.pluginPaths??[],targetPath:e.targetPath}),i=join(dirname(e.bundlePath),`__eve_workflow_function_entry.js`),a=await buildSingleRolldownChunk(`Vercel workflow function for "${e.bundlePath}"`,{cwd:dirname(e.bundlePath),input:i,platform:`node`,plugins:[createVirtualModulePlugin({id:i,moduleType:`js`,source:createWorkflowFunctionEntrypointSource({bundlePath:e.bundlePath,pluginModulePaths:n})})],output:{comments:!1,format:`cjs`,sourcemap:!1}});await Promise.all([writeFile(join(e.targetPath,`index.js`),a.code),writeFile(join(e.targetPath,`package.json`),`${JSON.stringify({type:`commonjs`},null,2)}\n`),writeFile(join(e.targetPath,`.vc-config.json`),`${JSON.stringify({environment:createWorkflowFunctionEnvironment(),handler:`index.js`,launcherType:`Nodejs`,supportsResponseStreaming:!0},null,2)}\n`)])}async function emitBundledWorkflowPluginModules(e){return await Promise.all(e.pluginPaths.map(async(t,n)=>{let i=await buildSingleRolldownChunk(`workflow plugin for "${t}"`,{input:t,platform:`node`,output:{comments:!1,format:`esm`,sourcemap:!1}}),a=`__eve_workflow_plugin_${n}.mjs`;return await writeFile(join(e.targetPath,a),i.code),`./${a}`}))}function createVirtualModulePlugin(e){return{name:`eve-virtual-module`,resolveId(t){return t===e.id?e.id:void 0},load(t){return t===e.id?{code:e.source,moduleType:e.moduleType}:void 0}}}function toRelativeImportPath(e){let t=relative(e.fromDirectoryPath,e.toFilePath).replaceAll(`\\`,`/`);return t.startsWith(`.`)?t:`./${t}`}function normalizeImportSpecifierPath(e){return e.replaceAll(`\\`,`/`)}function createWorkflowFunctionEntrypointSource(t){let n=t.pluginModulePaths.map(e=>normalizeImportSpecifierPath(e)),r=n.length>0;return[`const { POST } = require(${JSON.stringify(`./${basename(t.bundlePath)}`)});`,...r?[`const workflowPluginModulePaths = ${JSON.stringify(n)};`,``,`let workflowPluginPromise;`,``,`async function loadWorkflowPlugins() {`,` if (workflowPluginPromise == null) {`,` workflowPluginPromise = (async () => {`,` for (const pluginPath of workflowPluginModulePaths) {`,` await import(pluginPath);`,` }`,` })();`,` }`,` return await workflowPluginPromise;`,`}`]:[],``,`const DEFAULT_WORKFLOW_REQUEST_ORIGIN = "https://workflow.invalid";`,``,`function getHeader(headers, name) {`,` if (headers === null || headers === undefined) {`,` return undefined;`,` }`,` if (typeof headers.get === "function") {`,` const value = headers.get(name);`,` return typeof value === "string" && value.length > 0 ? value : undefined;`,` }`,` if (typeof headers !== "object") {`,` return undefined;`,` }`,` const record = headers;`,` const lowerName = name.toLowerCase();`,` for (const [key, value] of Object.entries(record)) {`,` if (key.toLowerCase() !== lowerName || value === undefined) {`,` continue;`,` }`,` if (Array.isArray(value)) {`,` return value.find((item) => typeof item === "string" && item.length > 0);`,` }`,` return typeof value === "string" && value.length > 0 ? value : undefined;`,` }`,` return undefined;`,`}`,``,`function createHeaders(headers) {`,` const normalized = new Headers();`,` if (headers === null || headers === undefined) {`,` return normalized;`,` }`,` if (headers instanceof Headers) {`,` return headers;`,` }`,` if (typeof headers.forEach === "function" && typeof headers.entries === "function") {`,` for (const [key, value] of headers.entries()) {`,` normalized.append(key, value);`,` }`,` return normalized;`,` }`,` for (const [key, value] of Object.entries(headers)) {`,` if (value === undefined) {`,` continue;`,` }`,` if (Array.isArray(value)) {`,` for (const item of value) {`,` normalized.append(key, String(item));`,` }`,` continue;`,` }`,` normalized.set(key, String(value));`,` }`,` return normalized;`,`}`,``,`function toAbsoluteWorkflowUrl(request) {`,` const url = typeof request?.url === "string" ? request.url : "/";`,` if (/^https?:\\/\\//.test(url)) {`,` return url;`,` }`,` const host = getHeader(request?.headers, "x-forwarded-host") ?? getHeader(request?.headers, "host");`,` const protocolHeader = getHeader(request?.headers, "x-forwarded-proto");`,` const protocol = protocolHeader === "http" || protocolHeader === "https" ? protocolHeader : "https";`,` const origin = typeof host === "string" && host.length > 0 ? protocol + "://" + host : DEFAULT_WORKFLOW_REQUEST_ORIGIN;`,` return new URL(url, origin).toString();`,`}`,``,`function normalizeWorkflowRequest(request) {`,` if (request instanceof Request) {`,` if (/^https?:\\/\\//.test(request.url)) {`,` return request;`,` }`,` return new Request(toAbsoluteWorkflowUrl(request), request);`,` }`,` const method = typeof request?.method === "string" ? request.method : "GET";`,` const headers = createHeaders(request?.headers);`,` const init = {`,` headers,`,` method,`,` };`,` if (method !== "GET" && method !== "HEAD") {`,` const body = request?.body ?? (request !== null && typeof request === "object" && typeof request.pipe === "function" ? request : undefined);`,` if (body !== undefined) {`,` init.body = body;`,` init.duplex = "half";`,` }`,` }`,` return new Request(toAbsoluteWorkflowUrl(request), init);`,`}`,``,`module.exports = async function handleWorkflowFunctionRequest(requestContext) {`,` const request =`,` requestContext !== null && typeof requestContext === "object" && "req" in requestContext`,` ? requestContext.req`,` : requestContext;`,...r?[` await loadWorkflowPlugins();`]:[],` return await POST(normalizeWorkflowRequest(request));`,`};`,``].join(`
1
+ import{basename,dirname,extname,join,relative}from"node:path";import{cp,mkdir,readFile,readdir,realpath,rename,rm,symlink,writeFile}from"node:fs/promises";import{buildSingleRolldownChunk}from"#internal/bundler/nitro-rolldown.js";import{EVE_SHARED_SERVER_FUNCTION_PATH,isEveVercelFunctionPath,normalizeEveVercelRoutes}from"#internal/workflow-bundle/eve-service-route-output.js";const WORKFLOW_STEP_EXTERNAL_PACKAGES=[`@mongodb-js/zstd`,`just-bash`,`microsandbox`,`node-liblzma`],WORKFLOW_BUILDER_DEFERRED_PACKAGES=[`@chat-adapter/slack`,`chat`];function createWorkflowFunctionEnvironment(e){let t={};return isRecord(e)&&Object.assign(t,e),t.WORKFLOW_PRECONDITION_GUARD=`1`,t.NODE_OPTIONS=`--experimental-require-module`,t}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}async function prepareVercelFunctionDirectory(e){await rm(e,{force:!0,recursive:!0}),await mkdir(e,{recursive:!0})}async function resolveNitroFunctionDirectory(e){try{return await realpath(e.sourcePath)}catch{return await realpath(e.fallbackPath)}}async function copyNitroFunctionDirectory(e){let t=await resolveNitroFunctionDirectory({fallbackPath:e.fallbackPath,sourcePath:e.sourcePath});await prepareVercelFunctionDirectory(e.targetPath),await cp(t,e.targetPath,{dereference:!0,recursive:!0})}async function normalizeEveVercelFunctionOutput(e,t={}){let n=join(e,`functions`),i=await prepareSharedEveServerFunction(n);i!==null&&await repointEveFunctionSymlinksInDirectory(n,i),await pruneNonEveFunctionEntries(n,n),await pruneNonEveVercelRoutes(e,t.servicePrefix)}async function prepareSharedEveServerFunction(e){let n=join(e,`__server.func`),i=join(e,EVE_SHARED_SERVER_FUNCTION_PATH),s;try{s=await realpath(n)}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return null;throw e}let c=`${i}.eve-staging`;return await mkdir(dirname(i),{recursive:!0}),await rm(c,{force:!0,recursive:!0}),await cp(s,c,{dereference:!0,recursive:!0}),await rm(i,{force:!0,recursive:!0}),await rename(c,i),i}async function repointEveFunctionSymlinksInDirectory(e,t,n=e){let a;try{a=await readdir(e,{withFileTypes:!0})}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}await Promise.all(a.map(async a=>{let o=join(e,a.name),s=normalizeVercelOutputPath(relative(n,o));if(a.isSymbolicLink()){a.name.endsWith(`.func`)&&isEveVercelFunctionPath(s)&&await repointFunctionSymlink(o,t);return}a.isDirectory()&&!a.name.endsWith(`.func`)&&await repointEveFunctionSymlinksInDirectory(o,t,n)}))}async function repointFunctionSymlink(e,n){await rm(e,{force:!0,recursive:!0}),await symlink(normalizeVercelOutputPath(relative(dirname(e),n)),e,`dir`)}async function pruneNonEveFunctionEntries(e,t){let n;try{n=await readdir(t,{withFileTypes:!0})}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}await Promise.all(n.map(async n=>{let a=join(t,n.name),o=normalizeVercelOutputPath(relative(e,a));if(n.name.endsWith(`.func`)){isEveVercelFunctionPath(o)||await rm(a,{force:!0,recursive:!0});return}n.isDirectory()&&await pruneNonEveFunctionEntries(e,a)}))}async function pruneNonEveVercelRoutes(e,t){let n=join(e,`config.json`),i;try{i=JSON.parse(await readFile(n,`utf8`))}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}!isRecord(i)||!Array.isArray(i.routes)||(i.routes=normalizeEveVercelRoutes(i.routes,t),await writeFile(n,`${JSON.stringify(i,null,2)}\n`))}function normalizeVercelOutputPath(e){return e.replaceAll(`\\`,`/`)}async function emitBundledWorkflowFunctionDirectory(e){await prepareVercelFunctionDirectory(e.targetPath);let n=await emitBundledWorkflowPluginModules({pluginPaths:e.pluginPaths??[],targetPath:e.targetPath}),i=join(dirname(e.bundlePath),`__eve_workflow_function_entry.js`),a=await buildSingleRolldownChunk(`Vercel workflow function for "${e.bundlePath}"`,{cwd:dirname(e.bundlePath),input:i,platform:`node`,plugins:[createVirtualModulePlugin({id:i,moduleType:`js`,source:createWorkflowFunctionEntrypointSource({bundlePath:e.bundlePath,pluginModulePaths:n})})],output:{comments:!1,format:`cjs`,sourcemap:!1}});await Promise.all([writeFile(join(e.targetPath,`index.js`),a.code),writeFile(join(e.targetPath,`package.json`),`${JSON.stringify({type:`commonjs`},null,2)}\n`),writeFile(join(e.targetPath,`.vc-config.json`),`${JSON.stringify({environment:createWorkflowFunctionEnvironment(),handler:`index.js`,launcherType:`Nodejs`,supportsResponseStreaming:!0},null,2)}\n`)])}async function emitBundledWorkflowPluginModules(e){return await Promise.all(e.pluginPaths.map(async(t,n)=>{let i=await buildSingleRolldownChunk(`workflow plugin for "${t}"`,{input:t,platform:`node`,output:{comments:!1,format:`esm`,sourcemap:!1}}),a=`__eve_workflow_plugin_${n}.mjs`;return await writeFile(join(e.targetPath,a),i.code),`./${a}`}))}function createVirtualModulePlugin(e){return{name:`eve-virtual-module`,resolveId(t){return t===e.id?e.id:void 0},load(t){return t===e.id?{code:e.source,moduleType:e.moduleType}:void 0}}}function toRelativeImportPath(e){let t=relative(e.fromDirectoryPath,e.toFilePath).replaceAll(`\\`,`/`);return t.startsWith(`.`)?t:`./${t}`}function normalizeImportSpecifierPath(e){return e.replaceAll(`\\`,`/`)}function createWorkflowFunctionEntrypointSource(t){let n=t.pluginModulePaths.map(e=>normalizeImportSpecifierPath(e)),r=n.length>0;return[`const { POST } = require(${JSON.stringify(`./${basename(t.bundlePath)}`)});`,...r?[`const workflowPluginModulePaths = ${JSON.stringify(n)};`,``,`let workflowPluginPromise;`,``,`async function loadWorkflowPlugins() {`,` if (workflowPluginPromise == null) {`,` workflowPluginPromise = (async () => {`,` for (const pluginPath of workflowPluginModulePaths) {`,` await import(pluginPath);`,` }`,` })();`,` }`,` return await workflowPluginPromise;`,`}`]:[],``,`const DEFAULT_WORKFLOW_REQUEST_ORIGIN = "https://workflow.invalid";`,``,`function getHeader(headers, name) {`,` if (headers === null || headers === undefined) {`,` return undefined;`,` }`,` if (typeof headers.get === "function") {`,` const value = headers.get(name);`,` return typeof value === "string" && value.length > 0 ? value : undefined;`,` }`,` if (typeof headers !== "object") {`,` return undefined;`,` }`,` const record = headers;`,` const lowerName = name.toLowerCase();`,` for (const [key, value] of Object.entries(record)) {`,` if (key.toLowerCase() !== lowerName || value === undefined) {`,` continue;`,` }`,` if (Array.isArray(value)) {`,` return value.find((item) => typeof item === "string" && item.length > 0);`,` }`,` return typeof value === "string" && value.length > 0 ? value : undefined;`,` }`,` return undefined;`,`}`,``,`function createHeaders(headers) {`,` const normalized = new Headers();`,` if (headers === null || headers === undefined) {`,` return normalized;`,` }`,` if (headers instanceof Headers) {`,` return headers;`,` }`,` if (typeof headers.forEach === "function" && typeof headers.entries === "function") {`,` for (const [key, value] of headers.entries()) {`,` normalized.append(key, value);`,` }`,` return normalized;`,` }`,` for (const [key, value] of Object.entries(headers)) {`,` if (value === undefined) {`,` continue;`,` }`,` if (Array.isArray(value)) {`,` for (const item of value) {`,` normalized.append(key, String(item));`,` }`,` continue;`,` }`,` normalized.set(key, String(value));`,` }`,` return normalized;`,`}`,``,`function toAbsoluteWorkflowUrl(request) {`,` const url = typeof request?.url === "string" ? request.url : "/";`,` if (/^https?:\\/\\//.test(url)) {`,` return url;`,` }`,` const host = getHeader(request?.headers, "x-forwarded-host") ?? getHeader(request?.headers, "host");`,` const protocolHeader = getHeader(request?.headers, "x-forwarded-proto");`,` const protocol = protocolHeader === "http" || protocolHeader === "https" ? protocolHeader : "https";`,` const origin = typeof host === "string" && host.length > 0 ? protocol + "://" + host : DEFAULT_WORKFLOW_REQUEST_ORIGIN;`,` return new URL(url, origin).toString();`,`}`,``,`function normalizeWorkflowRequest(request) {`,` if (request instanceof Request) {`,` if (/^https?:\\/\\//.test(request.url)) {`,` return request;`,` }`,` return new Request(toAbsoluteWorkflowUrl(request), request);`,` }`,` const method = typeof request?.method === "string" ? request.method : "GET";`,` const headers = createHeaders(request?.headers);`,` const init = {`,` headers,`,` method,`,` };`,` if (method !== "GET" && method !== "HEAD") {`,` const body = request?.body ?? (request !== null && typeof request === "object" && typeof request.pipe === "function" ? request : undefined);`,` if (body !== undefined) {`,` init.body = body;`,` init.duplex = "half";`,` }`,` }`,` return new Request(toAbsoluteWorkflowUrl(request), init);`,`}`,``,`module.exports = async function handleWorkflowFunctionRequest(requestContext) {`,` const request =`,` requestContext !== null && typeof requestContext === "object" && "req" in requestContext`,` ? requestContext.req`,` : requestContext;`,...r?[` await loadWorkflowPlugins();`]:[],` return await POST(normalizeWorkflowRequest(request));`,`};`,``].join(`
2
2
  `)}function createRoutedNitroEntrypoint(e){return[`import nitroHandler from ${JSON.stringify(e.delegateImportPath)};`,``,`function invokeNitroHandler(request, context) {`,` if (typeof nitroHandler === "function") {`,` return nitroHandler(request, context);`,` }`,``,` if (nitroHandler !== null && typeof nitroHandler === "object" && "fetch" in nitroHandler) {`,` const fetch = nitroHandler.fetch;`,` if (typeof fetch === "function") {`,` return fetch.call(nitroHandler, request, context);`,` }`,` }`,``,` throw new TypeError("Expected Nitro handler to export a function or an object with fetch(request, context).");`,`}`,``,`const workflowRoutePath = ${JSON.stringify(e.workflowRoutePath)};`,``,`function rewriteRequestToWorkflowRoute(request) {`,` const sourceUrl = new URL(request.url);`,` const routedUrl = new URL(workflowRoutePath, sourceUrl);`,` routedUrl.search = sourceUrl.search;`,` return new Request(routedUrl, request);`,`}`,``,`export default {`,` fetch(request, context) {`,` return invokeNitroHandler(rewriteRequestToWorkflowRoute(request), context);`,` },`,`};`,``].join(`
3
3
  `)}async function readVercelHandlerPath(e){try{let t=JSON.parse(await readFile(join(e,`.vc-config.json`),`utf8`));if(typeof t.handler==`string`&&t.handler.length>0)return t.handler}catch{}return`index.mjs`}async function retargetNitroFunctionDirectoryToWorkflowRoute(e){let i=await readVercelHandlerPath(e.functionDirectoryPath),a=join(e.functionDirectoryPath,i),o=dirname(a),s=extname(i),c=join(o,`__eve_nitro_handler__${s.length>0?s:`.mjs`}`),l=toRelativeImportPath({fromDirectoryPath:o,toFilePath:c});await rename(a,c),await writeFile(a,createRoutedNitroEntrypoint({delegateImportPath:l,workflowRoutePath:e.workflowRoutePath}))}export{WORKFLOW_BUILDER_DEFERRED_PACKAGES,WORKFLOW_STEP_EXTERNAL_PACKAGES,copyNitroFunctionDirectory,createWorkflowFunctionEnvironment,emitBundledWorkflowFunctionDirectory,normalizeEveVercelFunctionOutput,prepareVercelFunctionDirectory,retargetNitroFunctionDirectoryToWorkflowRoute};
@@ -0,0 +1 @@
1
+ import{anyType,arrayType,lazyType,literalType,nativeEnumType,nullableType,objectType,recordType,unionType}from"../../../../../../zod@4.4.3/node_modules/zod/v3/types.js";import"../../../../../../zod@4.4.3/node_modules/zod/v3/index.js";import{remap}from"../lib/primitives.js";import{safeParse}from"../lib/schemas.js";import{boolean,literal,nullable,number,optional,string}from"../types/primitives.js";import{smartUnion}from"../types/smartUnion.js";import{ACLAction$inboundSchema}from"./aclaction.js";import{UpdateProjectAliasAssigned$inboundSchema,UpdateProjectAliasError$inboundSchema,UpdateProjectProjectsBranchMatcher$inboundSchema}from"./updateprojectprojectsbranchmatcher.js";const UpdateProjectChecksConclusion={Canceled:`canceled`,Failed:`failed`,Skipped:`skipped`,Succeeded:`succeeded`},UpdateProjectChecksState={Completed:`completed`,Registered:`registered`,Running:`running`},UpdateProjectPlan={Enterprise:`enterprise`,Hobby:`hobby`,Pro:`pro`},UpdateProjectReadyState={Blocked:`BLOCKED`,Building:`BUILDING`,Canceled:`CANCELED`,Error:`ERROR`,Initializing:`INITIALIZING`,Queued:`QUEUED`,Ready:`READY`},UpdateProjectReadySubstate={Promoted:`PROMOTED`,Rolling:`ROLLING`,Staged:`STAGED`},UpdateProjectProjectsResponseType={Lambdas:`LAMBDAS`},UpdateProjectProjectsNodeVersion={TenDotX:`10.x`,TwelveDotX:`12.x`,FourteenDotX:`14.x`,SixteenDotX:`16.x`,EighteenDotX:`18.x`,TwentyDotX:`20.x`,TwentyTwoDotX:`22.x`,TwentyFourDotX:`24.x`,EightDot10DotX:`8.10.x`},UpdateProjectProjectsResponseDeploymentType={All:`all`,AllExceptCustomDomains:`all_except_custom_domains`,Preview:`preview`,ProdDeploymentUrlsAndAllPreviews:`prod_deployment_urls_and_all_previews`},UpdateProjectProjectsFunctionDefaultMemoryType={Performance:`performance`,PerformanceXl:`performance_xl`,Standard:`standard`,StandardLegacy:`standard_legacy`},UpdateProjectProjectsBuildMachineType={Enhanced:`enhanced`,Standard:`standard`,Turbo:`turbo`},UpdateProjectProjectsBuildMachineSelection={Elastic:`elastic`,Fixed:`fixed`},UpdateProjectProjectsBuildMachineElasticReason={BuildTimeoutFailure:`build-timeout-failure`,EnospcFailure:`enospc-failure`,EnterpriseFloor:`enterprise-floor`,HighPeakDisk:`high-peak-disk`,HighPeakMemory:`high-peak-memory`,LongBuildDuration:`long-build-duration`,OomFailure:`oom-failure`,ShortBuildDuration:`short-build-duration`,SustainedHighCpu:`sustained-high-cpu`},UpdateProjectProjectsConfiguration={SkipNamespaceQueue:`SKIP_NAMESPACE_QUEUE`,WaitForNamespaceQueue:`WAIT_FOR_NAMESPACE_QUEUE`},UpdateProjectProjectsResponseFunctionDefaultMemoryType={Performance:`performance`,PerformanceXl:`performance_xl`,Standard:`standard`,StandardLegacy:`standard_legacy`},UpdateProjectProjectsResponseBuildMachineType={Enhanced:`enhanced`,Standard:`standard`,Turbo:`turbo`},UpdateProjectProjectsResponseBuildMachineSelection={Elastic:`elastic`,Fixed:`fixed`},UpdateProjectProjectsResponseBuildMachineElasticReason={BuildTimeoutFailure:`build-timeout-failure`,EnospcFailure:`enospc-failure`,EnterpriseFloor:`enterprise-floor`,HighPeakDisk:`high-peak-disk`,HighPeakMemory:`high-peak-memory`,LongBuildDuration:`long-build-duration`,OomFailure:`oom-failure`,ShortBuildDuration:`short-build-duration`,SustainedHighCpu:`sustained-high-cpu`},UpdateProjectProjectsResponseConfiguration={SkipNamespaceQueue:`SKIP_NAMESPACE_QUEUE`,WaitForNamespaceQueue:`WAIT_FOR_NAMESPACE_QUEUE`},UpdateProjectProjectsResponse200DeploymentType={All:`all`,AllExceptCustomDomains:`all_except_custom_domains`,Preview:`preview`,ProdDeploymentUrlsAndAllPreviews:`prod_deployment_urls_and_all_previews`},UpdateProjectCve55182MigrationAppliedFrom={All:`all`,AllExceptCustomDomains:`all_except_custom_domains`,Preview:`preview`,ProdDeploymentUrlsAndAllPreviews:`prod_deployment_urls_and_all_previews`},UpdateProjectApril2026SecurityIncidentMigrationAppliedFrom={All:`all`,AllExceptCustomDomains:`all_except_custom_domains`,Preview:`preview`,ProdDeploymentUrlsAndAllPreviews:`prod_deployment_urls_and_all_previews`},UpdateProjectProjectsResponse200ApplicationJSONResponseBodyTargetsType={EndsWith:`endsWith`,Equals:`equals`,StartsWith:`startsWith`},UpdateProjectProjectsChecksConclusion={Canceled:`canceled`,Failed:`failed`,Skipped:`skipped`,Succeeded:`succeeded`},UpdateProjectProjectsChecksState={Completed:`completed`,Registered:`registered`,Running:`running`},UpdateProjectProjectsPlan={Enterprise:`enterprise`,Hobby:`hobby`,Pro:`pro`},UpdateProjectProjectsReadyState={Blocked:`BLOCKED`,Building:`BUILDING`,Canceled:`CANCELED`,Error:`ERROR`,Initializing:`INITIALIZING`,Queued:`QUEUED`,Ready:`READY`},UpdateProjectProjectsReadySubstate={Promoted:`PROMOTED`,Rolling:`ROLLING`,Staged:`STAGED`},UpdateProjectProjectsResponse200Type={Lambdas:`LAMBDAS`},UpdateProjectJobStatus={Failed:`failed`,InProgress:`in-progress`,Pending:`pending`,Skipped:`skipped`,Succeeded:`succeeded`},UpdateProjectProjectsResponse200ApplicationJSONType={Promote:`promote`,Rollback:`rollback`},UpdateProjectTrustedIpsProjectsDeploymentType={All:`all`,AllExceptCustomDomains:`all_except_custom_domains`,Preview:`preview`,ProdDeploymentUrlsAndAllPreviews:`prod_deployment_urls_and_all_previews`,Production:`production`},UpdateProjectTrustedIpsDeploymentType={All:`all`,AllExceptCustomDomains:`all_except_custom_domains`,Preview:`preview`,ProdDeploymentUrlsAndAllPreviews:`prod_deployment_urls_and_all_previews`,Production:`production`},UpdateProjectTrustedIpsProtectionMode={Additional:`additional`,Exclusive:`exclusive`},UpdateProjectFromProjectsResponsePreset={AllCustom:`all-custom`},UpdateProjectFromProjectsPreset={AllCustom:`all-custom`},UpdateProjectToProjectsResponse200ApplicationJSONResponseBodyPreset={AllCustom:`all-custom`},UpdateProjectToProjectsResponse200ApplicationJSONPreset={AllCustom:`all-custom`},UpdateProjectToProjectsResponse200Preset={AllCustom:`all-custom`},UpdateProjectToProjectsResponsePreset={AllCustom:`all-custom`},UpdateProjectCreateDeployments={Disabled:`disabled`,Enabled:`enabled`},UpdateProjectProjectsResponse200ApplicationJSONResponseBodySecurityAction={Challenge:`challenge`,Deny:`deny`,Log:`log`},UpdateProjectProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction={Challenge:`challenge`,Deny:`deny`,Log:`log`},UpdateProjectProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesBotFilterAction={Challenge:`challenge`,Deny:`deny`,Log:`log`},UpdateProjectProjectsResponse200ApplicationJSONAction={Challenge:`challenge`,Deny:`deny`,Log:`log`},UpdateProjectProjectsResponse200ApplicationJSONResponseBodyAction={Challenge:`challenge`,Deny:`deny`,Log:`log`},UpdateProjectLogHeaders2={Wildcard:`*`},UpdateProjectProjectsIssuerMode={Global:`global`,Team:`team`},UpdateProjectSourcesProjectsResponse200Provider={Bitbucket:`bitbucket`,Github:`github`},UpdateProjectEnvironmentsProjectsResponse200Target={Preview:`preview`,Production:`production`},UpdateProjectProjectsSources={Cli:`cli`,DeployHook:`deploy-hook`,Git:`git`,Integration:`integration`,RestApi:`rest-api`,V0:`v0`},UpdateProjectEnvironmentsProjectsResponseTarget={Preview:`preview`,Production:`production`},UpdateProjectFlatRateTier={Advanced:`advanced`,Base:`base`,Critical:`critical`,Standard:`standard`},UpdateProjectKind={Flat:`flat`},UpdateProjectProjectsResponse200Action={Blocked:`blocked`},UpdateProjectBuilds$inboundSchema=objectType({use:string(),src:optional(string()),dest:optional(string())}),UpdateProjectChecksConclusion$inboundSchema=nativeEnumType(UpdateProjectChecksConclusion),UpdateProjectChecksState$inboundSchema=nativeEnumType(UpdateProjectChecksState),UpdateProjectCreator$inboundSchema=objectType({email:string(),githubLogin:optional(string()),gitlabLogin:optional(string()),uid:string(),username:string()}),UpdateProjectOidcTokenClaims$inboundSchema=objectType({iss:string(),sub:string(),scope:string(),aud:string(),owner:string(),owner_id:string(),project:string(),project_id:string(),environment:string(),custom_environment_id:optional(string()),plan:optional(string())}).transform(e=>remap(e,{owner_id:`ownerId`,project_id:`projectId`,custom_environment_id:`customEnvironmentId`})),UpdateProjectPlan$inboundSchema=nativeEnumType(UpdateProjectPlan),UpdateProjectReadyState$inboundSchema=nativeEnumType(UpdateProjectReadyState),UpdateProjectReadySubstate$inboundSchema=nativeEnumType(UpdateProjectReadySubstate),UpdateProjectProjectsResponseType$inboundSchema=nativeEnumType(UpdateProjectProjectsResponseType);objectType({id:string(),alias:optional(arrayType(string())),aliasAssigned:nullableType(UpdateProjectAliasAssigned$inboundSchema).optional(),aliasError:nullableType(UpdateProjectAliasError$inboundSchema).optional(),aliasFinal:nullableType(string()).optional(),automaticAliases:optional(arrayType(string())),branchMatcher:optional(UpdateProjectProjectsBranchMatcher$inboundSchema),buildingAt:optional(number()),builds:optional(arrayType(lazyType(()=>UpdateProjectBuilds$inboundSchema))),checksConclusion:optional(UpdateProjectChecksConclusion$inboundSchema),checksState:optional(UpdateProjectChecksState$inboundSchema),connectBuildsEnabled:optional(boolean()),connectConfigurationId:optional(string()),createdAt:number(),createdIn:string(),creator:nullable(lazyType(()=>UpdateProjectCreator$inboundSchema)),deletedAt:optional(number()),deploymentHostname:string(),forced:optional(boolean()),name:string(),meta:optional(recordType(string())),monorepoManager:nullableType(string()).optional(),oidcTokenClaims:optional(lazyType(()=>UpdateProjectOidcTokenClaims$inboundSchema)),plan:UpdateProjectPlan$inboundSchema,previewCommentsEnabled:optional(boolean()),private:boolean(),readyAt:optional(number()),readyState:UpdateProjectReadyState$inboundSchema,readySubstate:optional(UpdateProjectReadySubstate$inboundSchema),requestedAt:optional(number()),target:nullableType(string()).optional(),teamId:nullableType(string()).optional(),type:UpdateProjectProjectsResponseType$inboundSchema,url:string(),userId:string(),withCache:optional(boolean())});const UpdateProjectLinkProjectsResponse200ApplicationJSONResponseBodyDeployHooks$inboundSchema=objectType({createdAt:optional(number()),id:string(),name:string(),ref:string(),url:string()}),UpdateProjectLink6$inboundSchema=objectType({org:string(),repo:string(),type:literal(`vercel`),createdAt:optional(number()),deployHooks:arrayType(lazyType(()=>UpdateProjectLinkProjectsResponse200ApplicationJSONResponseBodyDeployHooks$inboundSchema)),gitCredentialId:string(),updatedAt:optional(number()),sourceless:optional(boolean()),productionBranch:string()}),UpdateProjectLinkProjectsResponse200ApplicationJSONDeployHooks$inboundSchema=objectType({createdAt:optional(number()),id:string(),name:string(),ref:string(),url:string()}),UpdateProjectLink5$inboundSchema=objectType({name:string(),slug:string(),owner:string(),type:literal(`bitbucket`),uuid:string(),workspaceUuid:string(),createdAt:optional(number()),deployHooks:arrayType(lazyType(()=>UpdateProjectLinkProjectsResponse200ApplicationJSONDeployHooks$inboundSchema)),gitCredentialId:string(),updatedAt:optional(number()),sourceless:optional(boolean()),productionBranch:string()}),UpdateProjectLinkProjectsResponse200DeployHooks$inboundSchema=objectType({createdAt:optional(number()),id:string(),name:string(),ref:string(),url:string()}),UpdateProjectLink4$inboundSchema=objectType({projectId:string(),projectName:string(),projectNameWithNamespace:string(),projectNamespace:string(),projectOwnerId:optional(number()),projectUrl:string(),type:literal(`gitlab`),createdAt:optional(number()),deployHooks:arrayType(lazyType(()=>UpdateProjectLinkProjectsResponse200DeployHooks$inboundSchema)),gitCredentialId:string(),updatedAt:optional(number()),sourceless:optional(boolean()),productionBranch:string()}),UpdateProjectLinkProjectsResponseDeployHooks$inboundSchema=objectType({createdAt:optional(number()),id:string(),name:string(),ref:string(),url:string()}),UpdateProjectLink3$inboundSchema=objectType({org:string(),repoOwnerId:optional(number()),repo:optional(string()),repoId:optional(number()),type:literal(`github-custom-host`),host:string(),createdAt:optional(number()),deployHooks:arrayType(lazyType(()=>UpdateProjectLinkProjectsResponseDeployHooks$inboundSchema)),gitCredentialId:string(),updatedAt:optional(number()),sourceless:optional(boolean()),productionBranch:string()}),UpdateProjectLinkProjectsDeployHooks$inboundSchema=objectType({createdAt:optional(number()),id:string(),name:string(),ref:string(),url:string()}),UpdateProjectLink2$inboundSchema=objectType({type:literal(`github-limited`),repo:optional(string()),repoId:optional(number()),createdAt:optional(number()),updatedAt:optional(number()),org:string(),repoOwnerId:optional(number()),deployHooks:arrayType(lazyType(()=>UpdateProjectLinkProjectsDeployHooks$inboundSchema)),gitCredentialId:string(),sourceless:optional(boolean()),productionBranch:string()}),UpdateProjectLinkDeployHooks$inboundSchema=objectType({createdAt:optional(number()),id:string(),name:string(),ref:string(),url:string()}),UpdateProjectLink1$inboundSchema=objectType({org:string(),repoOwnerId:optional(number()),repo:optional(string()),repoId:optional(number()),type:literal(`github`),createdAt:optional(number()),deployHooks:arrayType(lazyType(()=>UpdateProjectLinkDeployHooks$inboundSchema)),gitCredentialId:string(),updatedAt:optional(number()),sourceless:optional(boolean()),productionBranch:string()});unionType([lazyType(()=>UpdateProjectLink1$inboundSchema),lazyType(()=>UpdateProjectLink2$inboundSchema),lazyType(()=>UpdateProjectLink3$inboundSchema),lazyType(()=>UpdateProjectLink4$inboundSchema),lazyType(()=>UpdateProjectLink5$inboundSchema),lazyType(()=>UpdateProjectLink6$inboundSchema)]);const UpdateProjectMicrofrontends3$inboundSchema=objectType({updatedAt:number(),groupIds:arrayType(anyType()),enabled:literal(!1),freeProjectForLegacyLimits:optional(boolean())}),UpdateProjectMicrofrontends2$inboundSchema=objectType({isDefaultApp:optional(literal(!1)),routeObservabilityToThisProject:optional(boolean()),doNotRouteWithMicrofrontendsRouting:optional(boolean()),updatedAt:number(),groupIds:arrayType(string()),enabled:literal(!0),defaultRoute:optional(string()),freeProjectForLegacyLimits:optional(boolean())}),UpdateProjectMicrofrontends1$inboundSchema=objectType({isDefaultApp:literal(!0),updatedAt:number(),groupIds:arrayType(string()),enabled:literal(!0),defaultRoute:optional(string()),freeProjectForLegacyLimits:optional(boolean())});smartUnion([lazyType(()=>UpdateProjectMicrofrontends1$inboundSchema),lazyType(()=>UpdateProjectMicrofrontends2$inboundSchema),lazyType(()=>UpdateProjectMicrofrontends3$inboundSchema)]),nativeEnumType(UpdateProjectProjectsNodeVersion);const UpdateProjectProjectsPaths$inboundSchema=objectType({value:string()});objectType({paths:arrayType(lazyType(()=>UpdateProjectProjectsPaths$inboundSchema))}),objectType({}),objectType({deploymentType:nativeEnumType(UpdateProjectProjectsResponseDeploymentType),connectorId:string()});const UpdateProjectSandboxUrls$inboundSchema=objectType({inheritDeploymentProtection:optional(boolean())});objectType({sandboxUrls:optional(lazyType(()=>UpdateProjectSandboxUrls$inboundSchema))});const UpdateProjectProjectsFunctionDefaultMemoryType$inboundSchema=nativeEnumType(UpdateProjectProjectsFunctionDefaultMemoryType),UpdateProjectProjectsBuildMachineType$inboundSchema=nativeEnumType(UpdateProjectProjectsBuildMachineType),UpdateProjectProjectsBuildMachineSelection$inboundSchema=nativeEnumType(UpdateProjectProjectsBuildMachineSelection),UpdateProjectProjectsBuildMachineElasticReason$inboundSchema=nativeEnumType(UpdateProjectProjectsBuildMachineElasticReason),UpdateProjectProjectsBuildQueue$inboundSchema=objectType({configuration:optional(nativeEnumType(UpdateProjectProjectsConfiguration))});objectType({elasticConcurrencyEnabled:optional(boolean()),fluid:optional(boolean()),functionDefaultRegions:arrayType(string()),functionDefaultTimeout:optional(number()),functionDefaultMemoryType:optional(UpdateProjectProjectsFunctionDefaultMemoryType$inboundSchema),functionZeroConfigFailover:optional(boolean()),buildMachineType:optional(UpdateProjectProjectsBuildMachineType$inboundSchema),buildMachineSelection:optional(UpdateProjectProjectsBuildMachineSelection$inboundSchema),buildMachineElasticLastUpdated:optional(number()),buildMachineElasticReason:optional(UpdateProjectProjectsBuildMachineElasticReason$inboundSchema),isNSNBDisabled:optional(boolean()),buildQueue:optional(lazyType(()=>UpdateProjectProjectsBuildQueue$inboundSchema)),enableFunctionsBeta:optional(boolean())}),objectType({userId:string(),username:string(),description:string(),createdAt:number()});const UpdateProjectStages$inboundSchema=objectType({targetPercentage:number(),requireApproval:optional(boolean()),duration:optional(number()),linearShift:optional(boolean())});objectType({target:string(),stages:nullableType(arrayType(lazyType(()=>UpdateProjectStages$inboundSchema))).optional(),canaryResponseHeader:optional(boolean())});const UpdateProjectProjectsResponseFunctionDefaultMemoryType$inboundSchema=nativeEnumType(UpdateProjectProjectsResponseFunctionDefaultMemoryType),UpdateProjectProjectsResponseBuildMachineType$inboundSchema=nativeEnumType(UpdateProjectProjectsResponseBuildMachineType),UpdateProjectProjectsResponseBuildMachineSelection$inboundSchema=nativeEnumType(UpdateProjectProjectsResponseBuildMachineSelection),UpdateProjectProjectsResponseBuildMachineElasticReason$inboundSchema=nativeEnumType(UpdateProjectProjectsResponseBuildMachineElasticReason),UpdateProjectProjectsResponseBuildQueue$inboundSchema=objectType({configuration:optional(nativeEnumType(UpdateProjectProjectsResponseConfiguration))});objectType({elasticConcurrencyEnabled:optional(boolean()),fluid:optional(boolean()),functionDefaultRegions:arrayType(string()),functionDefaultTimeout:optional(number()),functionDefaultMemoryType:optional(UpdateProjectProjectsResponseFunctionDefaultMemoryType$inboundSchema),functionZeroConfigFailover:optional(boolean()),buildMachineType:optional(UpdateProjectProjectsResponseBuildMachineType$inboundSchema),buildMachineSelection:optional(UpdateProjectProjectsResponseBuildMachineSelection$inboundSchema),buildMachineElasticLastUpdated:optional(number()),buildMachineElasticReason:optional(UpdateProjectProjectsResponseBuildMachineElasticReason$inboundSchema),isNSNBDisabled:optional(boolean()),buildQueue:optional(lazyType(()=>UpdateProjectProjectsResponseBuildQueue$inboundSchema)),enableFunctionsBeta:optional(boolean())}),objectType({builds:boolean(),enabled:boolean(),regions:arrayType(string())});const UpdateProjectProjectsResponse200DeploymentType$inboundSchema=nativeEnumType(UpdateProjectProjectsResponse200DeploymentType),UpdateProjectCve55182MigrationAppliedFrom$inboundSchema=nativeEnumType(UpdateProjectCve55182MigrationAppliedFrom),UpdateProjectApril2026SecurityIncidentMigrationAppliedFrom$inboundSchema=nativeEnumType(UpdateProjectApril2026SecurityIncidentMigrationAppliedFrom);objectType({deploymentType:UpdateProjectProjectsResponse200DeploymentType$inboundSchema,cve55182MigrationAppliedFrom:nullableType(UpdateProjectCve55182MigrationAppliedFrom$inboundSchema).optional(),april2026SecurityIncidentMigrationAppliedFrom:nullableType(UpdateProjectApril2026SecurityIncidentMigrationAppliedFrom$inboundSchema).optional()}),smartUnion([number(),boolean()]);const UpdateProjectProjectsAliasError$inboundSchema=objectType({code:string(),message:string()}),UpdateProjectProjectsResponseBranchMatcher$inboundSchema=objectType({type:nativeEnumType(UpdateProjectProjectsResponse200ApplicationJSONResponseBodyTargetsType),pattern:string()}),UpdateProjectProjectsBuilds$inboundSchema=objectType({use:string(),src:optional(string()),dest:optional(string())}),UpdateProjectProjectsChecksConclusion$inboundSchema=nativeEnumType(UpdateProjectProjectsChecksConclusion),UpdateProjectProjectsChecksState$inboundSchema=nativeEnumType(UpdateProjectProjectsChecksState),UpdateProjectProjectsCreator$inboundSchema=objectType({email:string(),githubLogin:optional(string()),gitlabLogin:optional(string()),uid:string(),username:string()}),UpdateProjectProjectsOidcTokenClaims$inboundSchema=objectType({iss:string(),sub:string(),scope:string(),aud:string(),owner:string(),owner_id:string(),project:string(),project_id:string(),environment:string(),custom_environment_id:optional(string()),plan:optional(string())}).transform(e=>remap(e,{owner_id:`ownerId`,project_id:`projectId`,custom_environment_id:`customEnvironmentId`})),UpdateProjectProjectsPlan$inboundSchema=nativeEnumType(UpdateProjectProjectsPlan),UpdateProjectProjectsReadyState$inboundSchema=nativeEnumType(UpdateProjectProjectsReadyState),UpdateProjectProjectsReadySubstate$inboundSchema=nativeEnumType(UpdateProjectProjectsReadySubstate),UpdateProjectProjectsResponse200Type$inboundSchema=nativeEnumType(UpdateProjectProjectsResponse200Type);objectType({id:string(),alias:optional(arrayType(string())),aliasAssigned:nullableType(smartUnion([number(),boolean()])).optional(),aliasError:nullableType(lazyType(()=>UpdateProjectProjectsAliasError$inboundSchema)).optional(),aliasFinal:nullableType(string()).optional(),automaticAliases:optional(arrayType(string())),branchMatcher:optional(lazyType(()=>UpdateProjectProjectsResponseBranchMatcher$inboundSchema)),buildingAt:optional(number()),builds:optional(arrayType(lazyType(()=>UpdateProjectProjectsBuilds$inboundSchema))),checksConclusion:optional(UpdateProjectProjectsChecksConclusion$inboundSchema),checksState:optional(UpdateProjectProjectsChecksState$inboundSchema),connectBuildsEnabled:optional(boolean()),connectConfigurationId:optional(string()),createdAt:number(),createdIn:string(),creator:nullable(lazyType(()=>UpdateProjectProjectsCreator$inboundSchema)),deletedAt:optional(number()),deploymentHostname:string(),forced:optional(boolean()),name:string(),meta:optional(recordType(string())),monorepoManager:nullableType(string()).optional(),oidcTokenClaims:optional(lazyType(()=>UpdateProjectProjectsOidcTokenClaims$inboundSchema)),plan:UpdateProjectProjectsPlan$inboundSchema,previewCommentsEnabled:optional(boolean()),private:boolean(),readyAt:optional(number()),readyState:UpdateProjectProjectsReadyState$inboundSchema,readySubstate:optional(UpdateProjectProjectsReadySubstate$inboundSchema),requestedAt:optional(number()),target:nullableType(string()).optional(),teamId:nullableType(string()).optional(),type:UpdateProjectProjectsResponse200Type$inboundSchema,url:string(),userId:string(),withCache:optional(boolean())}),objectType({oauth2Connection:optional(arrayType(ACLAction$inboundSchema)),user:optional(arrayType(ACLAction$inboundSchema)),userConnection:optional(arrayType(ACLAction$inboundSchema)),userMfaConfiguration:optional(arrayType(ACLAction$inboundSchema)),userPreference:optional(arrayType(ACLAction$inboundSchema)),userSudo:optional(arrayType(ACLAction$inboundSchema)),webAuthn:optional(arrayType(ACLAction$inboundSchema)),accessGroup:optional(arrayType(ACLAction$inboundSchema)),agent:optional(arrayType(ACLAction$inboundSchema)),aiGatewayApiKey:optional(arrayType(ACLAction$inboundSchema)),aiGatewayApiKeyOwnedBySelf:optional(arrayType(ACLAction$inboundSchema)),aiGatewayCredits:optional(arrayType(ACLAction$inboundSchema)),aiGatewayPrivateModels:optional(arrayType(ACLAction$inboundSchema)),aiGatewayRules:optional(arrayType(ACLAction$inboundSchema)),aiGatewaySettings:optional(arrayType(ACLAction$inboundSchema)),aiGatewayUsage:optional(arrayType(ACLAction$inboundSchema)),alerts:optional(arrayType(ACLAction$inboundSchema)),alertRules:optional(arrayType(ACLAction$inboundSchema)),aliasGlobal:optional(arrayType(ACLAction$inboundSchema)),analyticsSampling:optional(arrayType(ACLAction$inboundSchema)),analyticsUsage:optional(arrayType(ACLAction$inboundSchema)),apiKey:optional(arrayType(ACLAction$inboundSchema)),apiKeyAiGateway:optional(arrayType(ACLAction$inboundSchema)),apiKeyOwnedBySelf:optional(arrayType(ACLAction$inboundSchema)),oauth2Application:optional(arrayType(ACLAction$inboundSchema)),vercelAppInstallation:optional(arrayType(ACLAction$inboundSchema)),vercelAppInstallationRequest:optional(arrayType(ACLAction$inboundSchema)),auditLog:optional(arrayType(ACLAction$inboundSchema)),billingAddress:optional(arrayType(ACLAction$inboundSchema)),billingInformation:optional(arrayType(ACLAction$inboundSchema)),billingInvoice:optional(arrayType(ACLAction$inboundSchema)),billingInvoiceEmailRecipient:optional(arrayType(ACLAction$inboundSchema)),billingInvoiceLanguage:optional(arrayType(ACLAction$inboundSchema)),billingPlan:optional(arrayType(ACLAction$inboundSchema)),billingPurchaseOrder:optional(arrayType(ACLAction$inboundSchema)),billingRefund:optional(arrayType(ACLAction$inboundSchema)),billingTaxId:optional(arrayType(ACLAction$inboundSchema)),blob:optional(arrayType(ACLAction$inboundSchema)),blobStoreTokenSet:optional(arrayType(ACLAction$inboundSchema)),budget:optional(arrayType(ACLAction$inboundSchema)),cacheArtifact:optional(arrayType(ACLAction$inboundSchema)),cacheArtifactUsageEvent:optional(arrayType(ACLAction$inboundSchema)),codeChecks:optional(arrayType(ACLAction$inboundSchema)),codeOwners:optional(arrayType(ACLAction$inboundSchema)),ciInvocations:optional(arrayType(ACLAction$inboundSchema)),ciLogs:optional(arrayType(ACLAction$inboundSchema)),concurrentBuilds:optional(arrayType(ACLAction$inboundSchema)),connect:optional(arrayType(ACLAction$inboundSchema)),connectConfiguration:optional(arrayType(ACLAction$inboundSchema)),connexClient:optional(arrayType(ACLAction$inboundSchema)),connexClientProject:optional(arrayType(ACLAction$inboundSchema)),connexToken:optional(arrayType(ACLAction$inboundSchema)),buildMachineDefault:optional(arrayType(ACLAction$inboundSchema)),dataCacheBillingSettings:optional(arrayType(ACLAction$inboundSchema)),defaultDeploymentProtection:optional(arrayType(ACLAction$inboundSchema)),deploymentPolicy:optional(arrayType(ACLAction$inboundSchema)),domain:optional(arrayType(ACLAction$inboundSchema)),domainAcceptDelegation:optional(arrayType(ACLAction$inboundSchema)),domainAuthCodes:optional(arrayType(ACLAction$inboundSchema)),domainCertificate:optional(arrayType(ACLAction$inboundSchema)),domainCheckConfig:optional(arrayType(ACLAction$inboundSchema)),domainMove:optional(arrayType(ACLAction$inboundSchema)),domainPurchase:optional(arrayType(ACLAction$inboundSchema)),domainRecord:optional(arrayType(ACLAction$inboundSchema)),domainTransferIn:optional(arrayType(ACLAction$inboundSchema)),drain:optional(arrayType(ACLAction$inboundSchema)),edgeConfig:optional(arrayType(ACLAction$inboundSchema)),edgeConfigItem:optional(arrayType(ACLAction$inboundSchema)),edgeConfigSchema:optional(arrayType(ACLAction$inboundSchema)),edgeConfigToken:optional(arrayType(ACLAction$inboundSchema)),endpointVerification:optional(arrayType(ACLAction$inboundSchema)),event:optional(arrayType(ACLAction$inboundSchema)),fileUpload:optional(arrayType(ACLAction$inboundSchema)),flagsExplorerSubscription:optional(arrayType(ACLAction$inboundSchema)),gitRepository:optional(arrayType(ACLAction$inboundSchema)),imageOptimizationNewPrice:optional(arrayType(ACLAction$inboundSchema)),integration:optional(arrayType(ACLAction$inboundSchema)),integrationAccount:optional(arrayType(ACLAction$inboundSchema)),integrationConfiguration:optional(arrayType(ACLAction$inboundSchema)),integrationConfigurationProjects:optional(arrayType(ACLAction$inboundSchema)),integrationConfigurationRole:optional(arrayType(ACLAction$inboundSchema)),integrationConfigurationTransfer:optional(arrayType(ACLAction$inboundSchema)),integrationDeploymentAction:optional(arrayType(ACLAction$inboundSchema)),integrationEvent:optional(arrayType(ACLAction$inboundSchema)),integrationLog:optional(arrayType(ACLAction$inboundSchema)),integrationResource:optional(arrayType(ACLAction$inboundSchema)),integrationResourceData:optional(arrayType(ACLAction$inboundSchema)),integrationResourceReplCommand:optional(arrayType(ACLAction$inboundSchema)),integrationResourceSecrets:optional(arrayType(ACLAction$inboundSchema)),integrationSSOSession:optional(arrayType(ACLAction$inboundSchema)),integrationStrict:optional(arrayType(ACLAction$inboundSchema)),integrationStoreTokenSet:optional(arrayType(ACLAction$inboundSchema)),integrationVercelConfigurationOverride:optional(arrayType(ACLAction$inboundSchema)),integrationPullRequest:optional(arrayType(ACLAction$inboundSchema)),ipBlocking:optional(arrayType(ACLAction$inboundSchema)),jobGlobal:optional(arrayType(ACLAction$inboundSchema)),kmsIssuer:optional(arrayType(ACLAction$inboundSchema)),kmsProjectGrant:optional(arrayType(ACLAction$inboundSchema)),logDrain:optional(arrayType(ACLAction$inboundSchema)),marketplaceBillingData:optional(arrayType(ACLAction$inboundSchema)),marketplaceExperimentationEdgeConfigData:optional(arrayType(ACLAction$inboundSchema)),marketplaceExperimentationItem:optional(arrayType(ACLAction$inboundSchema)),marketplaceInstallationMember:optional(arrayType(ACLAction$inboundSchema)),marketplaceInvoice:optional(arrayType(ACLAction$inboundSchema)),marketplaceSettings:optional(arrayType(ACLAction$inboundSchema)),Monitoring:optional(arrayType(ACLAction$inboundSchema)),monitoringAlert:optional(arrayType(ACLAction$inboundSchema)),monitoringChart:optional(arrayType(ACLAction$inboundSchema)),monitoringQuery:optional(arrayType(ACLAction$inboundSchema)),monitoringSettings:optional(arrayType(ACLAction$inboundSchema)),notificationCustomerBudget:optional(arrayType(ACLAction$inboundSchema)),notificationDeploymentFailed:optional(arrayType(ACLAction$inboundSchema)),notificationDomainConfiguration:optional(arrayType(ACLAction$inboundSchema)),notificationDomainExpire:optional(arrayType(ACLAction$inboundSchema)),notificationDomainMoved:optional(arrayType(ACLAction$inboundSchema)),notificationDomainPurchase:optional(arrayType(ACLAction$inboundSchema)),notificationDomainRenewal:optional(arrayType(ACLAction$inboundSchema)),notificationDomainTransfer:optional(arrayType(ACLAction$inboundSchema)),notificationDomainUnverified:optional(arrayType(ACLAction$inboundSchema)),NotificationMonitoringAlert:optional(arrayType(ACLAction$inboundSchema)),notificationPaymentFailed:optional(arrayType(ACLAction$inboundSchema)),notificationPreferences:optional(arrayType(ACLAction$inboundSchema)),notificationStatementOfReasons:optional(arrayType(ACLAction$inboundSchema)),notificationUsageAlert:optional(arrayType(ACLAction$inboundSchema)),oidcFederationPolicy:optional(arrayType(ACLAction$inboundSchema)),observabilityConfiguration:optional(arrayType(ACLAction$inboundSchema)),observabilityFunnel:optional(arrayType(ACLAction$inboundSchema)),observabilityNotebook:optional(arrayType(ACLAction$inboundSchema)),openTelemetryEndpoint:optional(arrayType(ACLAction$inboundSchema)),ownEvent:optional(arrayType(ACLAction$inboundSchema)),organization:optional(arrayType(ACLAction$inboundSchema)),organizationDomain:optional(arrayType(ACLAction$inboundSchema)),organizationTeam:optional(arrayType(ACLAction$inboundSchema)),passwordProtectionInvoiceItem:optional(arrayType(ACLAction$inboundSchema)),paymentMethod:optional(arrayType(ACLAction$inboundSchema)),permissions:optional(arrayType(ACLAction$inboundSchema)),postgres:optional(arrayType(ACLAction$inboundSchema)),postgresStoreTokenSet:optional(arrayType(ACLAction$inboundSchema)),previewDeploymentSuffix:optional(arrayType(ACLAction$inboundSchema)),privateCloudAccount:optional(arrayType(ACLAction$inboundSchema)),projectTransferIn:optional(arrayType(ACLAction$inboundSchema)),proTrialOnboarding:optional(arrayType(ACLAction$inboundSchema)),rateLimit:optional(arrayType(ACLAction$inboundSchema)),redis:optional(arrayType(ACLAction$inboundSchema)),redisStoreTokenSet:optional(arrayType(ACLAction$inboundSchema)),remoteCaching:optional(arrayType(ACLAction$inboundSchema)),repository:optional(arrayType(ACLAction$inboundSchema)),samlConfig:optional(arrayType(ACLAction$inboundSchema)),secret:optional(arrayType(ACLAction$inboundSchema)),securityConfig:optional(arrayType(ACLAction$inboundSchema)),sensitiveEnvironmentVariablePolicy:optional(arrayType(ACLAction$inboundSchema)),sharedEnvVars:optional(arrayType(ACLAction$inboundSchema)),sharedEnvVarsProduction:optional(arrayType(ACLAction$inboundSchema)),space:optional(arrayType(ACLAction$inboundSchema)),spaceRun:optional(arrayType(ACLAction$inboundSchema)),storeIsLocked:optional(arrayType(ACLAction$inboundSchema)),storeTokenSetSensitive:optional(arrayType(ACLAction$inboundSchema)),storeTransfer:optional(arrayType(ACLAction$inboundSchema)),supportCase:optional(arrayType(ACLAction$inboundSchema)),supportCaseComment:optional(arrayType(ACLAction$inboundSchema)),team:optional(arrayType(ACLAction$inboundSchema)),teamAccessRequest:optional(arrayType(ACLAction$inboundSchema)),teamFellowMembership:optional(arrayType(ACLAction$inboundSchema)),teamGitExclusivity:optional(arrayType(ACLAction$inboundSchema)),teamInvite:optional(arrayType(ACLAction$inboundSchema)),teamInviteCode:optional(arrayType(ACLAction$inboundSchema)),teamInviteLink:optional(arrayType(ACLAction$inboundSchema)),teamJoin:optional(arrayType(ACLAction$inboundSchema)),teamMemberMfaStatus:optional(arrayType(ACLAction$inboundSchema)),teamMicrofrontends:optional(arrayType(ACLAction$inboundSchema)),teamOwnMembership:optional(arrayType(ACLAction$inboundSchema)),teamOwnMembershipDisconnectSAML:optional(arrayType(ACLAction$inboundSchema)),teamSudo:optional(arrayType(ACLAction$inboundSchema)),teamTokenInvalidation:optional(arrayType(ACLAction$inboundSchema)),token:optional(arrayType(ACLAction$inboundSchema)),toolbarComment:optional(arrayType(ACLAction$inboundSchema)),usage:optional(arrayType(ACLAction$inboundSchema)),usageCycle:optional(arrayType(ACLAction$inboundSchema)),vcrRepository:optional(arrayType(ACLAction$inboundSchema)),vercelRun:optional(arrayType(ACLAction$inboundSchema)),vpcPeeringConnection:optional(arrayType(ACLAction$inboundSchema)),webAnalyticsPlan:optional(arrayType(ACLAction$inboundSchema)),webhook:optional(arrayType(ACLAction$inboundSchema)),"webhook-event":optional(arrayType(ACLAction$inboundSchema)),aliasProject:optional(arrayType(ACLAction$inboundSchema)),aliasProtectionBypass:optional(arrayType(ACLAction$inboundSchema)),bulkRedirects:optional(arrayType(ACLAction$inboundSchema)),buildMachine:optional(arrayType(ACLAction$inboundSchema)),connectConfigurationLink:optional(arrayType(ACLAction$inboundSchema)),dataCacheNamespace:optional(arrayType(ACLAction$inboundSchema)),deployment:optional(arrayType(ACLAction$inboundSchema)),deploymentBuildLogs:optional(arrayType(ACLAction$inboundSchema)),deploymentCheck:optional(arrayType(ACLAction$inboundSchema)),deploymentCheckPreview:optional(arrayType(ACLAction$inboundSchema)),deploymentCheckReRunFromProductionBranch:optional(arrayType(ACLAction$inboundSchema)),deploymentProductionGit:optional(arrayType(ACLAction$inboundSchema)),deploymentV0:optional(arrayType(ACLAction$inboundSchema)),deploymentPreview:optional(arrayType(ACLAction$inboundSchema)),deploymentPrivate:optional(arrayType(ACLAction$inboundSchema)),deploymentPromote:optional(arrayType(ACLAction$inboundSchema)),deploymentRollback:optional(arrayType(ACLAction$inboundSchema)),edgeCacheNamespace:optional(arrayType(ACLAction$inboundSchema)),environments:optional(arrayType(ACLAction$inboundSchema)),job:optional(arrayType(ACLAction$inboundSchema)),logs:optional(arrayType(ACLAction$inboundSchema)),logsPreset:optional(arrayType(ACLAction$inboundSchema)),observabilityData:optional(arrayType(ACLAction$inboundSchema)),onDemandBuild:optional(arrayType(ACLAction$inboundSchema)),onDemandConcurrency:optional(arrayType(ACLAction$inboundSchema)),optionsAllowlist:optional(arrayType(ACLAction$inboundSchema)),passwordProtection:optional(arrayType(ACLAction$inboundSchema)),privateLinkEndpoint:optional(arrayType(ACLAction$inboundSchema)),productionAliasProtectionBypass:optional(arrayType(ACLAction$inboundSchema)),project:optional(arrayType(ACLAction$inboundSchema)),projectAccessGroup:optional(arrayType(ACLAction$inboundSchema)),projectAnalyticsSampling:optional(arrayType(ACLAction$inboundSchema)),projectAnalyticsUsage:optional(arrayType(ACLAction$inboundSchema)),projectCheck:optional(arrayType(ACLAction$inboundSchema)),projectCheckRun:optional(arrayType(ACLAction$inboundSchema)),projectDeploymentExpiration:optional(arrayType(ACLAction$inboundSchema)),projectDeploymentHook:optional(arrayType(ACLAction$inboundSchema)),projectDeploymentProtectionStrict:optional(arrayType(ACLAction$inboundSchema)),projectDomain:optional(arrayType(ACLAction$inboundSchema)),projectDomainCheckConfig:optional(arrayType(ACLAction$inboundSchema)),projectDomainMove:optional(arrayType(ACLAction$inboundSchema)),projectEvent:optional(arrayType(ACLAction$inboundSchema)),projectEnvVars:optional(arrayType(ACLAction$inboundSchema)),projectEnvVarsProduction:optional(arrayType(ACLAction$inboundSchema)),projectEnvVarsUnownedByIntegration:optional(arrayType(ACLAction$inboundSchema)),projectFlags:optional(arrayType(ACLAction$inboundSchema)),projectFlagsProduction:optional(arrayType(ACLAction$inboundSchema)),projectFlagsSdkKey:optional(arrayType(ACLAction$inboundSchema)),projectFromV0:optional(arrayType(ACLAction$inboundSchema)),projectId:optional(arrayType(ACLAction$inboundSchema)),projectIntegrationConfiguration:optional(arrayType(ACLAction$inboundSchema)),projectLink:optional(arrayType(ACLAction$inboundSchema)),projectMember:optional(arrayType(ACLAction$inboundSchema)),projectMonitoring:optional(arrayType(ACLAction$inboundSchema)),projectOIDCToken:optional(arrayType(ACLAction$inboundSchema)),projectPermissions:optional(arrayType(ACLAction$inboundSchema)),projectProductionBranch:optional(arrayType(ACLAction$inboundSchema)),projectProtectionBypass:optional(arrayType(ACLAction$inboundSchema)),projectRollingRelease:optional(arrayType(ACLAction$inboundSchema)),projectRoutes:optional(arrayType(ACLAction$inboundSchema)),projectSupportCase:optional(arrayType(ACLAction$inboundSchema)),projectSupportCaseComment:optional(arrayType(ACLAction$inboundSchema)),projectTier:optional(arrayType(ACLAction$inboundSchema)),projectTransfer:optional(arrayType(ACLAction$inboundSchema)),projectTransferOut:optional(arrayType(ACLAction$inboundSchema)),projectUsage:optional(arrayType(ACLAction$inboundSchema)),pageIntegrity:optional(arrayType(ACLAction$inboundSchema)),seawallConfig:optional(arrayType(ACLAction$inboundSchema)),securityPlusConfiguration:optional(arrayType(ACLAction$inboundSchema)),shareableLinkStrict:optional(arrayType(ACLAction$inboundSchema)),sharedEnvVarConnection:optional(arrayType(ACLAction$inboundSchema)),skewProtection:optional(arrayType(ACLAction$inboundSchema)),analytics:optional(arrayType(ACLAction$inboundSchema)),trustedIps:optional(arrayType(ACLAction$inboundSchema)),trustedSources:optional(arrayType(ACLAction$inboundSchema)),v0Chat:optional(arrayType(ACLAction$inboundSchema)),webAnalytics:optional(arrayType(ACLAction$inboundSchema))}).transform(e=>remap(e,{Monitoring:`monitoring`,NotificationMonitoringAlert:`notificationMonitoringAlert`,"webhook-event":`webhookEvent`,projectFlagsSdkKey:`projectFlagsSDKKey`})),objectType({});const UpdateProjectJobStatus$inboundSchema=nativeEnumType(UpdateProjectJobStatus),UpdateProjectProjectsResponse200ApplicationJSONType$inboundSchema=nativeEnumType(UpdateProjectProjectsResponse200ApplicationJSONType);objectType({fromDeploymentId:nullable(string()),toDeploymentId:string(),fromRollingReleaseId:optional(string()),jobStatus:UpdateProjectJobStatus$inboundSchema,requestedAt:number(),type:UpdateProjectProjectsResponse200ApplicationJSONType$inboundSchema});const UpdateProjectProtectionBypass2$inboundSchema=objectType({createdAt:number(),createdBy:string(),scope:literal(`automation-bypass`),isEnvVar:optional(boolean()),note:optional(string())}),UpdateProjectProtectionBypass1$inboundSchema=objectType({createdAt:number(),createdBy:string(),scope:literal(`integration-automation-bypass`),integrationId:string(),configurationId:string()});unionType([lazyType(()=>UpdateProjectProtectionBypass1$inboundSchema),lazyType(()=>UpdateProjectProtectionBypass2$inboundSchema)]);const UpdateProjectTrustedIps2$inboundSchema=objectType({deploymentType:nativeEnumType(UpdateProjectTrustedIpsProjectsDeploymentType)}),UpdateProjectTrustedIpsDeploymentType$inboundSchema=nativeEnumType(UpdateProjectTrustedIpsDeploymentType),UpdateProjectTrustedIpsAddresses$inboundSchema=objectType({value:string(),note:optional(string())}),UpdateProjectTrustedIpsProtectionMode$inboundSchema=nativeEnumType(UpdateProjectTrustedIpsProtectionMode),UpdateProjectTrustedIps1$inboundSchema=objectType({deploymentType:UpdateProjectTrustedIpsDeploymentType$inboundSchema,addresses:arrayType(lazyType(()=>UpdateProjectTrustedIpsAddresses$inboundSchema)),protectionMode:UpdateProjectTrustedIpsProtectionMode$inboundSchema});smartUnion([lazyType(()=>UpdateProjectTrustedIps1$inboundSchema),lazyType(()=>UpdateProjectTrustedIps2$inboundSchema)]);const UpdateProjectFromProjectsResponsePreset$inboundSchema=nativeEnumType(UpdateProjectFromProjectsResponsePreset),UpdateProjectFrom2$inboundSchema=objectType({slugs:optional(arrayType(string())),preset:UpdateProjectFromProjectsResponsePreset$inboundSchema}),UpdateProjectFromProjectsPreset$inboundSchema=nativeEnumType(UpdateProjectFromProjectsPreset),UpdateProjectFrom1$inboundSchema=objectType({slugs:arrayType(string()),preset:optional(UpdateProjectFromProjectsPreset$inboundSchema)});smartUnion([lazyType(()=>UpdateProjectFrom1$inboundSchema),lazyType(()=>UpdateProjectFrom2$inboundSchema)]);const UpdateProjectToProjectsResponse200ApplicationJSONResponseBodyPreset$inboundSchema=nativeEnumType(UpdateProjectToProjectsResponse200ApplicationJSONResponseBodyPreset),UpdateProjectToProjectsResponse2$inboundSchema=objectType({slugs:optional(arrayType(string())),preset:UpdateProjectToProjectsResponse200ApplicationJSONResponseBodyPreset$inboundSchema}),UpdateProjectToProjectsResponse200ApplicationJSONPreset$inboundSchema=nativeEnumType(UpdateProjectToProjectsResponse200ApplicationJSONPreset),UpdateProjectToProjectsResponse1$inboundSchema=objectType({slugs:arrayType(string()),preset:optional(UpdateProjectToProjectsResponse200ApplicationJSONPreset$inboundSchema)});smartUnion([lazyType(()=>UpdateProjectToProjectsResponse1$inboundSchema),lazyType(()=>UpdateProjectToProjectsResponse2$inboundSchema)]);const UpdateProjectCustomAllow$inboundSchema=objectType({from:smartUnion([lazyType(()=>UpdateProjectFrom1$inboundSchema),lazyType(()=>UpdateProjectFrom2$inboundSchema)]),to:smartUnion([lazyType(()=>UpdateProjectToProjectsResponse1$inboundSchema),lazyType(()=>UpdateProjectToProjectsResponse2$inboundSchema)])}),UpdateProjectProjectsProjects$inboundSchema=objectType({label:optional(string()),customAllow:optional(arrayType(lazyType(()=>UpdateProjectCustomAllow$inboundSchema)))}),UpdateProjectToProjectsResponse200Preset$inboundSchema=nativeEnumType(UpdateProjectToProjectsResponse200Preset),UpdateProjectToProjects2$inboundSchema=objectType({slugs:optional(arrayType(string())),preset:UpdateProjectToProjectsResponse200Preset$inboundSchema}),UpdateProjectToProjectsResponsePreset$inboundSchema=nativeEnumType(UpdateProjectToProjectsResponsePreset),UpdateProjectToProjects1$inboundSchema=objectType({slugs:arrayType(string()),preset:optional(UpdateProjectToProjectsResponsePreset$inboundSchema)});smartUnion([lazyType(()=>UpdateProjectToProjects1$inboundSchema),lazyType(()=>UpdateProjectToProjects2$inboundSchema)]);const UpdateProjectOidcProviders$inboundSchema=objectType({to:smartUnion([lazyType(()=>UpdateProjectToProjects1$inboundSchema),lazyType(()=>UpdateProjectToProjects2$inboundSchema)]),label:optional(string()),claims:recordType(arrayType(string()))}),UpdateProjectTrustedSources$inboundSchema=objectType({projects:optional(recordType(lazyType(()=>UpdateProjectProjectsProjects$inboundSchema))),oidcProviders:optional(recordType(arrayType(lazyType(()=>UpdateProjectOidcProviders$inboundSchema))))});function updateProjectTrustedSourcesFromJSON(e){return safeParse(e,e=>UpdateProjectTrustedSources$inboundSchema.parse(JSON.parse(e)),`Failed to parse 'UpdateProjectTrustedSources' from JSON`)}objectType({onPullRequest:boolean(),onCommit:boolean()});const UpdateProjectCreateDeployments$inboundSchema=nativeEnumType(UpdateProjectCreateDeployments),UpdateProjectConsolidatedGitCommitStatus$inboundSchema=objectType({enabled:boolean(),propagateFailures:boolean()});objectType({createDeployments:UpdateProjectCreateDeployments$inboundSchema,disableRepositoryDispatchEvents:optional(boolean()),requireVerifiedCommits:optional(boolean()),gitCommitStatus:optional(boolean()),consolidatedGitCommitStatus:optional(lazyType(()=>UpdateProjectConsolidatedGitCommitStatus$inboundSchema))}),objectType({id:string(),disabledAt:optional(number()),canceledAt:optional(number()),enabledAt:optional(number()),hasData:optional(literal(!0))});const UpdateProjectProjectsResponse200ApplicationJSONResponseBodySecurityAction$inboundSchema=nativeEnumType(UpdateProjectProjectsResponse200ApplicationJSONResponseBodySecurityAction),UpdateProjectVercelRuleset$inboundSchema=objectType({active:boolean(),action:optional(UpdateProjectProjectsResponse200ApplicationJSONResponseBodySecurityAction$inboundSchema)}),UpdateProjectProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction$inboundSchema=nativeEnumType(UpdateProjectProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction),UpdateProjectTrafficSources$inboundSchema=objectType({active:boolean(),action:optional(UpdateProjectProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction$inboundSchema)}),UpdateProjectProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesBotFilterAction$inboundSchema=nativeEnumType(UpdateProjectProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesBotFilterAction),UpdateProjectBotFilter$inboundSchema=objectType({active:boolean(),action:optional(UpdateProjectProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesBotFilterAction$inboundSchema)}),UpdateProjectProjectsResponse200ApplicationJSONAction$inboundSchema=nativeEnumType(UpdateProjectProjectsResponse200ApplicationJSONAction),UpdateProjectAiBots$inboundSchema=objectType({active:boolean(),action:optional(UpdateProjectProjectsResponse200ApplicationJSONAction$inboundSchema)}),UpdateProjectProjectsResponse200ApplicationJSONResponseBodyAction$inboundSchema=nativeEnumType(UpdateProjectProjectsResponse200ApplicationJSONResponseBodyAction),UpdateProjectOwasp$inboundSchema=objectType({active:boolean(),action:optional(UpdateProjectProjectsResponse200ApplicationJSONResponseBodyAction$inboundSchema)}),UpdateProjectManagedRules$inboundSchema=objectType({vercel_ruleset:lazyType(()=>UpdateProjectVercelRuleset$inboundSchema),traffic_sources:lazyType(()=>UpdateProjectTrafficSources$inboundSchema),bot_filter:lazyType(()=>UpdateProjectBotFilter$inboundSchema),ai_bots:lazyType(()=>UpdateProjectAiBots$inboundSchema),owasp:lazyType(()=>UpdateProjectOwasp$inboundSchema)}).transform(e=>remap(e,{vercel_ruleset:`vercelRuleset`,traffic_sources:`trafficSources`,bot_filter:`botFilter`,ai_bots:`aiBots`})),UpdateProjectLogHeaders2$inboundSchema=nativeEnumType(UpdateProjectLogHeaders2);smartUnion([arrayType(string()),UpdateProjectLogHeaders2$inboundSchema]);const UpdateProjectSecurityPlusMetadata$inboundSchema=objectType({updatedAt:number(),firstEnabledAt:optional(number())});objectType({attackModeEnabled:optional(boolean()),attackModeUpdatedAt:optional(number()),firewallEnabled:optional(boolean()),firewallUpdatedAt:optional(number()),attackModeActiveUntil:nullableType(number()).optional(),firewallConfigVersion:optional(number()),firewallSeawallEnabled:optional(boolean()),ja3Enabled:optional(boolean()),ja4Enabled:optional(boolean()),firewallBypassIps:optional(arrayType(string())),managedRules:nullableType(lazyType(()=>UpdateProjectManagedRules$inboundSchema)).optional(),botIdEnabled:optional(boolean()),log_headers:optional(smartUnion([arrayType(string()),UpdateProjectLogHeaders2$inboundSchema])),securityPlus:optional(boolean()),securityPlusMetadata:optional(lazyType(()=>UpdateProjectSecurityPlusMetadata$inboundSchema)),pageIntegrityEnabled:optional(boolean())}).transform(e=>remap(e,{log_headers:`logHeaders`}));const UpdateProjectProjectsIssuerMode$inboundSchema=nativeEnumType(UpdateProjectProjectsIssuerMode);objectType({enabled:optional(boolean()),issuerMode:optional(UpdateProjectProjectsIssuerMode$inboundSchema)});const UpdateProjectSourcesProjects2$inboundSchema=objectType({provider:literal(`gitlab`),namespace:string(),project:optional(string())}),UpdateProjectSourcesProjects1$inboundSchema=objectType({provider:nativeEnumType(UpdateProjectSourcesProjectsResponse200Provider),org:string(),repo:optional(string())});unionType([lazyType(()=>UpdateProjectSourcesProjects1$inboundSchema).and(objectType({provider:literalType(`bitbucket`)})),lazyType(()=>UpdateProjectSourcesProjects1$inboundSchema).and(objectType({provider:literalType(`github`)})),lazyType(()=>UpdateProjectSourcesProjects2$inboundSchema)]);const UpdateProjectEnvironmentsProjectsResponse2002$inboundSchema=objectType({type:literal(`custom`),environmentId:string()}),UpdateProjectEnvironmentsProjectsResponse200Target$inboundSchema=nativeEnumType(UpdateProjectEnvironmentsProjectsResponse200Target),UpdateProjectEnvironmentsProjectsResponse2001$inboundSchema=objectType({type:literal(`system`),target:UpdateProjectEnvironmentsProjectsResponse200Target$inboundSchema});unionType([lazyType(()=>UpdateProjectEnvironmentsProjectsResponse2001$inboundSchema),lazyType(()=>UpdateProjectEnvironmentsProjectsResponse2002$inboundSchema)]);const UpdateProjectGitSources$inboundSchema=objectType({sources:arrayType(unionType([lazyType(()=>UpdateProjectSourcesProjects1$inboundSchema).and(objectType({provider:literalType(`bitbucket`)})),lazyType(()=>UpdateProjectSourcesProjects1$inboundSchema).and(objectType({provider:literalType(`github`)})),lazyType(()=>UpdateProjectSourcesProjects2$inboundSchema)])),enabled:boolean(),environments:arrayType(unionType([lazyType(()=>UpdateProjectEnvironmentsProjectsResponse2001$inboundSchema),lazyType(()=>UpdateProjectEnvironmentsProjectsResponse2002$inboundSchema)]))}),UpdateProjectProjectsSources$inboundSchema=nativeEnumType(UpdateProjectProjectsSources),UpdateProjectEnvironmentsProjectsResponse2$inboundSchema=objectType({type:literal(`custom`),environmentId:string()}),UpdateProjectEnvironmentsProjectsResponseTarget$inboundSchema=nativeEnumType(UpdateProjectEnvironmentsProjectsResponseTarget),UpdateProjectEnvironmentsProjectsResponse1$inboundSchema=objectType({type:literal(`system`),target:UpdateProjectEnvironmentsProjectsResponseTarget$inboundSchema});unionType([lazyType(()=>UpdateProjectEnvironmentsProjectsResponse1$inboundSchema),lazyType(()=>UpdateProjectEnvironmentsProjectsResponse2$inboundSchema)]);const UpdateProjectDeploymentSources$inboundSchema=objectType({sources:arrayType(UpdateProjectProjectsSources$inboundSchema),enabled:boolean(),environments:arrayType(unionType([lazyType(()=>UpdateProjectEnvironmentsProjectsResponse1$inboundSchema),lazyType(()=>UpdateProjectEnvironmentsProjectsResponse2$inboundSchema)]))});objectType({gitSources:nullableType(arrayType(lazyType(()=>UpdateProjectGitSources$inboundSchema))).optional(),deploymentSources:nullableType(arrayType(lazyType(()=>UpdateProjectDeploymentSources$inboundSchema))).optional()}),nativeEnumType(UpdateProjectFlatRateTier),objectType({kind:nativeEnumType(UpdateProjectKind),exceededAllowanceUntil:optional(number()),bypassThrottleUntil:optional(number()),throttled:optional(boolean())}),objectType({webAnalytics:optional(boolean())}),objectType({scanner:string(),reason:string(),by:string(),byId:string(),at:number()}),objectType({action:nativeEnumType(UpdateProjectProjectsResponse200Action),reason:string(),statusCode:number(),createdAt:number(),caseId:optional(string()),actor:optional(string()),comment:optional(string()),ineligibleForAppeal:optional(boolean()),isCascading:optional(boolean())});export{updateProjectTrustedSourcesFromJSON};
@@ -0,0 +1 @@
1
+ import{anyType,arrayType,booleanType,lazyType,literalType,nativeEnumType,nullableType,numberType,objectType,recordType,stringType,unionType}from"../../../../../../zod@4.4.3/node_modules/zod/v3/types.js";import"../../../../../../zod@4.4.3/node_modules/zod/v3/index.js";import{remap}from"../lib/primitives.js";import"../lib/schemas.js";import{boolean,literal,nullable,number,optional,string}from"../types/primitives.js";import{smartUnion}from"../types/smartUnion.js";const UpdateProjectFramework={Container:`container`,Blitzjs:`blitzjs`,Nextjs:`nextjs`,Gatsby:`gatsby`,Remix:`remix`,ReactRouter:`react-router`,Astro:`astro`,Hexo:`hexo`,Eleventy:`eleventy`,Docusaurus2:`docusaurus-2`,Docusaurus:`docusaurus`,Preact:`preact`,Solidstart1:`solidstart-1`,Solidstart:`solidstart`,Dojo:`dojo`,Ember:`ember`,Vue:`vue`,Scully:`scully`,IonicAngular:`ionic-angular`,Angular:`angular`,Polymer:`polymer`,Svelte:`svelte`,Sveltekit:`sveltekit`,Sveltekit1:`sveltekit-1`,IonicReact:`ionic-react`,CreateReactApp:`create-react-app`,Gridsome:`gridsome`,Umijs:`umijs`,Sapper:`sapper`,Saber:`saber`,Stencil:`stencil`,Nuxtjs:`nuxtjs`,Redwoodjs:`redwoodjs`,Hugo:`hugo`,Jekyll:`jekyll`,Brunch:`brunch`,Middleman:`middleman`,Zola:`zola`,Hydrogen:`hydrogen`,Vite:`vite`,TanstackStart:`tanstack-start`,Vitepress:`vitepress`,Vuepress:`vuepress`,Parcel:`parcel`,Fastapi:`fastapi`,Flask:`flask`,Fasthtml:`fasthtml`,Django:`django`,Ash:`ash`,Eve:`eve`,Sanity:`sanity`,SanityV2:`sanity-v2`,Storybook:`storybook`,Nitro:`nitro`,Hono:`hono`,Express:`express`,H3:`h3`,Koa:`koa`,Nestjs:`nestjs`,Elysia:`elysia`,Fastify:`fastify`,Xmcp:`xmcp`,Python:`python`,Ruby:`ruby`,Rust:`rust`,Axum:`axum`,ActixWeb:`actix-web`,Bun:`bun`,Node:`node`,Go:`go`,Services:`services`,Mastra:`mastra`},UpdateProjectNodeVersion={TwentyFourDotX:`24.x`,TwentyTwoDotX:`22.x`,TwentyDotX:`20.x`,EighteenDotX:`18.x`,SixteenDotX:`16.x`,FourteenDotX:`14.x`,TwelveDotX:`12.x`,TenDotX:`10.x`},UpdateProjectBuildMachineType={Enhanced:`enhanced`,Turbo:`turbo`,Standard:`standard`,Elastic:`elastic`},UpdateProjectConfiguration={SkipNamespaceQueue:`SKIP_NAMESPACE_QUEUE`,WaitForNamespaceQueue:`WAIT_FOR_NAMESPACE_QUEUE`},UpdateProjectFunctionDefaultMemoryType={StandardLegacy:`standard_legacy`,Standard:`standard`,Performance:`performance`,PerformanceXl:`performance_xl`},UpdateProjectBuildMachineSelection={Elastic:`elastic`,Fixed:`fixed`},UpdateProjectBuildMachineElasticReason={OomFailure:`oom-failure`,EnospcFailure:`enospc-failure`,BuildTimeoutFailure:`build-timeout-failure`,HighPeakMemory:`high-peak-memory`,SustainedHighCpu:`sustained-high-cpu`,HighPeakDisk:`high-peak-disk`,LongBuildDuration:`long-build-duration`,ShortBuildDuration:`short-build-duration`,EnterpriseFloor:`enterprise-floor`},UpdateProjectEnv={Production:`production`,Preview:`preview`},Destination={Internal:`internal`,External:`external`},UpdateProjectIssuerMode={Team:`team`,Global:`global`},UpdateProjectDeploymentType={All:`all`,Preview:`preview`,ProdDeploymentUrlsAndAllPreviews:`prod_deployment_urls_and_all_previews`,AllExceptCustomDomains:`all_except_custom_domains`},UpdateProjectProjectsDeploymentType={All:`all`,Preview:`preview`,ProdDeploymentUrlsAndAllPreviews:`prod_deployment_urls_and_all_previews`,AllExceptCustomDomains:`all_except_custom_domains`},UpdateProjectProjectsRequestDeploymentType={All:`all`,Preview:`preview`,ProdDeploymentUrlsAndAllPreviews:`prod_deployment_urls_and_all_previews`,AllExceptCustomDomains:`all_except_custom_domains`},UpdateProjectProjectsRequestRequestBodyDeploymentType={All:`all`,Preview:`preview`,Production:`production`,ProdDeploymentUrlsAndAllPreviews:`prod_deployment_urls_and_all_previews`,AllExceptCustomDomains:`all_except_custom_domains`},ProtectionMode={Exclusive:`exclusive`,Additional:`additional`},ToPreset={AllCustom:`all-custom`},Preset={AllCustom:`all-custom`},UpdateProjectFromPreset={AllCustom:`all-custom`},FromPreset={AllCustom:`all-custom`},UpdateProjectToProjectsPreset={AllCustom:`all-custom`},UpdateProjectToPreset={AllCustom:`all-custom`},UpdateProjectEnvironmentsProjectsTarget={Production:`production`,Preview:`preview`},UpdateProjectSourcesProjectsProvider={Github:`github`,Bitbucket:`bitbucket`},UpdateProjectEnvironmentsTarget={Production:`production`,Preview:`preview`},DeploymentSourcesSources={Git:`git`,Cli:`cli`,RestApi:`rest-api`,DeployHook:`deploy-hook`,Integration:`integration`,V0:`v0`},UpdateProjectAction={Cancel:`cancel`,Accept:`accept`,Delete:`delete`},UpdateProjectConfiguredBy={A:`A`,Cname:`CNAME`,Dns01:`dns-01`,Http:`http`},UpdateProjectProjectsResponse200ApplicationJSONResponseBodyAliasDeploymentType={EndsWith:`endsWith`,Equals:`equals`,StartsWith:`startsWith`},UpdateProjectProjectsResponseChecksConclusion={Canceled:`canceled`,Failed:`failed`,Skipped:`skipped`,Succeeded:`succeeded`},UpdateProjectProjectsResponseChecksState={Completed:`completed`,Registered:`registered`,Running:`running`},UpdateProjectProjectsResponsePlan={Enterprise:`enterprise`,Hobby:`hobby`,Pro:`pro`},UpdateProjectProjectsResponseReadyState={Blocked:`BLOCKED`,Building:`BUILDING`,Canceled:`CANCELED`,Error:`ERROR`,Initializing:`INITIALIZING`,Queued:`QUEUED`,Ready:`READY`},UpdateProjectProjectsResponseReadySubstate={Promoted:`PROMOTED`,Rolling:`ROLLING`,Staged:`STAGED`},UpdateProjectProjectsResponse200ApplicationJSONResponseBodyAliasType={Lambdas:`LAMBDAS`},UpdateProjectEnvironment={Preview:`preview`,Production:`production`},UpdateProjectTarget={Preview:`PREVIEW`,Production:`PRODUCTION`,Staging:`STAGING`},UpdateProjectEnvId2={Preview:`preview`,Production:`production`},UpdateProjectSource={Api:`api`},UpdateProjectTarget2={Production:`production`,Preview:`preview`,Development:`development`},UpdateProjectType={Encrypted:`encrypted`,Plain:`plain`,Secret:`secret`,Sensitive:`sensitive`,System:`system`},UpdateProjectProjectsResponse200ApplicationJSONResponseBodyEnvType={FlagsSecret:`flags-secret`},UpdateProjectProjectsType={Development:`development`,Preview:`preview`,Production:`production`},UpdateProjectProjectsResponse200ApplicationJSONResponseBodyCustomEnvironmentsType={EndsWith:`endsWith`,Equals:`equals`,StartsWith:`startsWith`},UpdateProjectProjectsFramework={ActixWeb:`actix-web`,Angular:`angular`,Ash:`ash`,Astro:`astro`,Axum:`axum`,Blitzjs:`blitzjs`,Brunch:`brunch`,Bun:`bun`,Container:`container`,CreateReactApp:`create-react-app`,Django:`django`,Docusaurus:`docusaurus`,Docusaurus2:`docusaurus-2`,Dojo:`dojo`,Eleventy:`eleventy`,Elysia:`elysia`,Ember:`ember`,Eve:`eve`,Express:`express`,Fastapi:`fastapi`,Fasthtml:`fasthtml`,Fastify:`fastify`,Flask:`flask`,Gatsby:`gatsby`,Go:`go`,Gridsome:`gridsome`,H3:`h3`,Hexo:`hexo`,Hono:`hono`,Hugo:`hugo`,Hydrogen:`hydrogen`,IonicAngular:`ionic-angular`,IonicReact:`ionic-react`,Jekyll:`jekyll`,Koa:`koa`,Mastra:`mastra`,Middleman:`middleman`,Nestjs:`nestjs`,Nextjs:`nextjs`,Nitro:`nitro`,Node:`node`,Nuxtjs:`nuxtjs`,Parcel:`parcel`,Polymer:`polymer`,Preact:`preact`,Python:`python`,ReactRouter:`react-router`,Redwoodjs:`redwoodjs`,Remix:`remix`,Ruby:`ruby`,Rust:`rust`,Saber:`saber`,Sanity:`sanity`,SanityV2:`sanity-v2`,Sapper:`sapper`,Scully:`scully`,Services:`services`,Solidstart:`solidstart`,Solidstart1:`solidstart-1`,Stencil:`stencil`,Storybook:`storybook`,Svelte:`svelte`,Sveltekit:`sveltekit`,Sveltekit1:`sveltekit-1`,TanstackStart:`tanstack-start`,Umijs:`umijs`,Vite:`vite`,Vitepress:`vitepress`,Vue:`vue`,Vuepress:`vuepress`,Xmcp:`xmcp`,Zola:`zola`},UpdateProjectServiceType={Cron:`cron`,Job:`job`,Web:`web`,Worker:`worker`},UpdateProjectProjectsResponseFramework={ActixWeb:`actix-web`,Angular:`angular`,Ash:`ash`,Astro:`astro`,Axum:`axum`,Blitzjs:`blitzjs`,Brunch:`brunch`,Bun:`bun`,Container:`container`,CreateReactApp:`create-react-app`,Django:`django`,Docusaurus:`docusaurus`,Docusaurus2:`docusaurus-2`,Dojo:`dojo`,Eleventy:`eleventy`,Elysia:`elysia`,Ember:`ember`,Eve:`eve`,Express:`express`,Fastapi:`fastapi`,Fasthtml:`fasthtml`,Fastify:`fastify`,Flask:`flask`,Gatsby:`gatsby`,Go:`go`,Gridsome:`gridsome`,H3:`h3`,Hexo:`hexo`,Hono:`hono`,Hugo:`hugo`,Hydrogen:`hydrogen`,IonicAngular:`ionic-angular`,IonicReact:`ionic-react`,Jekyll:`jekyll`,Koa:`koa`,Mastra:`mastra`,Middleman:`middleman`,Nestjs:`nestjs`,Nextjs:`nextjs`,Nitro:`nitro`,Node:`node`,Nuxtjs:`nuxtjs`,Parcel:`parcel`,Polymer:`polymer`,Preact:`preact`,Python:`python`,ReactRouter:`react-router`,Redwoodjs:`redwoodjs`,Remix:`remix`,Ruby:`ruby`,Rust:`rust`,Saber:`saber`,Sanity:`sanity`,SanityV2:`sanity-v2`,Sapper:`sapper`,Scully:`scully`,Services:`services`,Solidstart:`solidstart`,Solidstart1:`solidstart-1`,Stencil:`stencil`,Storybook:`storybook`,Svelte:`svelte`,Sveltekit:`sveltekit`,Sveltekit1:`sveltekit-1`,TanstackStart:`tanstack-start`,Umijs:`umijs`,Vite:`vite`,Vitepress:`vitepress`,Vue:`vue`,Vuepress:`vuepress`,Xmcp:`xmcp`,Zola:`zola`},UpdateProjectProjectsResponse200ApplicationJSONResponseBodyType={EndsWith:`endsWith`,Equals:`equals`,StartsWith:`startsWith`},UpdateProjectFramework$outboundSchema=nativeEnumType(UpdateProjectFramework),UpdateProjectNodeVersion$outboundSchema=nativeEnumType(UpdateProjectNodeVersion),UpdateProjectBuildMachineType$outboundSchema=nativeEnumType(UpdateProjectBuildMachineType),UpdateProjectBuildQueue$outboundSchema=objectType({configuration:nativeEnumType(UpdateProjectConfiguration).optional()}),UpdateProjectFunctionDefaultMemoryType$outboundSchema=nativeEnumType(UpdateProjectFunctionDefaultMemoryType),UpdateProjectBuildMachineSelection$outboundSchema=nativeEnumType(UpdateProjectBuildMachineSelection),UpdateProjectBuildMachineElasticReason$outboundSchema=nativeEnumType(UpdateProjectBuildMachineElasticReason),UpdateProjectResourceConfig$outboundSchema=objectType({buildMachineType:UpdateProjectBuildMachineType$outboundSchema.optional(),buildQueue:lazyType(()=>UpdateProjectBuildQueue$outboundSchema).optional(),fluid:booleanType().optional(),functionDefaultRegions:arrayType(stringType()).optional(),functionDefaultTimeout:numberType().optional(),functionDefaultMemoryType:UpdateProjectFunctionDefaultMemoryType$outboundSchema.optional(),functionZeroConfigFailover:booleanType().optional(),elasticConcurrencyEnabled:booleanType().optional(),buildMachineSelection:UpdateProjectBuildMachineSelection$outboundSchema.optional(),buildMachineElasticLastUpdated:numberType().optional(),buildMachineElasticReason:UpdateProjectBuildMachineElasticReason$outboundSchema.optional(),isNSNBDisabled:booleanType().optional(),enableFunctionsBeta:booleanType().optional()}),UpdateProjectStaticIps$outboundSchema=objectType({enabled:booleanType()}),UpdateProjectEnv$outboundSchema=nativeEnumType(UpdateProjectEnv),Destination$outboundSchema=nativeEnumType(Destination),SamplingRules$outboundSchema=objectType({rate:numberType(),env:UpdateProjectEnv$outboundSchema.optional(),requestPath:stringType().optional(),destination:Destination$outboundSchema.optional()}),Tracing$outboundSchema=objectType({domains:stringType().optional(),ignorePaths:arrayType(stringType()).optional(),samplingRules:arrayType(lazyType(()=>SamplingRules$outboundSchema)).optional()}),UpdateProjectIssuerMode$outboundSchema=nativeEnumType(UpdateProjectIssuerMode),UpdateProjectOidcTokenConfig$outboundSchema=objectType({enabled:booleanType().default(!0),issuerMode:UpdateProjectIssuerMode$outboundSchema.default(`team`)}),UpdateProjectPasswordProtection$outboundSchema=objectType({deploymentType:nativeEnumType(UpdateProjectDeploymentType),password:nullableType(stringType()).optional()}),UpdateProjectProjectsDeploymentType$outboundSchema=nativeEnumType(UpdateProjectProjectsDeploymentType),UpdateProjectPassport$outboundSchema=objectType({connectorId:stringType(),deploymentType:UpdateProjectProjectsDeploymentType$outboundSchema.default(`all`)}),UpdateProjectSsoProtection$outboundSchema=objectType({deploymentType:nativeEnumType(UpdateProjectProjectsRequestDeploymentType).default(`preview`)}),UpdateProjectProjectsRequestRequestBodyDeploymentType$outboundSchema=nativeEnumType(UpdateProjectProjectsRequestRequestBodyDeploymentType),Addresses$outboundSchema=objectType({value:stringType(),note:stringType().optional()}),ProtectionMode$outboundSchema=nativeEnumType(ProtectionMode),UpdateProjectTrustedIps$outboundSchema=objectType({deploymentType:UpdateProjectProjectsRequestRequestBodyDeploymentType$outboundSchema,addresses:arrayType(lazyType(()=>Addresses$outboundSchema)),protectionMode:ProtectionMode$outboundSchema}),ToPreset$outboundSchema=nativeEnumType(ToPreset),To2$outboundSchema=objectType({slugs:arrayType(stringType()).optional(),preset:ToPreset$outboundSchema}),Preset$outboundSchema=nativeEnumType(Preset),To1$outboundSchema=objectType({slugs:arrayType(stringType()),preset:Preset$outboundSchema.optional()});smartUnion([lazyType(()=>To1$outboundSchema),lazyType(()=>To2$outboundSchema)]);const UpdateProjectFromPreset$outboundSchema=nativeEnumType(UpdateProjectFromPreset),From2$outboundSchema=objectType({slugs:arrayType(stringType()).optional(),preset:UpdateProjectFromPreset$outboundSchema}),FromPreset$outboundSchema=nativeEnumType(FromPreset),From1$outboundSchema=objectType({slugs:arrayType(stringType()),preset:FromPreset$outboundSchema.optional()});smartUnion([lazyType(()=>From1$outboundSchema),lazyType(()=>From2$outboundSchema)]);const CustomAllow$outboundSchema=objectType({to:smartUnion([lazyType(()=>To1$outboundSchema),lazyType(()=>To2$outboundSchema)]),from:smartUnion([lazyType(()=>From1$outboundSchema),lazyType(()=>From2$outboundSchema)])}),UpdateProjectProjects$outboundSchema=objectType({label:stringType().optional(),customAllow:arrayType(lazyType(()=>CustomAllow$outboundSchema)).optional()}),UpdateProjectToProjectsPreset$outboundSchema=nativeEnumType(UpdateProjectToProjectsPreset),UpdateProjectTo2$outboundSchema=objectType({slugs:arrayType(stringType()).optional(),preset:UpdateProjectToProjectsPreset$outboundSchema}),UpdateProjectToPreset$outboundSchema=nativeEnumType(UpdateProjectToPreset),UpdateProjectTo1$outboundSchema=objectType({slugs:arrayType(stringType()),preset:UpdateProjectToPreset$outboundSchema.optional()});smartUnion([lazyType(()=>UpdateProjectTo1$outboundSchema),lazyType(()=>UpdateProjectTo2$outboundSchema)]);const OidcProviders$outboundSchema=objectType({label:stringType().optional(),to:smartUnion([lazyType(()=>UpdateProjectTo1$outboundSchema),lazyType(()=>UpdateProjectTo2$outboundSchema)]),claims:recordType(arrayType(stringType()))}),TrustedSources$outboundSchema=objectType({projects:recordType(lazyType(()=>UpdateProjectProjects$outboundSchema)).optional(),oidcProviders:recordType(arrayType(lazyType(()=>OidcProviders$outboundSchema))).optional()});function trustedSourcesToJSON(e){return JSON.stringify(TrustedSources$outboundSchema.parse(e))}const UpdateProjectEnvironmentsProjects2$outboundSchema=objectType({type:literalType(`custom`),environmentId:stringType()}),UpdateProjectEnvironmentsProjectsTarget$outboundSchema=nativeEnumType(UpdateProjectEnvironmentsProjectsTarget),UpdateProjectEnvironmentsProjects1$outboundSchema=objectType({type:literalType(`system`),target:UpdateProjectEnvironmentsProjectsTarget$outboundSchema});unionType([lazyType(()=>UpdateProjectEnvironmentsProjects1$outboundSchema),lazyType(()=>UpdateProjectEnvironmentsProjects2$outboundSchema)]);const UpdateProjectSources2$outboundSchema=objectType({provider:literalType(`gitlab`),namespace:stringType(),project:stringType().optional()}),UpdateProjectSources1$outboundSchema=objectType({provider:nativeEnumType(UpdateProjectSourcesProjectsProvider),org:stringType(),repo:stringType().optional()});unionType([lazyType(()=>UpdateProjectSources1$outboundSchema).and(objectType({provider:literalType(`github`)})),lazyType(()=>UpdateProjectSources1$outboundSchema).and(objectType({provider:literalType(`bitbucket`)})),lazyType(()=>UpdateProjectSources2$outboundSchema)]);const GitSources1$outboundSchema=objectType({enabled:booleanType(),environments:arrayType(unionType([lazyType(()=>UpdateProjectEnvironmentsProjects1$outboundSchema),lazyType(()=>UpdateProjectEnvironmentsProjects2$outboundSchema)])),sources:arrayType(unionType([lazyType(()=>UpdateProjectSources1$outboundSchema).and(objectType({provider:literalType(`github`)})),lazyType(()=>UpdateProjectSources1$outboundSchema).and(objectType({provider:literalType(`bitbucket`)})),lazyType(()=>UpdateProjectSources2$outboundSchema)]))});smartUnion([arrayType(lazyType(()=>GitSources1$outboundSchema)),stringType()]);const UpdateProjectEnvironments2$outboundSchema=objectType({type:literalType(`custom`),environmentId:stringType()}),UpdateProjectEnvironmentsTarget$outboundSchema=nativeEnumType(UpdateProjectEnvironmentsTarget),UpdateProjectEnvironments1$outboundSchema=objectType({type:literalType(`system`),target:UpdateProjectEnvironmentsTarget$outboundSchema});unionType([lazyType(()=>UpdateProjectEnvironments1$outboundSchema),lazyType(()=>UpdateProjectEnvironments2$outboundSchema)]);const DeploymentSourcesSources$outboundSchema=nativeEnumType(DeploymentSourcesSources),DeploymentSources1$outboundSchema=objectType({enabled:booleanType(),environments:arrayType(unionType([lazyType(()=>UpdateProjectEnvironments1$outboundSchema),lazyType(()=>UpdateProjectEnvironments2$outboundSchema)])),sources:arrayType(DeploymentSourcesSources$outboundSchema)});smartUnion([arrayType(lazyType(()=>DeploymentSources1$outboundSchema)),stringType()]);const DeploymentPolicy1$outboundSchema=objectType({gitSources:smartUnion([arrayType(lazyType(()=>GitSources1$outboundSchema)),stringType()]).optional(),deploymentSources:smartUnion([arrayType(lazyType(()=>DeploymentSources1$outboundSchema)),stringType()]).optional()});smartUnion([lazyType(()=>DeploymentPolicy1$outboundSchema),stringType()]);const UpdateProjectPaths$outboundSchema=objectType({value:stringType()}),UpdateProjectOptionsAllowlist$outboundSchema=objectType({paths:arrayType(lazyType(()=>UpdateProjectPaths$outboundSchema))}),ConnectConfigurations1$outboundSchema=objectType({envId:stringType(),connectConfigurationId:stringType(),passive:booleanType(),buildsEnabled:booleanType()});lazyType(()=>ConnectConfigurations1$outboundSchema);const UpdateProjectAction$outboundSchema=nativeEnumType(UpdateProjectAction);smartUnion([numberType(),booleanType(),stringType()]),smartUnion([numberType(),booleanType(),stringType()]),objectType({previousValue:smartUnion([numberType(),booleanType(),stringType()]),currentValue:smartUnion([numberType(),booleanType(),stringType()])});const UpdateProjectDismissedToasts$outboundSchema=objectType({key:stringType(),dismissedAt:numberType(),action:UpdateProjectAction$outboundSchema,value:anyType().optional()}),UpdateProjectRequestBody$outboundSchema=objectType({autoExposeSystemEnvs:booleanType().optional(),autoAssignCustomDomains:booleanType().optional(),autoAssignCustomDomainsUpdatedBy:stringType().optional(),buildCommand:nullableType(stringType()).optional(),commandForIgnoringBuildStep:nullableType(stringType()).optional(),customerSupportCodeVisibility:booleanType().optional(),devCommand:nullableType(stringType()).optional(),directoryListing:booleanType().optional(),framework:nullableType(UpdateProjectFramework$outboundSchema).optional(),gitForkProtection:booleanType().optional(),gitLFS:booleanType().optional(),protectedSourcemaps:booleanType().optional(),installCommand:nullableType(stringType()).optional(),name:stringType().optional(),nodeVersion:UpdateProjectNodeVersion$outboundSchema.optional(),outputDirectory:nullableType(stringType()).optional(),previewDeploymentsDisabled:nullableType(booleanType()).optional(),previewDeploymentSuffix:nullableType(stringType()).optional(),resourceConfig:lazyType(()=>UpdateProjectResourceConfig$outboundSchema).optional(),publicSource:nullableType(booleanType()).optional(),rootDirectory:nullableType(stringType()).optional(),serverlessFunctionRegion:nullableType(stringType()).optional(),serverlessFunctionZeroConfigFailover:booleanType().optional(),skewProtectionBoundaryAt:numberType().int().optional(),skewProtectionMaxAge:numberType().int().optional(),skewProtectionAllowedDomains:arrayType(stringType()).optional(),skipGitConnectDuringLink:booleanType().optional(),sourceFilesOutsideRootDirectory:booleanType().optional(),enablePreviewFeedback:nullableType(booleanType()).optional(),enableProductionFeedback:nullableType(booleanType()).optional(),enableAffectedProjectsDeployments:booleanType().optional(),enableExternalRewriteCaching:booleanType().optional(),staticIps:lazyType(()=>UpdateProjectStaticIps$outboundSchema).optional(),tracing:nullableType(lazyType(()=>Tracing$outboundSchema)).optional(),oidcTokenConfig:lazyType(()=>UpdateProjectOidcTokenConfig$outboundSchema).optional(),passwordProtection:nullableType(lazyType(()=>UpdateProjectPasswordProtection$outboundSchema)).optional(),passport:nullableType(lazyType(()=>UpdateProjectPassport$outboundSchema)).optional(),ssoProtection:nullableType(lazyType(()=>UpdateProjectSsoProtection$outboundSchema)).optional(),trustedIps:nullableType(lazyType(()=>UpdateProjectTrustedIps$outboundSchema)).optional(),trustedSources:nullableType(lazyType(()=>TrustedSources$outboundSchema)).optional(),deploymentPolicy:smartUnion([lazyType(()=>DeploymentPolicy1$outboundSchema),stringType()]).optional(),optionsAllowlist:nullableType(lazyType(()=>UpdateProjectOptionsAllowlist$outboundSchema)).optional(),connectConfigurations:nullableType(arrayType(lazyType(()=>ConnectConfigurations1$outboundSchema))).optional(),dismissedToasts:arrayType(lazyType(()=>UpdateProjectDismissedToasts$outboundSchema)).optional()});objectType({idOrName:stringType(),teamId:stringType().optional(),slug:stringType().optional(),requestBody:lazyType(()=>UpdateProjectRequestBody$outboundSchema)}).transform(e=>remap(e,{requestBody:`RequestBody`}));const UpdateProjectConfiguredBy$inboundSchema=nativeEnumType(UpdateProjectConfiguredBy);smartUnion([number(),boolean()]);const UpdateProjectProjectsResponseAliasError$inboundSchema=objectType({code:string(),message:string()}),UpdateProjectProjectsResponse200BranchMatcher$inboundSchema=objectType({type:nativeEnumType(UpdateProjectProjectsResponse200ApplicationJSONResponseBodyAliasDeploymentType),pattern:string()}),UpdateProjectProjectsResponseBuilds$inboundSchema=objectType({use:string(),src:optional(string()),dest:optional(string())}),UpdateProjectProjectsResponseChecksConclusion$inboundSchema=nativeEnumType(UpdateProjectProjectsResponseChecksConclusion),UpdateProjectProjectsResponseChecksState$inboundSchema=nativeEnumType(UpdateProjectProjectsResponseChecksState),UpdateProjectProjectsResponseCreator$inboundSchema=objectType({email:string(),githubLogin:optional(string()),gitlabLogin:optional(string()),uid:string(),username:string()}),UpdateProjectProjectsResponseOidcTokenClaims$inboundSchema=objectType({iss:string(),sub:string(),scope:string(),aud:string(),owner:string(),owner_id:string(),project:string(),project_id:string(),environment:string(),custom_environment_id:optional(string()),plan:optional(string())}).transform(e=>remap(e,{owner_id:`ownerId`,project_id:`projectId`,custom_environment_id:`customEnvironmentId`})),UpdateProjectProjectsResponsePlan$inboundSchema=nativeEnumType(UpdateProjectProjectsResponsePlan),UpdateProjectProjectsResponseReadyState$inboundSchema=nativeEnumType(UpdateProjectProjectsResponseReadyState),UpdateProjectProjectsResponseReadySubstate$inboundSchema=nativeEnumType(UpdateProjectProjectsResponseReadySubstate),UpdateProjectProjectsResponse200ApplicationJSONResponseBodyAliasType$inboundSchema=nativeEnumType(UpdateProjectProjectsResponse200ApplicationJSONResponseBodyAliasType),UpdateProjectDeployment$inboundSchema=objectType({id:string(),alias:optional(arrayType(string())),aliasAssigned:nullableType(smartUnion([number(),boolean()])).optional(),aliasError:nullableType(lazyType(()=>UpdateProjectProjectsResponseAliasError$inboundSchema)).optional(),aliasFinal:nullableType(string()).optional(),automaticAliases:optional(arrayType(string())),branchMatcher:optional(lazyType(()=>UpdateProjectProjectsResponse200BranchMatcher$inboundSchema)),buildingAt:optional(number()),builds:optional(arrayType(lazyType(()=>UpdateProjectProjectsResponseBuilds$inboundSchema))),checksConclusion:optional(UpdateProjectProjectsResponseChecksConclusion$inboundSchema),checksState:optional(UpdateProjectProjectsResponseChecksState$inboundSchema),connectBuildsEnabled:optional(boolean()),connectConfigurationId:optional(string()),createdAt:number(),createdIn:string(),creator:nullable(lazyType(()=>UpdateProjectProjectsResponseCreator$inboundSchema)),deletedAt:optional(number()),deploymentHostname:string(),forced:optional(boolean()),name:string(),meta:optional(recordType(string())),monorepoManager:nullableType(string()).optional(),oidcTokenClaims:optional(lazyType(()=>UpdateProjectProjectsResponseOidcTokenClaims$inboundSchema)),plan:UpdateProjectProjectsResponsePlan$inboundSchema,previewCommentsEnabled:optional(boolean()),private:boolean(),readyAt:optional(number()),readyState:UpdateProjectProjectsResponseReadyState$inboundSchema,readySubstate:optional(UpdateProjectProjectsResponseReadySubstate$inboundSchema),requestedAt:optional(number()),target:nullableType(string()).optional(),teamId:nullableType(string()).optional(),type:UpdateProjectProjectsResponse200ApplicationJSONResponseBodyAliasType$inboundSchema,url:string(),userId:string(),withCache:optional(boolean())}),UpdateProjectEnvironment$inboundSchema=nativeEnumType(UpdateProjectEnvironment),UpdateProjectTarget$inboundSchema=nativeEnumType(UpdateProjectTarget);objectType({configuredBy:nullableType(UpdateProjectConfiguredBy$inboundSchema).optional(),configuredChangedAt:nullableType(number()).optional(),createdAt:nullableType(number()).optional(),deployment:nullable(lazyType(()=>UpdateProjectDeployment$inboundSchema)),domain:string(),environment:UpdateProjectEnvironment$inboundSchema,gitBranch:nullableType(string()).optional(),redirect:nullableType(string()).optional(),redirectStatusCode:nullableType(number()).optional(),target:UpdateProjectTarget$inboundSchema}),objectType({id:string(),canceledAt:nullableType(number()).optional(),disabledAt:number(),enabledAt:number(),paidAt:optional(number()),sampleRatePercent:nullableType(number()).optional(),spendLimitInDollars:nullableType(number()).optional()}),objectType({id:string(),enabledAt:optional(number()),disabledAt:optional(number()),canceledAt:optional(number()),hasData:optional(boolean()),paidAt:optional(number())});const UpdateProjectEnvId2$inboundSchema=nativeEnumType(UpdateProjectEnvId2);smartUnion([string(),UpdateProjectEnvId2$inboundSchema]);const UpdateProjectAws$inboundSchema=objectType({subnetIds:arrayType(string()),securityGroupId:optional(string())});objectType({envId:smartUnion([string(),UpdateProjectEnvId2$inboundSchema]),connectConfigurationId:string(),dc:optional(string()),passive:boolean(),buildsEnabled:boolean(),aws:optional(lazyType(()=>UpdateProjectAws$inboundSchema)),createdAt:number(),updatedAt:number()});const UpdateProjectSource$inboundSchema=nativeEnumType(UpdateProjectSource),UpdateProjectDefinitions$inboundSchema=objectType({host:string(),path:string(),schedule:string(),source:optional(UpdateProjectSource$inboundSchema),description:optional(string()),hostInferred:optional(boolean())});objectType({enabledAt:number(),disabledAt:nullable(number()),updatedAt:number(),deploymentId:nullable(string()),definitions:arrayType(lazyType(()=>UpdateProjectDefinitions$inboundSchema))}),objectType({userDisabled:boolean(),storageSizeBytes:nullableType(number()).optional(),unlimited:optional(boolean())}),objectType({expirationDays:optional(number()),expirationDaysProduction:optional(number()),expirationDaysCanceled:optional(number()),expirationDaysErrored:optional(number()),deploymentsToKeep:optional(number())});const UpdateProjectExpiration2$inboundSchema=objectType({lockedAt:number(),lockedBy:string()}),UpdateProjectExpiration1$inboundSchema=objectType({expiresAt:number()});smartUnion([lazyType(()=>UpdateProjectExpiration2$inboundSchema),lazyType(()=>UpdateProjectExpiration1$inboundSchema)]);const UpdateProjectTarget2$inboundSchema=nativeEnumType(UpdateProjectTarget2);smartUnion([arrayType(string()),UpdateProjectTarget2$inboundSchema]);const UpdateProjectType$inboundSchema=nativeEnumType(UpdateProjectType),UpdateProjectContentHint17$inboundSchema=objectType({type:literal(`flags-connection-string`),projectId:string()}),UpdateProjectContentHint16$inboundSchema=objectType({type:literal(`integration-store-secret`),storeId:string(),integrationId:string(),integrationProductId:string(),integrationConfigurationId:string()}),UpdateProjectContentHint15$inboundSchema=objectType({type:literal(`postgres-url-no-ssl`),storeId:string()}),UpdateProjectContentHint14$inboundSchema=objectType({type:literal(`postgres-database`),storeId:string()}),UpdateProjectContentHint13$inboundSchema=objectType({type:literal(`postgres-password`),storeId:string()}),UpdateProjectContentHint12$inboundSchema=objectType({type:literal(`postgres-host`),storeId:string()}),UpdateProjectContentHint11$inboundSchema=objectType({type:literal(`postgres-user`),storeId:string()}),UpdateProjectContentHint10$inboundSchema=objectType({type:literal(`postgres-prisma-url`),storeId:string()}),UpdateProjectContentHint9$inboundSchema=objectType({type:literal(`postgres-url-non-pooling`),storeId:string()}),UpdateProjectContentHint8$inboundSchema=objectType({type:literal(`postgres-url`),storeId:string()}),UpdateProjectContentHint7$inboundSchema=objectType({type:literal(`blob-webhook-public-key`),storeId:string()}),UpdateProjectContentHint6$inboundSchema=objectType({type:literal(`blob-store-id`),storeId:string()}),UpdateProjectContentHint5$inboundSchema=objectType({type:literal(`blob-read-write-token`),storeId:string()}),UpdateProjectContentHint4$inboundSchema=objectType({type:literal(`redis-rest-api-read-only-token`),storeId:string()}),UpdateProjectContentHint3$inboundSchema=objectType({type:literal(`redis-rest-api-token`),storeId:string()}),UpdateProjectContentHint2$inboundSchema=objectType({type:literal(`redis-rest-api-url`),storeId:string()}),UpdateProjectContentHint1$inboundSchema=objectType({type:literal(`redis-url`),storeId:string()});unionType([lazyType(()=>UpdateProjectContentHint1$inboundSchema),lazyType(()=>UpdateProjectContentHint2$inboundSchema),lazyType(()=>UpdateProjectContentHint3$inboundSchema),lazyType(()=>UpdateProjectContentHint4$inboundSchema),lazyType(()=>UpdateProjectContentHint5$inboundSchema),lazyType(()=>UpdateProjectContentHint6$inboundSchema),lazyType(()=>UpdateProjectContentHint7$inboundSchema),lazyType(()=>UpdateProjectContentHint8$inboundSchema),lazyType(()=>UpdateProjectContentHint9$inboundSchema),lazyType(()=>UpdateProjectContentHint10$inboundSchema),lazyType(()=>UpdateProjectContentHint11$inboundSchema),lazyType(()=>UpdateProjectContentHint12$inboundSchema),lazyType(()=>UpdateProjectContentHint13$inboundSchema),lazyType(()=>UpdateProjectContentHint14$inboundSchema),lazyType(()=>UpdateProjectContentHint15$inboundSchema),lazyType(()=>UpdateProjectContentHint16$inboundSchema),lazyType(()=>UpdateProjectContentHint17$inboundSchema)]);const UpdateProjectInternalContentHint$inboundSchema=objectType({type:nativeEnumType(UpdateProjectProjectsResponse200ApplicationJSONResponseBodyEnvType),encryptedValue:string()});objectType({target:optional(smartUnion([arrayType(string()),UpdateProjectTarget2$inboundSchema])),type:UpdateProjectType$inboundSchema,sunsetSecretId:optional(string()),legacyValue:optional(string()),decrypted:optional(boolean()),value:string(),vsmValue:optional(string()),id:optional(string()),key:string(),configurationId:nullableType(string()).optional(),createdAt:optional(number()),updatedAt:optional(number()),createdBy:nullableType(string()).optional(),updatedBy:nullableType(string()).optional(),gitBranch:optional(string()),edgeConfigId:nullableType(string()).optional(),edgeConfigTokenId:nullableType(string()).optional(),contentHint:nullableType(unionType([lazyType(()=>UpdateProjectContentHint1$inboundSchema),lazyType(()=>UpdateProjectContentHint2$inboundSchema),lazyType(()=>UpdateProjectContentHint3$inboundSchema),lazyType(()=>UpdateProjectContentHint4$inboundSchema),lazyType(()=>UpdateProjectContentHint5$inboundSchema),lazyType(()=>UpdateProjectContentHint6$inboundSchema),lazyType(()=>UpdateProjectContentHint7$inboundSchema),lazyType(()=>UpdateProjectContentHint8$inboundSchema),lazyType(()=>UpdateProjectContentHint9$inboundSchema),lazyType(()=>UpdateProjectContentHint10$inboundSchema),lazyType(()=>UpdateProjectContentHint11$inboundSchema),lazyType(()=>UpdateProjectContentHint12$inboundSchema),lazyType(()=>UpdateProjectContentHint13$inboundSchema),lazyType(()=>UpdateProjectContentHint14$inboundSchema),lazyType(()=>UpdateProjectContentHint15$inboundSchema),lazyType(()=>UpdateProjectContentHint16$inboundSchema),lazyType(()=>UpdateProjectContentHint17$inboundSchema)])).optional(),internalContentHint:nullableType(lazyType(()=>UpdateProjectInternalContentHint$inboundSchema)).optional(),comment:optional(string()),customEnvironmentIds:optional(arrayType(string()))});const UpdateProjectProjectsType$inboundSchema=nativeEnumType(UpdateProjectProjectsType),UpdateProjectBranchMatcher$inboundSchema=objectType({type:nativeEnumType(UpdateProjectProjectsResponse200ApplicationJSONResponseBodyCustomEnvironmentsType),pattern:string()}),UpdateProjectVerification$inboundSchema=objectType({type:string(),domain:string(),value:string(),reason:string()}),UpdateProjectDomains$inboundSchema=objectType({name:string(),apexName:string(),projectId:string(),redirect:nullableType(string()).optional(),redirectStatusCode:nullableType(number()).optional(),gitBranch:nullableType(string()).optional(),customEnvironmentId:nullableType(string()).optional(),updatedAt:optional(number()),createdAt:optional(number()),verified:boolean(),verification:optional(arrayType(lazyType(()=>UpdateProjectVerification$inboundSchema)))});objectType({id:string(),slug:string(),type:UpdateProjectProjectsType$inboundSchema,description:optional(string()),branchMatcher:optional(lazyType(()=>UpdateProjectBranchMatcher$inboundSchema)),domains:optional(arrayType(lazyType(()=>UpdateProjectDomains$inboundSchema))),currentDeploymentAliases:optional(arrayType(string())),createdAt:number(),updatedAt:number()}),nativeEnumType(UpdateProjectProjectsFramework);const UpdateProjectServiceType$inboundSchema=nativeEnumType(UpdateProjectServiceType),UpdateProjectProjectsResponseFramework$inboundSchema=nativeEnumType(UpdateProjectProjectsResponseFramework);objectType({serviceName:string(),serviceType:optional(UpdateProjectServiceType$inboundSchema),framework:optional(UpdateProjectProjectsResponseFramework$inboundSchema),runtime:optional(string())}),objectType({bucket:string(),default:optional(boolean()),supportUntil:optional(number())});const UpdateProjectLint$inboundSchema=objectType({targets:arrayType(string())}),UpdateProjectTypecheck$inboundSchema=objectType({targets:arrayType(string())}),UpdateProjectMfeConfigPresent$inboundSchema=objectType({targets:arrayType(string())});objectType({lint:optional(lazyType(()=>UpdateProjectLint$inboundSchema)),typecheck:optional(lazyType(()=>UpdateProjectTypecheck$inboundSchema)),"mfe-config-present":optional(lazyType(()=>UpdateProjectMfeConfigPresent$inboundSchema))}).transform(e=>remap(e,{"mfe-config-present":`mfeConfigPresent`}));const UpdateProjectAliasAssigned$inboundSchema=smartUnion([number(),boolean()]),UpdateProjectAliasError$inboundSchema=objectType({code:string(),message:string()}),UpdateProjectProjectsBranchMatcher$inboundSchema=objectType({type:nativeEnumType(UpdateProjectProjectsResponse200ApplicationJSONResponseBodyType),pattern:string()});export{UpdateProjectAliasAssigned$inboundSchema,UpdateProjectAliasError$inboundSchema,UpdateProjectProjectsBranchMatcher$inboundSchema,trustedSourcesToJSON};