eve 0.33.1 → 0.33.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 (199) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/src/compiled/.vendor-stamp.json +1 -1
  3. package/dist/src/compiled/@workflow/core/_quickjs-wasi.d.ts +3 -0
  4. package/dist/src/compiled/@workflow/core/events-consumer.d.ts +127 -6
  5. package/dist/src/compiled/@workflow/core/index.js +2 -2
  6. package/dist/src/compiled/@workflow/core/private.d.ts +87 -18
  7. package/dist/src/compiled/@workflow/core/private.js +1 -1
  8. package/dist/src/compiled/@workflow/core/runtime/constants.d.ts +15 -1
  9. package/dist/src/compiled/@workflow/core/runtime/helpers.d.ts +116 -8
  10. package/dist/src/compiled/@workflow/core/runtime/quickjs-runtime.d.ts +36 -1
  11. package/dist/src/compiled/@workflow/core/runtime/quickjs-serde.d.ts +107 -0
  12. package/dist/src/compiled/@workflow/core/runtime/replay-budget.d.ts +5 -14
  13. package/dist/src/compiled/@workflow/core/runtime/suspension-handler.d.ts +7 -0
  14. package/dist/src/compiled/@workflow/core/runtime/world-compatibility.d.ts +15 -0
  15. package/dist/src/compiled/@workflow/core/runtime.js +3 -3
  16. package/dist/src/compiled/@workflow/core/serialization/codec-devalue-vm.d.ts +7 -0
  17. package/dist/src/compiled/@workflow/core/serialization/workflow-vm.d.ts +8 -3
  18. package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +23 -0
  19. package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
  20. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  21. package/dist/src/compiled/@workflow/world-local/index.js +5 -5
  22. package/dist/src/compiled/@workflow/world-vercel/index.js +15 -15
  23. package/dist/src/compiled/_chunks/workflow/{attribute-changes-Du5ztewf.js → attribute-changes-6OqdYdi4.js} +2 -2
  24. package/dist/src/compiled/_chunks/workflow/dist-C8PhDW9B.js +1 -0
  25. package/dist/src/compiled/_chunks/workflow/functions-CXb61C6h.js +1 -0
  26. package/dist/src/compiled/_chunks/workflow/{functions-ClJbpZhR.js → functions-xMPAeWFr.js} +1 -1
  27. package/dist/src/compiled/_chunks/workflow/node-Smb57EnG.js +40 -0
  28. package/dist/src/compiled/_chunks/workflow/private-tvMBynnC.js +1 -0
  29. package/dist/src/compiled/_chunks/workflow/resume-hook-BrduAuFX.js +1 -0
  30. package/dist/src/compiled/_chunks/workflow/run-CX7_sJnW.js +1 -0
  31. package/dist/src/compiled/_chunks/workflow/sleep-tsb2HjWK.js +1 -0
  32. package/dist/src/compiled/_chunks/workflow/undici-BNc_0O4m.js +95 -0
  33. package/dist/src/compiled/_chunks/workflow/wait-until-BYKVqrwc.js +15 -0
  34. package/dist/src/compiled/_chunks/workflow/wrapper-CDq65xJV.js +8 -0
  35. package/dist/src/evals/autoevals-client.js +1 -1
  36. package/dist/src/evals/expect/index.js +1 -1
  37. package/dist/src/evals/judge.js +1 -1
  38. package/dist/src/internal/application/package.js +1 -1
  39. package/dist/src/node_modules/.pnpm/{autoevals@0.0.132_ws@8.21.1_bufferutil@4.1.0_ → autoevals@0.0.132_ws@8.21.3_bufferutil@4.1.0_}/node_modules/autoevals/jsdist/index.js +1 -1
  40. package/dist/src/setup/scaffold/create/project.js +1 -1
  41. package/package.json +2 -2
  42. package/dist/src/compiled/@workflow/core/correlation-id.d.ts +0 -109
  43. package/dist/src/compiled/@workflow/core/serialization/vm-bundle-entry.d.ts +0 -12
  44. package/dist/src/compiled/_chunks/workflow/dist-CNXUKQCp.js +0 -40
  45. package/dist/src/compiled/_chunks/workflow/env-config-CYoX3muK.js +0 -1
  46. package/dist/src/compiled/_chunks/workflow/private-CiWVdS5v.js +0 -1
  47. package/dist/src/compiled/_chunks/workflow/resume-hook-CT0keOww.js +0 -1
  48. package/dist/src/compiled/_chunks/workflow/run-DBheaFhH.js +0 -1
  49. package/dist/src/compiled/_chunks/workflow/run-id-BdE0MZz9.js +0 -1
  50. package/dist/src/compiled/_chunks/workflow/sleep-BeH4B0Cd.js +0 -1
  51. package/dist/src/compiled/_chunks/workflow/spec-version-C0hBsfu-.js +0 -1
  52. package/dist/src/compiled/_chunks/workflow/undici-CUIybhQ2.js +0 -95
  53. package/dist/src/compiled/_chunks/workflow/wait-until-CMX5LUWJ.js +0 -15
  54. package/dist/src/compiled/_chunks/workflow/wrapper-6mlyNCCb.js +0 -8
  55. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/_vendor/partial-json-parser/parser.js +0 -0
  56. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/auth/workload-identity-auth.js +0 -0
  57. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/azure.js +0 -0
  58. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/client.js +0 -0
  59. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/api-promise.js +0 -0
  60. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/error.js +0 -0
  61. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/pagination.js +0 -0
  62. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/resource.js +0 -0
  63. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/streaming.js +0 -0
  64. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/uploads.js +0 -0
  65. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/error.js +0 -0
  66. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/index.js +0 -0
  67. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/decoders/line.js +0 -0
  68. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/detect-platform.js +0 -0
  69. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/errors.js +0 -0
  70. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/headers.js +0 -0
  71. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/parse.js +0 -0
  72. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/qs/formats.js +0 -0
  73. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/qs/stringify.js +0 -0
  74. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/qs/utils.js +0 -0
  75. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/request-options.js +0 -0
  76. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/shims.js +0 -0
  77. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/to-file.js +0 -0
  78. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/tslib.js +0 -0
  79. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/uploads.js +0 -0
  80. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/base64.js +0 -0
  81. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/bytes.js +0 -0
  82. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/env.js +0 -0
  83. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/log.js +0 -0
  84. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/path.js +0 -0
  85. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/query.js +0 -0
  86. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/sleep.js +0 -0
  87. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/uuid.js +0 -0
  88. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/values.js +0 -0
  89. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils.js +0 -0
  90. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/AbstractChatCompletionRunner.js +0 -0
  91. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/AssistantStream.js +0 -0
  92. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/ChatCompletionRunner.js +0 -0
  93. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/ChatCompletionStream.js +0 -0
  94. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/ChatCompletionStreamingRunner.js +0 -0
  95. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/EventStream.js +0 -0
  96. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/ResponsesParser.js +0 -0
  97. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/RunnableFunction.js +0 -0
  98. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/Util.js +0 -0
  99. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/chatCompletionUtils.js +0 -0
  100. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/parser.js +0 -0
  101. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/responses/ResponseStream.js +0 -0
  102. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/admin.js +0 -0
  103. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/admin-api-keys.js +0 -0
  104. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/audit-logs.js +0 -0
  105. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/certificates.js +0 -0
  106. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/data-retention.js +0 -0
  107. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/groups/groups.js +0 -0
  108. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/groups/roles.js +0 -0
  109. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/groups/users.js +0 -0
  110. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/invites.js +0 -0
  111. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/organization.js +0 -0
  112. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/api-keys.js +0 -0
  113. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/certificates.js +0 -0
  114. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/data-retention.js +0 -0
  115. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/groups/groups.js +0 -0
  116. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/groups/roles.js +0 -0
  117. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/hosted-tool-permissions.js +0 -0
  118. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/model-permissions.js +0 -0
  119. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/projects.js +0 -0
  120. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/rate-limits.js +0 -0
  121. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/roles.js +0 -0
  122. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/service-accounts.js +0 -0
  123. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/spend-alerts.js +0 -0
  124. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/users/roles.js +0 -0
  125. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/users/users.js +0 -0
  126. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/roles.js +0 -0
  127. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/spend-alerts.js +0 -0
  128. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/usage.js +0 -0
  129. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/users/roles.js +0 -0
  130. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/users/users.js +0 -0
  131. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/audio/audio.js +0 -0
  132. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/audio/speech.js +0 -0
  133. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/audio/transcriptions.js +0 -0
  134. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/audio/translations.js +0 -0
  135. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/batches.js +0 -0
  136. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/assistants.js +0 -0
  137. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/beta.js +0 -0
  138. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/chatkit/chatkit.js +0 -0
  139. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/chatkit/sessions.js +0 -0
  140. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/chatkit/threads.js +0 -0
  141. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/realtime/realtime.js +0 -0
  142. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/realtime/sessions.js +0 -0
  143. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/realtime/transcription-sessions.js +0 -0
  144. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/threads/messages.js +0 -0
  145. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/threads/runs/runs.js +0 -0
  146. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/threads/runs/steps.js +0 -0
  147. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/threads/threads.js +0 -0
  148. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/chat/chat.js +0 -0
  149. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/chat/completions/completions.js +0 -0
  150. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/chat/completions/index.js +0 -0
  151. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/chat/completions/messages.js +0 -0
  152. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/chat/index.js +0 -0
  153. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/completions.js +0 -0
  154. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/containers/containers.js +0 -0
  155. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/containers/files/content.js +0 -0
  156. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/containers/files/files.js +0 -0
  157. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/conversations/conversations.js +0 -0
  158. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/conversations/items.js +0 -0
  159. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/embeddings.js +0 -0
  160. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/evals/evals.js +0 -0
  161. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/evals/runs/output-items.js +0 -0
  162. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/evals/runs/runs.js +0 -0
  163. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/files.js +0 -0
  164. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/alpha/alpha.js +0 -0
  165. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/alpha/graders.js +0 -0
  166. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/checkpoints/checkpoints.js +0 -0
  167. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/checkpoints/permissions.js +0 -0
  168. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/fine-tuning.js +0 -0
  169. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/jobs/checkpoints.js +0 -0
  170. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/jobs/jobs.js +0 -0
  171. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/methods.js +0 -0
  172. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/graders/grader-models.js +0 -0
  173. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/graders/graders.js +0 -0
  174. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/images.js +0 -0
  175. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/index.js +0 -0
  176. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/models.js +0 -0
  177. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/moderations.js +0 -0
  178. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/realtime/calls.js +0 -0
  179. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/realtime/client-secrets.js +0 -0
  180. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/realtime/realtime.js +0 -0
  181. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/responses/input-items.js +0 -0
  182. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/responses/input-tokens.js +0 -0
  183. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/responses/responses.js +0 -0
  184. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/shared.js +0 -0
  185. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/skills/content.js +0 -0
  186. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/skills/skills.js +0 -0
  187. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/skills/versions/content.js +0 -0
  188. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/skills/versions/versions.js +0 -0
  189. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/uploads/parts.js +0 -0
  190. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/uploads/uploads.js +0 -0
  191. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/vector-stores/file-batches.js +0 -0
  192. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/vector-stores/files.js +0 -0
  193. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/vector-stores/vector-stores.js +0 -0
  194. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/videos.js +0 -0
  195. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/webhooks/index.js +0 -0
  196. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/webhooks/webhooks.js +0 -0
  197. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/webhooks.js +0 -0
  198. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/streaming.js +0 -0
  199. /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/version.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # eve
