diff --git a/.changeset/upgrade-workflow-beta-44.md b/.changeset/upgrade-workflow-beta-44.md new file mode 100644 index 0000000000..d59a4dc1d0 --- /dev/null +++ b/.changeset/upgrade-workflow-beta-44.md @@ -0,0 +1,5 @@ +--- +"eve": patch +--- + +Upgrade the bundled Workflow DevKit packages to the latest 5.0 beta releases, including sealed-log event ordering and long-polling run completion. diff --git a/e2e/fixtures/agent-workflow-stress/evals/sequential-workflow-turns.eval.ts b/e2e/fixtures/agent-workflow-stress/evals/sequential-workflow-turns.eval.ts index f593466bad..c3cf911a04 100644 --- a/e2e/fixtures/agent-workflow-stress/evals/sequential-workflow-turns.eval.ts +++ b/e2e/fixtures/agent-workflow-stress/evals/sequential-workflow-turns.eval.ts @@ -6,6 +6,7 @@ const TURN_COUNT = 100; export default defineEval({ description: "Workflow stress: one durable session completes 100 sequential turns.", tags: ["stress", "workflow", "sequential"], + timeoutMs: 900_000, async test(t) { let sessionId: string | undefined; diff --git a/e2e/fixtures/fixture-tasks/agent/subagents/busy-worker/tools/hold.ts b/e2e/fixtures/fixture-tasks/agent/subagents/busy-worker/tools/hold.ts index d843ccc01b..9db3b2748e 100644 --- a/e2e/fixtures/fixture-tasks/agent/subagents/busy-worker/tools/hold.ts +++ b/e2e/fixtures/fixture-tasks/agent/subagents/busy-worker/tools/hold.ts @@ -1,11 +1,10 @@ import { defineTool } from "eve/tools"; +import { once } from "eve/tools/approval"; import { z } from "zod"; export default defineTool({ - description: "Keep an admitted continuation nonterminal long enough for a later-turn check.", + description: "Keep an admitted continuation nonterminal until its parent releases it.", inputSchema: z.object({ marker: z.literal("HOLD") }), - execute: async ({ marker }) => { - await new Promise((resolve) => setTimeout(resolve, 5_000)); - return { marker, released: true }; - }, + approval: once(), + execute: async ({ marker }) => ({ marker, released: true }), }); diff --git a/e2e/fixtures/fixture-tasks/evals/task.agent.continue.rejected-agent-busy.eval.ts b/e2e/fixtures/fixture-tasks/evals/task.agent.continue.rejected-agent-busy.eval.ts index d9ea0583a9..77d6145c2d 100644 --- a/e2e/fixtures/fixture-tasks/evals/task.agent.continue.rejected-agent-busy.eval.ts +++ b/e2e/fixtures/fixture-tasks/evals/task.agent.continue.rejected-agent-busy.eval.ts @@ -4,6 +4,7 @@ import { parseToolErrorOutput, sendAndFollowQueuedTurn, waitForCompletedTask, + waitForTaskInput, } from "./shared.js"; /** A persistent child with a nonterminal task rejects every competing continuation. */ @@ -14,6 +15,8 @@ export default defineTaskEval({ primary: "task.agent.continue.rejected-agent-busy", setup: [ "task.dispatch.start.accepted-acknowledged", + "task.input.require.accepted-valid-batch", + "task.input.answer.accepted-complete", "task.lifecycle.complete.accepted-nonterminal", "task.agent.continue.accepted-terminal-available", ], @@ -69,7 +72,17 @@ export default defineTaskEval({ status: "failed", }); - await waitForCompletedTask(t, later.session, "CHILD-TASK-EXCLUSIVITY-VERIFY", admittedTaskId); + const blocked = await waitForTaskInput(t, later.session, "hold"); + const released = await blocked.session.respond([ + { + optionId: "approve", + requestId: blocked.request.requestId, + }, + ]); + released.expectOk(); + released.noFailedActions(); + + await waitForCompletedTask(t, blocked.session, "CHILD-TASK-EXCLUSIVITY-VERIFY", admittedTaskId); }, }); diff --git a/e2e/fixtures/fixture-tasks/evals/task.parent.wake.emitted-ready.conditional-delivery.eval.ts b/e2e/fixtures/fixture-tasks/evals/task.parent.wake.emitted-ready.conditional-delivery.eval.ts index f23547db53..4518eb26f3 100644 --- a/e2e/fixtures/fixture-tasks/evals/task.parent.wake.emitted-ready.conditional-delivery.eval.ts +++ b/e2e/fixtures/fixture-tasks/evals/task.parent.wake.emitted-ready.conditional-delivery.eval.ts @@ -1,8 +1,12 @@ -import type { EveEvalTurn } from "eve/evals"; +import type { EveEvalContext, EveEvalTurn } from "eve/evals"; import { satisfies } from "eve/evals/expect"; import { defineTaskEval } from "./task-transition.js"; -import { requireSessionStreamIndex } from "./shared.js"; +import { + requireSessionStreamIndex, + type TaskEvalSessionDriver, + waitForTaskInput, +} from "./shared.js"; const REVIEW_FINDING = "blocker: task admission can discard deferred user input."; @@ -14,6 +18,8 @@ export default defineTaskEval({ primary: "task.parent.wake.emitted-ready", setup: [ "task.dispatch.start.accepted-acknowledged", + "task.input.require.accepted-valid-batch", + "task.input.answer.accepted-complete", "task.lifecycle.complete.accepted-nonterminal", ], dimensions: { transport: "local", parentPhase: "parked" }, @@ -36,11 +42,14 @@ export default defineTaskEval({ ), ); - const sessionId = started.sessionId; - const firstLive = t.target.watchTurn(sessionId, { - startIndex: requireSessionStreamIndex(t, "First reviewer wake"), - }); - const firstWake = await firstLive.result(); + const blocked = await waitForTaskInput(t, t, "hold"); + const firstObserved = await waitForTaskNotification( + t, + blocked.session, + blocked.observedTurns, + "First reviewer wake", + ); + const firstWake = firstObserved.turn; firstWake.expectOk(); const firstNotification = requireTaskNotification(firstWake); @@ -65,10 +74,22 @@ export default defineTaskEval({ satisfies((message) => message === undefined, "the pending cohort wake is silent"), ); - const secondLive = t.target.watchTurn(sessionId, { - startIndex: requireSessionStreamIndex(firstLive.session, "Late reviewer wake"), - }); - const wake = await secondLive.result(); + const released = await firstObserved.session.respond([ + { + optionId: "approve", + requestId: blocked.request.requestId, + }, + ]); + released.expectOk(); + released.noFailedActions(); + + const lateObserved = await waitForTaskNotification( + t, + firstObserved.session, + [released], + "Late reviewer wake", + ); + const wake = lateObserved.turn; wake.expectOk(); const lateNotification = requireTaskNotification(wake); @@ -98,11 +119,43 @@ interface TaskNotification { readonly taskId: string; } +interface ObservedTaskNotification { + readonly session: TaskEvalSessionDriver; + readonly turn: EveEvalTurn; +} + +async function waitForTaskNotification( + t: EveEvalContext, + initialSession: TaskEvalSessionDriver, + observedTurns: readonly EveEvalTurn[], + operation: string, +): Promise { + const observed = observedTurns.find((turn) => taskNotification(turn) !== undefined); + if (observed !== undefined) return { session: initialSession, turn: observed }; + + const sessionId = initialSession.sessionId; + if (sessionId === undefined) throw new Error(`${operation} has no parent session id.`); + const live = t.target.watchTurn(sessionId, { + startIndex: requireSessionStreamIndex(initialSession, operation), + }); + const turn = await live.result(); + if (taskNotification(turn) === undefined) { + throw new Error(`${operation} has no completed-task notification.`); + } + return { session: live.session, turn }; +} + function requireTaskNotification(turn: EveEvalTurn): TaskNotification { + const notification = taskNotification(turn); + if (notification !== undefined) return notification; + throw new Error("Reviewer wake has no completed-task notification."); +} + +function taskNotification(turn: EveEvalTurn): TaskNotification | undefined { for (const event of turn.events) { if (event.type !== "message.received" || typeof event.data.message !== "string") continue; const taskId = /Background task (task_[a-z0-9]+)/iu.exec(event.data.message)?.[1]; if (taskId !== undefined) return { message: event.data.message, taskId }; } - throw new Error("Reviewer wake has no completed-task notification."); + return undefined; } diff --git a/packages/eve/package.json b/packages/eve/package.json index 5b6001aad4..6ba81f1977 100644 --- a/packages/eve/package.json +++ b/packages/eve/package.json @@ -420,13 +420,13 @@ "@vercel/sandbox": "catalog:", "@vercel/sandbox-drives": "catalog:", "@vercel/sdk": "1.28.8", - "@workflow/core": "5.0.0-beta.43", - "@workflow/errors": "5.0.0-beta.17", + "@workflow/core": "5.0.0-beta.44", + "@workflow/errors": "5.0.0-beta.18", "@workflow/serde": "5.0.0-beta.2", - "@workflow/utils": "5.0.0-beta.8", - "@workflow/world": "5.0.0-beta.28", - "@workflow/world-local": "5.0.0-beta.37", - "@workflow/world-vercel": "5.0.0-beta.39", + "@workflow/utils": "5.0.0-beta.9", + "@workflow/world": "5.0.0-beta.29", + "@workflow/world-local": "5.0.0-beta.38", + "@workflow/world-vercel": "5.0.0-beta.40", "ai": "catalog:", "autoevals": "0.0.132", "chat": "4.34.0", diff --git a/packages/eve/src/internal/workflow/development-world-client.ts b/packages/eve/src/internal/workflow/development-world-client.ts index e2a9baa64a..46a5f8cd3b 100644 --- a/packages/eve/src/internal/workflow/development-world-client.ts +++ b/packages/eve/src/internal/workflow/development-world-client.ts @@ -89,7 +89,7 @@ async function call( export function createDevelopmentWorkflowWorld(): World { const forwarded = buildForwardedOperations(); const world = { - specVersion: 6 as SpecVersion, + specVersion: 7 as SpecVersion, async getDeploymentId() { // Inside a pinned delivery, steps and child runs must record the // delivery's generation — not whatever is active — so replay after a diff --git a/packages/eve/test/scenarios/compiled-vendor-assets.scenario.test.ts b/packages/eve/test/scenarios/compiled-vendor-assets.scenario.test.ts index a189be5bdc..3fb87c2342 100644 --- a/packages/eve/test/scenarios/compiled-vendor-assets.scenario.test.ts +++ b/packages/eve/test/scenarios/compiled-vendor-assets.scenario.test.ts @@ -270,7 +270,7 @@ describe("compiled vendor assets", () => { readFile(join(COMPILED_VENDOR_ROOT, "@workflow/core/runtime/run.d.ts"), "utf8"), ]); - expect(indexDts).toContain("Just the core utilities"); + expect(indexDts).toContain("Core utilities intended for import by user"); expect(indexDts).toContain("from '#compiled/@workflow/errors/index.js'"); expect(createHookDts).toContain("Creates a {@link Hook}"); expect(workflowDts).toBe(`export * from "./workflow/index.js";\n`); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2aa1906779..2b4f0b6c30 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,8 +58,8 @@ catalogs: specifier: npm:@vercel/sandbox@2.10.0-beta.0 version: 2.10.0-beta.0 '@workflow/world-postgres': - specifier: 5.0.0-beta.35 - version: 5.0.0-beta.35 + specifier: 5.0.0-beta.36 + version: 5.0.0-beta.36 ai: specifier: ^7.0.58 version: 7.0.58 @@ -580,7 +580,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -602,7 +602,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -624,7 +624,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -646,7 +646,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -671,7 +671,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -693,7 +693,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -737,7 +737,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -756,7 +756,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -778,7 +778,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -800,7 +800,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -822,7 +822,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -844,7 +844,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -863,7 +863,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -882,7 +882,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -904,7 +904,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -926,7 +926,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -954,7 +954,7 @@ importers: version: file:e2e/fixtures/agent-tools/fixtures/dynamic-import-dependency '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -976,7 +976,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -998,7 +998,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -1020,7 +1020,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -1042,7 +1042,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -1061,7 +1061,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -1105,7 +1105,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -1136,7 +1136,7 @@ importers: version: link:../e2e-config '@workflow/world-postgres': specifier: 'catalog:' - version: 5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2) eve: specifier: workspace:* version: link:../../../packages/eve @@ -1330,26 +1330,26 @@ importers: specifier: 1.28.8 version: 1.28.8 '@workflow/core': - specifier: 5.0.0-beta.43 - version: 5.0.0-beta.43(@opentelemetry/api@1.9.1)(bufferutil@4.1.0)(supports-color@10.2.2)(ws@8.21.3(bufferutil@4.1.0)) + specifier: 5.0.0-beta.44 + version: 5.0.0-beta.44(@opentelemetry/api@1.9.1)(bufferutil@4.1.0)(supports-color@10.2.2)(ws@8.21.3(bufferutil@4.1.0)) '@workflow/errors': - specifier: 5.0.0-beta.17 - version: 5.0.0-beta.17 + specifier: 5.0.0-beta.18 + version: 5.0.0-beta.18 '@workflow/serde': specifier: 5.0.0-beta.2 version: 5.0.0-beta.2 '@workflow/utils': - specifier: 5.0.0-beta.8 - version: 5.0.0-beta.8 + specifier: 5.0.0-beta.9 + version: 5.0.0-beta.9 '@workflow/world': - specifier: 5.0.0-beta.28 - version: 5.0.0-beta.28 + specifier: 5.0.0-beta.29 + version: 5.0.0-beta.29 '@workflow/world-local': - specifier: 5.0.0-beta.37 - version: 5.0.0-beta.37(@opentelemetry/api@1.9.1) + specifier: 5.0.0-beta.38 + version: 5.0.0-beta.38(@opentelemetry/api@1.9.1) '@workflow/world-vercel': - specifier: 5.0.0-beta.39 - version: 5.0.0-beta.39(@aws-sdk/credential-provider-web-identity@3.972.49)(@opentelemetry/api@1.9.1)(bufferutil@4.1.0) + specifier: 5.0.0-beta.40 + version: 5.0.0-beta.40(@aws-sdk/credential-provider-web-identity@3.972.49)(@opentelemetry/api@1.9.1)(bufferutil@4.1.0) ai: specifier: 'catalog:' version: 7.0.58(zod@4.4.3) @@ -8239,16 +8239,16 @@ packages: '@webgpu/types@0.1.71': resolution: {integrity: sha512-mMy8/ODcKhab808co15eW+yN+HgXoQxRQHTiBV9Mrvl1r0ufnid7YOcI+gi4eUWSWl9ezD6TW2KXccrL8HCh2A==} - '@workflow/core@5.0.0-beta.43': - resolution: {integrity: sha512-o3vdzxhL9HNJ3zA7GzCw0dkFNQryMVv8FUfb8c1XdKx4+gnQuOQFYj1TQadmPnCsRoJh1eVVe2y8OtvevuZwsg==} + '@workflow/core@5.0.0-beta.44': + resolution: {integrity: sha512-LaQfLMCYTHnV8cZtMhXROIOld61xi0c0LlxH24d7ToHoh6hrzKN8lAh04ZccFRQ+/Qo0f+7ewItUmSSxDiZncQ==} peerDependencies: '@opentelemetry/api': '1' peerDependenciesMeta: '@opentelemetry/api': optional: true - '@workflow/errors@5.0.0-beta.17': - resolution: {integrity: sha512-orc86yllgOKpss/o5YD4kuhRbng+4aq8i4pPJR4uZCFeNpn4I4A+ek83lelQf31EJ5tyf12ikceOjabQxp317A==} + '@workflow/errors@5.0.0-beta.18': + resolution: {integrity: sha512-Q2J0dz/yJJv6JNH7hyyqQ6ERc/Xpup7HNelFL+cNE0zU5We1c6GgV37bAoc2qsmyJO8Is5wSo4phlkorEQNfTA==} '@workflow/serde@4.1.0': resolution: {integrity: sha512-pav4F2BoirECWR7Nf1TKt+2eETcBj7jj4cBefQ8VXQCA6NPkaKeLfj/zMgi+3zYV5ZIBT4GuUiphsj0/b9hPQQ==} @@ -8259,31 +8259,31 @@ packages: '@workflow/serde@5.0.0-beta.2': resolution: {integrity: sha512-INB+FcEKQkkFZa+s53sEMTNRFiBa2g9vzjsNuEDagvWxtI0t/cnCyoc57i7kS7nj+3/vGeRjO4Yn5ccbT0hyBQ==} - '@workflow/utils@5.0.0-beta.8': - resolution: {integrity: sha512-dDiQ/LT05g9HyOicqWNNX/Gw/fmO7Ma2kZ+ddUXXpm/EFTMRS9eiI69suSe1+1NnhMzdV6ObI8wrO5lvQqPIbg==} + '@workflow/utils@5.0.0-beta.9': + resolution: {integrity: sha512-EvwbO41RiiuFZlGuAt4f10BkrhfNmz7YKgqUm2VmL6Ib5WFcfIpoaLStCML91LeGgMyO5bwsf1m7Zm8IPprSdQ==} - '@workflow/world-local@5.0.0-beta.37': - resolution: {integrity: sha512-rruX3MZUqIyaFIEeHrdHyG6caogSFtf06Zxz1FYBOjNTKs4dE3W67obHM5rzD/5mjlQc9dmTye1/3+0NQ6wyag==} + '@workflow/world-local@5.0.0-beta.38': + resolution: {integrity: sha512-XOTfsmiaV3F9qzAWDyoHmAn8RYnVLouE4E6254kxc5VfzrOXsW5jcfIXHhRC6dwGYNC2aZVjiX4SMV2io8Ardw==} peerDependencies: '@opentelemetry/api': '1' peerDependenciesMeta: '@opentelemetry/api': optional: true - '@workflow/world-postgres@5.0.0-beta.35': - resolution: {integrity: sha512-VkkjYslEXb1gfdUyP+wJYlZGkEr2ZtdLRWaiDahYDWG/5YTWQ5tdBJBY1qEBm4XLEJp2wfVGu6ko5utzypD98Q==} + '@workflow/world-postgres@5.0.0-beta.36': + resolution: {integrity: sha512-KmjQjGV/wrXKIkAJWzSuewdD9GS3fpgBzvQFYJrv/4lo8wJYtAJP119Dh+iyGOjzeFVl+MC363ZpO6FjbrAh4Q==} hasBin: true - '@workflow/world-vercel@5.0.0-beta.39': - resolution: {integrity: sha512-9Rr+P7pJ07nbOXGZPgYBbvhW11UqFa64xHmln3hjIndpN2/f04Td8lZLR6u5FTxrN+hZSd85ORih3j1a0Ov20w==} + '@workflow/world-vercel@5.0.0-beta.40': + resolution: {integrity: sha512-QDh5Zi/OeIBK5O3zRHG0yPhDAplcXoCgODivq6WGgvKWwvSNVUiBswtu+R4uCB7HnZCzJgSC/knc5yE09vnZXA==} peerDependencies: '@opentelemetry/api': '1' peerDependenciesMeta: '@opentelemetry/api': optional: true - '@workflow/world@5.0.0-beta.28': - resolution: {integrity: sha512-dW1gH4lL4GClAzklgQhQvKVo4pCmWwqrUN06ni+a6jdVt9Uk5MEPdDTBzYpDYH0caYvlFscIzajaYpE5ol2aRA==} + '@workflow/world@5.0.0-beta.29': + resolution: {integrity: sha512-3z5GHEJgvb2AFfznQ4JfT1rm5U9jNupuG4YtrUUrtJ+807JkcjhP85fMN7Jo30975CcPPgnZmlnYI4sM0Y1d/w==} '@zernio/chat-sdk-adapter@0.5.0': resolution: {integrity: sha512-YYcnbCqUhJOymTd3UPaKd1H6Kn8atFE075I5vDETYkTjToIeZd90as/JvShB7OurMdDLLSmJRMJs3RWVqAGW9w==} @@ -23004,19 +23004,19 @@ snapshots: '@webgpu/types@0.1.71': {} - '@workflow/core@5.0.0-beta.43(@opentelemetry/api@1.9.1)(bufferutil@4.1.0)(supports-color@10.2.2)(ws@8.21.3(bufferutil@4.1.0))': + '@workflow/core@5.0.0-beta.44(@opentelemetry/api@1.9.1)(bufferutil@4.1.0)(supports-color@10.2.2)(ws@8.21.3(bufferutil@4.1.0))': dependencies: '@aws-sdk/credential-provider-web-identity': 3.972.49 '@jridgewell/trace-mapping': 0.3.31 '@standard-schema/spec': 1.0.0 '@types/ms': 2.1.0 '@vercel/functions': 3.9.3(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3(bufferutil@4.1.0)) - '@workflow/errors': 5.0.0-beta.17 + '@workflow/errors': 5.0.0-beta.18 '@workflow/serde': 5.0.0-beta.2 - '@workflow/utils': 5.0.0-beta.8 - '@workflow/world': 5.0.0-beta.28 - '@workflow/world-local': 5.0.0-beta.37(@opentelemetry/api@1.9.1) - '@workflow/world-vercel': 5.0.0-beta.39(@aws-sdk/credential-provider-web-identity@3.972.49)(@opentelemetry/api@1.9.1)(bufferutil@4.1.0) + '@workflow/utils': 5.0.0-beta.9 + '@workflow/world': 5.0.0-beta.29 + '@workflow/world-local': 5.0.0-beta.38(@opentelemetry/api@1.9.1) + '@workflow/world-vercel': 5.0.0-beta.40(@aws-sdk/credential-provider-web-identity@3.972.49)(@opentelemetry/api@1.9.1)(bufferutil@4.1.0) debug: 4.4.3(supports-color@10.2.2) devalue: 5.9.0 ms: 2.1.3 @@ -23034,9 +23034,9 @@ snapshots: - utf-8-validate - ws - '@workflow/errors@5.0.0-beta.17': + '@workflow/errors@5.0.0-beta.18': dependencies: - '@workflow/utils': 5.0.0-beta.8 + '@workflow/utils': 5.0.0-beta.9 ms: 2.1.3 '@workflow/serde@4.1.0': {} @@ -23045,16 +23045,16 @@ snapshots: '@workflow/serde@5.0.0-beta.2': {} - '@workflow/utils@5.0.0-beta.8': + '@workflow/utils@5.0.0-beta.9': dependencies: ms: 2.1.3 - '@workflow/world-local@5.0.0-beta.37(@opentelemetry/api@1.9.1)': + '@workflow/world-local@5.0.0-beta.38(@opentelemetry/api@1.9.1)': dependencies: '@vercel/queue': 0.5.0(@opentelemetry/api@1.9.1) - '@workflow/errors': 5.0.0-beta.17 - '@workflow/utils': 5.0.0-beta.8 - '@workflow/world': 5.0.0-beta.28 + '@workflow/errors': 5.0.0-beta.18 + '@workflow/utils': 5.0.0-beta.9 + '@workflow/world': 5.0.0-beta.29 async-sema: 3.1.1 proper-lockfile: 4.1.2 ulid: 3.0.2 @@ -23063,13 +23063,13 @@ snapshots: optionalDependencies: '@opentelemetry/api': 1.9.1 - '@workflow/world-postgres@5.0.0-beta.35(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2)': + '@workflow/world-postgres@5.0.0-beta.36(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(sql.js@1.14.1)(supports-color@10.2.2)(typescript@7.0.2)': dependencies: '@vercel/queue': 0.5.0(@opentelemetry/api@1.9.1) - '@workflow/errors': 5.0.0-beta.17 - '@workflow/utils': 5.0.0-beta.8 - '@workflow/world': 5.0.0-beta.28 - '@workflow/world-local': 5.0.0-beta.37(@opentelemetry/api@1.9.1) + '@workflow/errors': 5.0.0-beta.18 + '@workflow/utils': 5.0.0-beta.9 + '@workflow/world': 5.0.0-beta.29 + '@workflow/world-local': 5.0.0-beta.38(@opentelemetry/api@1.9.1) cbor-x: 1.6.0 dotenv: 17.3.1 drizzle-orm: 0.45.2(@opentelemetry/api@1.9.1)(@types/pg@8.20.0)(@upstash/redis@1.38.0)(pg@8.20.0)(sql.js@1.14.1) @@ -23110,13 +23110,14 @@ snapshots: - supports-color - typescript - '@workflow/world-vercel@5.0.0-beta.39(@aws-sdk/credential-provider-web-identity@3.972.49)(@opentelemetry/api@1.9.1)(bufferutil@4.1.0)': + '@workflow/world-vercel@5.0.0-beta.40(@aws-sdk/credential-provider-web-identity@3.972.49)(@opentelemetry/api@1.9.1)(bufferutil@4.1.0)': dependencies: '@vercel/functions': 3.9.3(@aws-sdk/credential-provider-web-identity@3.972.49)(ws@8.21.3(bufferutil@4.1.0)) '@vercel/oidc': 3.2.0 '@vercel/queue': 0.5.0(@opentelemetry/api@1.9.1) - '@workflow/errors': 5.0.0-beta.17 - '@workflow/world': 5.0.0-beta.28 + '@workflow/errors': 5.0.0-beta.18 + '@workflow/utils': 5.0.0-beta.9 + '@workflow/world': 5.0.0-beta.29 cbor-x: 1.6.0 ulid: 3.0.2 undici: 7.29.0 @@ -23129,7 +23130,7 @@ snapshots: - bufferutil - utf-8-validate - '@workflow/world@5.0.0-beta.28': + '@workflow/world@5.0.0-beta.29': dependencies: ulid: 3.0.2 zod: 4.3.6 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4290426b36..18f27a1f9a 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -42,7 +42,7 @@ catalog: "@vercel/otel": "2.1.3" "@vercel/sandbox": "2.8.0" "@vercel/sandbox-drives": "npm:@vercel/sandbox@2.10.0-beta.0" - "@workflow/world-postgres": "5.0.0-beta.35" + "@workflow/world-postgres": "5.0.0-beta.36" ai: "^7.0.58" better-auth: "1.6.26" marked: "17.0.6"