chore: generate

This commit is contained in:
opencode-agent[bot]
2026-06-03 03:11:53 +00:00
parent 70cd4bf0ce
commit 7a66eae586
2 changed files with 39 additions and 49 deletions
+6 -14
View File
@@ -103,15 +103,14 @@ export const layer = Layer.effect(
) { ) {
const completed_at = yield* Clock.currentTimeMillis const completed_at = yield* Clock.currentTimeMillis
const s = yield* InstanceState.get(state) const s = yield* InstanceState.get(state)
const result = yield* SynchronizedRef.modify( const result = yield* SynchronizedRef.modify(s.jobs, (jobs): readonly [FinishResult, Map<string, Active>] => {
s.jobs,
(jobs): readonly [FinishResult, Map<string, Active>] => {
const job = jobs.get(id) const job = jobs.get(id)
if (!job) return [{}, jobs] if (!job) return [{}, jobs]
if (job.token !== token) return [{}, jobs] if (job.token !== token) return [{}, jobs]
if (job.info.status !== "running") return [{ info: snapshot(job) }, jobs] if (job.info.status !== "running") return [{ info: snapshot(job) }, jobs]
const pending = job.pending - 1 const pending = job.pending - 1
const output = Exit.isSuccess(exit) && (!job.output || sequence > job.output.sequence) const output =
Exit.isSuccess(exit) && (!job.output || sequence > job.output.sequence)
? { sequence, text: exit.value } ? { sequence, text: exit.value }
: job.output : job.output
if (Exit.isSuccess(exit) && pending > 0) { if (Exit.isSuccess(exit) && pending > 0) {
@@ -134,12 +133,8 @@ export const layer = Layer.effect(
...(Exit.isFailure(exit) ? { error: errorText(Cause.squash(exit.cause)) } : {}), ...(Exit.isFailure(exit) ? { error: errorText(Cause.squash(exit.cause)) } : {}),
}, },
} }
return [ return [{ info: snapshot(next), done: job.done, scope: job.scope }, new Map(jobs).set(id, next)]
{ info: snapshot(next), done: job.done, scope: job.scope }, })
new Map(jobs).set(id, next),
]
},
)
if (result.info && result.done) yield* Deferred.succeed(result.done, result.info).pipe(Effect.ignore) if (result.info && result.done) yield* Deferred.succeed(result.done, result.info).pipe(Effect.ignore)
if (result.scope) { if (result.scope) {
yield* Scope.close(result.scope, Exit.void).pipe(Effect.forkIn(s.scope, { startImmediately: true })) yield* Scope.close(result.scope, Exit.void).pipe(Effect.forkIn(s.scope, { startImmediately: true }))
@@ -265,10 +260,7 @@ export const layer = Layer.effect(
completed_at, completed_at,
}, },
} }
return [ return [{ info: snapshot(next), done: job.done, scope: job.scope }, new Map(jobs).set(id, next)]
{ info: snapshot(next), done: job.done, scope: job.scope },
new Map(jobs).set(id, next),
]
}, },
) )
if (result.info && result.done) yield* Deferred.succeed(result.done, result.info).pipe(Effect.ignore) if (result.info && result.done) yield* Deferred.succeed(result.done, result.info).pipe(Effect.ignore)
+1 -3
View File
@@ -257,9 +257,7 @@ export const TaskTool = Tool.define(
metadata, metadata,
run: runTask(), run: runTask(),
}) })
yield* background yield* background.wait({ id: info.id }).pipe(
.wait({ id: info.id })
.pipe(
Effect.flatMap((result) => { Effect.flatMap((result) => {
if (result.info?.status === "completed") return inject("completed", result.info.output ?? "") if (result.info?.status === "completed") return inject("completed", result.info.output ?? "")
if (result.info?.status === "error") return inject("error", result.info.error ?? "") if (result.info?.status === "error") return inject("error", result.info.error ?? "")