2
2
 
3
+ ## 0.33.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 89255bd: Update `@workflow/core` to `5.0.0-beta.41` to pick up event log corruption fixes.
8
+
3
9
  ## 0.33.1
4
10
 
5
11
  ### Patch Changes
@@ -34,7 +34,7 @@
34
34
  "@vercel/oidc": "3.8.0",
35
35
  "@vercel/otel": "2.1.3",
36
36
  "@vercel/sandbox": "2.8.0",
37
- "@workflow/core": "5.0.0-beta.40",
37
+ "@workflow/core": "5.0.0-beta.41",
38
38
  "@workflow/errors": "5.0.0-beta.16",
39
39
  "@workflow/serde": "5.0.0-beta.2",
40
40
  "@workflow/world": "5.0.0-beta.25",
@@ -6,3 +6,6 @@
6
6
  // needed in user code, install the upstream @types and use them directly.
7
7
 
8
8
  export type ExtensionDescriptor = unknown;
9
+ export type JSValueHandle = unknown;
10
+ export type QuickJS = unknown;
11
+ export type Snapshot = unknown;
@@ -6,6 +6,15 @@ import { type Event } from '#compiled/@workflow/world/index.js';
6
6
  * in host). Any subscribe() arriving during this window cancels the check.
7
7
  */
8
8
  export declare const DEFERRED_CHECK_DELAY_MS = 100;
