Releases: vercel/workflow
Releases · vercel/workflow
workflow@4.2.1
Immutable
release. Only release title and notes can be modified.
@workflow/core@4.2.1
- #1657
f5fb9b7@workflow-devkit-release-bot - Remove redundanthc_prefix from health check correlationId that caused doubledhc_hc_in the derived runId and stream name.
@workflow/web-shared@4.1.1
d210a59@karthikscale3 - Fix event data loading for step_created events
@workflow/ai@4.1.1
- #1657
7faedb7@workflow-devkit-release-bot - fix(ai): preserve provider tool identity across step boundaries
workflow@5.0.0-beta.1
Immutable
release. Only release title and notes can be modified.
@workflow/core@5.0.0-beta.1
- #1293
66d49c0@VaguelySerious - BREAKING CHANGE: Restructure stream methods on World interface to useworld.streams.*namespace withrunIdas the first parameter.writeToStream(name, runId, chunk)→streams.write(runId, name, chunk),writeToStreamMulti→streams.writeMulti,closeStream→streams.close,readFromStream→streams.get(runId, name, startIndex?),listStreamsByRunId→streams.list(runId). - #1632
0a86de3@TooTallNate - BREAKING CHANGE: Remove@workflow/core/privateandworkflow/internal/privatepublic subpath exports. The SWC compiler plugin no longer generates imports from these paths. - #1293
66d49c0@VaguelySerious - RequirerunIdargument forworld.steps.get. - #1652
ec517fa@TooTallNate - Addfeatures.encryptiontoWorkflowMetadatareturned bygetWorkflowMetadata() - #1616
71d39d2@TooTallNate - Use custom class serialization forRunacross runtime and workflow VM contexts, and add e2e coverage forRuninstance boundary roundtrips - #1677
9513a81@TooTallNate - Add serialization support for workflow function references - #1658
a5c90ce@VaguelySerious - Fix community world E2E tests by addingspecVersionto the World interface sostart()uses the safe baseline (v2) for worlds that don't declare their supported version - #1678
ea97bd6@TooTallNate - Remove redundanthc_prefix from health check correlationId that caused doubledhc_hc_in the derived runId and stream name. - #942
873b4e2@VaguelySerious - BREAKING CHANGE: MakegetWorldandcreateWorldasynchronous to support ESM dynamic imports for custom world modules. All callers must nowawait getWorld().
@workflow/cli@5.0.0-beta.1
- #1293
66d49c0@VaguelySerious - BREAKING CHANGE: Restructure stream methods on World interface to useworld.streams.*namespace withrunIdas the first parameter.writeToStream(name, runId, chunk)→streams.write(runId, name, chunk),writeToStreamMulti→streams.writeMulti,closeStream→streams.close,readFromStream→streams.get(runId, name, startIndex?),listStreamsByRunId→streams.list(runId). - #1293
66d49c0@VaguelySerious - RequirerunIdargument forworld.steps.get. - #1562
e436242@VaguelySerious - Switch Vercel Build Output API and standalone builder output from CJS to ESM. Step bundles, workflow bundles, and webhook bundles now emit ESM format by default, preserving nativeimport.meta.urlsupport and eliminating the need for CJS polyfills. Fully-bundled ESM output includes acreateRequirebanner to support CJS dependencies that userequire()for Node.js builtins. The intermediate workflow bundle (which runs insidevm.runInContext) remains CJS as required by the VM execution model. - #942
873b4e2@VaguelySerious - BREAKING CHANGE: MakegetWorldandcreateWorldasynchronous to support ESM dynamic imports for custom world modules. All callers must nowawait getWorld().
@workflow/world@5.0.0-beta.1
- #1293
66d49c0@VaguelySerious - BREAKING CHANGE: Restructure stream methods on World interface to useworld.streams.*namespace withrunIdas the first parameter.writeToStream(name, runId, chunk)→streams.write(runId, name, chunk),writeToStreamMulti→streams.writeMulti,closeStream→streams.close,readFromStream→streams.get(runId, name, startIndex?),listStreamsByRunId→streams.list(runId). - #1293
66d49c0@VaguelySerious - RequirerunIdargument forworld.steps.get. - #1658
a5c90ce@VaguelySerious - Fix community world E2E tests by addingspecVersionto the World interface sostart()uses the safe baseline (v2) for worlds that don't declare their supported version
@workflow/world-local@5.0.0-beta.1
- #1293
66d49c0@VaguelySerious - BREAKING CHANGE: Restructure stream methods on World interface to useworld.streams.*namespace withrunIdas the first parameter.writeToStream(name, runId, chunk)→streams.write(runId, name, chunk),writeToStreamMulti→streams.writeMulti,closeStream→streams.close,readFromStream→streams.get(runId, name, startIndex?),listStreamsByRunId→streams.list(runId). - #1293
66d49c0@VaguelySerious - RequirerunIdargument forworld.steps.get. - #1658
a5c90ce@VaguelySerious - Fix community world E2E tests by addingspecVersionto the World interface sostart()uses the safe baseline (v2) for worlds that don't declare their supported version
@workflow/world-postgres@5.0.0-beta.1
- #1293
66d49c0@VaguelySerious - BREAKING CHANGE: Restructure stream methods on World interface to useworld.streams.*namespace withrunIdas the first parameter.writeToStream(name, runId, chunk)→streams.write(runId, name, chunk),writeToStreamMulti→streams.writeMulti,closeStream→streams.close,readFromStream→streams.get(runId, name, startIndex?),listStreamsByRunId→streams.list(runId). - #1293
66d49c0@VaguelySerious - RequirerunIdargument forworld.steps.get. - #1658
a5c90ce@VaguelySerious - Fix community world E2E tests by addingspecVersionto the World interface sostart()uses the safe baseline (v2) for worlds that don't declare their supported version
@workflow/world-vercel@5.0.0-beta.1
- #1293
66d49c0@VaguelySerious - BREAKING CHANGE: Restructure stream methods on World interface to useworld.streams.*namespace withrunIdas the first parameter.writeToStream(name, runId, chunk)→streams.write(runId, name, chunk),writeToStreamMulti→streams.writeMulti,closeStream→streams.close,readFromStream→streams.get(runId, name, startIndex?),listStreamsByRunId→streams.list(runId). - #1293
66d49c0@VaguelySerious - RequirerunIdargument forworld.steps.get. - [#1658](https://github.com/vercel/workflow/pull/...
workflow@5.0.0-beta.0
Immutable
release. Only release title and notes can be modified.
@workflow/core@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/cli@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/world@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/world-local@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/world-postgres@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/world-vercel@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/world-testing@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/web@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/web-shared@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/ai@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/typescript-plugin@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/swc-plugin@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release - #1641
35b539b@TooTallNate - Adddetectmode to SWC plugin and use it during discovery to filter false positive directive detections - #1630
bab8cdd@TooTallNate - Support getter functions with"use step"directive
@workflow/builders@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release - #1641
35b539b@TooTallNate - Adddetectmode to SWC plugin and use it during discovery to filter false positive directive detections - #1644
372abba@TooTallNate - Fix Node.js builtin imports being relativized in step bundles
@workflow/next@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release - #1641
35b539b@TooTallNate - Adddetectmode to SWC plugin and use it during discovery to filter false positive directive detections
@workflow/nitro@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/nuxt@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/sveltekit@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/astro@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/vite@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/rollup@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/errors@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/utils@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/nest@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/serde@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
@workflow/vitest@5.0.0-beta.0
- #1642
c5cdfc0@VaguelySerious - Initial v5 beta release
workflow@4.2.0-beta.78
Immutable
release. Only release title and notes can be modified.
@workflow/core@4.2.0-beta.78
- #1627
5f138f2@VaguelySerious - Bump specVersion to 3 and gate CBOR queue transport on spec version. Old deployments (specVersion < 3) receive JSON queue messages; new deployments receive CBOR. Handler uses dual transport to deserialize both formats. Fixes replay/reenqueue from dashboard to older deployments. - #1629
a6bcea9@VaguelySerious - CLIstartcommand probes deployment specVersion via health check before choosing queue transport. Health check always uses JSON transport for compatibility with old deployments. - #1533
7e70d18@VaguelySerious - AddstreamFlushIntervalMsoption toStreamerinterface, optional for worlds to allow overwriting the default of 10ms in low-latency environments. - #1512
ba916e1@TooTallNate - AddDOMExceptionto the workflow VM context and add first-class serialization support, preservingmessage,name, and derivedcodeacross serialization boundaries - #1618
c9b3038@VaguelySerious - fix(core): properly propagate stream cancellation on disconnect - #1537
c8dce52@VaguelySerious - Allow workflow invocation to create run if initial storage call instartdid not succeed. Send run input through queue to enable this. Allow creating run_created and run_started events together in World, and skip first event list call by returning events directly. - #1606
ab872cc@VaguelySerious - Make registeredSteps a global singleton to protect against module duplication and caching issues
@workflow/cli@4.2.0-beta.78
- #1552
f5d2aef@TooTallNate - Addworkflow transformcommand for inspecting SWC transform output with optional serde compliance analysis - #1552
f5d2aef@TooTallNate - Implement serde compliance checks inworkflow validate - #1629
a6bcea9@VaguelySerious - CLIstartcommand probes deployment specVersion via health check before choosing queue transport. Health check always uses JSON transport for compatibility with old deployments. - #1414
2680a42@TooTallNate - AddRequestandResponserevivers to web and CLI hydration so serialized Request/Response objects display correctly in the observability UI and CLI inspect output.
@workflow/world@4.1.0-beta.17
- #1627
5f138f2@VaguelySerious - Bump specVersion to 3 and gate CBOR queue transport on spec version. Old deployments (specVersion < 3) receive JSON queue messages; new deployments receive CBOR. Handler uses dual transport to deserialize both formats. Fixes replay/reenqueue from dashboard to older deployments. - #1533
7e70d18@VaguelySerious - AddstreamFlushIntervalMsoption toStreamerinterface, optional for worlds to allow overwriting the default of 10ms in low-latency environments. - #1537
c8dce52@VaguelySerious - Allow workflow invocation to create run if initial storage call instartdid not succeed. Send run input through queue to enable this. Allow creating run_created and run_started events together in World, and skip first event list call by returning events directly.
@workflow/world-local@4.1.0-beta.51
- #1533
7e70d18@VaguelySerious - AddstreamFlushIntervalMsoption toStreamerinterface, optional for worlds to allow overwriting the default of 10ms in low-latency environments. - #1537
c8dce52@VaguelySerious - Allow workflow invocation to create run if initial storage call instartdid not succeed. Send run input through queue to enable this. Allow creating run_created and run_started events together in World, and skip first event list call by returning events directly.
@workflow/world-postgres@4.1.0-beta.53
- #1533
7e70d18@VaguelySerious - AddstreamFlushIntervalMsoption toStreamerinterface, optional for worlds to allow overwriting the default of 10ms in low-latency environments. - #1537
c8dce52@VaguelySerious - Allow workflow invocation to create run if initial storage call instartdid not succeed. Send run input through queue to enable this. Allow creating run_created and run_started events together in World, and skip first event list call by returning events directly.
@workflow/world-vercel@4.1.0-beta.49
- #1627
5f138f2@VaguelySerious - Bump specVersion to 3 and gate CBOR queue transport on spec version. Old deployments (specVersion < 3) receive JSON queue messages; new deployments receive CBOR. Handler uses dual transport to deserialize both formats. Fixes replay/reenqueue from dashboard to older deployments. - #1537
c8dce52@VaguelySerious - Allow workflow invocation to create run if initial storage call instartdid not succeed. Send run input through queue to enable this. Allow creating run_created and run_started events together in World, and skip first event list call by returning events directly. - #1626
5b9eb40@VaguelySerious - PaginatewriteToStreamMultito stay within the server's 1000 chunks per batch limit
@workflow/web-shared@4.1.0-beta.73
- #1414
2680a42@TooTallNate - AddRequestandResponserevivers to web and CLI hydration so serialized Request/Response objects display correctly in the observability UI and CLI inspect output.
@workflow/ai@4.1.0-beta.61
- #1444
e9ebe8f@gr2m - Preserve reasoning content in DurableAgent conversation history across tool loop steps - #1608
70e89bf@VaguelySerious - DurableAgent telemetry: emit full AI SDK-compatible attributes on spans
@workflow/swc-plugin@4.1.0-beta.22
- #1599
5d22e61@TooTallNate - Fix class expression method registrations to use binding name instead of internal class name, preventingReferenceErrorat runtime for pre-bundled packages - #1601
7c996a7[@TooTallNate](htt...
workflow@4.2.0-beta.77
Immutable
release. Only release title and notes can be modified.
@workflow/core@4.2.0-beta.77
- #1591
d8aaf27@VaguelySerious - Fix stepcontextStorageglobal potentially seeing dual-instance issues when bundlers create multiple copies of the module. - #1367
047c01b@pranaygp - Makestart()returnRun<unknown>withunknown[]args whendeploymentIdis provided, since the deployed workflow version may have different types
@workflow/world@4.1.0-beta.16
- #1605
b30b0dc@VaguelySerious - Use asymmetric ULID timestamp validation thresholds: 24h past, 5min future.
@workflow/world-local@4.1.0-beta.50
- #1605
b30b0dc@VaguelySerious - Use asymmetric ULID timestamp validation thresholds: 24h past, 5min future.
@workflow/world-vercel@4.1.0-beta.48
- #1602
760ebf1@karthikscale3 - Update headers from x-workflow-run-id and x-workflow-step-id to x-vercel-workflow-run-id and x-vercel-workflow-step-id in order to align with header naming convention
@workflow/builders@4.0.1-beta.68
- #1554
d1330cf@pranaygp - Fix node-module-error plugin pointing at multi-line comments instead of code usage - #1598
443a9e6@TooTallNate - Override"sideEffects": falsefrompackage.jsonfor discovered workflow/step/serde entries so esbuild does not drop their bare imports from the virtual entry
@workflow/next@4.0.1-beta.73
- #1597
4429078@TooTallNate - Stop unconditionally settingWORKFLOW_PUBLIC_MANIFEST=1duringnext dev, which causedpublic/.well-known/workflow/v1/manifest.jsonto be created without the env var being explicitly set.
workflow@4.2.0
Immutable
release. Only release title and notes can be modified.
@workflow/core@4.2.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/cli@4.2.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/world@4.1.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/world-local@4.1.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/world-postgres@4.1.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/world-vercel@4.1.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/world-testing@4.1.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/web@4.1.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/web-shared@4.1.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/ai@4.1.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/typescript-plugin@4.0.1
- #1640
8890b33@VaguelySerious - Stable release
@workflow/swc-plugin@4.1.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/builders@4.0.1
- #1640
8890b33@VaguelySerious - Stable release 1ef83dc@TooTallNate - Fix Node.js builtin imports being relativized in step bundles
@workflow/next@4.0.1
- #1640
8890b33@VaguelySerious - Stable release
@workflow/nitro@4.0.1
- #1640
8890b33@VaguelySerious - Stable release
@workflow/nuxt@4.0.1
- #1640
8890b33@VaguelySerious - Stable release
@workflow/sveltekit@4.0.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/astro@4.0.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/vite@4.0.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/rollup@4.0.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/errors@4.1.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/utils@4.1.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/nest@0.0.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/serde@4.1.0
- #1640
8890b33@VaguelySerious - Stable release
@workflow/vitest@4.0.1
- #1640
8890b33@VaguelySerious - Stable release
workflow@4.2.0-beta.76
Immutable
release. Only release title and notes can be modified.
@workflow/world-local@4.1.0-beta.49
- #1588
ef2218a@VaguelySerious - Fix zod v3/v4 schema mismatch crash (keyValidator._parse is not a function) by using consistentzod/v4imports in queue files that consume v4-native schemas from@workflow/world
@workflow/world-postgres@4.1.0-beta.51
- #1588
ef2218a@VaguelySerious - Fix zod v3/v4 schema mismatch crash (keyValidator._parse is not a function) by using consistentzod/v4imports in queue files that consume v4-native schemas from@workflow/world
@workflow/world-vercel@4.1.0-beta.47
- #1588
ef2218a@VaguelySerious - Fix zod v3/v4 schema mismatch crash (keyValidator._parse is not a function) by using consistentzod/v4imports in queue files that consume v4-native schemas from@workflow/world
@workflow/web@4.1.0-beta.47
- #1590
74c4cdb@VaguelySerious - Fix server crash on unmatched routes (e.g. /robots.txt, /favicon.ico)
@workflow/ai@4.1.0-beta.60
- #1589
c0f07a9@VaguelySerious - Fix fatal stream errors surfacing as[object Object]instead of real error messages
workflow@4.2.0-beta.75
Immutable
release. Only release title and notes can be modified.
@workflow/core@4.2.0-beta.75
- #1569
a98f8de@VaguelySerious - Combine initial run fetch, event fetch, and run_started event creation - #1572
d38114b@TooTallNate - FixresumeHook()/resumeWebhook()failing on workflow runs from pre-encryption deployments by checking the target run'sworkflowCoreVersioncapabilities before encoding the payload - #1567
6dc1b78@VaguelySerious - Increase flow route limit to max fluid duration and fail run if a single replay takes too long
@workflow/world@4.1.0-beta.15
- #1569
a98f8de@VaguelySerious - Combine initial run fetch, event fetch, and run_started event creation - #1534
329cdb3@VaguelySerious - Re-enqueue active runs on world restart so inflight runs resume instead of getting stuck
@workflow/world-local@4.1.0-beta.48
- #1569
a98f8de@VaguelySerious - Combine initial run fetch, event fetch, and run_started event creation - #1534
329cdb3@VaguelySerious - Re-enqueue active runs on world restart so inflight runs resume instead of getting stuck
@workflow/world-postgres@4.1.0-beta.50
- #1569
a98f8de@VaguelySerious - Combine initial run fetch, event fetch, and run_started event creation - #1534
329cdb3@VaguelySerious - Re-enqueue active runs on world restart so inflight runs resume instead of getting stuck
@workflow/builders@4.0.1-beta.66
- #1567
6dc1b78@VaguelySerious - Increase flow route limit to max fluid duration and fail run if a single replay takes too long
@workflow/next@4.0.1-beta.71
- #1567
6dc1b78@VaguelySerious - Increase flow route limit to max fluid duration and fail run if a single replay takes too long
@workflow/nitro@4.0.1-beta.70
- #1386
0e8a880@comfuture - Preserve generated step bundle side effects in Nitro virtual handlers so local production builds keep workflow step registrations available at runtime.
@workflow/sveltekit@4.0.0-beta.64
- #1567
6dc1b78@VaguelySerious - Increase flow route limit to max fluid duration and fail run if a single replay takes too long
@workflow/errors@4.1.0-beta.20
- #1567
6dc1b78@VaguelySerious - Increase flow route limit to max fluid duration and fail run if a single replay takes too long
workflow@4.2.0-beta.74
Immutable
release. Only release title and notes can be modified.
@workflow/core@4.2.0-beta.74
- #1546
62ff600@TooTallNate - RemoveBufferglobal from workflow VM context - #1547
4f646e3@TooTallNate - Polyfill TC39Uint8Arraybase64/hex methods in workflow VM context
@workflow/world-local@4.1.0-beta.47
- #1494
bd1f7e4@VaguelySerious - Tidy code for stream chunk listing and metadata
@workflow/web@4.1.0-beta.46
- #1542
c488877@karthikscale3 - fix: switch web stream reader from readFromStream to getStreamChunks
@workflow/ai@4.1.0-beta.59
- #1529
a0a7195@VaguelySerious - FixWorkflowChatTransportblocking browser paint during stream reconnect by yielding to the macrotask queue between chunks
@workflow/builders@4.0.1-beta.65
- #1560
a3b7c48@VaguelySerious - Only rewrite .ts extensions to .js in externalized step imports when targeting Node's native ESM loader (vitest), preserving original extensions for framework bundlers (Next.js, SvelteKit, etc.) - #1509
d119c74@VaguelySerious - Fix import.meta.url being undefined when using CJS builds
workflow@4.2.0-beta.73
Immutable
release. Only release title and notes can be modified.
@workflow/core@4.2.0-beta.73
- #1520
8e7083b@pranaygp - Addbtoa,atob, andBufferglobals to workflow VM context for base64 encoding/decoding - #1523
d1391e1@pranaygp - Fix race condition allowing duplicatehook_disposedevents for the same hook - #1518
c739b99@ceolinwill - FixgetWritable()in step functions to resolve on lock release instead of requiring stream close, preventing Vercel function timeouts
@workflow/world-local@4.1.0-beta.46
- #1523
d1391e1@pranaygp - Fix race condition allowing duplicatehook_disposedevents for the same hook
@workflow/world-postgres@4.1.0-beta.48
- #1523
d1391e1@pranaygp - Fix race condition allowing duplicatehook_disposedevents for the same hook - #1527
e045b59@NathanColosimo - Add maxPoolSize configuration
@workflow/web@4.1.0-beta.45
- #1492
dab106a@karthikscale3 - Hide the workflow graph viewer tab - #1515
bb86b69@karthikscale3 - Fix Streams tab crash when decrypting large stream chunks
@workflow/builders@4.0.1-beta.64
- #1524
52db376@matchai - Fix dependency resolution for step imports with .ts, .mts, and .cts extensions