fix(sdk,openapi): block SSRF targets when fetching integration specs by URL #5531
ci.yml
on: pull_request
Changed paths
7s
Matrix: e2e
Cloud evaluated closure
48s
Desktop smoke build
48s
Self-host Docker image
1m 3s
Annotations
25 errors and 76 warnings
|
Test
Process completed with exit code 1.
|
|
Test
@executor-js/plugin-openapi#test: command (/home/runner/_work/executor/executor/packages/plugins/openapi) /home/runner/.bun/bin/bun run test exited (1)
|
|
src/sdk/spec-overrides-lifecycle.test.ts > OpenAPI spec override lifecycle > reapplies overrides when a URL-hosted spec changes upstream:
packages/plugins/openapi/src/sdk/parse.ts#L81
OpenApiParseError: Blocked by egress policy
❯ src/sdk/parse.ts:81:27
❯ ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:3143:72
❯ body ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/Utils.ts:242:11
❯ internalCall ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:944:94
❯ Object.~effect/Effect/evaluate ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:890:21
❯ FiberImpl.runLoop ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:633:39
❯ runLoop ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:593:22
❯ evaluate ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:1030:14
❯ Socket.<anonymous> ../../core/sdk/src/testing.ts:119:9
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { _tag: 'OpenApiParseError' }
|
|
src/sdk/plugin.test.ts > OpenAPI Plugin > updateSpec propagates to OTHER subjects' personal connections:
packages/plugins/openapi/src/sdk/parse.ts#L81
OpenApiParseError: Blocked by egress policy
❯ src/sdk/parse.ts:81:27
❯ ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:3143:72
❯ body ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/Utils.ts:242:11
❯ internalCall ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:944:94
❯ Object.~effect/Effect/evaluate ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:890:21
❯ FiberImpl.runLoop ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:633:39
❯ runLoop ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:593:22
❯ evaluate ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:1030:14
❯ Socket.<anonymous> ../../core/sdk/src/testing.ts:119:9
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { _tag: 'OpenApiParseError' }
|
|
src/sdk/plugin.test.ts > OpenAPI Plugin > updateSpec re-fetches the source URL and rebuilds tools in place:
packages/plugins/openapi/src/sdk/parse.ts#L81
OpenApiParseError: Blocked by egress policy
❯ src/sdk/parse.ts:81:27
❯ ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:3143:72
❯ body ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/Utils.ts:242:11
❯ internalCall ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:944:94
❯ Object.~effect/Effect/evaluate ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:890:21
❯ FiberImpl.runLoop ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:633:39
❯ runLoop ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:593:22
❯ evaluate ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:1030:14
❯ Socket.<anonymous> ../../core/sdk/src/testing.ts:119:9
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { _tag: 'OpenApiParseError' }
|
|
src/sdk/plugin.test.ts > OpenAPI Plugin > previewSpec discovers OAuth metadata from a URL-hosted bearer spec:
packages/plugins/openapi/src/sdk/parse.ts#L81
OpenApiParseError: Blocked by egress policy
❯ src/sdk/parse.ts:81:27
❯ ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:3143:72
❯ body ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/Utils.ts:242:11
❯ internalCall ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:944:94
❯ Object.~effect/Effect/evaluate ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:890:21
❯ FiberImpl.runLoop ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:633:39
❯ runLoop ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:593:22
❯ evaluate ../../../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:1030:14
❯ Socket.<anonymous> ../../core/sdk/src/testing.ts:119:9
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { _tag: 'OpenApiParseError' }
|
|
E2E (selfhost 10of10)
Process completed with exit code 1.
|
|
E2E (selfhost 8of10)
Process completed with exit code 1.
|
|
E2E (cloud 8of16)
Process completed with exit code 1.
|
|
E2E (cloud 16of16)
Process completed with exit code 1.
|
|
[cloud] scenarios/connect-handoff-session.test.ts > Connect · developer session: agent chat → handoff link → paste key → verified send:
e2e/scenarios/connect-handoff-session.test.ts#L130
AssertionError: addSpec succeeded: {"ok":false,"error":{"code":"openapi_parse_failed","message":"Failed to fetch OpenAPI document"}}: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ Array.<anonymous> scenarios/connect-handoff-session.test.ts:130:77
❯ next ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:1276:25
❯ Object.~effect/Effect/evaluate ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/core.ts:531:30
❯ FiberImpl.runLoop ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:633:39
❯ runLoop ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:593:22
❯ evaluate ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:1030:14
❯ resume ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:972:13
|
|
E2E (cloud 15of16)
Process completed with exit code 1.
|
|
[cloud] scenarios/connect-handoff.test.ts > Connect · the agentic handoff URL opens this deployment's add-account flow and the pasted key works:
e2e/scenarios/connect-handoff.test.ts#L196
AssertionError: addSpec succeeded: {"ok":false,"error":{"code":"openapi_parse_failed","message":"Failed to fetch OpenAPI document"}}: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ Array.<anonymous> scenarios/connect-handoff.test.ts:196:69
❯ next ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:1276:25
❯ Object.~effect/Effect/evaluate ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/core.ts:531:30
❯ FiberImpl.runLoop ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:633:39
❯ runLoop ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:593:22
❯ evaluate ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:1030:14
❯ resume ../node_modules/.bun/effect@4.0.0-beta.59/node_modules/effect/src/internal/effect.ts:972:13
|
|
E2E (selfhost 6of10)
Process completed with exit code 1.
|
|
[selfhost] selfhost/detected-auth-immutable-ui.test.ts > Detected auth · OpenAPI spec-detected methods are immutable in the add flow:
e2e/selfhost/detected-auth-immutable-ui.test.ts#L150
TimeoutError: locator.waitFor: Timeout 30000ms exceeded.
Call log:
- waiting for getByText('How does this API authenticate?') to be visible
❯ selfhost/detected-auth-immutable-ui.test.ts:150:67
❯ step src/surfaces/browser.ts:276:15
❯ selfhost/detected-auth-immutable-ui.test.ts:144:9
❯ src/surfaces/browser.ts:288:13
|
|
E2E (cloud 7of16)
Process completed with exit code 1.
|
|
E2E (cloud 14of16)
Process completed with exit code 1.
|
|
E2E (cloud 5of16)
Process completed with exit code 1.
|
|
E2E (cloud 12of16)
Process completed with exit code 1.
|
|
E2E (cloud 11of16)
Process completed with exit code 1.
|
|
[cloud] scenarios/provider-plugins-ui.test.ts > Google and Microsoft products are registry cards that resolve into prefilled add flows:
e2e/src/scenario.ts#L138
Error: Test timed out in 120000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ scenario src/scenario.ts:138:3
❯ scenarios/provider-plugins-ui.test.ts:14:1
|
|
E2E (cloud 13of16)
Process completed with exit code 1.
|
|
[cloud] cloud/mcp-session-cap-eviction.test.ts > MCP session · crossing the resident-runtime cap evicts a session through a real cross-DO request:
e2e/cloud/mcp-session-cap-eviction.test.ts#L89
Error: openSession (session-2): no mcp-session-id header
❯ openSession cloud/mcp-session-cap-eviction.test.ts:89:11
|
|
E2E (cloud 10of16)
Process completed with exit code 1.
|
|
[cloud] scenarios/google-photos-preset-ui.test.ts > Google Photos products are separate registry cards with separate add flows:
e2e/src/scenario.ts#L138
Error: Test timed out in 120000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ scenario src/scenario.ts:138:3
❯ scenarios/google-photos-preset-ui.test.ts:13:1
|
|
Changed paths
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, dorny/paths-filter@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Lint
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Format
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Test
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (local 2of2)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Typecheck
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.try` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Typecheck
The `catch` callback in `Effect.try` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
E2E (selfhost 2of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (local 1of2)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Desktop smoke build
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Desktop smoke build
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.tryPromise` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
Cloud evaluated closure
The `catch` callback in `Effect.try` returns `unknown`, so the Effect error type stays untyped. A specific typed error preserves error-channel information, for example by narrowing the value or wrapping it in `Data.TaggedError`. effect(unknownInEffectCatch)
|
|
E2E (selfhost 10of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 4of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Self-host Docker image
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (selfhost 5of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (selfhost 8of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (selfhost 4of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (selfhost 7of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (selfhost 1of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 3of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 8of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 6of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 2of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 16of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 15of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (selfhost 6of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 7of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 9of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 14of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (selfhost 9of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 5of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 1of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 12of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (selfhost 3of10)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 11of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 13of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E (cloud 10of16)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
e2e-runs-cloud-10of16
Expired
|
5 MB |
sha256:8c28f255b976450563b5bbd7d536ae19d196349e588f0555d1919bf335e6c591
|
|
|
e2e-runs-cloud-11of16
Expired
|
9.48 MB |
sha256:ee996d5a643055b7487e8b95f99ae35c8d67cca7d8b6dc311bfc7251e5fdc33e
|
|
|
e2e-runs-cloud-12of16
Expired
|
22.1 MB |
sha256:4caf222fc1995f2babd3a90952ada52bbe14221340cb313bf1b0967be0433bd6
|
|
|
e2e-runs-cloud-13of16
Expired
|
1.66 MB |
sha256:a17bb48cf4779266cfdde78fcfa986b74570f5005e4b0cc31c09b03ee2f3cda2
|
|
|
e2e-runs-cloud-14of16
Expired
|
9.45 MB |
sha256:695b15106c789406bddee2eacf0f4c7c6b39fe6ed178cd38fea9e1dcfeff408f
|
|
|
e2e-runs-cloud-15of16
Expired
|
14.1 MB |
sha256:7a2fb9458ad5f45f1a69c25b815218656064d95a9189293524c27c8237991900
|
|
|
e2e-runs-cloud-16of16
Expired
|
15.6 MB |
sha256:d11b48d581c39dd80e4b656cba811fc14a509b17bd3e3d39ae25f6899bfd5d00
|
|
|
e2e-runs-cloud-5of16
Expired
|
15.8 MB |
sha256:c97f5a4b3485c65327ada24cfd8267008f05fc01a907c004484977fabd5c238d
|
|
|
e2e-runs-cloud-7of16
Expired
|
9.74 MB |
sha256:2ed35c47849dd4dfa5d1bd68ed99fe537497b8f036df3d57d3ddc1cf7a6d4ed2
|
|
|
e2e-runs-cloud-8of16
Expired
|
5.32 MB |
sha256:49ea5b927509c2bb886f8cfef6fc2fdd42a6cb461da7eb4f852709a3ba94c814
|
|
|
e2e-runs-selfhost-10of10
Expired
|
20.8 MB |
sha256:454f1558766f8d74a7fc7b7f03efc4e1966df89a9979856193c64b31ced1186a
|
|
|
e2e-runs-selfhost-6of10
Expired
|
32.7 MB |
sha256:037d0f760a609fda1a07916ce8e228f095a2863a7c60d2e2a613f24fc24a5810
|
|
|
e2e-runs-selfhost-8of10
Expired
|
15 MB |
sha256:84713922525adfe367d71214234c8057f1c88354495b08574ef0f93f6df94d7b
|
|