9
+ /**
10
+ * Floor for the deferred-check delay, so a too-low override can't manufacture
11
+ * spurious divergence (each false positive burns a divergence-recovery retry
12
+ * and can escalate to a terminal `CorruptedEventLogError`).
13
+ *
14
+ * Exported so tests needing the shortest legal delay can ask for it instead of
15
+ * hardcoding a number this floor would silently clamp up.
16
+ */
17
+ export declare const MIN_DEFERRED_CHECK_DELAY_MS = 10;
9
18
  export declare enum EventConsumerResult {
10
19
  /**
11
20
  * Callback consumed the event, but should not be removed from the callbacks list
@@ -43,18 +52,72 @@ export interface EventsConsumerOptions {
43
52
  * deserialization delays the resolve() that triggers the next subscribe().
44
53
  */
45
54
  getPromiseQueue: () => Promise<void>;
55
+ /**
56
+ * Whether no data delivery is in flight (`isDeliveryIdle` in private.ts).
57
+ * The unconsumed-event check waits for this before it fires: a delivery in
58
+ * flight means the workflow VM is mid-reaction, and an event it has not
59
+ * claimed yet is an event it has not reached yet.
60
+ *
61
+ * Required rather than defaulting to always-idle: always-idle is exactly the
62
+ * pre-gate behaviour, so a defaulted option would let a construction site opt
63
+ * a whole replay path back out without saying so. Tests that drive a consumer
64
+ * with no orchestrator context pass `() => true` to keep the pre-existing
65
+ * timing, and say so at the call site.
66
+ */
67
+ isDeliveryIdle: () => boolean;
46
68
  }
47
69
  export declare class EventsConsumer {
48
70
  eventIndex: number;
49
71
  readonly events: Event[];
50
72
  readonly callbacks: EventConsumerCallback[];
73
+ /**
74
+ * Events the ordered walk stepped over because nobody claimed them and their
75
+ * type carries no ordering claim. Each keeps the index it held in the log:
76
+ * consumers read {@link eventIndex} at consumption time to order their
77
+ * delivery against the rest of the log, and a late delivery must still make
78
+ * the claim its position gave it.
79
+ *
80
+ * Held in log order, drained in log order, and drained before every offer so
81
+ * a consumer registered after the walk passed the event still receives it.
82
+ */
83
+ private readonly parked;
84
+ /**
85
+ * Correlation ids of the {@link ONE_SHOT_EVENT_TYPES} events consumed so
86
+ * far, so a second resolution for one of them is recognized as unclaimable
87
+ * rather than parked for a consumer that cannot exist.
88
+ */
89
+ private readonly resolved;
51
90
  private onConsumedEvent?;
52
91
  private onUnconsumedEvent;
53
92
  private getPromiseQueue;
93
+ private isDeliveryIdle;
54
94
  private pendingUnconsumedCheck;
55
95
  private pendingUnconsumedTimeout;
56
96
  private unconsumedCheckVersion;
57
97
  constructor(events: Event[], options: EventsConsumerOptions);
98
+ /**
99
+ * The oldest event the walk stepped over that no consumer has claimed yet,
100
+ * if any. Parking is a bet that a consumer will be registered later, so at
101
+ * any point where no consumer ever will be again — the replay finishing is
102
+ * the definitive one — this answers which event the bet lost on.
103
+ */
104
+ get strandedEvent(): Event | undefined;
105
+ /**
106
+ * What the walk is still holding, or `undefined` when it holds nothing.
107
+ *
108
+ * Read at every point a replay stops, including the suspensions that are not
109
+ * settling points, so the held state reaches telemetry. A replay cannot tell
110
+ * a delivery awaiting a later consumer from one no consumer will ever
111
+ * register, so it reports rather than decides: the same `eventId` reported on
112
+ * suspension after suspension of one run is the shape that says the bet
113
+ * parking made is not going to pay off, and that shape is only visible across
114
+ * replays.
115
+ */
116
+ get parkedSummary(): {
117
+ count: number;
118
+ eventId: string;
119
+ eventType: Event['eventType'];
120
+ } | undefined;
58
121
  append(events: Event[]): void;
59
122
  /**
60
123
  * Registers a callback function to be called after an event has been consumed
@@ -70,13 +133,71 @@ export declare class EventsConsumer {
70
133
  private consume;
71
134
  /**
72
135
  * Offer `currentEvent` to each registered callback in turn. Returns true
73
- * when a callback consumed a real (non-null) event and the drain should
74
- * advance to the next event in the same synchronous pass; false otherwise
75
- * (nothing consumed it, or the consumed event was the end-of-events
76
- * sentinel).
136
+ * when a callback consumed it. Does not move {@link eventIndex}: the ordered
137
+ * walk and the parked drain advance differently, so each does its own.
138
+ */
139
+ private offer;
140
+ /**
141
+ * Offer everything parked, oldest first, until a pass claims nothing.
142
+ *
143
+ * Each offer runs with {@link eventIndex} moved back to the position the
144
+ * parked event held in the log, because that is the position its consumer
145
+ * will register a delivery barrier under. Restoring the walk pointer
146
+ * afterwards is what keeps the two pointers from interfering.
147
+ */
148
+ private drainParked;
149
+ /**
150
+ * Step the ordered walk over an event nobody claimed, holding on to it for a
151
+ * later consumer. Returns false when the event's type makes its position a
152
+ * decision record, which is the one case where nobody claiming it means the
153
+ * replay diverged.
154
+ */
155
+ private park;
156
+ private handleEndOfLog;
157
+ private scheduleUnconsumedCheck;
158
+ /**
159
+ * Run `fn` once no data delivery is in flight, polling the way
160
+ * `scheduleWhenIdle` does: let the promise queue drain, re-check a timer
161
+ * tick later, repeat.
162
+ *
163
+ * Without this the check is a bet that every delivery the walk is running
164
+ * ahead of lands inside a fixed window. Consumption is synchronous while the
165
+ * resolution it triggers is not: a step result hydrates in the host, resolves
166
+ * from a detached continuation behind `awaitEarlierDeliveries`, and only then
167
+ * does VM code run far enough to subscribe the next consumer. Replaying a
168
+ * batch of N parallel step results leaves N-1 of them on that detached path
169
+ * with the queue already drained, so the walk sits on the ordered event the
170
+ * VM is about to draw and the window is the only thing standing between a
171
+ * healthy run and `ReplayDivergenceError`.
172
+ *
173
+ * Shortening the window shows that mechanism directly: on identical event logs
174
+ * the local race repro corrupts 34 of 42 runs at a 10ms window and 0 of 114 at
175
+ * the 100ms default. That measures how the bet loses, not that the default
176
+ * loses it, and no measurement of a delivery outrunning 100ms exists either
177
+ * way. So read this as retiring the bet rather than as repairing an observed
178
+ * failure of that number: the delay is a user-settable env override, which
179
+ * leaves the old behaviour one configuration away from losing on any backend.
180
+ *
181
+ * Termination is `hasParkedCommittedDelivery`'s: it counts only deliveries
182
+ * that resolve on their own, so nothing here can gate its own retirement. A
183
+ * genuinely orphaned event has no delivery to wait on and reaches `fn` on the
184
+ * first poll.
185
+ *
186
+ * What the gate gives up: for the ordered events that still reach
187
+ * `onUnconsumedEvent` rather than {@link park}, this stops being the thing
188
+ * that catches a diverged log while a delivery is in flight. The suspension
189
+ * and this check now wake from the same `isDeliveryIdle` edge, and
190
+ * `scheduleWhenIdle` fires on the first timer tick after idle while this waits
191
+ * a further `getDeferredCheckDelayMs()`. So a run with a pending `sleep()`
192
+ * suspends first, and `onWorkflowError` drops the divergence arriving second
193
+ * (its `'suspended'` branch demotes to `'replay'` and surfaces nothing),
194
+ * leaving a later `resume()` to decline into a cold replay. Pre-gate the
195
+ * suspension already won that race whenever the delivery landed inside the
196
+ * fixed window, so what changed is that the outcome stopped depending on
197
+ * timing. Nothing should treat this check as the mechanism that reports
198
+ * divergence on a log the run is still delivering into.
77
199
  */
78
- private consumeOne;
79
- private handleUnconsumed;
200
+ private whenDeliveryIdle;
80
201
  }
