diff --git a/packages/effect-e2e-cli/src/init/init-failure.schema.ts b/packages/effect-e2e-cli/src/init/init-failure.schema.ts index 6a51e7c..ff20672 100644 --- a/packages/effect-e2e-cli/src/init/init-failure.schema.ts +++ b/packages/effect-e2e-cli/src/init/init-failure.schema.ts @@ -8,12 +8,16 @@ const LOGGED_BY_RUNTIME: Runtime.errorReported = '~effect/Runtime/errorReported' * `init` refused and wrote nothing (requirements AC-1.4): the files it names already exist, or the suite root's * `package.json` cannot be merged into. The CLI has printed why, so the process exits 2 without a second report. */ -export class InitRefused extends Schema.TaggedError()('InitRefused', { message: Schema.String }) { +export class InitRefused extends Schema.TaggedError()('InitRefused', { + message: Schema.String, +}) { override readonly [EXIT_CODE] = 2 override readonly [LOGGED_BY_RUNTIME] = false } -export class InstallFailed extends Schema.TaggedError()('InstallFailed', { - message: Schema.String, - exitCode: Schema.Int, -}) {} +export class InstallFailed + extends Schema.TaggedError()('InstallFailed', { + message: Schema.String, + exitCode: Schema.Int, + }) +{} diff --git a/packages/effect-e2e-cli/src/init/plan-scaffold.workflow.ts b/packages/effect-e2e-cli/src/init/plan-scaffold.workflow.ts index b39bb69..1ce04e2 100644 --- a/packages/effect-e2e-cli/src/init/plan-scaffold.workflow.ts +++ b/packages/effect-e2e-cli/src/init/plan-scaffold.workflow.ts @@ -22,39 +22,47 @@ export type SuiteWrite = typeof SuiteWrite.Type const Dependencies = Schema.Record(Schema.String, Schema.String) -export class PlanScaffold extends Schema.TaggedClass()('PlanScaffold', { - force: Schema.Boolean, - files: Schema.Array(TargetFile), - /** The suite root's `package.json` text, when it has one. */ - manifest: Schema.Option(Schema.String), - /** The suite root's `.gitignore` text, when it has one. */ - ignore: Schema.Option(Schema.String), - /** The name a `package.json` that `init` creates carries. */ - name: Schema.String, - script: Schema.String, - devDependencies: Dependencies, - ignoredOutput: Schema.String, -}) { +export class PlanScaffold + extends Schema.TaggedClass()('PlanScaffold', { + force: Schema.Boolean, + files: Schema.Array(TargetFile), + /** The suite root's `package.json` text, when it has one. */ + manifest: Schema.Option(Schema.String), + /** The suite root's `.gitignore` text, when it has one. */ + ignore: Schema.Option(Schema.String), + /** The name a `package.json` that `init` creates carries. */ + name: Schema.String, + script: Schema.String, + devDependencies: Dependencies, + ignoredOutput: Schema.String, + }) +{ static readonly [Workflow.InstrumentationBrand] = { force: 'app.e2e.init.force' } as const } -export class ScaffoldPlanned extends Schema.TaggedClass()('ScaffoldPlanned', { - writes: Schema.Array(SuiteWrite), -}) { +export class ScaffoldPlanned + extends Schema.TaggedClass()('ScaffoldPlanned', { + writes: Schema.Array(SuiteWrite), + }) +{ readonly [PlanScaffoldTypeId] = PlanScaffoldTypeId } /** Files `init` would replace; without `--force` it writes nothing (requirements AC-1.4). */ -export class ScaffoldRefused extends Schema.TaggedClass()('ScaffoldRefused', { - conflicts: Schema.NonEmptyArray(Schema.String), -}) { +export class ScaffoldRefused + extends Schema.TaggedClass()('ScaffoldRefused', { + conflicts: Schema.NonEmptyArray(Schema.String), + }) +{ readonly [PlanScaffoldTypeId] = PlanScaffoldTypeId } /** The suite root's `package.json` cannot be merged into, so `init` writes nothing. */ -export class ManifestUnreadable extends Schema.TaggedClass()('ManifestUnreadable', { - expected: Schema.String, -}) { +export class ManifestUnreadable + extends Schema.TaggedClass()('ManifestUnreadable', { + expected: Schema.String, + }) +{ readonly [PlanScaffoldTypeId] = PlanScaffoldTypeId } diff --git a/packages/effect-e2e-cli/src/run/run-failure.schema.ts b/packages/effect-e2e-cli/src/run/run-failure.schema.ts index ee79ac2..f0eaf53 100644 --- a/packages/effect-e2e-cli/src/run/run-failure.schema.ts +++ b/packages/effect-e2e-cli/src/run/run-failure.schema.ts @@ -8,29 +8,31 @@ const LOGGED_BY_RUNTIME: Runtime.errorReported = '~effect/Runtime/errorReported' * `run` refused before it started Vitest: no suite root at or above the working directory, or flags that cannot * hold together. The CLI has printed why, so the process exits 2 without a second report. */ -export class RunRefused extends Schema.TaggedError()('RunRefused', { +export class RunRefused extends Schema.TaggedError()('RunRefused', { message: Schema.String, }) { override readonly [EXIT_CODE] = 2 override readonly [LOGGED_BY_RUNTIME] = false } -export class RunConfigRefused extends Schema.TaggedError()('RunConfigRefused', { - message: Schema.String, -}) { +export class RunConfigRefused + extends Schema.TaggedError()('RunConfigRefused', { + message: Schema.String, + }) +{ override readonly [EXIT_CODE] = 2 override readonly [LOGGED_BY_RUNTIME] = false } /** The run could not start or produced no report: a Vitest config or collection error (requirements FR-5). */ -export class RunFailed extends Schema.TaggedError()('RunFailed', { +export class RunFailed extends Schema.TaggedError()('RunFailed', { message: Schema.String, }) { override readonly [EXIT_CODE] = 2 override readonly [LOGGED_BY_RUNTIME] = false } -export class RunEnded extends Schema.TaggedError()('RunEnded', { +export class RunEnded extends Schema.TaggedError()('RunEnded', { status: Schema.String, exitCode: Schema.Int, }) { diff --git a/packages/effect-e2e-cli/tests/__fixtures__/cli.fixture.ts b/packages/effect-e2e-cli/tests/__fixtures__/cli.fixture.ts index 6d8f095..1ca693d 100644 --- a/packages/effect-e2e-cli/tests/__fixtures__/cli.fixture.ts +++ b/packages/effect-e2e-cli/tests/__fixtures__/cli.fixture.ts @@ -53,6 +53,19 @@ const stdinOf = (input: string | undefined) => onSome: (keys) => Stream.make(new TextEncoder().encode(keys)), }) +const shellQuoted = (word: string) => `'${word.replaceAll("'", "'\\''")}'` + +/** + * Keystrokes only reach a prompt on a terminal (effect 4.1 skips fallback prompts off a TTY), so a request with + * `input` runs the bin under a pseudo-terminal from util-linux `script`. + */ +const invocationOf = (request: BinRequest): readonly [command: string, args: ReadonlyArray] => { + const command = request.command ?? BIN + return request.input === undefined + ? [command, request.args] + : ['script', ['-qec', [command, ...request.args].map(shellQuoted).join(' '), '/dev/null']] +} + /** Runs a binary as a child process with only PATH and HOME from the environment, and collects its output. */ export const runBin = (request: BinRequest) => Effect.scoped( @@ -60,8 +73,9 @@ export const runBin = (request: BinRequest) => const spawner = yield* ChildProcessSpawner.ChildProcessSpawner const inherited = yield* Config.String('PATH') const home = yield* Config.String('HOME') + const [command, args] = invocationOf(request) const handle = yield* spawner.spawn( - ChildProcess.make(request.command ?? BIN, [...request.args], { + ChildProcess.make(command, [...args], { cwd: request.cwd, env: { PATH: Option.match(Option.fromNullishOr(request.pathPrefix), { diff --git a/packages/effect-e2e-conformance/tests/__fixtures__/cli-run.fixture.ts b/packages/effect-e2e-conformance/tests/__fixtures__/cli-run.fixture.ts index 21f239c..d5b2a05 100644 --- a/packages/effect-e2e-conformance/tests/__fixtures__/cli-run.fixture.ts +++ b/packages/effect-e2e-conformance/tests/__fixtures__/cli-run.fixture.ts @@ -70,7 +70,10 @@ export const copiedRunnerSuite = (config: SuiteConfig) => yield* fs.makeDirectory(SCRATCH, { recursive: true }) const root = yield* fs.makeTempDirectoryScoped({ directory: SCRATCH, prefix: 'cli-run-' }) const suite = `${root}/suite` - yield* fs.copy(RUNNER_SUITE, suite) + yield* fs.makeDirectory(suite, { recursive: true }) + // Other tests run this suite in place, so Vite keeps transient files under its node_modules while the copy reads. + const entries = (yield* fs.readDirectory(RUNNER_SUITE)).filter((entry) => entry !== 'node_modules') + yield* Effect.forEach(entries, (entry) => fs.copy(`${RUNNER_SUITE}/${entry}`, `${suite}/${entry}`)) yield* fs.remove(`${suite}/.e2e`, { recursive: true, force: true }) if (config === 'refused') { yield* fs.copyFile(`${suite}/vitest.refused.config.ts`, `${suite}/vitest.config.ts`) diff --git a/packages/effect-e2e/etc/effect-e2e-agent.api.md b/packages/effect-e2e/etc/effect-e2e-agent.api.md index eecf8b3..3ca9752 100644 --- a/packages/effect-e2e/etc/effect-e2e-agent.api.md +++ b/packages/effect-e2e/etc/effect-e2e-agent.api.md @@ -332,10 +332,10 @@ export interface WaitForResult { // Warnings were encountered during analysis: // -// dist/wait-for-DVc9_Cj7.d.ts:783:5 - (ae-forgotten-export) The symbol "CacheKeyContext" needs to be exported by the entry point agent.d.ts -// dist/wait-for-DVc9_Cj7.d.ts:784:5 - (ae-forgotten-export) The symbol "AgentConfig" needs to be exported by the entry point agent.d.ts -// dist/wait-for-DVc9_Cj7.d.ts:787:5 - (ae-forgotten-export) The symbol "CacheMode" needs to be exported by the entry point agent.d.ts -// dist/wait-for-DVc9_Cj7.d.ts:791:5 - (ae-forgotten-export) The symbol "EngineIdentity" needs to be exported by the entry point agent.d.ts +// dist/wait-for-Brb6_pdg.d.ts:783:5 - (ae-forgotten-export) The symbol "CacheKeyContext" needs to be exported by the entry point agent.d.ts +// dist/wait-for-Brb6_pdg.d.ts:784:5 - (ae-forgotten-export) The symbol "AgentConfig" needs to be exported by the entry point agent.d.ts +// dist/wait-for-Brb6_pdg.d.ts:787:5 - (ae-forgotten-export) The symbol "CacheMode" needs to be exported by the entry point agent.d.ts +// dist/wait-for-Brb6_pdg.d.ts:791:5 - (ae-forgotten-export) The symbol "EngineIdentity" needs to be exported by the entry point agent.d.ts // (No @packageDocumentation comment for this package) diff --git a/packages/effect-e2e/etc/effect-e2e-cache.api.md b/packages/effect-e2e/etc/effect-e2e-cache.api.md index 96f3694..aee1a9f 100644 --- a/packages/effect-e2e/etc/effect-e2e-cache.api.md +++ b/packages/effect-e2e/etc/effect-e2e-cache.api.md @@ -303,8 +303,8 @@ export type Written = typeof Written.Type; // Warnings were encountered during analysis: // -// dist/cache-store.service-CdfpLQnG.d.ts:271:9 - (ae-forgotten-export) The symbol "LocatorExpression" needs to be exported by the entry point cache.d.ts -// dist/cache-store.service-CdfpLQnG.d.ts:398:3 - (ae-forgotten-export) The symbol "Check" needs to be exported by the entry point cache.d.ts +// dist/cache-store.service-CTBPFCe5.d.ts:279:9 - (ae-forgotten-export) The symbol "LocatorExpression" needs to be exported by the entry point cache.d.ts +// dist/cache-store.service-CTBPFCe5.d.ts:406:3 - (ae-forgotten-export) The symbol "Check" needs to be exported by the entry point cache.d.ts // (No @packageDocumentation comment for this package) diff --git a/packages/effect-e2e/etc/effect-e2e-report.api.md b/packages/effect-e2e/etc/effect-e2e-report.api.md index 92a238c..1d311a1 100644 --- a/packages/effect-e2e/etc/effect-e2e-report.api.md +++ b/packages/effect-e2e/etc/effect-e2e-report.api.md @@ -3775,8 +3775,8 @@ export type TestStatus = typeof TestStatus.Type; // Warnings were encountered during analysis: // -// dist/run-verdict.schema-Ca6kURxN.d.ts:739:11 - (ae-forgotten-export) The symbol "LocatorExpression" needs to be exported by the entry point report.d.ts -// dist/run-verdict.schema-Ca6kURxN.d.ts:913:7 - (ae-forgotten-export) The symbol "Check" needs to be exported by the entry point report.d.ts +// dist/run-verdict.schema-BT-4NBmC.d.ts:745:11 - (ae-forgotten-export) The symbol "LocatorExpression" needs to be exported by the entry point report.d.ts +// dist/run-verdict.schema-BT-4NBmC.d.ts:919:7 - (ae-forgotten-export) The symbol "Check" needs to be exported by the entry point report.d.ts // (No @packageDocumentation comment for this package) diff --git a/packages/effect-e2e/src/Config/config-invalid.schema.ts b/packages/effect-e2e/src/Config/config-invalid.schema.ts index b352374..372e367 100644 --- a/packages/effect-e2e/src/Config/config-invalid.schema.ts +++ b/packages/effect-e2e/src/Config/config-invalid.schema.ts @@ -15,10 +15,12 @@ const keyPathText = (path: ReadonlyArray): string => path.map(stepT const pathText = (path: ReadonlyArray): string => (path.length === 0 ? '(root)' : keyPathText(path)) /** A config that does not decode: the key path of the first refusal and what that key expected. */ -export class ConfigInvalid extends Schema.TaggedError()('ConfigInvalid', { - path: Schema.Array(PathSegment), - expected: Schema.String, -}) { +export class ConfigInvalid + extends Schema.TaggedError()('ConfigInvalid', { + path: Schema.Array(PathSegment), + expected: Schema.String, + }) +{ override get message(): string { return `config ${pathText(this.path)}: ${this.expected}` } diff --git a/packages/effect-e2e/src/agent/admit-check-answer.workflow.ts b/packages/effect-e2e/src/agent/admit-check-answer.workflow.ts index 3deb032..6da5d8c 100644 --- a/packages/effect-e2e/src/agent/admit-check-answer.workflow.ts +++ b/packages/effect-e2e/src/agent/admit-check-answer.workflow.ts @@ -92,27 +92,33 @@ const AdmitCheckAnswerDecisionTypeId: unique symbol = Symbol.for( ) type AdmitCheckAnswerDecisionTypeId = typeof AdmitCheckAnswerDecisionTypeId -export class CheckAdmitted extends Schema.TaggedClass()('CheckAdmitted', { - check: Check, - callId: Schema.String, -}) { +export class CheckAdmitted + extends Schema.TaggedClass()('CheckAdmitted', { + check: Check, + callId: Schema.String, + }) +{ readonly [AdmitCheckAnswerDecisionTypeId] = AdmitCheckAnswerDecisionTypeId } -export class CheckRefused extends Schema.TaggedClass()('CheckRefused', { - replies: Schema.NonEmptyArray(Message), -}) { +export class CheckRefused + extends Schema.TaggedClass()('CheckRefused', { + replies: Schema.NonEmptyArray(Message), + }) +{ readonly [AdmitCheckAnswerDecisionTypeId] = AdmitCheckAnswerDecisionTypeId } export const AdmitCheckAnswerDecision = Schema.Union([CheckAdmitted, CheckRefused]) export type AdmitCheckAnswerDecision = typeof AdmitCheckAnswerDecision.Type -export class AdmitCheckAnswer extends Schema.TaggedClass()('AdmitCheckAnswer', { - answer: ModelAnswer, - observation: Observation, - refsOffered: Schema.Boolean, -}) { +export class AdmitCheckAnswer + extends Schema.TaggedClass()('AdmitCheckAnswer', { + answer: ModelAnswer, + observation: Observation, + refsOffered: Schema.Boolean, + }) +{ static readonly [Workflow.InstrumentationBrand] = {} as const } diff --git a/packages/effect-e2e/src/agent/check-evaluate.workflow.ts b/packages/effect-e2e/src/agent/check-evaluate.workflow.ts index 16aceda..35c8998 100644 --- a/packages/effect-e2e/src/agent/check-evaluate.workflow.ts +++ b/packages/effect-e2e/src/agent/check-evaluate.workflow.ts @@ -41,15 +41,19 @@ export const UnevaluableReason = Schema.Literals([ ]) export type UnevaluableReason = typeof UnevaluableReason.Type -export class Holds extends Schema.TaggedClass()('Holds', { evidence: Evidence }) { +export class Holds + extends Schema.TaggedClass()('Holds', { evidence: Evidence }) +{ readonly [CheckEvaluateDecisionTypeId] = CheckEvaluateDecisionTypeId } -export class DoesNotHold extends Schema.TaggedClass()('DoesNotHold', { evidence: Evidence }) { +export class DoesNotHold + extends Schema.TaggedClass()('DoesNotHold', { evidence: Evidence }) +{ readonly [CheckEvaluateDecisionTypeId] = CheckEvaluateDecisionTypeId } -export class Unevaluable extends Schema.TaggedClass()('Unevaluable', { +export class Unevaluable extends Schema.TaggedClass()('Unevaluable', { reason: UnevaluableReason, evidence: Evidence, }) { @@ -59,12 +63,14 @@ export class Unevaluable extends Schema.TaggedClass()('Unevaluable' export const CheckEvaluateDecision = Schema.Union([Holds, DoesNotHold, Unevaluable]) export type CheckEvaluateDecision = typeof CheckEvaluateDecision.Type -export class CheckEvaluate extends Schema.TaggedClass()('CheckEvaluate', { - check: Check, - route: Route, - resolvedOn: Route, - located: Schema.Array(LocatorMatches), -}) { +export class CheckEvaluate + extends Schema.TaggedClass()('CheckEvaluate', { + check: Check, + route: Route, + resolvedOn: Route, + located: Schema.Array(LocatorMatches), + }) +{ static readonly [Workflow.InstrumentationBrand] = {} as const } diff --git a/packages/effect-e2e/src/agent/next-act.workflow.ts b/packages/effect-e2e/src/agent/next-act.workflow.ts index 40b7db4..1396fec 100644 --- a/packages/effect-e2e/src/agent/next-act.workflow.ts +++ b/packages/effect-e2e/src/agent/next-act.workflow.ts @@ -124,7 +124,7 @@ export type ActTool = typeof ActTool.Type const NextActDecisionTypeId: unique symbol = Symbol.for('@systemfsoftware/effect-e2e/NextActDecision') type NextActDecisionTypeId = typeof NextActDecisionTypeId -export class Execute extends Schema.TaggedClass()('Execute', { +export class Execute extends Schema.TaggedClass()('Execute', { callId: Schema.String, action: Action, located: Schema.Array(NodeRef), @@ -133,28 +133,32 @@ export class Execute extends Schema.TaggedClass()('Execute', { readonly [NextActDecisionTypeId] = NextActDecisionTypeId } -export class Capture extends Schema.TaggedClass()('Capture', { callId: Schema.String }) { +export class Capture + extends Schema.TaggedClass()('Capture', { callId: Schema.String }) +{ readonly [NextActDecisionTypeId] = NextActDecisionTypeId } -export class Done extends Schema.TaggedClass()('Done', { +export class Done extends Schema.TaggedClass()('Done', { callId: Schema.String, summary: Schema.String, }) { readonly [NextActDecisionTypeId] = NextActDecisionTypeId } -export class Correct extends Schema.TaggedClass()('Correct', { reply: Message }) { +export class Correct + extends Schema.TaggedClass()('Correct', { reply: Message }) +{ readonly [NextActDecisionTypeId] = NextActDecisionTypeId } -export class Exhausted extends Schema.TaggedClass()('Exhausted', { +export class Exhausted extends Schema.TaggedClass()('Exhausted', { budget: Schema.Literals(['steps', 'model-calls']), }) { readonly [NextActDecisionTypeId] = NextActDecisionTypeId } -export class Unsupported extends Schema.TaggedClass()('Unsupported', { +export class Unsupported extends Schema.TaggedClass()('Unsupported', { callId: Schema.String, capability: EngineCapability, }) { @@ -164,7 +168,7 @@ export class Unsupported extends Schema.TaggedClass()('Unsupported' export const NextActDecision = Schema.Union([Execute, Capture, Done, Correct, Exhausted, Unsupported]) export type NextActDecision = typeof NextActDecision.Type -export class NextAct extends Schema.TaggedClass()('NextAct', { +export class NextAct extends Schema.TaggedClass()('NextAct', { answer: ModelAnswer, observation: Observation, capabilities: Schema.Array(EngineCapability), diff --git a/packages/effect-e2e/src/agent/next-judgment.workflow.ts b/packages/effect-e2e/src/agent/next-judgment.workflow.ts index ece4459..652e907 100644 --- a/packages/effect-e2e/src/agent/next-judgment.workflow.ts +++ b/packages/effect-e2e/src/agent/next-judgment.workflow.ts @@ -8,27 +8,39 @@ import { Count } from '../verdict/step-record.schema.js' const NextJudgmentDecisionTypeId: unique symbol = Symbol.for('@systemfsoftware/effect-e2e/NextJudgmentDecision') type NextJudgmentDecisionTypeId = typeof NextJudgmentDecisionTypeId -export class JudgmentPassed extends Schema.TaggedClass()('JudgmentPassed', {}) { +export class JudgmentPassed + extends Schema.TaggedClass()('JudgmentPassed', {}) +{ readonly [NextJudgmentDecisionTypeId] = NextJudgmentDecisionTypeId } -export class JudgmentFailed extends Schema.TaggedClass()('JudgmentFailed', {}) { +export class JudgmentFailed + extends Schema.TaggedClass()('JudgmentFailed', {}) +{ readonly [NextJudgmentDecisionTypeId] = NextJudgmentDecisionTypeId } -export class JudgmentInconclusive extends Schema.TaggedClass()('JudgmentInconclusive', {}) { +export class JudgmentInconclusive + extends Schema.TaggedClass()('JudgmentInconclusive', {}) +{ readonly [NextJudgmentDecisionTypeId] = NextJudgmentDecisionTypeId } -export class JudgmentResolve extends Schema.TaggedClass()('JudgmentResolve', {}) { +export class JudgmentResolve + extends Schema.TaggedClass()('JudgmentResolve', {}) +{ readonly [NextJudgmentDecisionTypeId] = NextJudgmentDecisionTypeId } -export class JudgmentPoll extends Schema.TaggedClass()('JudgmentPoll', {}) { +export class JudgmentPoll + extends Schema.TaggedClass()('JudgmentPoll', {}) +{ readonly [NextJudgmentDecisionTypeId] = NextJudgmentDecisionTypeId } -export class JudgmentExhausted extends Schema.TaggedClass()('JudgmentExhausted', {}) { +export class JudgmentExhausted + extends Schema.TaggedClass()('JudgmentExhausted', {}) +{ readonly [NextJudgmentDecisionTypeId] = NextJudgmentDecisionTypeId } @@ -42,14 +54,16 @@ export const NextJudgmentDecision = Schema.Union([ ]) export type NextJudgmentDecision = typeof NextJudgmentDecision.Type -export class NextJudgment extends Schema.TaggedClass()('NextJudgment', { - mode: Schema.Literals(['assert', 'waitFor']), - source: Schema.Literals(['recorded', 'fresh']), - evaluation: Schema.Literals(['Holds', 'DoesNotHold', 'Unevaluable']), - changed: Schema.Boolean, - modelCalls: Count, - maxModelCalls: Count, -}) { +export class NextJudgment + extends Schema.TaggedClass()('NextJudgment', { + mode: Schema.Literals(['assert', 'waitFor']), + source: Schema.Literals(['recorded', 'fresh']), + evaluation: Schema.Literals(['Holds', 'DoesNotHold', 'Unevaluable']), + changed: Schema.Boolean, + modelCalls: Count, + maxModelCalls: Count, + }) +{ static readonly [Workflow.InstrumentationBrand] = { mode: 'app.e2e.agent.judgment-mode', evaluation: 'app.e2e.agent.judgment-evaluation', diff --git a/packages/effect-e2e/src/agent/recorded-flow.workflow.ts b/packages/effect-e2e/src/agent/recorded-flow.workflow.ts index 0e038e1..458a55f 100644 --- a/packages/effect-e2e/src/agent/recorded-flow.workflow.ts +++ b/packages/effect-e2e/src/agent/recorded-flow.workflow.ts @@ -20,7 +20,7 @@ import { SemanticNode } from '../engine/semantic-node.schema.js' const RecordedFlowDecisionTypeId: unique symbol = Symbol.for('@systemfsoftware/effect-e2e/RecordedFlowDecision') -export class RecordFlow extends Schema.TaggedClass()('RecordFlow', { +export class RecordFlow extends Schema.TaggedClass()('RecordFlow', { keyedBy: CacheKeyContext, start: Observation, end: Observation, @@ -30,13 +30,17 @@ export class RecordFlow extends Schema.TaggedClass()('RecordFlow', { static readonly [Workflow.InstrumentationBrand] = {} as const } -export class Recorded extends Schema.TaggedClass()('Recorded', { entry: TraceEntry }) { +export class Recorded + extends Schema.TaggedClass()('Recorded', { entry: TraceEntry }) +{ readonly [RecordedFlowDecisionTypeId] = RecordedFlowDecisionTypeId } -export class NotRecordable extends Schema.TaggedClass()('NotRecordable', { - reason: Schema.Literals(['no-actions', 'too-many-actions', 'no-change-evidenced']), -}) { +export class NotRecordable + extends Schema.TaggedClass()('NotRecordable', { + reason: Schema.Literals(['no-actions', 'too-many-actions', 'no-change-evidenced']), + }) +{ readonly [RecordedFlowDecisionTypeId] = RecordedFlowDecisionTypeId } diff --git a/packages/effect-e2e/src/cache/admit-entry-delete.workflow.ts b/packages/effect-e2e/src/cache/admit-entry-delete.workflow.ts index 0ac8e93..6fbc7c1 100644 --- a/packages/effect-e2e/src/cache/admit-entry-delete.workflow.ts +++ b/packages/effect-e2e/src/cache/admit-entry-delete.workflow.ts @@ -7,17 +7,23 @@ import { StoreMode } from './cache-store.schema.js' const AdmitEntryDeleteTypeId: unique symbol = Symbol.for('@systemfsoftware/effect-e2e/AdmitEntryDelete') -export class AdmitEntryDelete extends Schema.TaggedClass()('AdmitEntryDelete', { - mode: StoreMode, -}) { +export class AdmitEntryDelete + extends Schema.TaggedClass()('AdmitEntryDelete', { + mode: StoreMode, + }) +{ static readonly [Workflow.InstrumentationBrand] = { mode: 'app.e2e.cache.store-mode' } as const } -export class DeleteAdmitted extends Schema.TaggedClass()('DeleteAdmitted', {}) { +export class DeleteAdmitted + extends Schema.TaggedClass()('DeleteAdmitted', {}) +{ readonly [AdmitEntryDeleteTypeId] = AdmitEntryDeleteTypeId } -export class DeleteRefused extends Schema.TaggedClass()('DeleteRefused', {}) { +export class DeleteRefused + extends Schema.TaggedClass()('DeleteRefused', {}) +{ readonly [AdmitEntryDeleteTypeId] = AdmitEntryDeleteTypeId } diff --git a/packages/effect-e2e/src/cache/admit-entry-write.workflow.ts b/packages/effect-e2e/src/cache/admit-entry-write.workflow.ts index 7794909..e579c80 100644 --- a/packages/effect-e2e/src/cache/admit-entry-write.workflow.ts +++ b/packages/effect-e2e/src/cache/admit-entry-write.workflow.ts @@ -9,20 +9,28 @@ import { EntryWireBytes, entryWireUtf8Of, TraceEntry } from './entry.schema.js' const AdmitEntryWriteTypeId: unique symbol = Symbol.for('@systemfsoftware/effect-e2e/AdmitEntryWrite') -export class AdmitEntryWrite extends Schema.TaggedClass()('AdmitEntryWrite', { - mode: StoreMode, - entry: TraceEntry, -}) { +export class AdmitEntryWrite + extends Schema.TaggedClass()('AdmitEntryWrite', { + mode: StoreMode, + entry: TraceEntry, + }) +{ static readonly [Workflow.InstrumentationBrand] = { mode: 'app.e2e.cache.store-mode' } as const } -export class WriteAdmitted extends Schema.TaggedClass()('WriteAdmitted', { bytes: EntryWireBytes }) { +export class WriteAdmitted + extends Schema.TaggedClass()('WriteAdmitted', { + bytes: EntryWireBytes, + }) +{ readonly [AdmitEntryWriteTypeId] = AdmitEntryWriteTypeId } -export class WriteRefused extends Schema.TaggedClass()('WriteRefused', { - answer: Schema.Union([ReadOnly, Oversized]), -}) { +export class WriteRefused + extends Schema.TaggedClass()('WriteRefused', { + answer: Schema.Union([ReadOnly, Oversized]), + }) +{ readonly [AdmitEntryWriteTypeId] = AdmitEntryWriteTypeId } diff --git a/packages/effect-e2e/src/cache/cache-store.schema.ts b/packages/effect-e2e/src/cache/cache-store.schema.ts index 880bb5f..9a81ad9 100644 --- a/packages/effect-e2e/src/cache/cache-store.schema.ts +++ b/packages/effect-e2e/src/cache/cache-store.schema.ts @@ -12,15 +12,15 @@ export type StoreMode = typeof StoreMode.Type export const InvalidReason = Schema.Literals(['unreadable', 'oversized', 'not-trace-1']) export type InvalidReason = typeof InvalidReason.Type -export class Hit extends Schema.TaggedClass()('Hit', { entry: TraceEntry }) { +export class Hit extends Schema.TaggedClass()('Hit', { entry: TraceEntry }) { readonly [CacheReadTypeId] = CacheReadTypeId } -export class Miss extends Schema.TaggedClass()('Miss', {}) { +export class Miss extends Schema.TaggedClass()('Miss', {}) { readonly [CacheReadTypeId] = CacheReadTypeId } -export class Invalid extends Schema.TaggedClass()('Invalid', { +export class Invalid extends Schema.TaggedClass()('Invalid', { reason: InvalidReason, message: Schema.String, }) { @@ -49,6 +49,8 @@ export const CacheDeleteResult = Schema.Union([Deleted, ReadOnly]).pipe(Schema.t export type CacheDeleteResult = typeof CacheDeleteResult.Type /** The store's own medium failed: the disk refused a write, a rename or a removal. */ -export class CacheStorageFailed extends Schema.TaggedError()('CacheStorageFailed', { - message: Schema.String, -}) {} +export class CacheStorageFailed + extends Schema.TaggedError()('CacheStorageFailed', { + message: Schema.String, + }) +{} diff --git a/packages/effect-e2e/src/cache/classify-replay.workflow.ts b/packages/effect-e2e/src/cache/classify-replay.workflow.ts index 60a9e72..289f047 100644 --- a/packages/effect-e2e/src/cache/classify-replay.workflow.ts +++ b/packages/effect-e2e/src/cache/classify-replay.workflow.ts @@ -85,17 +85,17 @@ export const ReplayStopReason = Schema.Union([ ]) export type ReplayStopReason = typeof ReplayStopReason.Type -export class Miss extends Schema.TaggedClass()('Miss', {}) { +export class Miss extends Schema.TaggedClass()('Miss', {}) { readonly [ReplayDecisionTypeId] = ReplayDecisionTypeId } -export class Replayed extends Schema.TaggedClass()('Replayed', { +export class Replayed extends Schema.TaggedClass()('Replayed', { actions: Schema.Array(Action), }) { readonly [ReplayDecisionTypeId] = ReplayDecisionTypeId } -export class HandOff extends Schema.TaggedClass()('HandOff', { +export class HandOff extends Schema.TaggedClass()('HandOff', { reason: ReplayStopReason, prefix: Schema.Array(Action), }) { @@ -105,11 +105,13 @@ export class HandOff extends Schema.TaggedClass()('HandOff', { export const ReplayDecision = Schema.Union([Miss, Replayed, HandOff]) export type ReplayDecision = typeof ReplayDecision.Type -export class ClassifyReplay extends Schema.TaggedClass()('ClassifyReplay', { - mode: CacheMode, - entry: Schema.optionalKey(TraceEntry), - transcript: ReplayTranscript, -}) { +export class ClassifyReplay + extends Schema.TaggedClass()('ClassifyReplay', { + mode: CacheMode, + entry: Schema.optionalKey(TraceEntry), + transcript: ReplayTranscript, + }) +{ static readonly [Workflow.InstrumentationBrand] = { mode: 'app.e2e.cache.replay-mode' } as const } diff --git a/packages/effect-e2e/src/cache/classify-stored-entry.workflow.ts b/packages/effect-e2e/src/cache/classify-stored-entry.workflow.ts index 1491522..0e8f32f 100644 --- a/packages/effect-e2e/src/cache/classify-stored-entry.workflow.ts +++ b/packages/effect-e2e/src/cache/classify-stored-entry.workflow.ts @@ -14,9 +14,11 @@ export const StoredBytes = Schema.Union([ ]) export type StoredBytes = typeof StoredBytes.Type -export class ClassifyStoredEntry extends Schema.TaggedClass()('ClassifyStoredEntry', { - found: StoredBytes, -}) { +export class ClassifyStoredEntry + extends Schema.TaggedClass()('ClassifyStoredEntry', { + found: StoredBytes, + }) +{ static readonly [Workflow.InstrumentationBrand] = {} as const } diff --git a/packages/effect-e2e/src/cache/derive-key.workflow.ts b/packages/effect-e2e/src/cache/derive-key.workflow.ts index ba744a7..fdda7af 100644 --- a/packages/effect-e2e/src/cache/derive-key.workflow.ts +++ b/packages/effect-e2e/src/cache/derive-key.workflow.ts @@ -20,7 +20,7 @@ import { const CacheKeyTypeId: unique symbol = Symbol.for('@systemfsoftware/effect-e2e/CacheKey') -export class DeriveKey extends Schema.TaggedClass()('DeriveKey', { +export class DeriveKey extends Schema.TaggedClass()('DeriveKey', { mode: CacheMode, step: StepKind, project: CacheKeyContext.fields.project, @@ -37,14 +37,14 @@ export class DeriveKey extends Schema.TaggedClass()('DeriveKey', { static readonly [Workflow.InstrumentationBrand] = { mode: 'app.e2e.cache.mode' } as const } -export class Keyed extends Schema.TaggedClass()('Keyed', { +export class Keyed extends Schema.TaggedClass()('Keyed', { context: CacheKeyContext, canonical: CanonicalJson, }) { readonly [CacheKeyTypeId] = CacheKeyTypeId } -export class Unkeyed extends Schema.TaggedClass()('Unkeyed', {}) { +export class Unkeyed extends Schema.TaggedClass()('Unkeyed', {}) { readonly [CacheKeyTypeId] = CacheKeyTypeId } diff --git a/packages/effect-e2e/src/cache/settle-recordings.workflow.ts b/packages/effect-e2e/src/cache/settle-recordings.workflow.ts index d09e9ea..760c9f9 100644 --- a/packages/effect-e2e/src/cache/settle-recordings.workflow.ts +++ b/packages/effect-e2e/src/cache/settle-recordings.workflow.ts @@ -49,7 +49,7 @@ export type RecordingOutcome = typeof RecordingOutcome.Type export const EntryWrite = Schema.Struct({ digest: KeyDigest, entry: TraceEntry }) export type EntryWrite = typeof EntryWrite.Type -export class Settled extends Schema.TaggedClass()('Settled', { +export class Settled extends Schema.TaggedClass()('Settled', { outcomes: Schema.Array(RecordingOutcome), writes: Schema.Array(EntryWrite), deletes: Schema.Array(KeyDigest), @@ -57,19 +57,21 @@ export class Settled extends Schema.TaggedClass()('Settled', { readonly [SettleRecordingsTypeId] = SettleRecordingsTypeId } -export class Untouched extends Schema.TaggedClass()('Untouched', {}) { +export class Untouched extends Schema.TaggedClass()('Untouched', {}) { readonly [SettleRecordingsTypeId] = SettleRecordingsTypeId } export const SettleRecordingsDecision = Schema.Union([Settled, Untouched]) export type SettleRecordingsDecision = typeof SettleRecordingsDecision.Type -export class SettleRecordings extends Schema.TaggedClass()('SettleRecordings', { - mode: CacheMode, - ending: AttemptEnding, - steps: Schema.Array(StepRecord), - staged: Schema.Array(StagedRecording), -}) { +export class SettleRecordings + extends Schema.TaggedClass()('SettleRecordings', { + mode: CacheMode, + ending: AttemptEnding, + steps: Schema.Array(StepRecord), + staged: Schema.Array(StagedRecording), + }) +{ static readonly [Workflow.InstrumentationBrand] = { mode: 'app.e2e.cache.settle-mode' } as const } diff --git a/packages/effect-e2e/src/cache/template-unique-slots.workflow.ts b/packages/effect-e2e/src/cache/template-unique-slots.workflow.ts index d5c574d..7952de1 100644 --- a/packages/effect-e2e/src/cache/template-unique-slots.workflow.ts +++ b/packages/effect-e2e/src/cache/template-unique-slots.workflow.ts @@ -11,20 +11,22 @@ import { canonicalJsonOf, type ParamValue, StepParams, type UniqueSlot, uniqueSl const TemplateUniqueSlotsTypeId: unique symbol = Symbol.for('@systemfsoftware/effect-e2e/TemplateUniqueSlots') -export class TemplateUniqueSlots extends Schema.TaggedClass()('TemplateUniqueSlots', { - params: StepParams, - entry: TraceEntry, -}) { +export class TemplateUniqueSlots + extends Schema.TaggedClass()('TemplateUniqueSlots', { + params: StepParams, + entry: TraceEntry, + }) +{ static readonly [Workflow.InstrumentationBrand] = {} as const } -export class Templated extends Schema.TaggedClass()('Templated', { +export class Templated extends Schema.TaggedClass()('Templated', { entry: TraceEntry, }) { readonly [TemplateUniqueSlotsTypeId] = TemplateUniqueSlotsTypeId } -export class NotRecorded extends Schema.TaggedClass()('NotRecorded', { +export class NotRecorded extends Schema.TaggedClass()('NotRecorded', { reason: Schema.Literals(['param-collision', 'placeholder-literal']), }) { readonly [TemplateUniqueSlotsTypeId] = TemplateUniqueSlotsTypeId diff --git a/packages/effect-e2e/src/engine/observation.schema.ts b/packages/effect-e2e/src/engine/observation.schema.ts index 250df21..ea04df2 100644 --- a/packages/effect-e2e/src/engine/observation.schema.ts +++ b/packages/effect-e2e/src/engine/observation.schema.ts @@ -17,10 +17,12 @@ export type Observation = typeof Observation.Type export const observationDepth = (observation: Observation): number => observation.tree.reduce((deepest, root) => Math.max(deepest, semanticTreeDepth(root)), 0) -export class TreeDepthExceeded extends Schema.TaggedError()('TreeDepthExceeded', { - budget: Schema.Int, - depth: Schema.Int, -}) { +export class TreeDepthExceeded + extends Schema.TaggedError()('TreeDepthExceeded', { + budget: Schema.Int, + depth: Schema.Int, + }) +{ override get message(): string { return `the observed tree is ${this.depth} nodes deep; the budget is ${this.budget}` } diff --git a/packages/effect-e2e/src/model/judge-reply.workflow.ts b/packages/effect-e2e/src/model/judge-reply.workflow.ts index 718cdea..95ac4df 100644 --- a/packages/effect-e2e/src/model/judge-reply.workflow.ts +++ b/packages/effect-e2e/src/model/judge-reply.workflow.ts @@ -21,7 +21,7 @@ import { const JudgedReplyTypeId: unique symbol = Symbol.for('@systemfsoftware/effect-e2e/JudgedReply') type JudgedReplyTypeId = typeof JudgedReplyTypeId -export class Accepted extends Schema.TaggedClass()('Accepted', { +export class Accepted extends Schema.TaggedClass()('Accepted', { answer: ModelAnswer, finishReason: FinishReason, usage: TokenUsage, @@ -30,7 +30,9 @@ export class Accepted extends Schema.TaggedClass()('Accepted', { readonly [JudgedReplyTypeId] = JudgedReplyTypeId } -export class JudgeReply extends Schema.TaggedClass()('JudgeReply', { reply: ProviderReply }) { +export class JudgeReply + extends Schema.TaggedClass()('JudgeReply', { reply: ProviderReply }) +{ static readonly [Workflow.InstrumentationBrand] = {} as const } diff --git a/packages/effect-e2e/src/report/merge-reports.workflow.ts b/packages/effect-e2e/src/report/merge-reports.workflow.ts index 4b13f22..499c452 100644 --- a/packages/effect-e2e/src/report/merge-reports.workflow.ts +++ b/packages/effect-e2e/src/report/merge-reports.workflow.ts @@ -19,27 +19,35 @@ import { const MergeReportsDecisionTypeId: unique symbol = Symbol.for('@systemfsoftware/effect-e2e/MergeReportsDecision') -export class MergeReports extends Schema.TaggedClass()('MergeReports', { - partials: Schema.NonEmptyArray(Report1), -}) { +export class MergeReports + extends Schema.TaggedClass()('MergeReports', { + partials: Schema.NonEmptyArray(Report1), + }) +{ static readonly [Workflow.InstrumentationBrand] = {} as const } -export class ReportsMerged extends Schema.TaggedClass()('ReportsMerged', { report: Report1 }) { +export class ReportsMerged + extends Schema.TaggedClass()('ReportsMerged', { report: Report1 }) +{ readonly [MergeReportsDecisionTypeId] = MergeReportsDecisionTypeId } -export class RunsDisagree extends Schema.TaggedClass()('RunsDisagree', { - field: Schema.Literals(['id', 'project']), -}) { +export class RunsDisagree + extends Schema.TaggedClass()('RunsDisagree', { + field: Schema.Literals(['id', 'project']), + }) +{ readonly [MergeReportsDecisionTypeId] = MergeReportsDecisionTypeId } -export class ResultsOverlap extends Schema.TaggedClass()('ResultsOverlap', { - test: TestId, - target: Schema.String, - agent: Schema.String, -}) { +export class ResultsOverlap + extends Schema.TaggedClass()('ResultsOverlap', { + test: TestId, + target: Schema.String, + agent: Schema.String, + }) +{ readonly [MergeReportsDecisionTypeId] = MergeReportsDecisionTypeId } diff --git a/packages/effect-e2e/src/run/admit-ai-trace.workflow.ts b/packages/effect-e2e/src/run/admit-ai-trace.workflow.ts index 1ee61f3..c7755fe 100644 --- a/packages/effect-e2e/src/run/admit-ai-trace.workflow.ts +++ b/packages/effect-e2e/src/run/admit-ai-trace.workflow.ts @@ -13,18 +13,24 @@ const AiTraceAdmissionTypeId: unique symbol = Symbol.for('@systemfsoftware/effec * Admission is independent of the `trace` setting (design ยง13.3), so a failing try with `trace` off still writes * its ai-trace (requirements R6, R7). */ -export class AdmitAiTrace extends Schema.TaggedClass()('AdmitAiTrace', { - aiTrace: Schema.Boolean, - status: RunStatus, -}) { +export class AdmitAiTrace + extends Schema.TaggedClass()('AdmitAiTrace', { + aiTrace: Schema.Boolean, + status: RunStatus, + }) +{ static readonly [Workflow.InstrumentationBrand] = { aiTrace: 'app.e2e.run.ai-trace' } as const } -export class AiTraceAdmitted extends Schema.TaggedClass()('AiTraceAdmitted', {}) { +export class AiTraceAdmitted + extends Schema.TaggedClass()('AiTraceAdmitted', {}) +{ readonly [AiTraceAdmissionTypeId] = AiTraceAdmissionTypeId } -export class AiTraceDeclined extends Schema.TaggedClass()('AiTraceDeclined', {}) { +export class AiTraceDeclined + extends Schema.TaggedClass()('AiTraceDeclined', {}) +{ readonly [AiTraceAdmissionTypeId] = AiTraceAdmissionTypeId } diff --git a/packages/effect-e2e/src/run/admit-evidence.workflow.ts b/packages/effect-e2e/src/run/admit-evidence.workflow.ts index b86bf52..e4c2bf9 100644 --- a/packages/effect-e2e/src/run/admit-evidence.workflow.ts +++ b/packages/effect-e2e/src/run/admit-evidence.workflow.ts @@ -8,18 +8,24 @@ import { RunStatus } from '../verdict/run-verdict.schema.js' const EvidenceAdmissionTypeId: unique symbol = Symbol.for('@systemfsoftware/effect-e2e/EvidenceAdmission') -export class AdmitEvidence extends Schema.TaggedClass()('AdmitEvidence', { - trace: Trace, - status: RunStatus, -}) { +export class AdmitEvidence + extends Schema.TaggedClass()('AdmitEvidence', { + trace: Trace, + status: RunStatus, + }) +{ static readonly [Workflow.InstrumentationBrand] = { trace: 'app.e2e.run.trace' } as const } -export class EvidenceAdmitted extends Schema.TaggedClass()('EvidenceAdmitted', {}) { +export class EvidenceAdmitted + extends Schema.TaggedClass()('EvidenceAdmitted', {}) +{ readonly [EvidenceAdmissionTypeId] = EvidenceAdmissionTypeId } -export class EvidenceDeclined extends Schema.TaggedClass()('EvidenceDeclined', {}) { +export class EvidenceDeclined + extends Schema.TaggedClass()('EvidenceDeclined', {}) +{ readonly [EvidenceAdmissionTypeId] = EvidenceAdmissionTypeId } diff --git a/packages/effect-e2e/src/run/admit-platforms.workflow.ts b/packages/effect-e2e/src/run/admit-platforms.workflow.ts index c691670..ddfc95a 100644 --- a/packages/effect-e2e/src/run/admit-platforms.workflow.ts +++ b/packages/effect-e2e/src/run/admit-platforms.workflow.ts @@ -11,21 +11,25 @@ const AdmitPlatformsTypeId: unique symbol = Symbol.for('@systemfsoftware/effect- export const TestPlatform = Schema.Literals(['web', 'ios', 'android']) export type TestPlatform = typeof TestPlatform.Type -export class AdmitPlatforms extends Schema.TaggedClass()('AdmitPlatforms', { - declared: TestPlatform.pipe(Schema.NonEmptyArray, Schema.Option), - platform: TestPlatform, - target: Schema.String, -}) { +export class AdmitPlatforms + extends Schema.TaggedClass()('AdmitPlatforms', { + declared: TestPlatform.pipe(Schema.NonEmptyArray, Schema.Option), + platform: TestPlatform, + target: Schema.String, + }) +{ static readonly [Workflow.InstrumentationBrand] = { platform: 'app.e2e.run.target-platform' } as const } -export class Admitted extends Schema.TaggedClass()('Admitted', {}) { +export class Admitted extends Schema.TaggedClass()('Admitted', {}) { readonly [AdmitPlatformsTypeId] = AdmitPlatformsTypeId } -export class PlatformSkipped extends Schema.TaggedClass()('PlatformSkipped', { - reason: Schema.String, -}) { +export class PlatformSkipped + extends Schema.TaggedClass()('PlatformSkipped', { + reason: Schema.String, + }) +{ readonly [AdmitPlatformsTypeId] = AdmitPlatformsTypeId } diff --git a/packages/effect-e2e/src/run/conclude-attempt.workflow.ts b/packages/effect-e2e/src/run/conclude-attempt.workflow.ts index 12c238d..975bc91 100644 --- a/packages/effect-e2e/src/run/conclude-attempt.workflow.ts +++ b/packages/effect-e2e/src/run/conclude-attempt.workflow.ts @@ -40,23 +40,25 @@ export const TryEnding = Schema.Union([ ]) export type TryEnding = typeof TryEnding.Type -export class ConcludeAttempt extends Schema.TaggedClass()('ConcludeAttempt', { - ending: TryEnding, - launches: Schema.Array(Launch), - records: Schema.Array(SessionRecord), - sessionErrors: Schema.Array(FailureRecord), -}) { +export class ConcludeAttempt + extends Schema.TaggedClass()('ConcludeAttempt', { + ending: TryEnding, + launches: Schema.Array(Launch), + records: Schema.Array(SessionRecord), + sessionErrors: Schema.Array(FailureRecord), + }) +{ static readonly [Workflow.InstrumentationBrand] = {} as const } -export class TryPassed extends Schema.TaggedClass()('TryPassed', { +export class TryPassed extends Schema.TaggedClass()('TryPassed', { steps: Schema.Array(StepRecord), staged: Schema.Array(StagedRecording), }) { readonly [ConcludeAttemptTypeId] = ConcludeAttemptTypeId } -export class TryFailed extends Schema.TaggedClass()('TryFailed', { +export class TryFailed extends Schema.TaggedClass()('TryFailed', { steps: Schema.Array(StepRecord), errors: Schema.Array(FailureRecord), staged: Schema.Array(StagedRecording), @@ -65,10 +67,12 @@ export class TryFailed extends Schema.TaggedClass()('TryFailed', { readonly [ConcludeAttemptTypeId] = ConcludeAttemptTypeId } -export class TryCancelled extends Schema.TaggedClass()('TryCancelled', { - steps: Schema.Array(StepRecord), - errors: Schema.Array(FailureRecord), -}) { +export class TryCancelled + extends Schema.TaggedClass()('TryCancelled', { + steps: Schema.Array(StepRecord), + errors: Schema.Array(FailureRecord), + }) +{ readonly [ConcludeAttemptTypeId] = ConcludeAttemptTypeId } diff --git a/packages/effect-e2e/src/run/test-session.service.ts b/packages/effect-e2e/src/run/test-session.service.ts index bf1a328..e2a67bb 100644 --- a/packages/effect-e2e/src/run/test-session.service.ts +++ b/packages/effect-e2e/src/run/test-session.service.ts @@ -198,7 +198,7 @@ const launched = ( ]) const fiber = yield* step(index).pipe( Effect.onExit(() => Ref.update(books.launches, marked(index, 'settled'))), - Effect.forkIn(books.steps), + Effect.forkIn(books.steps, { startImmediately: true }), ) return { join: Effect.andThen(Ref.update(books.launches, marked(index, 'joined')), Fiber.join(fiber)) } }) diff --git a/packages/effect-e2e/src/runner/try-failure.schema.ts b/packages/effect-e2e/src/runner/try-failure.schema.ts index b884450..67caa6f 100644 --- a/packages/effect-e2e/src/runner/try-failure.schema.ts +++ b/packages/effect-e2e/src/runner/try-failure.schema.ts @@ -3,10 +3,12 @@ import * as Schema from 'effect/Schema' import { FailureCode } from '../verdict/failure.schema.js' import { RunStatus } from '../verdict/run-verdict.schema.js' -export class AttemptFailed extends Schema.TaggedError()('AttemptFailed', { - status: RunStatus, - codes: Schema.Array(FailureCode), -}) { +export class AttemptFailed + extends Schema.TaggedError()('AttemptFailed', { + status: RunStatus, + codes: Schema.Array(FailureCode), + }) +{ override get message(): string { return `the attempt ended ${this.status}: ${this.codes.join(', ')}` } diff --git a/packages/effect-e2e/src/verdict/admit-cause-proposal.workflow.ts b/packages/effect-e2e/src/verdict/admit-cause-proposal.workflow.ts index 3b6506c..3d2ed05 100644 --- a/packages/effect-e2e/src/verdict/admit-cause-proposal.workflow.ts +++ b/packages/effect-e2e/src/verdict/admit-cause-proposal.workflow.ts @@ -54,28 +54,34 @@ const ProposeCauseTool = Schema.Struct({ const CauseProposalDecisionTypeId: unique symbol = Symbol.for('@systemfsoftware/effect-e2e/CauseProposalDecision') type CauseProposalDecisionTypeId = typeof CauseProposalDecisionTypeId -export class CauseClassified extends Schema.TaggedClass()('CauseClassified', { - failure: FailureRecord, -}) { +export class CauseClassified + extends Schema.TaggedClass()('CauseClassified', { + failure: FailureRecord, + }) +{ readonly [CauseProposalDecisionTypeId] = CauseProposalDecisionTypeId } -export class CauseUnchanged extends Schema.TaggedClass()('CauseUnchanged', { - failure: FailureRecord, -}) { +export class CauseUnchanged + extends Schema.TaggedClass()('CauseUnchanged', { + failure: FailureRecord, + }) +{ readonly [CauseProposalDecisionTypeId] = CauseProposalDecisionTypeId } export const CauseProposalDecision = Schema.Union([CauseClassified, CauseUnchanged]) export type CauseProposalDecision = typeof CauseProposalDecision.Type -export class AdmitCauseProposal extends Schema.TaggedClass()('AdmitCauseProposal', { - failure: FailureRecord, - answer: ModelAnswer, - refs: Schema.Array(NodeRef), - logs: Schema.Array(Schema.String), - route: Route, -}) { +export class AdmitCauseProposal + extends Schema.TaggedClass()('AdmitCauseProposal', { + failure: FailureRecord, + answer: ModelAnswer, + refs: Schema.Array(NodeRef), + logs: Schema.Array(Schema.String), + route: Route, + }) +{ static readonly [Workflow.InstrumentationBrand] = {} as const } diff --git a/packages/effect-e2e/src/verdict/default-failure-cause.workflow.ts b/packages/effect-e2e/src/verdict/default-failure-cause.workflow.ts index 0b8d359..e73a139 100644 --- a/packages/effect-e2e/src/verdict/default-failure-cause.workflow.ts +++ b/packages/effect-e2e/src/verdict/default-failure-cause.workflow.ts @@ -11,33 +11,42 @@ import { FailureCode } from './failure.schema.js' const DefaultCauseTypeId: unique symbol = Symbol.for('@systemfsoftware/effect-e2e/DefaultCause') type DefaultCauseTypeId = typeof DefaultCauseTypeId -export class ProductCause extends Schema.TaggedClass()('ProductCause', RecordedProposal.fields) { +export class ProductCause + extends Schema.TaggedClass()('ProductCause', RecordedProposal.fields) +{ readonly [DefaultCauseTypeId] = DefaultCauseTypeId } -export class AutomationCause extends Schema.TaggedClass()('AutomationCause', RecordedProposal.fields) { +export class AutomationCause extends Schema.TaggedClass()( + 'AutomationCause', + RecordedProposal.fields, +) { readonly [DefaultCauseTypeId] = DefaultCauseTypeId } -export class EnvironmentCause - extends Schema.TaggedClass()('EnvironmentCause', RecordedProposal.fields) -{ +export class EnvironmentCause extends Schema.TaggedClass()( + 'EnvironmentCause', + RecordedProposal.fields, +) { readonly [DefaultCauseTypeId] = DefaultCauseTypeId } -export class UnclassifiedCause - extends Schema.TaggedClass()('UnclassifiedCause', RecordedProposal.fields) -{ +export class UnclassifiedCause extends Schema.TaggedClass()( + 'UnclassifiedCause', + RecordedProposal.fields, +) { readonly [DefaultCauseTypeId] = DefaultCauseTypeId } export const DefaultCause = Schema.Union([ProductCause, AutomationCause, EnvironmentCause, UnclassifiedCause]) export type DefaultCause = typeof DefaultCause.Type -export class DefaultFailureCause extends Schema.TaggedClass()('DefaultFailureCause', { - code: Schema.String, - ...RecordedProposal.fields, -}) { +export class DefaultFailureCause + extends Schema.TaggedClass()('DefaultFailureCause', { + code: Schema.String, + ...RecordedProposal.fields, + }) +{ static readonly [Workflow.InstrumentationBrand] = {} as const } diff --git a/packages/effect-e2e/src/verdict/failure.schema.ts b/packages/effect-e2e/src/verdict/failure.schema.ts index 27e9a8f..3b8de73 100644 --- a/packages/effect-e2e/src/verdict/failure.schema.ts +++ b/packages/effect-e2e/src/verdict/failure.schema.ts @@ -37,142 +37,189 @@ export type FailureCode = typeof FailureCode.Type export const Evidence = Schema.NonEmptyArray(EvidenceRef) export type Evidence = typeof Evidence.Type -export class ModelUnavailable extends Schema.TaggedError()('MODEL_UNAVAILABLE', { - message: Schema.String, - evidence: Evidence, -}) {} +export class ModelUnavailable + extends Schema.TaggedError()('MODEL_UNAVAILABLE', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class ModelProviderFailed extends Schema.TaggedError()('MODEL_PROVIDER_FAILED', { - message: Schema.String, - evidence: Evidence, -}) {} +export class ModelProviderFailed + extends Schema.TaggedError()('MODEL_PROVIDER_FAILED', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class ModelRefused extends Schema.TaggedError()('MODEL_REFUSED', { - message: Schema.String, - evidence: Evidence, -}) {} +export class ModelRefused + extends Schema.TaggedError()('MODEL_REFUSED', { + message: Schema.String, + evidence: Evidence, + }) +{} export class AuthCredentialUnavailable - extends Schema.TaggedError()('AUTH_CREDENTIAL_UNAVAILABLE', { + extends Schema.TaggedError()( + 'AUTH_CREDENTIAL_UNAVAILABLE', + { + message: Schema.String, + evidence: Evidence, + }, + ) +{} + +export class AuthCredentialInvalid + extends Schema.TaggedError()('AUTH_CREDENTIAL_INVALID', { message: Schema.String, evidence: Evidence, }) {} -export class AuthCredentialInvalid extends Schema.TaggedError()('AUTH_CREDENTIAL_INVALID', { - message: Schema.String, - evidence: Evidence, -}) {} - -export class SecretUnavailable extends Schema.TaggedError()('SECRET_UNAVAILABLE', { - message: Schema.String, - evidence: Evidence, -}) {} +export class SecretUnavailable + extends Schema.TaggedError()('SECRET_UNAVAILABLE', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class EnvironmentUnavailable extends Schema.TaggedError()('ENVIRONMENT_UNAVAILABLE', { - message: Schema.String, - evidence: Evidence, -}) {} +export class EnvironmentUnavailable + extends Schema.TaggedError()('ENVIRONMENT_UNAVAILABLE', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class AppUnreachable extends Schema.TaggedError()('APP_UNREACHABLE', { - message: Schema.String, - evidence: Evidence, -}) {} +export class AppUnreachable + extends Schema.TaggedError()('APP_UNREACHABLE', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class AppNotOpen extends Schema.TaggedError()('APP_NOT_OPEN', { +export class AppNotOpen extends Schema.TaggedError()('APP_NOT_OPEN', { message: Schema.String, evidence: Evidence, }) {} -export class ArtifactWriteFailed extends Schema.TaggedError()('ARTIFACT_WRITE_FAILED', { - message: Schema.String, - evidence: Evidence, -}) {} +export class ArtifactWriteFailed + extends Schema.TaggedError()('ARTIFACT_WRITE_FAILED', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class LocatorNotFound extends Schema.TaggedError()('LOCATOR_NOT_FOUND', { - message: Schema.String, - evidence: Evidence, -}) {} +export class LocatorNotFound + extends Schema.TaggedError()('LOCATOR_NOT_FOUND', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class LocatorAmbiguous extends Schema.TaggedError()('LOCATOR_AMBIGUOUS', { - message: Schema.String, - evidence: Evidence, -}) {} +export class LocatorAmbiguous + extends Schema.TaggedError()('LOCATOR_AMBIGUOUS', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class ActionFailed extends Schema.TaggedError()('ACTION_FAILED', { - message: Schema.String, - evidence: Evidence, -}) {} +export class ActionFailed + extends Schema.TaggedError()('ACTION_FAILED', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class AutomationUnsupported extends Schema.TaggedError()('AUTOMATION_UNSUPPORTED', { - message: Schema.String, - evidence: Evidence, -}) {} +export class AutomationUnsupported + extends Schema.TaggedError()('AUTOMATION_UNSUPPORTED', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class UnsupportedCapability extends Schema.TaggedError()('UNSUPPORTED_CAPABILITY', { - message: Schema.String, - evidence: Evidence, -}) {} +export class UnsupportedCapability + extends Schema.TaggedError()('UNSUPPORTED_CAPABILITY', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class StepBudgetExhausted extends Schema.TaggedError()('STEP_BUDGET_EXHAUSTED', { - message: Schema.String, - evidence: Evidence, -}) {} +export class StepBudgetExhausted + extends Schema.TaggedError()('STEP_BUDGET_EXHAUSTED', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class StepTimeout extends Schema.TaggedError()('STEP_TIMEOUT', { +export class StepTimeout extends Schema.TaggedError()('STEP_TIMEOUT', { message: Schema.String, evidence: Evidence, }) {} -export class StepNoConclusion extends Schema.TaggedError()('STEP_NO_CONCLUSION', { - message: Schema.String, - evidence: Evidence, -}) {} +export class StepNoConclusion + extends Schema.TaggedError()('STEP_NO_CONCLUSION', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class StepNotAwaited extends Schema.TaggedError()('STEP_NOT_AWAITED', { - message: Schema.String, - evidence: Evidence, -}) {} +export class StepNotAwaited + extends Schema.TaggedError()('STEP_NOT_AWAITED', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class ReplayStale extends Schema.TaggedError()('REPLAY_STALE', { +export class ReplayStale extends Schema.TaggedError()('REPLAY_STALE', { message: Schema.String, evidence: Evidence, }) {} -export class PolicyDenied extends Schema.TaggedError()('POLICY_DENIED', { - message: Schema.String, - evidence: Evidence, -}) {} +export class PolicyDenied + extends Schema.TaggedError()('POLICY_DENIED', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class ContextOverflow extends Schema.TaggedError()('CONTEXT_OVERFLOW', { - message: Schema.String, - evidence: Evidence, -}) {} +export class ContextOverflow + extends Schema.TaggedError()('CONTEXT_OVERFLOW', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class ModelOutputInvalid extends Schema.TaggedError()('MODEL_OUTPUT_INVALID', { - message: Schema.String, - evidence: Evidence, -}) {} +export class ModelOutputInvalid + extends Schema.TaggedError()('MODEL_OUTPUT_INVALID', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class AssertionInconclusive extends Schema.TaggedError()('ASSERTION_INCONCLUSIVE', { - message: Schema.String, - evidence: Evidence, -}) {} +export class AssertionInconclusive + extends Schema.TaggedError()('ASSERTION_INCONCLUSIVE', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class AssertionFailed extends Schema.TaggedError()('ASSERTION_FAILED', { - message: Schema.String, - evidence: Evidence, -}) {} +export class AssertionFailed + extends Schema.TaggedError()('ASSERTION_FAILED', { + message: Schema.String, + evidence: Evidence, + }) +{} -export class Interrupted extends Schema.TaggedError()('INTERRUPTED', { +export class Interrupted extends Schema.TaggedError()('INTERRUPTED', { message: Schema.String, evidence: Evidence, }) {} -export class InternalError extends Schema.TaggedError()('INTERNAL_ERROR', { - message: Schema.String, - evidence: Evidence, -}) {} +export class InternalError + extends Schema.TaggedError()('INTERNAL_ERROR', { + message: Schema.String, + evidence: Evidence, + }) +{} export const FailureError = Schema.Union([ ModelUnavailable, diff --git a/packages/effect-e2e/src/verdict/fold-run-verdict.workflow.ts b/packages/effect-e2e/src/verdict/fold-run-verdict.workflow.ts index 5761843..c93005a 100644 --- a/packages/effect-e2e/src/verdict/fold-run-verdict.workflow.ts +++ b/packages/effect-e2e/src/verdict/fold-run-verdict.workflow.ts @@ -15,23 +15,34 @@ type RunVerdictDecisionTypeId = typeof RunVerdictDecisionTypeId const withFailures = { failures: Schema.NonEmptyArray(FailureRecord) } -export class VerdictPassed extends Schema.TaggedClass()('VerdictPassed', {}) { +export class VerdictPassed + extends Schema.TaggedClass()('VerdictPassed', {}) +{ readonly [RunVerdictDecisionTypeId] = RunVerdictDecisionTypeId } -export class VerdictFailed extends Schema.TaggedClass()('VerdictFailed', withFailures) { +export class VerdictFailed + extends Schema.TaggedClass()('VerdictFailed', withFailures) +{ readonly [RunVerdictDecisionTypeId] = RunVerdictDecisionTypeId } -export class VerdictBlocked extends Schema.TaggedClass()('VerdictBlocked', withFailures) { +export class VerdictBlocked + extends Schema.TaggedClass()('VerdictBlocked', withFailures) +{ readonly [RunVerdictDecisionTypeId] = RunVerdictDecisionTypeId } -export class VerdictErrored extends Schema.TaggedClass()('VerdictErrored', withFailures) { +export class VerdictErrored + extends Schema.TaggedClass()('VerdictErrored', withFailures) +{ readonly [RunVerdictDecisionTypeId] = RunVerdictDecisionTypeId } -export class VerdictInterrupted extends Schema.TaggedClass()('VerdictInterrupted', withFailures) { +export class VerdictInterrupted extends Schema.TaggedClass()( + 'VerdictInterrupted', + withFailures, +) { readonly [RunVerdictDecisionTypeId] = RunVerdictDecisionTypeId } @@ -44,10 +55,12 @@ export const RunVerdictDecision = Schema.Union([ ]) export type RunVerdictDecision = typeof RunVerdictDecision.Type -export class FoldRunVerdict extends Schema.TaggedClass()('FoldRunVerdict', { - steps: Schema.Array(StepRecord), - runErrors: Schema.Array(FailureRecord), -}) { +export class FoldRunVerdict + extends Schema.TaggedClass()('FoldRunVerdict', { + steps: Schema.Array(StepRecord), + runErrors: Schema.Array(FailureRecord), + }) +{ static readonly [Workflow.InstrumentationBrand] = {} as const } diff --git a/packages/effect-e2e/tests/agent-extract.integration.test.ts b/packages/effect-e2e/tests/agent-extract.integration.test.ts index 9f49a79..b47cb96 100644 --- a/packages/effect-e2e/tests/agent-extract.integration.test.ts +++ b/packages/effect-e2e/tests/agent-extract.integration.test.ts @@ -29,6 +29,7 @@ const Feature = makeFeature({ it }) const INSTRUCTION = 'read the count from the screen' const SPEC_COUNT_JSON_SCHEMA = { + $schema: 'https://json-schema.org/draft/2020-12/schema', type: 'object', properties: { count: { type: 'number' } }, required: ['count'], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c7f6660..2b77881 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -164,12 +164,6 @@ settings: catalogs: default: - '@effect/platform-node': - specifier: ^4.0.5 - version: 4.0.5 - '@effect/tsgo': - specifier: ^0.51.1 - version: 0.51.1 '@microsoft/api-extractor': specifier: ^7.59.4 version: 7.59.4 @@ -182,9 +176,6 @@ catalogs: '@types/node': specifier: ^26.6.5 version: 26.6.5 - effect: - specifier: ^4.0.5 - version: 4.0.5 playwright: specifier: ^1.64.0 version: 1.64.0 @@ -205,11 +196,11 @@ catalogs: version: 5.0.5 oxlint: oxlint: - specifier: ~1.87.0 - version: 1.87.0 + specifier: ~1.88.0 + version: 1.88.0 oxlint-tsgolint: - specifier: 7.0.2003 - version: 7.0.2003 + specifier: 7.0.2004 + version: 7.0.2004 stryker: '@systemfsoftware/stryker-ignorer-effect-schema-declarations': specifier: latest @@ -250,6 +241,11 @@ overrides: '@systemfsoftware/tsdown-config': file:.sfs-deps/tsdown-config-0.1.1.tgz '@systemfsoftware/vitest': file:.sfs-deps/vitest-3.0.0.tgz '@systemfsoftware/vitest-config': file:.sfs-deps/vitest-config-0.1.1.tgz + effect: ^4.1.0 + '@effect/tsgo': ^0.63.0 + '@effect/opentelemetry': ^4.1.0 + '@effect/platform-node': ^4.1.0 + '@effect/platform-node-shared': ^4.1.0 fast-check: ^4.10.2 vite: ^8.3.4 esbuild: ^0.28.2 @@ -271,14 +267,14 @@ importers: specifier: ^21 version: 21.2.3 '@effect/tsgo': - specifier: 'catalog:' - version: 0.51.1 + specifier: ^0.63.0 + version: 0.63.0 oxlint: specifier: catalog:oxlint - version: 1.87.0(oxlint-tsgolint@7.0.2003) + version: 1.88.0(oxlint-tsgolint@7.0.2004) oxlint-tsgolint: specifier: catalog:oxlint - version: 7.0.2003 + version: 7.0.2004 tstyche-typescript: specifier: npm:typescript@6.0.3 version: typescript@6.0.3 @@ -296,11 +292,11 @@ importers: version: 2.4.0 '@systemfsoftware/effect-cell-types': specifier: file:../../.sfs-deps/effect-cell-types-12.0.2.tgz - version: file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.0.5) + version: file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.1.0) devDependencies: '@effect/platform-node': - specifier: 'catalog:' - version: 4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1)) + specifier: ^4.1.0 + version: 4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)) '@microsoft/api-extractor': specifier: 'catalog:' version: 7.59.4(@types/node@26.6.5) @@ -309,19 +305,19 @@ importers: version: 4.2.0 '@systemfsoftware/effect-gherkin-spec': specifier: file:../../.sfs-deps/effect-gherkin-spec-8.0.0.tgz - version: file:.sfs-deps/effect-gherkin-spec-8.0.0.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5) + version: file:.sfs-deps/effect-gherkin-spec-8.0.0.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5) '@systemfsoftware/effect-schema-law': specifier: file:../../.sfs-deps/effect-schema-law-6.1.0.tgz - version: file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.0.5)(vitest@5.0.5) + version: file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.1.0)(vitest@5.0.5) '@systemfsoftware/effect-schema-vite': specifier: file:../../.sfs-deps/effect-schema-vite-3.1.1.tgz - version: file:.sfs-deps/effect-schema-vite-3.1.1.tgz(@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.0.5)(vitest@5.0.5))(effect@4.0.5)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1))(vitest@5.0.5) + version: file:.sfs-deps/effect-schema-vite-3.1.1.tgz(@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.1.0)(vitest@5.0.5))(effect@4.1.0)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1))(vitest@5.0.5) '@systemfsoftware/oxlint-config-recommended': specifier: file:../../.sfs-deps/oxlint-config-recommended-5.0.0.tgz - version: file:.sfs-deps/oxlint-config-recommended-5.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2003)(oxlint@1.87.0(oxlint-tsgolint@7.0.2003))(typescript@7.0.2) + version: file:.sfs-deps/oxlint-config-recommended-5.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2004)(oxlint@1.88.0(oxlint-tsgolint@7.0.2004))(typescript@7.0.2) '@systemfsoftware/stryker-config': specifier: file:../../.sfs-deps/stryker-config-0.2.0.tgz - version: file:.sfs-deps/stryker-config-0.2.0.tgz(@systemfsoftware/stryker-js@17.0.2(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@8.1.1)(vitest@5.0.5)) + version: file:.sfs-deps/stryker-config-0.2.0.tgz(@systemfsoftware/stryker-js@17.0.2(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@8.1.1)(vitest@5.0.5)) '@systemfsoftware/stryker-ignorer-effect-schema-declarations': specifier: catalog:stryker version: 0.2.0(rolldown@1.2.14) @@ -330,13 +326,13 @@ importers: version: 0.1.1(rolldown@1.2.14) '@systemfsoftware/stryker-js': specifier: catalog:stryker - version: 17.0.2(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@8.1.1)(vitest@5.0.5) + version: 17.0.2(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@8.1.1)(vitest@5.0.5) '@systemfsoftware/stryker-js-typescript-checker': specifier: catalog:stryker version: 8.2.1(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(rolldown@1.2.14)(supports-color@8.1.1) '@systemfsoftware/stryker-js-vitest-runner': specifier: catalog:stryker - version: 8.1.1(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(supports-color@8.1.1)(vitest@5.0.5) + version: 8.1.1(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(supports-color@8.1.1)(vitest@5.0.5) '@systemfsoftware/tsconfig': specifier: file:../../.sfs-deps/tsconfig-2.0.2.tgz version: file:.sfs-deps/tsconfig-2.0.2.tgz @@ -345,7 +341,7 @@ importers: version: file:.sfs-deps/tsdown-config-0.1.1.tgz(@microsoft/api-extractor@7.59.4(@types/node@26.6.5))(tsdown@0.23.0(oxc-resolver@11.21.2)(tsx@4.23.13)(typescript@7.0.2)(unrun@0.2.39)) '@systemfsoftware/vitest': specifier: file:../../.sfs-deps/vitest-3.0.0.tgz - version: file:.sfs-deps/vitest-3.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) + version: file:.sfs-deps/vitest-3.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) '@systemfsoftware/vitest-config': specifier: file:../../.sfs-deps/vitest-config-0.1.1.tgz version: file:.sfs-deps/vitest-config-0.1.1.tgz(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1))(vitest@5.0.5) @@ -353,14 +349,14 @@ importers: specifier: 'catalog:' version: 26.6.5 effect: - specifier: 'catalog:' - version: 4.0.5 + specifier: ^4.1.0 + version: 4.1.0 fast-check: specifier: ^4.10.2 version: 4.10.2 oxlint: specifier: catalog:oxlint - version: 1.87.0(oxlint-tsgolint@7.0.2003) + version: 1.88.0(oxlint-tsgolint@7.0.2004) rimraf: specifier: 'catalog:' version: 6.1.3 @@ -380,11 +376,11 @@ importers: packages/effect-e2e-cli: dependencies: '@effect/platform-node': - specifier: 'catalog:' - version: 4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1)) + specifier: ^4.1.0 + version: 4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)) '@systemfsoftware/effect-cell-types': specifier: file:../../.sfs-deps/effect-cell-types-12.0.2.tgz - version: file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.0.5) + version: file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.1.0) '@systemfsoftware/effect-e2e': specifier: workspace:^ version: link:../effect-e2e @@ -392,8 +388,8 @@ importers: specifier: file:../../.sfs-deps/vitest-config-0.1.1.tgz version: file:.sfs-deps/vitest-config-0.1.1.tgz(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1))(vitest@5.0.5) effect: - specifier: 'catalog:' - version: 4.0.5 + specifier: ^4.1.0 + version: 4.1.0 vitest: specifier: 'catalog:' version: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/browser-playwright@5.0.5)(@vitest/coverage-istanbul@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.2(@noble/hashes@2.4.0))(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1)) @@ -406,13 +402,13 @@ importers: version: link:../effect-e2e-web '@systemfsoftware/effect-gherkin-spec': specifier: file:../../.sfs-deps/effect-gherkin-spec-8.0.0.tgz - version: file:.sfs-deps/effect-gherkin-spec-8.0.0.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5) + version: file:.sfs-deps/effect-gherkin-spec-8.0.0.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5) '@systemfsoftware/effect-schema-vite': specifier: file:../../.sfs-deps/effect-schema-vite-3.1.1.tgz - version: file:.sfs-deps/effect-schema-vite-3.1.1.tgz(@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.0.5)(vitest@5.0.5))(effect@4.0.5)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1))(vitest@5.0.5) + version: file:.sfs-deps/effect-schema-vite-3.1.1.tgz(@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.1.0)(vitest@5.0.5))(effect@4.1.0)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1))(vitest@5.0.5) '@systemfsoftware/oxlint-config-recommended': specifier: file:../../.sfs-deps/oxlint-config-recommended-5.0.0.tgz - version: file:.sfs-deps/oxlint-config-recommended-5.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2003)(oxlint@1.87.0(oxlint-tsgolint@7.0.2003))(typescript@7.0.2) + version: file:.sfs-deps/oxlint-config-recommended-5.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2004)(oxlint@1.88.0(oxlint-tsgolint@7.0.2004))(typescript@7.0.2) '@systemfsoftware/tsconfig': specifier: file:../../.sfs-deps/tsconfig-2.0.2.tgz version: file:.sfs-deps/tsconfig-2.0.2.tgz @@ -421,13 +417,13 @@ importers: version: file:.sfs-deps/tsdown-config-0.1.1.tgz(@microsoft/api-extractor@7.59.4(@types/node@26.6.5))(tsdown@0.23.0(oxc-resolver@11.21.2)(tsx@4.23.13)(typescript@7.0.2)(unrun@0.2.39)) '@systemfsoftware/vitest': specifier: file:../../.sfs-deps/vitest-3.0.0.tgz - version: file:.sfs-deps/vitest-3.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) + version: file:.sfs-deps/vitest-3.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) '@types/node': specifier: 'catalog:' version: 26.6.5 oxlint: specifier: catalog:oxlint - version: 1.87.0(oxlint-tsgolint@7.0.2003) + version: 1.88.0(oxlint-tsgolint@7.0.2004) playwright: specifier: 'catalog:' version: 1.64.0 @@ -444,8 +440,8 @@ importers: packages/effect-e2e-conformance: devDependencies: '@effect/platform-node': - specifier: 'catalog:' - version: 4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1)) + specifier: ^4.1.0 + version: 4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)) '@systemfsoftware/effect-e2e': specifier: workspace:^ version: link:../effect-e2e @@ -457,16 +453,16 @@ importers: version: link:../effect-e2e-web '@systemfsoftware/effect-gherkin-spec': specifier: file:../../.sfs-deps/effect-gherkin-spec-8.0.0.tgz - version: file:.sfs-deps/effect-gherkin-spec-8.0.0.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5) + version: file:.sfs-deps/effect-gherkin-spec-8.0.0.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5) '@systemfsoftware/oxlint-config-recommended': specifier: file:../../.sfs-deps/oxlint-config-recommended-5.0.0.tgz - version: file:.sfs-deps/oxlint-config-recommended-5.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2003)(oxlint@1.87.0(oxlint-tsgolint@7.0.2003))(typescript@7.0.2) + version: file:.sfs-deps/oxlint-config-recommended-5.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2004)(oxlint@1.88.0(oxlint-tsgolint@7.0.2004))(typescript@7.0.2) '@systemfsoftware/tsconfig': specifier: file:../../.sfs-deps/tsconfig-2.0.2.tgz version: file:.sfs-deps/tsconfig-2.0.2.tgz '@systemfsoftware/vitest': specifier: file:../../.sfs-deps/vitest-3.0.0.tgz - version: file:.sfs-deps/vitest-3.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) + version: file:.sfs-deps/vitest-3.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) '@systemfsoftware/vitest-config': specifier: file:../../.sfs-deps/vitest-config-0.1.1.tgz version: file:.sfs-deps/vitest-config-0.1.1.tgz(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1))(vitest@5.0.5) @@ -477,14 +473,14 @@ importers: specifier: 'catalog:' version: 26.6.5 effect: - specifier: 'catalog:' - version: 4.0.5 + specifier: ^4.1.0 + version: 4.1.0 jsdom: specifier: 30.1.2 version: 30.1.2(@noble/hashes@2.4.0) oxlint: specifier: catalog:oxlint - version: 1.87.0(oxlint-tsgolint@7.0.2003) + version: 1.88.0(oxlint-tsgolint@7.0.2004) playwright: specifier: 'catalog:' version: 1.64.0 @@ -506,16 +502,16 @@ importers: version: 4.2.0 '@systemfsoftware/effect-gherkin-spec': specifier: file:../../.sfs-deps/effect-gherkin-spec-8.0.0.tgz - version: file:.sfs-deps/effect-gherkin-spec-8.0.0.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5) + version: file:.sfs-deps/effect-gherkin-spec-8.0.0.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5) '@systemfsoftware/effect-schema-law': specifier: file:../../.sfs-deps/effect-schema-law-6.1.0.tgz - version: file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.0.5)(vitest@5.0.5) + version: file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.1.0)(vitest@5.0.5) '@systemfsoftware/effect-schema-vite': specifier: file:../../.sfs-deps/effect-schema-vite-3.1.1.tgz - version: file:.sfs-deps/effect-schema-vite-3.1.1.tgz(@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.0.5)(vitest@5.0.5))(effect@4.0.5)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1))(vitest@5.0.5) + version: file:.sfs-deps/effect-schema-vite-3.1.1.tgz(@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.1.0)(vitest@5.0.5))(effect@4.1.0)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1))(vitest@5.0.5) '@systemfsoftware/oxlint-config-recommended': specifier: file:../../.sfs-deps/oxlint-config-recommended-5.0.0.tgz - version: file:.sfs-deps/oxlint-config-recommended-5.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2003)(oxlint@1.87.0(oxlint-tsgolint@7.0.2003))(typescript@7.0.2) + version: file:.sfs-deps/oxlint-config-recommended-5.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2004)(oxlint@1.88.0(oxlint-tsgolint@7.0.2004))(typescript@7.0.2) '@systemfsoftware/tsconfig': specifier: file:../../.sfs-deps/tsconfig-2.0.2.tgz version: file:.sfs-deps/tsconfig-2.0.2.tgz @@ -524,7 +520,7 @@ importers: version: file:.sfs-deps/tsdown-config-0.1.1.tgz(@microsoft/api-extractor@7.59.4(@types/node@26.6.5))(tsdown@0.23.0(oxc-resolver@11.21.2)(tsx@4.23.13)(typescript@7.0.2)(unrun@0.2.39)) '@systemfsoftware/vitest': specifier: file:../../.sfs-deps/vitest-3.0.0.tgz - version: file:.sfs-deps/vitest-3.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) + version: file:.sfs-deps/vitest-3.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) '@systemfsoftware/vitest-config': specifier: file:../../.sfs-deps/vitest-config-0.1.1.tgz version: file:.sfs-deps/vitest-config-0.1.1.tgz(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1))(vitest@5.0.5) @@ -532,11 +528,11 @@ importers: specifier: 'catalog:' version: 26.6.5 effect: - specifier: 'catalog:' - version: 4.0.5 + specifier: ^4.1.0 + version: 4.1.0 oxlint: specifier: catalog:oxlint - version: 1.87.0(oxlint-tsgolint@7.0.2003) + version: 1.88.0(oxlint-tsgolint@7.0.2004) playwright: specifier: 'catalog:' version: 1.64.0 @@ -770,9 +766,9 @@ packages: resolution: {integrity: sha512-OoKoR0f76dCY666JlcbhmVTs2drYj1GUXZTYTcbUgJjh9Nv41aFfZ21bPQTERm5+L5cBDo466NltB2lplS5GBw==} engines: {node: '>=20.19.0'} - '@effect/opentelemetry@4.0.5': - resolution: {integrity: sha512-/Ms5DCZyHZzAbQQtXP4QRCSvHnKXaw3vLnDUegFmO3K3qIRqRdqfVtIqbGa1pbjMKdTShggiitDjRAYOHyWo1A==} - engines: {node: '>=18.0.0'} + '@effect/opentelemetry@4.1.0': + resolution: {integrity: sha512-j9bNzQaoQvcnimBFMG0i3piEW20E8HjkXAQHTJN/XqG2e4uJ9zCv53/HCNzD7+ooFn5S4nwQy/BOXeNReMIe+A==} + engines: {node: '>=22.19.0'} peerDependencies: '@opentelemetry/api': '>=1.9.0 <2.0.0' '@opentelemetry/api-logs': '>=0.203.0 <0.300.0' @@ -783,7 +779,7 @@ packages: '@opentelemetry/sdk-trace-node': '>=2.0.0 <3.0.0' '@opentelemetry/sdk-trace-web': '>=2.0.0 <3.0.0' '@opentelemetry/semantic-conventions': '>=1.33.0 <2.0.0' - effect: ^4.0.5 + effect: ^4.1.0 peerDependenciesMeta: '@opentelemetry/api': optional: true @@ -802,56 +798,56 @@ packages: '@opentelemetry/sdk-trace-web': optional: true - '@effect/platform-node-shared@4.0.5': - resolution: {integrity: sha512-a8rCdEkfZBGe9C6bsIjxVZuRp73svIyK5IHwHdDAVsvZXjrbkxusfI+rZ8WlX31RP1mKizwI/E72GQTNfdMWHw==} - engines: {node: '>=18.0.0'} + '@effect/platform-node-shared@4.1.0': + resolution: {integrity: sha512-uYQfFRoxWLo8fIhiSeBcmz/R1ooOfE3HF3cWHFgxz82tZMk2Wn02BGABcdLmaAch9VpDLbtWnuhSxNyBsGMUFg==} + engines: {node: '>=22.19.0'} peerDependencies: - effect: ^4.0.5 + effect: ^4.1.0 - '@effect/platform-node@4.0.5': - resolution: {integrity: sha512-v4KD5fWvEUa4QmWFpZFbBsRhmfnTP6ETCME2r9ifyXVDPjhfpxpTZl41prjgQFMqZBHdWWCl7YC5ImbXv5ui5g==} - engines: {node: '>=18.0.0'} + '@effect/platform-node@4.1.0': + resolution: {integrity: sha512-v+X7moGVF9k5oMVvz0slA+NgtEod+W+oygeI285MDJgSlUCW3JcqElj+cD3rlijFZtpKhC7RLkU1GuCxjGHTpA==} + engines: {node: '>=22.19.0'} peerDependencies: - effect: ^4.0.5 + effect: ^4.1.0 redis: '>=5.0.0 <7.0.0' - '@effect/tsgo-darwin-arm64@0.51.1': - resolution: {integrity: sha512-Jx+1RB3pz1B2zYs1EmxybwDOq9KRpfdu/rn1XTULNMZmqUJZuvTQU9CRqB0g/ZgIa6MeNBZEYvmAu4Dq2/QVWA==} + '@effect/tsgo-darwin-arm64@0.63.0': + resolution: {integrity: sha512-KBvYatuEol71+i+BERWuDRU9XE+4sTK78N83Ko6VNF5gy6yXiujj/bgtWs2P3cDGXsevAV6L+HtpuAWjAQKC6Q==} cpu: [arm64] os: [darwin] - '@effect/tsgo-darwin-x64@0.51.1': - resolution: {integrity: sha512-eRz7eHOOb2eJPUj66m89Zhzu924vGvNLDAXzcEAIaXVsWc4Zw29RVUsRnp/ozTmCbDVCvMqPSh8i9bkdAmt8mA==} + '@effect/tsgo-darwin-x64@0.63.0': + resolution: {integrity: sha512-Qxp51/OFaHx5D+z5f1FtRKAiUH5rkMzaqjv/4ppUGNS0ppdqlcQ5rwQqbY6CiZOxqUlcnmKRirtWpmuxUgHP7w==} cpu: [x64] os: [darwin] - '@effect/tsgo-linux-arm64@0.51.1': - resolution: {integrity: sha512-LqZKkEEgJcq7dOho+h0esioU/idlB/+VhPuMR7l9B5Y7mk17Eivs8TiJQHtxLVfrh/nizbvZih7O5GujRNG0bw==} + '@effect/tsgo-linux-arm64@0.63.0': + resolution: {integrity: sha512-uwnM3kSwaHDKPeU1WSMxijdZaM1NxpDREgJtyyIx2qdqB6HnRYhEZB8RrhWvYYPw1QDKaWHd+byzq5p49+o7+Q==} cpu: [arm64] os: [linux] - '@effect/tsgo-linux-arm@0.51.1': - resolution: {integrity: sha512-vub6MCJIbczHp+Im1GTEUh5YyS+6YHcvH0ZmBdSjdvqzzBKbRnl5xUbO52tRJlty74f+3ey+uSh0nIO99NnggA==} + '@effect/tsgo-linux-arm@0.63.0': + resolution: {integrity: sha512-tVwlTyAqmDVPvDrr0oogCnlRVs96X19Ny9OD/XJ/6QQSp/1hIjXAvKjo9HAyncF2sAUQyVdF1E7Q7X3wFXvSnQ==} cpu: [arm] os: [linux] - '@effect/tsgo-linux-x64@0.51.1': - resolution: {integrity: sha512-zyKKcdL2Pr4C//9raggaEuxhsSUR7jT6517vHvPwykbBPjPnnmGtM1Kq7NKEIZnvXWzXcaK+4wAK/0FqSqMOmw==} + '@effect/tsgo-linux-x64@0.63.0': + resolution: {integrity: sha512-fM3pJIhAZEX8LMbd/pN9iYNxkdVEkx68vMtILYGT4qazwxWelvouD/5fNV0SHDmY13Mv04NJ/550vTLC2hU8VA==} cpu: [x64] os: [linux] - '@effect/tsgo-win32-arm64@0.51.1': - resolution: {integrity: sha512-yIF88Za3Bs793Mb8OShet8gc3kj/NNty6+ZoTdgiPXWlY6xh84bZZCOETqE7VcCmxXFT3NZSYQuDrU35/CTvRQ==} + '@effect/tsgo-win32-arm64@0.63.0': + resolution: {integrity: sha512-LTS0CrEqZmQO0AJAIfFaETjIN/3d/Nda1Mi5zl90y/9BKZr4yyFfClCkz+DMl6/P/+TOuEQ5Wi8LvRiEdwWT4g==} cpu: [arm64] os: [win32] - '@effect/tsgo-win32-x64@0.51.1': - resolution: {integrity: sha512-5HO1TJkWMlErIXbfKKWEMzg0Jj0MPQAzs0g1k7wA3B1ZxNDoDY9iRu5eGM+G1a4HmKl3zA7hQZd0ch2Dh4MohQ==} + '@effect/tsgo-win32-x64@0.63.0': + resolution: {integrity: sha512-28s5YrwL26/7EUnUOu81IOJGJZLkPf2lPkiSIsd4EnFhimeBqP279bhAoDAEwLW1gv45GKM/49JKduXmdLyT1g==} cpu: [x64] os: [win32] - '@effect/tsgo@0.51.1': - resolution: {integrity: sha512-i6mA6cNah+0mkPdu8qZILCO3Pnd9kWo03/s82Ju+1DFhdL28HFagi+1PRGxqgq1uMaHziWQ+ciKvOmIoks2RdA==} + '@effect/tsgo@0.63.0': + resolution: {integrity: sha512-bRbvVj+YLE/nBmcBWGAwsul3mjEYlqqOmWMxvwSVKq/oNnJEuZYgi2OFDeUf7q49E2g3w+oMHMWyN2QayZ77RQ==} hasBin: true '@emnapi/core@1.10.0': @@ -1660,33 +1656,33 @@ packages: cpu: [x64] os: [win32] - '@oxlint-tsgolint/darwin-arm64@7.0.2003': - resolution: {integrity: sha512-TgV33rXr6ueXBwvc+0nssUkTBSXHJxv77I8p4RCjDjCnvexHtmoPiudVRDfj3S3puMDdeQdHW6jdUgUPy3nr/w==} + '@oxlint-tsgolint/darwin-arm64@7.0.2004': + resolution: {integrity: sha512-uJk3ttju7Lz+Nv8WG4CsLyewoL1qf/Ny8S8OksJ7Bm/F14Tc9gMfW6arM1PCc57IzH/X/I79YsCWTgxX1FKibQ==} cpu: [arm64] os: [darwin] - '@oxlint-tsgolint/darwin-x64@7.0.2003': - resolution: {integrity: sha512-hY3FMAjIaPDdK3FNxyRXRfHPOFeoBn6dmnLyKZgQ2IbTTD1adXhl6PfCIqHhCPvurigv7nf7mYuWZZ19MmJzmg==} + '@oxlint-tsgolint/darwin-x64@7.0.2004': + resolution: {integrity: sha512-0BFfHTzDxNDFPcu0UZAXT6CyCJHAXM0dZveyDb4KEHa2qF/DSnOKOrmvK/wFuFol9kvijbGM9JfuOsor+zWXRw==} cpu: [x64] os: [darwin] - '@oxlint-tsgolint/linux-arm64@7.0.2003': - resolution: {integrity: sha512-eAET4JpyfBbg8SO0K74o4R55tEjVC292pIyxGOw2XGf8x/HrPNyxwQ478jMYOM54FIVOHc8sJ6VRHxluy6lucw==} + '@oxlint-tsgolint/linux-arm64@7.0.2004': + resolution: {integrity: sha512-TAehQc+qdRXyDN3nl/r/3/oPrBVrbtrDeGMkFyG6mf+XphpoJ2lAMVFLclyvrVZCw02RbKROjyw8h72XwQQHcw==} cpu: [arm64] os: [linux] - '@oxlint-tsgolint/linux-x64@7.0.2003': - resolution: {integrity: sha512-GXdyO/XyqDJ3s/llR/oOktLsYNjZtWSQBy0JMc+/0gsNPvTcseKPhn9c6KcFyWmnr6H4vljYALbujonqSzzEGw==} + '@oxlint-tsgolint/linux-x64@7.0.2004': + resolution: {integrity: sha512-LPunZvm6ZbWPfHMAyfZf9ci3HHvNEzLejO8zdqO3GoVGoSEHqqufHUD7+OgeatVSaJP7uXDJ2HaNOHIoH7go4Q==} cpu: [x64] os: [linux] - '@oxlint-tsgolint/win32-arm64@7.0.2003': - resolution: {integrity: sha512-TWauXnPfet0VgpmrstoAK58eJ4gbuwPUuUTQmYQAzE/RG1CpnxXtrKUJULf6lyerPE4KN3gM+DflIA1hOH+38Q==} + '@oxlint-tsgolint/win32-arm64@7.0.2004': + resolution: {integrity: sha512-FVWplzDImWhiuawnIZVETaQecv4GWom6Jv4Fx2xj7hhXXDZ5okEgiw1gTCImHTIQsi2ycC5oSxVwrn69bMh7iw==} cpu: [arm64] os: [win32] - '@oxlint-tsgolint/win32-x64@7.0.2003': - resolution: {integrity: sha512-DoRmfe7j8VqNlukp8liRVW45GQDhzRccNenjD/pdzelgtffW47pCMd1xbJLkPaPbKnTwID3onn3VZlL7JbebEA==} + '@oxlint-tsgolint/win32-x64@7.0.2004': + resolution: {integrity: sha512-7PsxuUx11Ry9DYTWcljTzRbmZY9B6O9fFFfZV+aodQEMy6pfRT3fhoQRv9PtGN/89z1pPz3nFKrsFm6WqNtX7w==} cpu: [x64] os: [win32] @@ -1696,42 +1692,84 @@ packages: cpu: [arm] os: [android] + '@oxlint/binding-android-arm-eabi@1.88.0': + resolution: {integrity: sha512-k6Fgkf86ubfeH4GvqYsRolfuVAp0pfYVZvifSlXNHPdMaWUOfxUrmLEeDD7hF6U2oJuhsVxhSWq86/xCJ+9MmA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + '@oxlint/binding-android-arm64@1.87.0': resolution: {integrity: sha512-JfZQ3MWf74n8ov0DojZpkOduIubYJvZL5tbTMMhDutsal6u1xH1QuNpN+lK+EQwF8AeAfgwTR2fgh5U2br27XA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] + '@oxlint/binding-android-arm64@1.88.0': + resolution: {integrity: sha512-AsIyhl9o1ejwtac7NMbhKpMdSml6NWR0ljKjZERxC8OHYDAW8o/Om9n1QHVLi4VCEUo42Zte2/Op9kyoGpJZMg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + '@oxlint/binding-darwin-arm64@1.87.0': resolution: {integrity: sha512-rkx6Xvvw93z2GImVOyvbZwAZcoY0Z6MJW177XNsSB+i/CBsH7ANyelTp01VZyIkM3iSXtqKVb4+ptBgPHap5pQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] + '@oxlint/binding-darwin-arm64@1.88.0': + resolution: {integrity: sha512-qgBjB7eEKcCB4RqjXGuoSZq74g0wD09fWFJ+HWcCJcKaga8TeUHtb+BY0SsxdleSLBgx4RZ7qmgo0EzqEq7JoQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@oxlint/binding-darwin-x64@1.87.0': resolution: {integrity: sha512-cw5nYw7L/pQ2SgGBgOcg/Qo89llQre3vIc/kuBLhSICzu1r5s8L76H3ug6AIFsD98WpROj8/z5JVzkf4daxHaQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] + '@oxlint/binding-darwin-x64@1.88.0': + resolution: {integrity: sha512-sCz3X5Mw/xdzEzn4fsCt1Iq8NKJnGNfhR+b9B5k+4DysYAHsmIhYoocnBPiQ9kvY3+pUun2A0Z8Vtun/Nv6YoQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@oxlint/binding-freebsd-x64@1.87.0': resolution: {integrity: sha512-x/SuznE6loRZK9gz9AS4ZmzNzSu+5KdeoCS+sVHhnrE8HM6AD8UyTjwldQTTqlXGvkwHASgB0NiTNOc3o3PdAg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] + '@oxlint/binding-freebsd-x64@1.88.0': + resolution: {integrity: sha512-xTOdYOIqCufgIj0knvxu86FBfovP6QBiD7ngNva01gb8xPQCD5gXkE5APGczH35zStim1O3zqvFbLQmY85xXRg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@oxlint/binding-linux-arm-gnueabihf@1.87.0': resolution: {integrity: sha512-+JEDmCAXiiFmKhAjZhgAOwaHWY6WENOQ5QA+lFuY59tgsUCDOTRi46B+lENK6CWvtxsXpwkZXNOgpjAQcpIpnA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@oxlint/binding-linux-arm-gnueabihf@1.88.0': + resolution: {integrity: sha512-BLadtw88NdYJBrAtC1dYzrPfSP2d5zgx6iuZycdD0YmZBJ2Nqbit9Z4PSaIb6gxK25dweArGMPbOmq/0ugwUPg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxlint/binding-linux-arm-musleabihf@1.87.0': resolution: {integrity: sha512-/uC9XqXLAC9AHFLNycwmSQEvKqGrOCgU+uXALI7gNW0DG81TJ/3T2eHnKdRvcb5R1gFEfjxDwI4e4zIa29rICQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@oxlint/binding-linux-arm-musleabihf@1.88.0': + resolution: {integrity: sha512-wILSczl/DaZsCcf7j7tvNbssp8hxEHIJxrv4j7+JjI3TAL1U/JTWbeUtoJJC/vo8+2hkTmHLYoKJjmiNbijdXw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@oxlint/binding-linux-arm64-gnu@1.87.0': resolution: {integrity: sha512-FTRYPsBy/M728vnUv7l+KAwSAa3Qi4BQbhVvy7NYuMTZ0sUa/OWsbMx79HVFw6u/5KWcaYayDsoOiv7xbevzDg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1739,6 +1777,13 @@ packages: os: [linux] libc: [glibc] + '@oxlint/binding-linux-arm64-gnu@1.88.0': + resolution: {integrity: sha512-jutT2Hy8JCuZuMwIFHo2HtyxfOfBJHyQxlBHBK1SL9W2f8n/WhjAP0FnDMz9d/mjhv9+QA0mx5AdQ9fDjsrFFg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@oxlint/binding-linux-arm64-musl@1.87.0': resolution: {integrity: sha512-6sC+N7IY0h1egd8SrYUGNN7CUyKJZ4bIZakKa7V7hfinf4jfi8Kq4+klJvFp5DqXcwMn44I5MeBwmJluO1odFg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1746,6 +1791,13 @@ packages: os: [linux] libc: [musl] + '@oxlint/binding-linux-arm64-musl@1.88.0': + resolution: {integrity: sha512-8N8iGV9hh4Lkeuq7QsEkjoXNRRflqR1G2qyoGYXcA0k5qllrdqmfylKEXyHIVERxqNDyMO4StqDQ0uLxXcBQAg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + '@oxlint/binding-linux-ppc64-gnu@1.87.0': resolution: {integrity: sha512-d5Mnn+ICbhoJPi37Ccjy+86T5qfH2+mSTrTMBXNPfB+wqSWOayBBLLIrCXdUy1YssluCVdGkl+DO9w5r5ODmUA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1753,6 +1805,13 @@ packages: os: [linux] libc: [glibc] + '@oxlint/binding-linux-ppc64-gnu@1.88.0': + resolution: {integrity: sha512-5ydcQt3znNQ/rGEWYRvpS2cK9+T18P2VYgnyJ+eloEAwi9YUmsXy5VGrRqNWIK6qzWwHGnEE3ojVqqQNo+f0hA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@oxlint/binding-linux-riscv64-gnu@1.87.0': resolution: {integrity: sha512-sf5YWuUo1Dx9loqWCgF8P278MycfcD4JHjDC/LV5j11L3Lqa4PFiwCjD6B8kP4AjsgZZkLn3xbpJEtZBaccs4Q==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1760,6 +1819,13 @@ packages: os: [linux] libc: [glibc] + '@oxlint/binding-linux-riscv64-gnu@1.88.0': + resolution: {integrity: sha512-iGx0uvFT54b/5DPJdEBCxYIrVB3v0uTy+JhRh3CyEp8/22BXDkG8rffkFwREdLsdj9mOrPbJYVOZw8ipcBuzjw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@oxlint/binding-linux-riscv64-musl@1.87.0': resolution: {integrity: sha512-+aCraYbmK3uU3P0rFojjeaK9pGY6JvBDXh/0CM+gPyWKmNmXmnFe0qj4qj02U4ibFpbd9Pa9CmDvIdjJUd29rA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1767,6 +1833,13 @@ packages: os: [linux] libc: [musl] + '@oxlint/binding-linux-riscv64-musl@1.88.0': + resolution: {integrity: sha512-Wt47mKMWelVjRjuR7BCFxXkB0m79K1sTEbqMHRWciKUgo5iv7sWsF4RXSOyFYHD9zerNrkRZblnN273rhwOA1Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + '@oxlint/binding-linux-s390x-gnu@1.87.0': resolution: {integrity: sha512-7rzbZQIljo6VLWVPqUyLa2P/WV3VFsJB4M52R4NCUJn1A50yjtUsHxiMHFL9opEKGFIiTbZ3VQzmtcJOPUq4NQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1774,6 +1847,13 @@ packages: os: [linux] libc: [glibc] + '@oxlint/binding-linux-s390x-gnu@1.88.0': + resolution: {integrity: sha512-g3L12KCS4+1gtUt3RbJ4F+Yxx4LNmmZLEPfhd8rAHEJjJk2lAgNfnjGoP/phJyhG5WS6VbNYbJtadJelNfvTMA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@oxlint/binding-linux-x64-gnu@1.87.0': resolution: {integrity: sha512-Dry46Fa+AXE/xt9J/YriujU1pU9mzfNWHGQwtOYibAFH8HLrKWCi93AhIGnuUMiwn2JbuBkRyz51f50Ly4r4ow==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1781,6 +1861,13 @@ packages: os: [linux] libc: [glibc] + '@oxlint/binding-linux-x64-gnu@1.88.0': + resolution: {integrity: sha512-og/XHVDOD9ZJgRiZkT9DgzQd4sr+JZW7e4l17Q/jVMZiIbeEd4uIu9iAoUbTF1gIvVZoRc4QDOxyVUvQGp4WHg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + '@oxlint/binding-linux-x64-musl@1.87.0': resolution: {integrity: sha512-f/HMZez74gJvnRpGz+b5sdGyWrEgRLmFTXg9sNoqjPWogGxYHUhXKTKyMiYsu9rUGR2ciYqL3fk+Ua4JhMJbRA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1788,30 +1875,61 @@ packages: os: [linux] libc: [musl] + '@oxlint/binding-linux-x64-musl@1.88.0': + resolution: {integrity: sha512-EmhBsp+xuKb6YbZNEMLBo80Xw71AZOIm18do8ni/GLX/Lw1XzNhVYpbxO1KasYtoAvrGtCOdCPULRlIE0bPbTQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + '@oxlint/binding-openharmony-arm64@1.87.0': resolution: {integrity: sha512-lEC6ZfPZm/07JlB7FsOWX9o1RiHlXiBW594LSUGuXmekC8LZmvUPP9XzE2WZcNxJi5cHA/Fw56o02c3JxgMA5g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] + '@oxlint/binding-openharmony-arm64@1.88.0': + resolution: {integrity: sha512-DBUcx/KwYdg1DAz+G01P/GFv512J04EsZadbHptx2FTpWT/MWRg21ZToNHt9pnsfQRBQ3et/g+vqzbvrdAVbuA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@oxlint/binding-win32-arm64-msvc@1.87.0': resolution: {integrity: sha512-afBWKOD36dUiA9AenaiWpCg8xfyUVPYznyAAVXu413brK4RA5UI/Xoc4yfeGIT8G1a44MV+JR7hioryerBDzGQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] + '@oxlint/binding-win32-arm64-msvc@1.88.0': + resolution: {integrity: sha512-xeVd0n4XG5HvynxfYvXi6uB+JvZbVZataowPS8cYpMbYg9mwE4sSyElFQd4LVJFifq8bRLDSR18XgEildmcXAg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@oxlint/binding-win32-ia32-msvc@1.87.0': resolution: {integrity: sha512-daptNsEOuru4/nJTxV4DBHNJ5GepzmaBVQf+jjgKQGi9NRlZKik+RFq4hUL7ewsF1pwjKM+SkYaMbF82UwFGnw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] + '@oxlint/binding-win32-ia32-msvc@1.88.0': + resolution: {integrity: sha512-MA6iOw//amleaz2mVMsZrA7NHlEexjTrhIxSMFCXQi6IUuQO+3Od00GZhr2iCYw6RFzMW36jkKK/WHBXMsoQAw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + '@oxlint/binding-win32-x64-msvc@1.87.0': resolution: {integrity: sha512-k+m/EShyXE29J/r1fjk0HlAzhN5JhIvj044oSJkXTEkCLrWZQgXb/3r4q5LTw/eaKW/4GuMXG2xmiJs3s5rPNw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] + '@oxlint/binding-win32-x64-msvc@1.88.0': + resolution: {integrity: sha512-3Sz6rVWe8Dy+ufsXurFN1GX2dX43F/lQMSLelK9gFjiba7nHvLlqlhR5cHlWVnCpSqUY1hN9pyCX9XToe6ve6g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@oxlint/plugins@1.87.0': resolution: {integrity: sha512-OtSZ6NxNkS7bkVy7zk9zGnajz2hVIu0uRPP/dJvJesGRaXtimpA4lpxap7FaIJndG2UIoKhnBU4DxyDQIWv6yg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2236,14 +2354,14 @@ packages: resolution: {integrity: sha512-En6GJCHdYpxvrSBhd8I6/KI3M4wLWKUWc2HhdlVw6n0YPPlWWxjzN5GugqHjuHsNAY34XzgeRHfk+R2PAHL/Uw==, tarball: file:.sfs-deps/effect-cell-types-12.0.2.tgz} version: 12.0.2 peerDependencies: - effect: ^4 + effect: ^4.1.0 '@systemfsoftware/effect-gherkin-spec@file:.sfs-deps/effect-gherkin-spec-8.0.0.tgz': resolution: {integrity: sha512-cEAWIkcnPaZJjP3KnvrLp2bFnBGb4RJbP2FkE8QqmIJqHu3bNK+dxdsG3qpg/H+lhnWODQe/o3Q+M2q45mrqWg==, tarball: file:.sfs-deps/effect-gherkin-spec-8.0.0.tgz} version: 8.0.0 peerDependencies: '@systemfsoftware/vitest': ^3.0.0 - effect: ^4 + effect: ^4.1.0 vitest: ^5.0.5 '@systemfsoftware/effect-schema-discovery@file:.sfs-deps/effect-schema-discovery-2.0.1.tgz': @@ -2254,7 +2372,7 @@ packages: resolution: {integrity: sha512-YcrVxgpd1WCFQo8NCbXhZtBLAPAslMiP7KKPO28/1ipyIL3i9FrhO6/43tRpzbZS/yuSkO090Cwu6RccuFxOAw==, tarball: file:.sfs-deps/effect-schema-law-6.1.0.tgz} version: 6.1.0 peerDependencies: - effect: ^4 + effect: ^4.1.0 vitest: ^5.0.5 peerDependenciesMeta: vitest: @@ -2264,14 +2382,14 @@ packages: resolution: {integrity: sha512-Ndqh/M8gr9IrtSCEeMif7vIPa5qRKzAmFYgQVZUDgELy1PsEXMFJTViD25JVkuPoJ86Z+V0g5SiHwbPT4LabHA==, tarball: file:.sfs-deps/effect-schema-recursion-budget-2.0.1.tgz} version: 2.0.1 peerDependencies: - effect: ^4 + effect: ^4.1.0 '@systemfsoftware/effect-schema-vite@file:.sfs-deps/effect-schema-vite-3.1.1.tgz': resolution: {integrity: sha512-YnMs7dlSH2BtNxY6aqQRh9SFN1BiFDTE7IpFmyBV28LHaprFOx9zPp7gjWZIdP29/sCqDjX+RGN9XfdrAzBKGg==, tarball: file:.sfs-deps/effect-schema-vite-3.1.1.tgz} version: 3.1.1 peerDependencies: '@systemfsoftware/effect-schema-law': 6.1.0 - effect: ^4 + effect: ^4.1.0 vite: ^8.3.4 vitest: ^5.0.5 @@ -2279,21 +2397,21 @@ packages: resolution: {integrity: sha512-zTce2xqWL+8jrBSBzv+cT2GpKGTkXvyRAV+n6vPYW4qvTuiAB3BukyYaa7KOILQ3v56Ft73ht0nnDp3g6LefZw==, tarball: file:.sfs-deps/effect-sim-kernel-2.0.0.tgz} version: 2.0.0 peerDependencies: - effect: ^4 + effect: ^4.1.0 '@systemfsoftware/effect-spec-runtime@file:.sfs-deps/effect-spec-runtime-1.1.0.tgz': resolution: {integrity: sha512-O2bD60MxBlRzhb/olbETRyAxIgSvWTohQTVTR+VpqrPkPiWiNh057av7W5m99ieuGRaAKiZ/588kG1wlpYe25g==, tarball: file:.sfs-deps/effect-spec-runtime-1.1.0.tgz} version: 1.1.0 peerDependencies: '@systemfsoftware/vitest': ^3.0.0 - effect: ^4 + effect: ^4.1.0 vitest: ^5.0.5 '@systemfsoftware/oxlint-config-cell-architecture@file:.sfs-deps/oxlint-config-cell-architecture-5.0.0.tgz': resolution: {integrity: sha512-1GYRolxUPJxpUVIAz4N/omR7X+Az7rhgtu1Z13RQzQeGARxfL+k34z/d8aTNGTUpqo44BslEU4S3oBnhtfl6dg==, tarball: file:.sfs-deps/oxlint-config-cell-architecture-5.0.0.tgz} version: 5.0.0 peerDependencies: - effect: ^4 + effect: ^4.1.0 oxlint: ~1.87.0 typescript: '>=5.0.0' @@ -2301,7 +2419,7 @@ packages: resolution: {integrity: sha512-nVecA9Qfa+xSrADF58uCDYx7wYR6imc4iPK/T4Cf/uhOqAIafQMScexbMDZwVeMcdihaz9xf+SQdarkNyvHWRw==, tarball: file:.sfs-deps/oxlint-config-dmmf-3.0.0.tgz} version: 3.0.0 peerDependencies: - effect: ^4 + effect: ^4.1.0 oxlint: ~1.87.0 oxlint-tsgolint: 7.0.2003 typescript: '>=5.0.0' @@ -2310,7 +2428,7 @@ packages: resolution: {integrity: sha512-1dIR+IeK5sA1CU5bDyhr/LAFZMnPi8fpun38mN6h0vk+YNE9thQtzpwlH7f+re3azc+wpKjjp7Fqj7oOyg9lTQ==, tarball: file:.sfs-deps/oxlint-config-recommended-5.0.0.tgz} version: 5.0.0 peerDependencies: - effect: ^4 + effect: ^4.1.0 oxlint: ~1.87.0 oxlint-tsgolint: 7.0.2003 typescript: '>=5.0.0' @@ -2326,28 +2444,28 @@ packages: resolution: {integrity: sha512-uffk49aSIwtpknEejDFlncfkhJ/KtcgugBp5eV1IcEpBhS0OByvsXXfzG5gc7onvKApaFDzwE4rsvaLktZGd8Q==, tarball: file:.sfs-deps/oxlint-plugin-cell-architecture-6.0.0.tgz} version: 6.0.0 peerDependencies: - effect: ^4 + effect: ^4.1.0 typescript: '>=5.0.0' '@systemfsoftware/oxlint-plugin-dmmf-workflow@file:.sfs-deps/oxlint-plugin-dmmf-workflow-7.1.0.tgz': resolution: {integrity: sha512-JCmf6zzo3hWc7DJthohxnfzPaIWJzdtwXfrNYYs6BOvy33hnLOJUJFQUlVo6wjwQO2KJe2HvKEM5A6g9FJPSMA==, tarball: file:.sfs-deps/oxlint-plugin-dmmf-workflow-7.1.0.tgz} version: 7.1.0 peerDependencies: - effect: ^4 + effect: ^4.1.0 typescript: '>=5.0.0' '@systemfsoftware/oxlint-plugin-effect-platform@file:.sfs-deps/oxlint-plugin-effect-platform-2.1.0.tgz': resolution: {integrity: sha512-n/Spr+2L5C4YxdwazGcKgOdzyYPQ1uEsCgnywVje3eva383BPCV9zUiyC1xTKmCeuHfwaCbBUYh47LYK6dvaqA==, tarball: file:.sfs-deps/oxlint-plugin-effect-platform-2.1.0.tgz} version: 2.1.0 peerDependencies: - effect: ^4 + effect: ^4.1.0 typescript: '>=5.0.0' '@systemfsoftware/oxlint-plugin-effect-schema@file:.sfs-deps/oxlint-plugin-effect-schema-6.0.1.tgz': resolution: {integrity: sha512-/prXrDm93NIGRZW+Hbl3ncg+PQ/tDLlyxXwJAkslproHLk1SrtHiHXbYeNKomSal8ccTDK+auZS9THLIw0oT4g==, tarball: file:.sfs-deps/oxlint-plugin-effect-schema-6.0.1.tgz} version: 6.0.1 peerDependencies: - effect: ^4 + effect: ^4.1.0 typescript: '>=5.0.0' '@systemfsoftware/oxlint-plugin-test-discipline@file:.sfs-deps/oxlint-plugin-test-discipline-6.0.0.tgz': @@ -2355,7 +2473,7 @@ packages: version: 6.0.0 hasBin: true peerDependencies: - effect: ^4 + effect: ^4.1.0 typescript: '>=5.0.0' '@systemfsoftware/stryker-config@file:.sfs-deps/stryker-config-0.2.0.tgz': @@ -2412,7 +2530,7 @@ packages: engines: {node: '>=24.13.1'} hasBin: true peerDependencies: - effect: ^4.0.0 + effect: ^4.1.0 '@systemfsoftware/tsconfig@file:.sfs-deps/tsconfig-2.0.2.tgz': resolution: {integrity: sha512-glnJ5clw7lVbk9y1Sc5NPGFN16AkPWtSwoM55YdQOYIRPreeTOYzp4NMizJuw4ggJGQhqhxxpgvUBGSLEEeFXw==, tarball: file:.sfs-deps/tsconfig-2.0.2.tgz} @@ -2442,7 +2560,7 @@ packages: resolution: {integrity: sha512-ACemUDEbxJjndGcWH7reOveHv/moTUslFmJFFQRu5tN9K03dppmlW2Yy4CZQIAUuTG/6wb/wnqUtqq9ZKF9VTA==, tarball: file:.sfs-deps/vitest-3.0.0.tgz} version: 3.0.0 peerDependencies: - effect: ^4 + effect: ^4.1.0 vitest: ^5.0.5 '@turbo/darwin-64@2.11.8': @@ -3058,8 +3176,8 @@ packages: oxc-resolver: optional: true - effect@4.0.5: - resolution: {integrity: sha512-BY4/28NlpOd99yzmV741xbVGmp+1U7tks4oB7F/Png64bTa5tm5eCA6W0RiXsnuLDDoJpjfVSo4Dnq4BZb/89Q==} + effect@4.1.0: + resolution: {integrity: sha512-lGx2MJJyrXA8RZb2UpQ/0Nkb5Utaimby7oD92+18noBxLPE85IFOvptdzau8dvcxAOwfwHo9iqapbKeFzqQM/Q==} electron-to-chromium@1.5.376: resolution: {integrity: sha512-cUVA7/RvbFTEuw/i3obUwDTRIXojaxkResf+ibByPFxjc6XK3VNtcQXV0NSbAlJ0FMjcJGgftVVB4Qo184EXvA==} @@ -3516,8 +3634,8 @@ packages: rolldown: optional: true - oxlint-tsgolint@7.0.2003: - resolution: {integrity: sha512-VnK4zlqgmgq/7ZcjzCk/WpN8kKFsYGcB85Io9qT3wL4K8Un3RKmJkp793crNETieMusPMKOA4a+Mw2wbteI6TQ==} + oxlint-tsgolint@7.0.2004: + resolution: {integrity: sha512-vQ9WDF3fiZJvRdSDosNOflerOCOpwol6vWzVDxW76RcU19cjTh7engvkHLvmv+tzedR8fAiJUVUGr6IVZdkzXQ==} hasBin: true oxlint@1.87.0: @@ -3533,6 +3651,19 @@ packages: vite-plus: optional: true + oxlint@1.88.0: + resolution: {integrity: sha512-uIcFgw8BmqvFRGzH5+r7d2zJMEexwNSrEmM6WQNnGh3VkO0XYTEFoyxyNE6tjKMUib9Cue4XJA2DoWruO5D6aw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + oxlint-tsgolint: '>=7.0.2003' + vite-plus: '*' + peerDependenciesMeta: + oxlint-tsgolint: + optional: true + vite-plus: + optional: true + p-filter@4.1.0: resolution: {integrity: sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==} engines: {node: '>=18'} @@ -3934,6 +4065,10 @@ packages: resolution: {integrity: sha512-u4UB2/IrKdU6lFxumHmmo1a3fCQO5tzQllRorfoRS63txhrB7xTpSn1PftwC4qEHkOaqP95fCWW4lJzwErwzhQ==} engines: {node: '>=22.19.0'} + undici@8.12.3: + resolution: {integrity: sha512-+fdndUTwBP86cVjihTp21hZHo7d6oj1c/47XPA3lL8mM0XHs+C4EkcjmgRsFnFk2f/UONGDy9ItBItmXsLOQHw==} + engines: {node: '>=22.19.0'} + unicorn-magic@0.3.0: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} engines: {node: '>=18'} @@ -4436,10 +4571,10 @@ snapshots: '@csstools/css-tokenizer@4.0.2': {} - '@effect/opentelemetry@4.0.5(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)': + '@effect/opentelemetry@4.1.0(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)': dependencies: '@opentelemetry/semantic-conventions': 1.43.0 - effect: 4.0.5 + effect: 4.1.0 optionalDependencies: '@opentelemetry/api': 1.9.1 '@opentelemetry/api-logs': 0.222.0 @@ -4449,55 +4584,55 @@ snapshots: '@opentelemetry/sdk-trace-base': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-trace-node': 2.11.0(@opentelemetry/api@1.9.1) - '@effect/platform-node-shared@4.0.5(effect@4.0.5)': + '@effect/platform-node-shared@4.1.0(effect@4.1.0)': dependencies: '@types/ws': 8.18.2 - effect: 4.0.5 + effect: 4.1.0 ws: 8.22.0 transitivePeerDependencies: - bufferutil - utf-8-validate - '@effect/platform-node@4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))': + '@effect/platform-node@4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))': dependencies: - '@effect/platform-node-shared': 4.0.5(effect@4.0.5) - effect: 4.0.5 + '@effect/platform-node-shared': 4.1.0(effect@4.1.0) + effect: 4.1.0 redis: 6.2.1(@opentelemetry/api@1.9.1) - undici: 8.11.2 + undici: 8.12.3 transitivePeerDependencies: - bufferutil - utf-8-validate - '@effect/tsgo-darwin-arm64@0.51.1': + '@effect/tsgo-darwin-arm64@0.63.0': optional: true - '@effect/tsgo-darwin-x64@0.51.1': + '@effect/tsgo-darwin-x64@0.63.0': optional: true - '@effect/tsgo-linux-arm64@0.51.1': + '@effect/tsgo-linux-arm64@0.63.0': optional: true - '@effect/tsgo-linux-arm@0.51.1': + '@effect/tsgo-linux-arm@0.63.0': optional: true - '@effect/tsgo-linux-x64@0.51.1': + '@effect/tsgo-linux-x64@0.63.0': optional: true - '@effect/tsgo-win32-arm64@0.51.1': + '@effect/tsgo-win32-arm64@0.63.0': optional: true - '@effect/tsgo-win32-x64@0.51.1': + '@effect/tsgo-win32-x64@0.63.0': optional: true - '@effect/tsgo@0.51.1': + '@effect/tsgo@0.63.0': optionalDependencies: - '@effect/tsgo-darwin-arm64': 0.51.1 - '@effect/tsgo-darwin-x64': 0.51.1 - '@effect/tsgo-linux-arm': 0.51.1 - '@effect/tsgo-linux-arm64': 0.51.1 - '@effect/tsgo-linux-x64': 0.51.1 - '@effect/tsgo-win32-arm64': 0.51.1 - '@effect/tsgo-win32-x64': 0.51.1 + '@effect/tsgo-darwin-arm64': 0.63.0 + '@effect/tsgo-darwin-x64': 0.63.0 + '@effect/tsgo-linux-arm': 0.63.0 + '@effect/tsgo-linux-arm64': 0.63.0 + '@effect/tsgo-linux-x64': 0.63.0 + '@effect/tsgo-win32-arm64': 0.63.0 + '@effect/tsgo-win32-x64': 0.63.0 '@emnapi/core@1.10.0': dependencies: @@ -5138,81 +5273,138 @@ snapshots: '@oxc-resolver/binding-win32-x64-msvc@11.21.2': optional: true - '@oxlint-tsgolint/darwin-arm64@7.0.2003': + '@oxlint-tsgolint/darwin-arm64@7.0.2004': optional: true - '@oxlint-tsgolint/darwin-x64@7.0.2003': + '@oxlint-tsgolint/darwin-x64@7.0.2004': optional: true - '@oxlint-tsgolint/linux-arm64@7.0.2003': + '@oxlint-tsgolint/linux-arm64@7.0.2004': optional: true - '@oxlint-tsgolint/linux-x64@7.0.2003': + '@oxlint-tsgolint/linux-x64@7.0.2004': optional: true - '@oxlint-tsgolint/win32-arm64@7.0.2003': + '@oxlint-tsgolint/win32-arm64@7.0.2004': optional: true - '@oxlint-tsgolint/win32-x64@7.0.2003': + '@oxlint-tsgolint/win32-x64@7.0.2004': optional: true '@oxlint/binding-android-arm-eabi@1.87.0': optional: true + '@oxlint/binding-android-arm-eabi@1.88.0': + optional: true + '@oxlint/binding-android-arm64@1.87.0': optional: true + '@oxlint/binding-android-arm64@1.88.0': + optional: true + '@oxlint/binding-darwin-arm64@1.87.0': optional: true + '@oxlint/binding-darwin-arm64@1.88.0': + optional: true + '@oxlint/binding-darwin-x64@1.87.0': optional: true + '@oxlint/binding-darwin-x64@1.88.0': + optional: true + '@oxlint/binding-freebsd-x64@1.87.0': optional: true + '@oxlint/binding-freebsd-x64@1.88.0': + optional: true + '@oxlint/binding-linux-arm-gnueabihf@1.87.0': optional: true + '@oxlint/binding-linux-arm-gnueabihf@1.88.0': + optional: true + '@oxlint/binding-linux-arm-musleabihf@1.87.0': optional: true + '@oxlint/binding-linux-arm-musleabihf@1.88.0': + optional: true + '@oxlint/binding-linux-arm64-gnu@1.87.0': optional: true + '@oxlint/binding-linux-arm64-gnu@1.88.0': + optional: true + '@oxlint/binding-linux-arm64-musl@1.87.0': optional: true + '@oxlint/binding-linux-arm64-musl@1.88.0': + optional: true + '@oxlint/binding-linux-ppc64-gnu@1.87.0': optional: true + '@oxlint/binding-linux-ppc64-gnu@1.88.0': + optional: true + '@oxlint/binding-linux-riscv64-gnu@1.87.0': optional: true + '@oxlint/binding-linux-riscv64-gnu@1.88.0': + optional: true + '@oxlint/binding-linux-riscv64-musl@1.87.0': optional: true + '@oxlint/binding-linux-riscv64-musl@1.88.0': + optional: true + '@oxlint/binding-linux-s390x-gnu@1.87.0': optional: true + '@oxlint/binding-linux-s390x-gnu@1.88.0': + optional: true + '@oxlint/binding-linux-x64-gnu@1.87.0': optional: true + '@oxlint/binding-linux-x64-gnu@1.88.0': + optional: true + '@oxlint/binding-linux-x64-musl@1.87.0': optional: true + '@oxlint/binding-linux-x64-musl@1.88.0': + optional: true + '@oxlint/binding-openharmony-arm64@1.87.0': optional: true + '@oxlint/binding-openharmony-arm64@1.88.0': + optional: true + '@oxlint/binding-win32-arm64-msvc@1.87.0': optional: true + '@oxlint/binding-win32-arm64-msvc@1.88.0': + optional: true + '@oxlint/binding-win32-ia32-msvc@1.87.0': optional: true + '@oxlint/binding-win32-ia32-msvc@1.88.0': + optional: true + '@oxlint/binding-win32-x64-msvc@1.87.0': optional: true + '@oxlint/binding-win32-x64-msvc@1.88.0': + optional: true + '@oxlint/plugins@1.87.0': {} '@pnpm/cli.meta@1100.1.2': @@ -5559,15 +5751,15 @@ snapshots: '@systemfsoftware/arethetypeswrong-cli@4.2.0': {} - '@systemfsoftware/effect-cell-types@file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.0.5)': + '@systemfsoftware/effect-cell-types@file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.1.0)': dependencies: - effect: 4.0.5 + effect: 4.1.0 - '@systemfsoftware/effect-gherkin-spec@file:.sfs-deps/effect-gherkin-spec-8.0.0.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5)': + '@systemfsoftware/effect-gherkin-spec@file:.sfs-deps/effect-gherkin-spec-8.0.0.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5)': dependencies: - '@systemfsoftware/effect-spec-runtime': file:.sfs-deps/effect-spec-runtime-1.1.0.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5) - '@systemfsoftware/vitest': file:.sfs-deps/vitest-3.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) - effect: 4.0.5 + '@systemfsoftware/effect-spec-runtime': file:.sfs-deps/effect-spec-runtime-1.1.0.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5) + '@systemfsoftware/vitest': file:.sfs-deps/vitest-3.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) + effect: 4.1.0 vitest: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/browser-playwright@5.0.5)(@vitest/coverage-istanbul@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.2(@noble/hashes@2.4.0))(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1)) '@systemfsoftware/effect-schema-discovery@file:.sfs-deps/effect-schema-discovery-2.0.1.tgz': @@ -5575,111 +5767,111 @@ snapshots: '@oxc-project/types': 0.153.0 oxc-parser: 0.153.0 - '@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.0.5)(vitest@5.0.5)': + '@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.1.0)(vitest@5.0.5)': dependencies: - effect: 4.0.5 + effect: 4.1.0 fast-check: 4.10.2 optionalDependencies: vitest: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/browser-playwright@5.0.5)(@vitest/coverage-istanbul@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.2(@noble/hashes@2.4.0))(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1)) - '@systemfsoftware/effect-schema-recursion-budget@file:.sfs-deps/effect-schema-recursion-budget-2.0.1.tgz(effect@4.0.5)': + '@systemfsoftware/effect-schema-recursion-budget@file:.sfs-deps/effect-schema-recursion-budget-2.0.1.tgz(effect@4.1.0)': dependencies: '@oxc-project/types': 0.153.0 - effect: 4.0.5 + effect: 4.1.0 oxc-parser: 0.153.0 - '@systemfsoftware/effect-schema-vite@file:.sfs-deps/effect-schema-vite-3.1.1.tgz(@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.0.5)(vitest@5.0.5))(effect@4.0.5)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1))(vitest@5.0.5)': + '@systemfsoftware/effect-schema-vite@file:.sfs-deps/effect-schema-vite-3.1.1.tgz(@systemfsoftware/effect-schema-law@file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.1.0)(vitest@5.0.5))(effect@4.1.0)(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1))(vitest@5.0.5)': dependencies: '@oxc-project/types': 0.153.0 '@systemfsoftware/effect-schema-discovery': file:.sfs-deps/effect-schema-discovery-2.0.1.tgz - '@systemfsoftware/effect-schema-law': file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.0.5)(vitest@5.0.5) - '@systemfsoftware/effect-schema-recursion-budget': file:.sfs-deps/effect-schema-recursion-budget-2.0.1.tgz(effect@4.0.5) - effect: 4.0.5 + '@systemfsoftware/effect-schema-law': file:.sfs-deps/effect-schema-law-6.1.0.tgz(effect@4.1.0)(vitest@5.0.5) + '@systemfsoftware/effect-schema-recursion-budget': file:.sfs-deps/effect-schema-recursion-budget-2.0.1.tgz(effect@4.1.0) + effect: 4.1.0 oxc-parser: 0.153.0 vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1) vitest: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/browser-playwright@5.0.5)(@vitest/coverage-istanbul@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.2(@noble/hashes@2.4.0))(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1)) - '@systemfsoftware/effect-sim-kernel@file:.sfs-deps/effect-sim-kernel-2.0.0.tgz(effect@4.0.5)': + '@systemfsoftware/effect-sim-kernel@file:.sfs-deps/effect-sim-kernel-2.0.0.tgz(effect@4.1.0)': dependencies: - effect: 4.0.5 + effect: 4.1.0 - '@systemfsoftware/effect-spec-runtime@file:.sfs-deps/effect-spec-runtime-1.1.0.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.0.5)(vitest@5.0.5)': + '@systemfsoftware/effect-spec-runtime@file:.sfs-deps/effect-spec-runtime-1.1.0.tgz(@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5))(effect@4.1.0)(vitest@5.0.5)': dependencies: - '@systemfsoftware/effect-sim-kernel': file:.sfs-deps/effect-sim-kernel-2.0.0.tgz(effect@4.0.5) - '@systemfsoftware/vitest': file:.sfs-deps/vitest-3.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) - effect: 4.0.5 + '@systemfsoftware/effect-sim-kernel': file:.sfs-deps/effect-sim-kernel-2.0.0.tgz(effect@4.1.0) + '@systemfsoftware/vitest': file:.sfs-deps/vitest-3.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5) + effect: 4.1.0 vitest: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/browser-playwright@5.0.5)(@vitest/coverage-istanbul@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.2(@noble/hashes@2.4.0))(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1)) - '@systemfsoftware/oxlint-config-cell-architecture@file:.sfs-deps/oxlint-config-cell-architecture-5.0.0.tgz(effect@4.0.5)(oxlint@1.87.0(oxlint-tsgolint@7.0.2003))(typescript@7.0.2)': + '@systemfsoftware/oxlint-config-cell-architecture@file:.sfs-deps/oxlint-config-cell-architecture-5.0.0.tgz(effect@4.1.0)(oxlint@1.88.0(oxlint-tsgolint@7.0.2004))(typescript@7.0.2)': dependencies: - '@systemfsoftware/oxlint-config-rule-authoring': file:.sfs-deps/oxlint-config-rule-authoring-2.0.0.tgz(oxlint@1.87.0(oxlint-tsgolint@7.0.2003))(typescript@7.0.2) - '@systemfsoftware/oxlint-plugin-cell-architecture': file:.sfs-deps/oxlint-plugin-cell-architecture-6.0.0.tgz(effect@4.0.5)(typescript@7.0.2) - effect: 4.0.5 - oxlint: 1.87.0(oxlint-tsgolint@7.0.2003) + '@systemfsoftware/oxlint-config-rule-authoring': file:.sfs-deps/oxlint-config-rule-authoring-2.0.0.tgz(oxlint@1.88.0(oxlint-tsgolint@7.0.2004))(typescript@7.0.2) + '@systemfsoftware/oxlint-plugin-cell-architecture': file:.sfs-deps/oxlint-plugin-cell-architecture-6.0.0.tgz(effect@4.1.0)(typescript@7.0.2) + effect: 4.1.0 + oxlint: 1.88.0(oxlint-tsgolint@7.0.2004) typescript: 7.0.2 - '@systemfsoftware/oxlint-config-dmmf@file:.sfs-deps/oxlint-config-dmmf-3.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2003)(oxlint@1.87.0(oxlint-tsgolint@7.0.2003))(typescript@7.0.2)': + '@systemfsoftware/oxlint-config-dmmf@file:.sfs-deps/oxlint-config-dmmf-3.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2004)(oxlint@1.88.0(oxlint-tsgolint@7.0.2004))(typescript@7.0.2)': dependencies: - '@systemfsoftware/oxlint-config-rule-authoring': file:.sfs-deps/oxlint-config-rule-authoring-2.0.0.tgz(oxlint@1.87.0(oxlint-tsgolint@7.0.2003))(typescript@7.0.2) - '@systemfsoftware/oxlint-plugin-dmmf-workflow': file:.sfs-deps/oxlint-plugin-dmmf-workflow-7.1.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2003)(typescript@7.0.2) - '@systemfsoftware/oxlint-plugin-effect-schema': file:.sfs-deps/oxlint-plugin-effect-schema-6.0.1.tgz(effect@4.0.5)(typescript@7.0.2) - effect: 4.0.5 - oxlint: 1.87.0(oxlint-tsgolint@7.0.2003) - oxlint-tsgolint: 7.0.2003 + '@systemfsoftware/oxlint-config-rule-authoring': file:.sfs-deps/oxlint-config-rule-authoring-2.0.0.tgz(oxlint@1.88.0(oxlint-tsgolint@7.0.2004))(typescript@7.0.2) + '@systemfsoftware/oxlint-plugin-dmmf-workflow': file:.sfs-deps/oxlint-plugin-dmmf-workflow-7.1.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2004)(typescript@7.0.2) + '@systemfsoftware/oxlint-plugin-effect-schema': file:.sfs-deps/oxlint-plugin-effect-schema-6.0.1.tgz(effect@4.1.0)(typescript@7.0.2) + effect: 4.1.0 + oxlint: 1.88.0(oxlint-tsgolint@7.0.2004) + oxlint-tsgolint: 7.0.2004 typescript: 7.0.2 transitivePeerDependencies: - vite-plus - '@systemfsoftware/oxlint-config-recommended@file:.sfs-deps/oxlint-config-recommended-5.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2003)(oxlint@1.87.0(oxlint-tsgolint@7.0.2003))(typescript@7.0.2)': - dependencies: - '@effect/tsgo': 0.51.1 - '@systemfsoftware/oxlint-config-cell-architecture': file:.sfs-deps/oxlint-config-cell-architecture-5.0.0.tgz(effect@4.0.5)(oxlint@1.87.0(oxlint-tsgolint@7.0.2003))(typescript@7.0.2) - '@systemfsoftware/oxlint-config-dmmf': file:.sfs-deps/oxlint-config-dmmf-3.0.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2003)(oxlint@1.87.0(oxlint-tsgolint@7.0.2003))(typescript@7.0.2) - '@systemfsoftware/oxlint-config-rule-authoring': file:.sfs-deps/oxlint-config-rule-authoring-2.0.0.tgz(oxlint@1.87.0(oxlint-tsgolint@7.0.2003))(typescript@7.0.2) - '@systemfsoftware/oxlint-plugin-effect-platform': file:.sfs-deps/oxlint-plugin-effect-platform-2.1.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2003)(typescript@7.0.2) - '@systemfsoftware/oxlint-plugin-test-discipline': file:.sfs-deps/oxlint-plugin-test-discipline-6.0.0.tgz(effect@4.0.5)(typescript@7.0.2) - effect: 4.0.5 - oxlint: 1.87.0(oxlint-tsgolint@7.0.2003) - oxlint-tsgolint: 7.0.2003 + '@systemfsoftware/oxlint-config-recommended@file:.sfs-deps/oxlint-config-recommended-5.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2004)(oxlint@1.88.0(oxlint-tsgolint@7.0.2004))(typescript@7.0.2)': + dependencies: + '@effect/tsgo': 0.63.0 + '@systemfsoftware/oxlint-config-cell-architecture': file:.sfs-deps/oxlint-config-cell-architecture-5.0.0.tgz(effect@4.1.0)(oxlint@1.88.0(oxlint-tsgolint@7.0.2004))(typescript@7.0.2) + '@systemfsoftware/oxlint-config-dmmf': file:.sfs-deps/oxlint-config-dmmf-3.0.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2004)(oxlint@1.88.0(oxlint-tsgolint@7.0.2004))(typescript@7.0.2) + '@systemfsoftware/oxlint-config-rule-authoring': file:.sfs-deps/oxlint-config-rule-authoring-2.0.0.tgz(oxlint@1.88.0(oxlint-tsgolint@7.0.2004))(typescript@7.0.2) + '@systemfsoftware/oxlint-plugin-effect-platform': file:.sfs-deps/oxlint-plugin-effect-platform-2.1.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2004)(typescript@7.0.2) + '@systemfsoftware/oxlint-plugin-test-discipline': file:.sfs-deps/oxlint-plugin-test-discipline-6.0.0.tgz(effect@4.1.0)(typescript@7.0.2) + effect: 4.1.0 + oxlint: 1.88.0(oxlint-tsgolint@7.0.2004) + oxlint-tsgolint: 7.0.2004 typescript: 7.0.2 transitivePeerDependencies: - vite-plus - '@systemfsoftware/oxlint-config-rule-authoring@file:.sfs-deps/oxlint-config-rule-authoring-2.0.0.tgz(oxlint@1.87.0(oxlint-tsgolint@7.0.2003))(typescript@7.0.2)': + '@systemfsoftware/oxlint-config-rule-authoring@file:.sfs-deps/oxlint-config-rule-authoring-2.0.0.tgz(oxlint@1.88.0(oxlint-tsgolint@7.0.2004))(typescript@7.0.2)': dependencies: - oxlint: 1.87.0(oxlint-tsgolint@7.0.2003) + oxlint: 1.88.0(oxlint-tsgolint@7.0.2004) typescript: 7.0.2 - '@systemfsoftware/oxlint-plugin-cell-architecture@file:.sfs-deps/oxlint-plugin-cell-architecture-6.0.0.tgz(effect@4.0.5)(typescript@7.0.2)': + '@systemfsoftware/oxlint-plugin-cell-architecture@file:.sfs-deps/oxlint-plugin-cell-architecture-6.0.0.tgz(effect@4.1.0)(typescript@7.0.2)': dependencies: '@oxc-project/types': 0.153.0 '@oxlint/plugins': 1.87.0 - effect: 4.0.5 + effect: 4.1.0 typescript: 7.0.2 - '@systemfsoftware/oxlint-plugin-dmmf-workflow@file:.sfs-deps/oxlint-plugin-dmmf-workflow-7.1.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2003)(typescript@7.0.2)': + '@systemfsoftware/oxlint-plugin-dmmf-workflow@file:.sfs-deps/oxlint-plugin-dmmf-workflow-7.1.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2004)(typescript@7.0.2)': dependencies: '@oxc-project/types': 0.153.0 '@oxlint/plugins': 1.87.0 - effect: 4.0.5 - oxlint: 1.87.0(oxlint-tsgolint@7.0.2003) + effect: 4.1.0 + oxlint: 1.87.0(oxlint-tsgolint@7.0.2004) typescript: 7.0.2 transitivePeerDependencies: - oxlint-tsgolint - vite-plus - '@systemfsoftware/oxlint-plugin-effect-platform@file:.sfs-deps/oxlint-plugin-effect-platform-2.1.0.tgz(effect@4.0.5)(oxlint-tsgolint@7.0.2003)(typescript@7.0.2)': + '@systemfsoftware/oxlint-plugin-effect-platform@file:.sfs-deps/oxlint-plugin-effect-platform-2.1.0.tgz(effect@4.1.0)(oxlint-tsgolint@7.0.2004)(typescript@7.0.2)': dependencies: '@oxc-project/types': 0.153.0 '@oxlint/plugins': 1.87.0 - effect: 4.0.5 - oxlint: 1.87.0(oxlint-tsgolint@7.0.2003) + effect: 4.1.0 + oxlint: 1.87.0(oxlint-tsgolint@7.0.2004) typescript: 7.0.2 transitivePeerDependencies: - oxlint-tsgolint - vite-plus - '@systemfsoftware/oxlint-plugin-effect-schema@file:.sfs-deps/oxlint-plugin-effect-schema-6.0.1.tgz(effect@4.0.5)(typescript@7.0.2)': + '@systemfsoftware/oxlint-plugin-effect-schema@file:.sfs-deps/oxlint-plugin-effect-schema-6.0.1.tgz(effect@4.1.0)(typescript@7.0.2)': dependencies: '@oxc-project/types': 0.153.0 '@oxlint/plugins': 1.87.0 @@ -5687,20 +5879,20 @@ snapshots: '@pnpm/workspace.projects-reader': 1101.1.4(@pnpm/logger@1100.0.0) '@pnpm/workspace.root-finder': 1100.1.3 '@pnpm/workspace.workspace-manifest-reader': 1100.2.2 - effect: 4.0.5 + effect: 4.1.0 typescript: 7.0.2 - '@systemfsoftware/oxlint-plugin-test-discipline@file:.sfs-deps/oxlint-plugin-test-discipline-6.0.0.tgz(effect@4.0.5)(typescript@7.0.2)': + '@systemfsoftware/oxlint-plugin-test-discipline@file:.sfs-deps/oxlint-plugin-test-discipline-6.0.0.tgz(effect@4.1.0)(typescript@7.0.2)': dependencies: '@oxc-project/types': 0.153.0 '@oxlint/plugins': 1.87.0 - effect: 4.0.5 + effect: 4.1.0 oxc-parser: 0.153.0 typescript: 7.0.2 - '@systemfsoftware/stryker-config@file:.sfs-deps/stryker-config-0.2.0.tgz(@systemfsoftware/stryker-js@17.0.2(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@8.1.1)(vitest@5.0.5))': + '@systemfsoftware/stryker-config@file:.sfs-deps/stryker-config-0.2.0.tgz(@systemfsoftware/stryker-js@17.0.2(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@8.1.1)(vitest@5.0.5))': optionalDependencies: - '@systemfsoftware/stryker-js': 17.0.2(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@8.1.1)(vitest@5.0.5) + '@systemfsoftware/stryker-js': 17.0.2(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@8.1.1)(vitest@5.0.5) '@systemfsoftware/stryker-framework-interface@0.0.0': dependencies: @@ -5734,18 +5926,18 @@ snapshots: '@systemfsoftware/stryker-js-cli-contract@0.3.1': dependencies: '@systemfsoftware/stryker-js-plugin-interface': 14.0.0 - effect: 4.0.5 + effect: 4.1.0 '@systemfsoftware/stryker-js-instrumenter@12.1.1(rolldown@1.2.14)': dependencies: '@eslint-community/regexpp': 4.12.2 '@noble/hashes': 2.4.0 '@oxc-project/types': 0.150.0 - '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.0.5) + '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.1.0) '@systemfsoftware/stryker-framework-interface': 0.0.0 '@systemfsoftware/stryker-js-cli-contract': 0.3.1 '@systemfsoftware/stryker-js-plugin-interface': 14.0.0 - effect: 4.0.5 + effect: 4.1.0 oxc-parser: 0.150.0 oxc-walker: 1.1.1(@oxc-project/types@0.150.0)(oxc-parser@0.150.0)(rolldown@1.2.14) transitivePeerDependencies: @@ -5754,28 +5946,28 @@ snapshots: '@systemfsoftware/stryker-js-plugin-interface@14.0.0': dependencies: '@systemfsoftware/stryker-ignorer-interface': 0.1.1 - effect: 4.0.5 + effect: 4.1.0 '@systemfsoftware/stryker-js-plugin-runtime@7.0.2': dependencies: '@opentelemetry/api': 1.9.1 - '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.0.5) + '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.1.0) '@systemfsoftware/stryker-js-cli-contract': 0.3.1 '@systemfsoftware/stryker-js-plugin-interface': 14.0.0 - effect: 4.0.5 + effect: 4.1.0 '@systemfsoftware/stryker-js-typescript-checker@8.2.1(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(rolldown@1.2.14)(supports-color@8.1.1)': dependencies: - '@effect/opentelemetry': 4.0.5(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5) + '@effect/opentelemetry': 4.1.0(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0) '@opentelemetry/exporter-trace-otlp-http': 0.222.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-node': 0.222.0(@opentelemetry/api@1.9.1)(supports-color@8.1.1) '@opentelemetry/sdk-trace-base': 2.12.0(@opentelemetry/api@1.9.1) - '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.0.5) + '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.1.0) '@systemfsoftware/stryker-js-cli-contract': 0.3.1 '@systemfsoftware/stryker-js-instrumenter': 12.1.1(rolldown@1.2.14) '@systemfsoftware/stryker-js-plugin-interface': 14.0.0 '@systemfsoftware/stryker-js-plugin-runtime': 7.0.2 - effect: 4.0.5 + effect: 4.1.0 typescript: 7.0.2 transitivePeerDependencies: - '@opentelemetry/api' @@ -5789,13 +5981,13 @@ snapshots: - rolldown - supports-color - '@systemfsoftware/stryker-js-vitest-runner@8.1.1(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(supports-color@8.1.1)(vitest@5.0.5)': + '@systemfsoftware/stryker-js-vitest-runner@8.1.1(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(supports-color@8.1.1)(vitest@5.0.5)': dependencies: - '@effect/opentelemetry': 4.0.5(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5) + '@effect/opentelemetry': 4.1.0(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0) '@opentelemetry/exporter-trace-otlp-http': 0.222.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-node': 0.222.0(@opentelemetry/api@1.9.1)(supports-color@8.1.1) '@opentelemetry/sdk-trace-base': 2.12.0(@opentelemetry/api@1.9.1) - '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.0.5) + '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.1.0) vitest: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/browser-playwright@5.0.5)(@vitest/coverage-istanbul@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.2(@noble/hashes@2.4.0))(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1)) transitivePeerDependencies: - '@opentelemetry/api' @@ -5809,20 +6001,20 @@ snapshots: - effect - supports-color - '@systemfsoftware/stryker-js@17.0.2(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@8.1.1)(vitest@5.0.5)': + '@systemfsoftware/stryker-js@17.0.2(@opentelemetry/api-logs@0.222.0)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(supports-color@8.1.1)(vitest@5.0.5)': dependencies: - '@effect/opentelemetry': 4.0.5(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5) - '@effect/platform-node': 4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1)) - '@effect/platform-node-shared': 4.0.5(effect@4.0.5) + '@effect/opentelemetry': 4.1.0(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0) + '@effect/platform-node': 4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)) + '@effect/platform-node-shared': 4.1.0(effect@4.1.0) '@noble/hashes': 2.4.0 '@opentelemetry/api': 1.9.1 '@opentelemetry/exporter-metrics-otlp-http': 0.222.0(@opentelemetry/api@1.9.1) '@opentelemetry/exporter-trace-otlp-http': 0.222.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-metrics': 2.11.0(@opentelemetry/api@1.9.1) '@opentelemetry/sdk-trace-base': 2.12.0(@opentelemetry/api@1.9.1) - '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.0.5) - '@systemfsoftware/stryker-js-vm-runner': '@systemfsoftware/stryker-js-vitest-runner@8.1.1(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.0.5)(supports-color@8.1.1)(vitest@5.0.5)' - effect: 4.0.5 + '@systemfsoftware/effect-cell-types': file:.sfs-deps/effect-cell-types-12.0.2.tgz(effect@4.1.0) + '@systemfsoftware/stryker-js-vm-runner': '@systemfsoftware/stryker-js-vitest-runner@8.1.1(@opentelemetry/api-logs@0.222.0)(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-logs@0.222.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-metrics@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-node@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/semantic-conventions@1.43.0)(effect@4.1.0)(supports-color@8.1.1)(vitest@5.0.5)' + effect: 4.1.0 transitivePeerDependencies: - '@opentelemetry/api-logs' - '@opentelemetry/resources' @@ -5848,10 +6040,10 @@ snapshots: vite: 8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1) vitest: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/browser-playwright@5.0.5)(@vitest/coverage-istanbul@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.2(@noble/hashes@2.4.0))(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1)) - '@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5)': + '@systemfsoftware/vitest@file:.sfs-deps/vitest-3.0.0.tgz(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1))(vitest@5.0.5)': dependencies: - '@effect/platform-node': 4.0.5(effect@4.0.5)(redis@6.2.1(@opentelemetry/api@1.9.1)) - effect: 4.0.5 + '@effect/platform-node': 4.1.0(effect@4.1.0)(redis@6.2.1(@opentelemetry/api@1.9.1)) + effect: 4.1.0 vitest: 5.0.5(@opentelemetry/api@1.9.1)(@types/node@26.6.5)(@vitest/browser-playwright@5.0.5)(@vitest/coverage-istanbul@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.2(@noble/hashes@2.4.0))(vite@8.3.4(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.6.1)(tsx@4.23.13)(yaml@2.9.1)) transitivePeerDependencies: - bufferutil @@ -6356,7 +6548,7 @@ snapshots: optionalDependencies: oxc-resolver: 11.21.2 - effect@4.0.5: {} + effect@4.1.0: {} electron-to-chromium@1.5.376: optional: true @@ -6814,16 +7006,16 @@ snapshots: oxc-parser: 0.150.0 rolldown: 1.2.14 - oxlint-tsgolint@7.0.2003: + oxlint-tsgolint@7.0.2004: optionalDependencies: - '@oxlint-tsgolint/darwin-arm64': 7.0.2003 - '@oxlint-tsgolint/darwin-x64': 7.0.2003 - '@oxlint-tsgolint/linux-arm64': 7.0.2003 - '@oxlint-tsgolint/linux-x64': 7.0.2003 - '@oxlint-tsgolint/win32-arm64': 7.0.2003 - '@oxlint-tsgolint/win32-x64': 7.0.2003 - - oxlint@1.87.0(oxlint-tsgolint@7.0.2003): + '@oxlint-tsgolint/darwin-arm64': 7.0.2004 + '@oxlint-tsgolint/darwin-x64': 7.0.2004 + '@oxlint-tsgolint/linux-arm64': 7.0.2004 + '@oxlint-tsgolint/linux-x64': 7.0.2004 + '@oxlint-tsgolint/win32-arm64': 7.0.2004 + '@oxlint-tsgolint/win32-x64': 7.0.2004 + + oxlint@1.87.0(oxlint-tsgolint@7.0.2004): optionalDependencies: '@oxlint/binding-android-arm-eabi': 1.87.0 '@oxlint/binding-android-arm64': 1.87.0 @@ -6844,7 +7036,30 @@ snapshots: '@oxlint/binding-win32-arm64-msvc': 1.87.0 '@oxlint/binding-win32-ia32-msvc': 1.87.0 '@oxlint/binding-win32-x64-msvc': 1.87.0 - oxlint-tsgolint: 7.0.2003 + oxlint-tsgolint: 7.0.2004 + + oxlint@1.88.0(oxlint-tsgolint@7.0.2004): + optionalDependencies: + '@oxlint/binding-android-arm-eabi': 1.88.0 + '@oxlint/binding-android-arm64': 1.88.0 + '@oxlint/binding-darwin-arm64': 1.88.0 + '@oxlint/binding-darwin-x64': 1.88.0 + '@oxlint/binding-freebsd-x64': 1.88.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.88.0 + '@oxlint/binding-linux-arm-musleabihf': 1.88.0 + '@oxlint/binding-linux-arm64-gnu': 1.88.0 + '@oxlint/binding-linux-arm64-musl': 1.88.0 + '@oxlint/binding-linux-ppc64-gnu': 1.88.0 + '@oxlint/binding-linux-riscv64-gnu': 1.88.0 + '@oxlint/binding-linux-riscv64-musl': 1.88.0 + '@oxlint/binding-linux-s390x-gnu': 1.88.0 + '@oxlint/binding-linux-x64-gnu': 1.88.0 + '@oxlint/binding-linux-x64-musl': 1.88.0 + '@oxlint/binding-openharmony-arm64': 1.88.0 + '@oxlint/binding-win32-arm64-msvc': 1.88.0 + '@oxlint/binding-win32-ia32-msvc': 1.88.0 + '@oxlint/binding-win32-x64-msvc': 1.88.0 + oxlint-tsgolint: 7.0.2004 p-filter@4.1.0: dependencies: @@ -7247,6 +7462,8 @@ snapshots: undici@8.11.2: {} + undici@8.12.3: {} + unicorn-magic@0.3.0: {} universalify@2.0.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index c7cc33a..9229261 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -13,13 +13,13 @@ catalog: typescript: ^7.0.2 microsandbox: 0.7.8 "@systemfsoftware/arethetypeswrong-cli": ^4.2.0 - "@effect/platform-node": ^4.0.5 - "@effect/platform-bun": 4.0.5 - "@effect/platform-node-shared": ^4.0.5 - effect: ^4.0.5 - "@effect/sql-pglite": ^4.0.5 - "@effect/tsgo": ^0.51.1 - "@effect/opentelemetry": ^4.0.5 + "@effect/platform-node": ^4.1.0 + "@effect/platform-bun": 4.1.0 + "@effect/platform-node-shared": ^4.1.0 + effect: ^4.1.0 + "@effect/sql-pglite": ^4.1.0 + "@effect/tsgo": ^0.63.0 + "@effect/opentelemetry": ^4.1.0 "@opentelemetry/sdk-trace-base": ^2.12.0 "@opentelemetry/api": ^1.9.0 "@opentelemetry/resources": ^2.12.0 @@ -62,9 +62,9 @@ catalogs: peers: effect: ^4 oxlint: - oxlint: ~1.87.0 - "@oxlint/plugins": ~1.87.0 - oxlint-tsgolint: 7.0.2003 + oxlint: ~1.88.0 + "@oxlint/plugins": ~1.88.0 + oxlint-tsgolint: 7.0.2004 stryker: "@systemfsoftware/stryker-ignorer-effect-schema-declarations": latest "@systemfsoftware/stryker-ignorer-in-source-vitest-block": latest @@ -75,6 +75,8 @@ catalogs: minimumReleaseAge: 1440 minimumReleaseAgeExclude: - "@systemfsoftware/*" + - effect + - "@effect/*" overrides: # Core packages come from the core flake's tarballs (flake.nix sfs-deps), never from a registry. "@systemfsoftware/effect-cell-types": file:.sfs-deps/effect-cell-types-12.0.2.tgz @@ -99,6 +101,11 @@ overrides: "@systemfsoftware/tsdown-config": file:.sfs-deps/tsdown-config-0.1.1.tgz "@systemfsoftware/vitest": file:.sfs-deps/vitest-3.0.0.tgz "@systemfsoftware/vitest-config": file:.sfs-deps/vitest-config-0.1.1.tgz + effect: "catalog:" + "@effect/tsgo": "catalog:" + "@effect/opentelemetry": "catalog:" + "@effect/platform-node": "catalog:" + "@effect/platform-node-shared": "catalog:" fast-check: "catalog:" vite: "catalog:" # storybook's csf-plugin resolves esbuild 0.27 in its peer context while tsx