81
202
  export {};
82
203
  //# sourceMappingURL=events-consumer.d.ts.map
@@ -1,2 +1,2 @@
1
- import{A as e,Bn as t,En as n,Fn as r,Gn as i,Hn as a,Jn as o,K as s,Kn as c,M as l,Rn as u,S as d,Vn as f,q as p,qn as m}from"../../_chunks/workflow/wait-until-CMX5LUWJ.js";import{i as h,u as g}from"../../_chunks/workflow/dist-CRTn4Sg8.js";import{a as _,i as v,r as y,t as b}from"../../_chunks/workflow/attribute-changes-Du5ztewf.js";import"../../_chunks/workflow/dist-CNXUKQCp.js";import{n as x}from"../../_chunks/workflow/resume-hook-CT0keOww.js";import{t as S}from"../../_chunks/workflow/sleep-BeH4B0Cd.js";function C(e){v(`createHook()`,`https://workflow-sdk.dev/docs/api-reference/workflow/create-hook`,C)}function w(e){v(`createWebhook()`,`https://workflow-sdk.dev/docs/api-reference/workflow/create-webhook`,w)}function T({schema:e}={}){function t(e){v(`defineHook().create()`,`https://workflow-sdk.dev/docs/api-reference/workflow/define-hook`,t)}return{create:t,async resume(t,n){if(!e?.[`~standard`])return await x(t,n);let r=e[`~standard`].validate(n);if(r instanceof Promise&&(r=await r),r.issues){let e=r.issues.map(e=>{let t=e.path?.map(e=>String(typeof e==`object`&&e?e.key:e)).join(`.`);return t?` at "${t}": ${e.message}`:` ${e.message}`});throw Error(`Hook payload did not match the defined schema:\n${e.join(`
2
- `)}`)}return await x(t,r.value)}}}async function E(e,t={}){let n=p.getStore(),r=n?.workflowMetadata?.workflowRunId;if(!r)throw new h(`setAttributes() must be called from a 'use workflow' or 'use step' function. Calling it from plain host code is not supported.`);let i=b(e,t);if(i.length!==0){if(n.runReadyBarrier)try{await n.runReadyBarrier}catch{}await(await u()).events.create(r,{eventType:`attr_set`,specVersion:5,eventData:{changes:i,writer:{type:`step`,stepId:n.stepMetadata.stepId,attempt:n.stepMetadata.attempt},...t.allowReservedAttributes===!0?{allowReservedAttributes:!0}:{}}})}}function D(){let e=p.getStore();return e||y(`getStepMetadata()`,`https://workflow-sdk.dev/docs/api-reference/workflow/get-step-metadata`,D),e.stepMetadata}function O(){let e=p.getStore();return e||_(`getWorkflowMetadata()`,`https://workflow-sdk.dev/docs/api-reference/workflow/get-workflow-metadata`,O),e.workflowMetadata}function k(u={}){let h=p.getStore();h||_(`getWritable()`,`https://workflow-sdk.dev/docs/api-reference/workflow/get-writable`,k);let{namespace:g}=u,v=h.workflowMetadata.workflowRunId,y=s(v,g);h.writables??=new Map;let b=h.writables,x=b.get(y);if(x)return x.writable;let S=l(e(globalThis,h.ops,v,h.encryptionKey,!0,h.runReadyBarrier),h.encryptionKey),C=new d(v,y,h.runReadyBarrier),w=t();return h.ops.push(w.promise),f(S.readable,C,w).catch(()=>{}),a(S.writable,w),Object.defineProperty(S.writable,i,{value:y,writable:!1}),Object.defineProperty(S.writable,o,{value:v,writable:!1}),h.workflowDeploymentId&&Object.defineProperty(S.writable,c,{value:h.workflowDeploymentId,writable:!1}),n(h.encryptionKey)&&Object.defineProperty(S.writable,m,{value:r(h.encryptionKey.keyPair.publicKey),writable:!1}),b.set(y,{writable:S.writable,state:w}),S.writable}export{h as FatalError,g as RetryableError,C as createHook,w as createWebhook,T as defineHook,D as getStepMetadata,O as getWorkflowMetadata,k as getWritable,E as setAttributes,S as sleep};
1
+ import{$n as e,F as t,Jn as n,Kn as r,Mn as i,N as a,Qn as o,T as s,Vn as c,Wn as l,X as u,Y as d,Zn as f,er as p,qn as m}from"../../_chunks/workflow/wait-until-BYKVqrwc.js";import{i as h,u as g}from"../../_chunks/workflow/dist-CRTn4Sg8.js";import{a as _,i as v,r as y,t as b}from"../../_chunks/workflow/attribute-changes-6OqdYdi4.js";import{n as x}from"../../_chunks/workflow/resume-hook-BrduAuFX.js";import{t as S}from"../../_chunks/workflow/sleep-tsb2HjWK.js";function C(e){v(`createHook()`,`https://workflow-sdk.dev/docs/api-reference/workflow/create-hook`,C)}function w(e){v(`createWebhook()`,`https://workflow-sdk.dev/docs/api-reference/workflow/create-webhook`,w)}function T({schema:e}={}){function t(e){v(`defineHook().create()`,`https://workflow-sdk.dev/docs/api-reference/workflow/define-hook`,t)}return{create:t,async resume(t,n){if(!e?.[`~standard`])return await x(t,n);let r=e[`~standard`].validate(n);if(r instanceof Promise&&(r=await r),r.issues){let e=r.issues.map(e=>{let t=e.path?.map(e=>String(typeof e==`object`&&e?e.key:e)).join(`.`);return t?` at "${t}": ${e.message}`:` ${e.message}`});throw Error(`Hook payload did not match the defined schema:\n${e.join(`
2
+ `)}`)}return await x(t,r.value)}}}async function E(e,t={}){let n=u.getStore(),r=n?.workflowMetadata?.workflowRunId;if(!r)throw new h(`setAttributes() must be called from a 'use workflow' or 'use step' function. Calling it from plain host code is not supported.`);let i=b(e,t);if(i.length!==0){if(n.runReadyBarrier)try{await n.runReadyBarrier}catch{}await(await l()).events.create(r,{eventType:`attr_set`,specVersion:5,eventData:{changes:i,writer:{type:`step`,stepId:n.stepMetadata.stepId,attempt:n.stepMetadata.attempt},...t.allowReservedAttributes===!0?{allowReservedAttributes:!0}:{}}})}}function D(){let e=u.getStore();return e||y(`getStepMetadata()`,`https://workflow-sdk.dev/docs/api-reference/workflow/get-step-metadata`,D),e.stepMetadata}function O(){let e=u.getStore();return e||_(`getWorkflowMetadata()`,`https://workflow-sdk.dev/docs/api-reference/workflow/get-workflow-metadata`,O),e.workflowMetadata}function k(l={}){let h=u.getStore();h||_(`getWritable()`,`https://workflow-sdk.dev/docs/api-reference/workflow/get-writable`,k);let{namespace:g}=l,v=h.workflowMetadata.workflowRunId,y=d(v,g);h.writables??=new Map;let b=h.writables,x=b.get(y);if(x)return x.writable;let S=t(a(globalThis,h.ops,v,h.encryptionKey,!0,h.runReadyBarrier),h.encryptionKey),C=new s(v,y,h.runReadyBarrier),w=r();return h.ops.push(w.promise),m(S.readable,C,w).catch(()=>{}),n(S.writable,w),Object.defineProperty(S.writable,f,{value:y,writable:!1}),Object.defineProperty(S.writable,p,{value:v,writable:!1}),h.workflowDeploymentId&&Object.defineProperty(S.writable,o,{value:h.workflowDeploymentId,writable:!1}),i(h.encryptionKey)&&Object.defineProperty(S.writable,e,{value:c(h.encryptionKey.keyPair.publicKey),writable:!1}),b.set(y,{writable:S.writable,state:w}),S.writable}export{h as FatalError,g as RetryableError,C as createHook,w as createWebhook,T as defineHook,D as getStepMetadata,O as getWorkflowMetadata,k as getWritable,E as setAttributes,S as sleep};
@@ -2,7 +2,6 @@
2
2
  * Utils used by the bundler when transforming code
3
3
  */
4
4
  import type { WorldCapabilities } from '#compiled/@workflow/world/index.js';
5
- import type { CorrelationIdGenerator } from './correlation-id.js';
6
5
  import type { EventsConsumer } from './events-consumer.js';
7
6
  import type { QueueItem } from './global.js';
8
7
  import type { ReplayPayloadCache } from './replay-payload-cache.js';
@@ -49,11 +48,11 @@ export interface WorkflowOrchestratorContext {
49
48
  invocationsQueue: Map<string, QueueItem>;
50
49
  onWorkflowError: (error: Error) => void;
51
50
  /**
52
- * Mints a correlation id body for one entity family. Every entity a replay
53
- * creates draws from here, and the family is what keeps a disagreement about
54
- * one family's count from renumbering another's.
51
+ * Mints the ULID body of a correlation id. Every entity a replay creates
52
+ * draws from this one monotonic sequence, so an id is an ordinal over the
53
+ * whole run and both replays of a run must draw in the same order.
55
54
  */
56
- generateCorrelationId: CorrelationIdGenerator;
55
+ generateUlid: () => string;
57
56
  generateNanoid: () => string;
58
57
  /**
59
58
  * Sequential promise queue that ensures all event-driven promise resolutions
@@ -147,17 +146,44 @@ interface DeliveryBarrierEntry {
147
146
  * suspension point first; see the comment at that `await` for why ordering the
148
147
  * `resolve()` calls alone is not enough.
149
148
  *
150
- * One asymmetry: a STEP result additionally skips any earlier delivery that
151
- * will not resolve on its own, i.e. one blocked (directly or transitively) on
152
- * a buffered hook payload no consumer has claimed. Such a payload is delivered
153
- * only when the workflow next reads the hook, and reaching that read very
154
- * commonly requires the step result itself (`await stepX()` before the read).
155
- * Gating the step on it would stall the workflow until the barrier's idle
156
- * safety net fires, which then releases every delivery queued behind that
149
+ * What counts as "defers behind" is {@link gatesOn}, shared with
150
+ * {@link computeResolvesOnItsOwn} so the two cannot drift.
151
+ *
152
+ * One asymmetry: a STEP result skips any earlier delivery that is UNARMED,
153
+ * i.e. a buffered hook payload no consumer has claimed. Such a payload is
154
+ * delivered only when the workflow next reads the hook, and reaching that read
155
+ * very commonly requires the step result itself (`await stepX()` before the
156
+ * read). Gating the step on it would stall the workflow until the barrier's
157
+ * idle safety net fires, which then releases every delivery queued behind that
157
158
  * payload at once — losing exactly the race this ordering exists to protect.
158
159
  * Waits and hooks keep gating on unclaimed payloads: for them, waiting for the
159
160
  * claim IS the ordering guarantee (a `wait_completed` must not preempt a
160
161
  * payload the log ordered first).
162
+ *
163
+ * The skip is direct, never transitive. A step still gates on an earlier ARMED
164
+ * wait or hook, including one that is itself parked behind an unclaimed
165
+ * payload. Skipping those too would invert log order for the commonest shape
166
+ * there is: a workflow that creates a hook it does not read on this branch,
167
+ * races `step` against `sleep`, and has the log say the sleep won. The step
168
+ * would then overtake the wait, both branches would swap the correlation ids
169
+ * they draw next, and replay would diverge — see
170
+ * `step-delivery-ordering.test.ts`. Waiting instead is safe because the
171
+ * payload's own idle safety net retires it and the whole chain then delivers
172
+ * in log order; {@link hasParkedCommittedDelivery} deliberately reports such a
173
+ * step as not self-resolving so that idle stays reachable.
174
+ *
175
+ * "The whole chain then delivers in log order" rests on the PAYLOAD's safety
176
+ * net observing idle before the net of the wait parked behind it. If the
177
+ * wait's net fired first, the step's gate would open while the wait was still
178
+ * parked on the payload barrier and the inversion above would reappear. Within
179
+ * one drain window that order is structural, and carried by FIFO of the
180
+ * safety-net polls: nets arm via `setTimeout` in log order during synchronous
181
+ * consumption, each polling round re-arms through `promiseQueue.then(...)` in
182
+ * the order the checks ran, and each net that fires flips
183
+ * {@link hasParkedCommittedDelivery} back to true, re-blocking the rest until
184
+ * the released delivery completes. Replay — where divergence manifests —
185
+ * always consumes the log in one window. Do not "optimize" the net scheduling
186
+ * in a way that breaks that per-window FIFO.
161
187
  */
162
188
  export declare function awaitEarlierDeliveries(ctx: WorkflowOrchestratorContext, eventIndex: number | undefined, kind: DeliveryKind): Promise<void>;
163
189
  /** Handle for a registered branch-deciding delivery barrier. */
@@ -202,12 +228,39 @@ export declare function registerDeliveryBarrier(ctx: WorkflowOrchestratorContext
202
228
  armed?: boolean;
203
229
  }): DeliveryBarrier;
204
230
  /**
205
- * Schedule a callback to fire only after all pending data deliveries
206
- * (step results, hook payloads) and async deserialization have completed.
207
- * Uses a polling loop: setTimeout(0) → check pendingDeliveries and the
208
- * barrier registry → if anything is still in flight, wait for promiseQueue →
209
- * repeat. This handles the multi-round delivery pattern where each hook
210
- * payload delivery cycle appends new async work to the promiseQueue.
231
+ * Whether some registered branch-deciding delivery is going to reach the
232
+ * workflow without any further help (it is armed and not transitively parked
233
+ * behind an unclaimed buffered payload — see {@link resolvesOnItsOwn}) but
234
+ * has not been handed over yet.
235
+ *
236
+ * This is the delivery state `pendingDeliveries` cannot see. That counter
237
+ * covers the hydration window inside a serial `promiseQueue` slot and is
238
+ * released there, while the delivery's `resolve()` runs later, from a
239
+ * detached continuation behind {@link awaitEarlierDeliveries} — including its
240
+ * macrotask yield whenever the delivery had to defer. Replaying a batch of N
241
+ * parallel step results consumed in one drain window leaves N-1 of them
242
+ * parked on that yield with `pendingDeliveries` already at 0. An idle check
243
+ * armed during the same window (a pending `sleep()` arms one on every replay)
244
+ * could then observe "idle" mid-deferral and raise a `WorkflowSuspension`
245
+ * BEFORE the workflow's own continuations ran — a suspension carrying none of
246
+ * the follow-up work the batch was about to create, which the runtime
247
+ * dutifully schedules as nothing, leaving the run dormant until an unrelated
248
+ * timer fires (vercel/workflow#3183).
249
+ *
250
+ * Deliveries that do NOT resolve on their own must be excluded, not for
251
+ * accuracy but for termination: an unclaimed buffered hook payload is retired
252
+ * BY the idle safety net in {@link registerDeliveryBarrier}, so counting it
253
+ * here would gate its own retirement. That reasoning extends to whatever is
254
+ * parked behind such a payload — a wait, and a step gating on that wait — for
255
+ * the same reason: the whole chain moves only once the net fires, and it
256
+ * cannot fire while the chain is counted. Self-resolving deliveries always
257
+ * deliver from their own chains (see the INVARIANT on
258
+ * {@link registerDeliveryBarrier}) and never need that net, so waiting on
259
+ * them is deadlock-free.
260
+ */
261
+ export declare function hasParkedCommittedDelivery(ctx: WorkflowOrchestratorContext): boolean;
262
+ /**
263
+ * Whether no data delivery (step result, hook payload) is in flight right now.
211
264
  *
212
265
  * "In flight" is two distinct windows, each with its own guard:
213
266
  * `pendingDeliveries > 0` covers hydration inside the serial queue slots, and
@@ -215,6 +268,22 @@ export declare function registerDeliveryBarrier(ctx: WorkflowOrchestratorContext
215
268
  * releasing that counter and the delivery's `resolve()` actually running —
216
269
  * deliberately outside `pendingDeliveries` (see step.ts), and invisible to it.
217
270
  *
271
+ * Anything that decides a replay is over, or that a replay went wrong, has to
272
+ * consult this first: while it is false the workflow VM is mid-reaction, so
273
+ * what it has and has not done yet says nothing about the run. Two callers
274
+ * read it, for the two such decisions: {@link scheduleWhenIdle} for the
275
+ * suspension, and the events consumer's unconsumed-event check for divergence.
276
+ */
277
+ export declare function isDeliveryIdle(ctx: WorkflowOrchestratorContext): boolean;
278
+ /**
279
+ * Schedule a callback to fire only after all pending data deliveries
280
+ * (step results, hook payloads) and async deserialization have completed.
281
+ * Uses a polling loop: setTimeout(0) → check pendingDeliveries and the
282
+ * barrier registry → if anything is still in flight, wait for promiseQueue →
283
+ * repeat. This handles the multi-round delivery pattern where each hook
284
+ * payload delivery cycle appends new async work to the promiseQueue. What
285
+ * counts as in flight is {@link isDeliveryIdle}.
286
+ *
218
287
  * The initial `setTimeout(0)` macrotask is load-bearing and must NOT be
219
288
  * downgraded to a microtask (`queueMicrotask`/`Promise.resolve().then`).
220
289
  * `pendingDeliveries` only guards the host-side hydration window; between a
@@ -1 +1 @@
1
- import{a as e,i as t,n,r,t as i}from"../../_chunks/workflow/private-CiWVdS5v.js";export{i as awaitEarlierDeliveries,n as getStepFunction,r as registerDeliveryBarrier,t as registerStepFunction,e as scheduleWhenIdle};
1
+ import{a as e,i as t,n,o as r,r as i,s as a,t as o}from"../../_chunks/workflow/private-tvMBynnC.js";export{o as awaitEarlierDeliveries,n as getStepFunction,i as hasParkedCommittedDelivery,t as isDeliveryIdle,e as registerDeliveryBarrier,r as registerStepFunction,a as scheduleWhenIdle};
@@ -12,7 +12,7 @@ export declare function getMaxQueueDeliveries(): number;
12
12
  * `maxDuration` (e.g. 800s on Vercel Pro Fluid) and `NO_INLINE_REPLAY_AFTER_MS`.
13
13
  *
14
14
  * If the non-step ("replay") time within a single invocation exceeds this
15
- * budget, the handler exits so the queue can retry. After
15
+ * budget, the handler rejects so the queue can retry. After
16
16
  * `REPLAY_TIMEOUT_MAX_RETRIES` exhausted attempts the run is failed with
17
17
  * `RUN_ERROR_CODES.REPLAY_TIMEOUT`.
18
18
  *
@@ -141,6 +141,20 @@ export declare function isOptimisticInlineStartExplicitlyDisabled(): boolean;
141
141
  * explicit `'0'` / `'false'` (case-insensitive).
142
142
  */
143
143
  export declare function isTurboEnabled(): boolean;
144
+ /**
145
+ * Whether the QuickJS engine's baseline-snapshot startup optimization is
146
+ * enabled (default ON). When on, the engine hydrates a VM with the
147
+ * workflow bundle once per function instance, snapshots it, and starts
148
+ * every invocation by restoring the snapshot instead of re-evaluating
149
+ * the bundle — skipping the dominant share of VM startup (measured
150
+ * ~77ms → ~3ms to first suspension for a 1.3MB bundle). Bundles whose
151
+ * module scope consumes randomness, reads the clock, or replaces a
152
+ * serialization intrinsic are detected at hydrate time and
153
+ * automatically fall back to per-invocation fresh evaluation (see
154
+ * prepareBaselineSnapshot). Set WORKFLOW_QUICKJS_BASELINE_SNAPSHOT=0 to
155
+ * disable.
156
+ */
157
+ export declare function isQuickJSBaselineSnapshotEnabled(): boolean;
144
158
  /**
145
159
  * Whether the inline loop retains a suspended workflow VM across inline steps
146
160
  * within one invocation (default ON). When on, a step-only suspension keeps
@@ -122,10 +122,7 @@ export declare function insertEventByEventId(target: Event[], event: Event): voi
122
122
  * The returned cursor can be passed back in on a subsequent call for
123
123
  * incremental loading.
124
124
  */
125
- export declare function loadWorkflowRunEvents(runId: string, afterCursor?: string): Promise<{
126
- events: Event[];
127
- cursor: string | null;
128
- }>;
125
+ export declare function loadWorkflowRunEvents(runId: string, afterCursor?: string): Promise<LoadedEventLog>;
129
126
  /**
130
127
  * The runtime's loaded event-log snapshot: the events replayed so far and the
131
128
  * cursor positioned after them. Handed to helpers that derive the precondition
@@ -144,6 +141,20 @@ export interface LoadedEventLog {
144
141
  * backward-compatible.
145
142
  */
146
143
  export declare function isPreconditionGuardEnabled(): boolean;
144
+ /**
145
+ * Whether a replay refuses to run over a log with a hole in it (see
146
+ * {@link findEventSlotGap}). **On by default**; set
147
+ * `WORKFLOW_SLOT_GAP_CHECK=0` to replay across holes instead.
148
+ *
149
+ * The switch exists because the check trades one failure for another. A hole is
150
+ * a position claimed by a write that then failed, so most of them stand for an
151
+ * event that never happened and replaying past one is correct. But a hole
152
+ * standing for an event that *did* happen is indistinguishable from that, and
153
+ * replaying past that one produces a run whose result is wrong with nothing to
154
+ * show for it. Failing loudly is the recoverable side of the trade, and this is
155
+ * the way back out if a fleet turns out to carry benign holes.
156
+ */
157
+ export declare function isSlotGapCheckEnabled(): boolean;
147
158
  /**
148
159
  * The `stateUpdatedAt` value to send with a replay-context event creation: the
149
160
  * *maximum* ULID time (epoch ms) over the events the runtime has loaded. Returns
@@ -169,19 +180,116 @@ export declare function isPreconditionGuardEnabled(): boolean;
169
180
  * watermark differs even when the watermarks are equal.
170
181
  */
171
182
  export declare function latestEventStateUpdatedAt(events: Event[]): number | undefined;
183
+ /**
184
+ * Merge the events a bump-and-report write handed back into the log it was
185
+ * derived from, and answer how many of them were new.
186
+ *
187
+ * Unlike {@link appendUniqueEvents}, this re-sorts. The reported events occupy
188
+ * slots *below* the write that reported them, so appending them would put them
189
+ * after events they precede — and on a slot-numbered run the id order is the
190
+ * World's canonical order, so restoring it is well defined rather than a guess.
191
+ * A run that is not slot-numbered cannot produce this report in the first
192
+ * place; the sort is skipped rather than applied to ids it cannot order.
193
+ */
194
+ export declare function mergeReportedEvents(target: Event[], events: readonly Event[]): number;
195
+ /**
196
+ * The highest slot the loaded log occupies, or `undefined` when the run is not
197
+ * slot-numbered. A run keeps the id scheme it was created under, so one event
198
+ * settles it for the whole log.
199
+ *
200
+ * The maximum, not the count, and the two are not interchangeable even though
201
+ * a healthy log makes them equal. A World hands a position to the insert that
202
+ * occupies it, so a write that never lands leaves no hole behind and the log
203
+ * stays dense. What the count cannot survive is a *partial* read: a log
204
+ * assembled from a truncated report, or read while a concurrent write is
205
+ * committing, holds fewer events than its highest position. Counting those
206
+ * would make the next write claim to have seen less than it has, so the World
207
+ * would report the same events back to it on every attempt.
208
+ *
209
+ * A hole below the maximum is therefore a property of the read, not of the log,
210
+ * which is what lets {@link settleEventSlotGap} re-read instead of giving up.
211
+ */
212
+ export declare function maxEventSlot(events: Event[]): number | undefined;
213
+ /** A position the log skips over, described well enough to name in an error. */
214
+ export interface EventSlotGap {
215
+ /** The lowest slot below the log's maximum that no event occupies. */
216
+ firstMissingSlot: number;
217
+ /** How many slots below the maximum no event occupies. */
218
+ missingCount: number;
219
+ /** The highest slot the log occupies. */
220
+ maxSlot: number;
221
+ }
222
+ /**
223
+ * The hole in a loaded log, or `undefined` when there is none to find.
224
+ *
225
+ * On a slot-numbered run the World allocates every position, so a log that
226
+ * holds `n` events below slot `n` is missing one. That matters before a replay
227
+ * and nowhere else: the replay reads the log as the complete record of what has
228
+ * happened, and an absent position is indistinguishable from an event that
229
+ * never occurred. The branch it would have decided gets decided the other way,
230
+ * and the run diverges quietly rather than failing.
231
+ *
232
+ * Order-independent, unlike the equivalent audit the World runs over a page it
233
+ * just read. A loaded log is assembled from listed pages plus whatever a
234
+ * bump-and-report write handed back, and while {@link mergeReportedEvents}
235
+ * restores id order, a check that can fail a healthy run should not depend on
236
+ * that having happened.
237
+ *
238
+ * The first slot is never counted. It belongs to `run_created`, which `start()`
239
+ * posts concurrently with the queue send, so a log read in that window
240
+ * legitimately begins at the second slot and fills in on its own. Every replay
241
+ * that races a run's own start would otherwise report a hole.
242
+ *
243
+ * Returns `undefined` for a log this cannot read as slots at all: an empty one,
244
+ * or a run numbered by ULID, where positions carry no density to check.
245
+ */
246
+ export declare function findEventSlotGap(events: readonly Event[]): EventSlotGap | undefined;
247
+ /**
248
+ * How many times a detected hole is re-read before the log is taken at its
249
+ * word, and the backoff before each re-read (doubling per attempt).
250
+ *
251
+ * A hole can be transient. The World allocates a slot inside the insert that
252
+ * occupies it, so two concurrent writers can collide, one retry past the other,
253
+ * and the higher slot commit first — leaving a window in which the lower one is
254
+ * genuinely absent from a strongly-consistent read and fills in a moment later.
255
+ * The window is one commit wide, so a short backoff clears it; anything that
256
+ * survives all three re-reads is a position no write will ever occupy.
257
+ */
258
+ export declare const SLOT_GAP_RECHECK_ATTEMPTS = 3;
259
+ /**
260
+ * Re-read a log that looks holey until the hole fills in or the re-reads run
261
+ * out, and return the settled log alongside the hole that survived.
262
+ *
263
+ * Reads are strongly consistent, so a hole is not an artifact of *when* the log
264
+ * was read — but it can be an artifact of a write that had not committed yet
265
+ * (see {@link SLOT_GAP_RECHECK_ATTEMPTS}). Distinguishing the two costs a
266
+ * re-read, which is only ever paid by a replay that already found a hole.
267
+ *
268
+ * The reload is full rather than incremental: the missing position is below the
269
+ * log's maximum, so a cursor-anchored read starts past it and can never see it
270
+ * arrive.
271
+ */
272
+ export declare function settleEventSlotGap(runId: string, loaded: LoadedEventLog): Promise<{
273
+ log: LoadedEventLog;
274
+ gap: EventSlotGap | undefined;
275
+ }>;
172
276
  /**
173
277
  * The precondition snapshot a replay-context event creation sends, describing
174
278
  * the event log the replay derived the event from.
175
279
  *
176
- * The three fields are one indivisible unit: the backend reads the count only
177
- * relative to the watermark, and returns its inline delta only relative to the
178
- * cursor. Passing them as a single object is what keeps them from drifting
179
- * apart at a call site.
280
+ * On a slot-numbered run this is `eventCount`, optionally with the set of
281
+ * correlation ids the writer is blocked on. On a ULID-numbered run it is the
282
+ * `stateUpdatedAt` / `stateEventCount` / `stateCursor` triple, whose three
283
+ * fields are one indivisible unit: the backend reads the count only relative to
284
+ * the watermark, and returns its inline delta only relative to the cursor.
285
+ * Passing them as a single object is what keeps them from drifting apart at a
286
+ * call site.
180
287
  */
181
288
  export interface PreconditionSnapshotParams {
182
289
  stateUpdatedAt?: number;
183
290
  stateEventCount?: number;
184
291
  stateCursor?: string;
292
+ eventCount?: number;
185
293
  }
186
294
  /**
187
295
  * Build the precondition snapshot to attach to a replay-context event creation.
@@ -15,7 +15,9 @@
15
15
  *
16
16
  * The VM bootstrap is deliberately split into two phases:
17
17
  * 1. Static initialization (`initWorkflowVM`) — run-independent setup:
18
- * VM creation, the serde bundle, and the workflow primitives.
18
+ * VM creation and the workflow primitives. (Serialization lives on
19
+ * the host — see quickjs-serde.ts — so no serde code is evaluated
20
+ * in the VM.)
19
21
  * 2. Per-run initialization (inline in `runQuickJSWorkflow`) — seeded
20
22
  * PRNG/ULID host functions, workflow bundle evaluation, run metadata,
21
23
  * workflow input, and start.
@@ -27,6 +29,7 @@
27
29
  * `node:vm` engine's replay determinism.
28
30
  */
29
31
  import type { Event, RunInput, WorkflowRun, WorldCapabilities } from '#compiled/@workflow/world/index.js';
32
+ import { type Snapshot } from '../_quickjs-wasi.js';
30
33
  import type { DecryptionKey } from '../serialization/encryption.js';
31
34
  export interface PendingStep {
32
35
  type: 'step';
@@ -163,6 +166,37 @@ export interface QuickJSRuntimeOptions {
163
166
  */
164
167
  runInput?: RunInput;
165
168
  }
169
+ /**
170
+ * Eval filename used when hydrating the baseline VM. The baseline is
171
+ * shared by EVERY workflow in the bundle, so the filename baked into
172
+ * its compiled code (and therefore into snapshot-path stack frames)
173
+ * must be workflow-independent — hydrating under the first caller's
174
+ * workflowId would break `remapErrorStack`'s filename matching for
175
+ * every other workflow in the bundle. Remap call sites match this
176
+ * constant IN ADDITION to the run's module specifier (which covers
177
+ * fresh-path frames).
178
+ */
179
+ export declare const BASELINE_BUNDLE_FILENAME = "workflow-bundle.js";
180
+ type BaselineEntry = {
181
+ state: 'ready';
182
+ snapshot: Snapshot;
183
+ /**
184
+ * Raw box pointer of the serde capture root created BEFORE the
185
+ * bundle evaluated (see captureSerdeRoot). The box lives in the
186
+ * snapshot's memory image at this offset; every restored VM
187
+ * re-adopts it so serde initialization executes no guest code
188
+ * after user code has run — capture-before-user-code semantics,
189
+ * identical to the fresh path.
190
+ */
191
+ serdeRootPtr: number;
192
+ } | {
193
+ state: 'ineligible';
194
+ reason: string;
195
+ };
196
+ /** Test-only: reset the baseline cache between test cases. */
197
+ export declare function __clearBaselineSnapshotCacheForTests(): void;
198
+ /** Test-only: observe how a bundle was classified. */
199
+ export declare function __peekBaselineEntryForTests(workflowCode: string): Promise<BaselineEntry | undefined>;
166
200
  /**
167
201
  * A live QuickJS workflow invocation. When the initial `result` is
168
202
  * `suspended`, the VM is kept alive so the caller can feed newly recorded
@@ -190,4 +224,5 @@ export interface QuickJSWorkflowSession {
190
224
  */
191
225
  export declare function runQuickJSWorkflow(options: QuickJSRuntimeOptions): Promise<QuickJSRuntimeResult>;
192
226
  export declare function startQuickJSWorkflow(options: QuickJSRuntimeOptions): Promise<QuickJSWorkflowSession>;
227
+ export {};
193
228
  //# sourceMappingURL=quickjs-runtime.d.ts.map