@usine/durable 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,7 +14,7 @@ Runs an attempt's Pi parent in the orchestrator on [`@earendil-works/pi-durable`
14
14
  import { layer as durableLayer } from "@usine/durable/live";
15
15
 
16
16
  // Provides AttemptRuntime and DurableHarness; requires ChildProcessSpawner and ClaudeLoginLock,
17
- // the per-Worker lock the executor's preflight shares (claudeLoginLockLayer from @usine/executor).
17
+ // the Claude login lock the executor's preflight shares (claudeLoginLockLayer from @usine/executor).
18
18
  const attempts = durableLayer(instanceDirectory);
19
19
  ```
20
20
 
@@ -32,7 +32,7 @@ After the terminal envelope, `finished(attemptId)` returns `ParentReported` with
32
32
 
33
33
  `AttemptRequest.host` (`@usine/agents/child-host`) is where the worker runs children: `LocalProcess` here or `RemoteShell` over SSH. The `subagent` tool passes it and the worker's name to every child, and tags child logs with the attempt id. `AttemptRequest.environment` is the whole environment of every local child and its commands; on `RemoteShell`, it's exported over the machine's own.
34
34
 
35
- The task doesn't store the host or environment. It stores the run spec, worker, and worktree as a `StoredRequest`, which `request(attemptId)` returns, so a reattachment knows its run spec, base commit, and worktree. After a restart, the parent waits for the next `execute` to supply the host and environment before launching another child.
35
+ The task doesn't store the host or environment. It stores the run spec, worker, and worktree as a `StoredRequest`, which `request(attemptId)` returns, so a reattachment knows its run spec, base commit, and worktree. After a restart, or after the executor releases the attempt, the parent waits for the next `execute` to supply the host and environment before launching another child. An abort of the tool call ends that wait, for example when a stopping orchestrator closes the harness. The next start then resumes the call as interrupted.
36
36
 
37
37
  `AttemptRequest.gatewayCredential`, supplied the same way, is the credential kind that the worker's gateway uses for the children, from the worker's latest preflight, or none if they use their harness's login. The `subagent` tool records it on each child's `ChildSession` at start, so usage counts the child in the right pool. A preflight during the attempt applies to its next child.
38
38
 
@@ -51,15 +51,17 @@ Children aren't resumed after a restart: the tool call ends as interrupted with
51
51
 
52
52
  `cancel(attemptId)` aborts the task bottom-up, waits until it's terminal, and ends `execute` with `Interrupted`. A child whose launch hasn't returned, such as a Claude child waiting to relaunch, starts no process.
53
53
 
54
- ## Recovery from a poisoned session or a stuck step
54
+ ## Recovery from storage errors
55
55
 
56
- Each time the harness opens, before tasks resume, the runtime reads every live task's `pi.live`, `pi.inbox`, `pi.usage`, `pi.agent`, and `pi.provider` documents. An unreadable document, for example one whose delta chain doesn't apply, stops every step that needs it. In one commit, the runtime retires it unread, recreates it with its initial value, and records the reason on the attempt whose `usine.attempt` task has the conversation. It then aborts that task: the abort applies to the generation and tool tasks first, and the abort handler fails the attempt with an `InfraFailure` giving the reason, which `execute` and a reattachment report. Other attempts keep running.
56
+ pi-durable fails the harness on any storage error, a read included: it aborts the running tasks, which stops their children, closes the harness, and rejects later calls with `SessionFailed`. `DurableHarness` watches the close and reacts by phase:
57
57
 
58
- A pi-durable commit that fails after storage admission poisons the session. `DurableHarness` logs the cause, closes the session, reopens the storage, and resumes. A `DurableHarness.use` call failed by the reopen runs once more.
58
+ - Before `resume` completes, the harness stays closed. Building the layer fails with a `DurableHarnessError` that names the storage error, so `usine up` doesn't start.
59
+ - After that, each `execute` that relays an attempt fails with an `InfraFailure` whose cause is `DurableStorageFailed`. The engine retries the attempt from salvage. The harness reopens the storage as the next generation, aborts those attempts' tasks before the other tasks resume, and repeats a `DurableHarness.use` call that the failure interrupted.
60
+ - If the reopen fails, or the reopened harness fails within a minute, the harness stops. Later calls fail with a `DurableHarnessError` that names the cause, and attempts fail with `InfraFailure` until the orchestrator restarts.
59
61
 
60
- pi-durable reports failures that don't fail their caller through `onReport`. The harness logs a failure's first report, then its repeat count at most every five seconds. 1,000 reports of one failure with no commit adopted means a step that can't succeed. pi-durable retries it in microtasks, with no timer or I/O until the harness closes, so the harness closes from inside the report and reopens the storage. That clears stale scheduler state and repeats the document check.
62
+ Each time the harness opens, before tasks resume, the runtime reads every live task's `pi.live`, `pi.inbox`, `pi.usage`, `pi.agent`, and `pi.provider` documents from the storage directly, because a failed read through the harness fails it. An unreadable document, for example one whose delta chain doesn't apply, stops every step that needs it. In one commit, the runtime retires it unread, recreates it with its initial value, and records the reason on the attempt whose `usine.attempt` task has the conversation. It then aborts that task: the abort applies to the generation and tool tasks first, and the abort handler fails the attempt with an `InfraFailure` giving the reason, which `execute` and a reattachment report. Other attempts keep running. If that commit fails, the harness fails as described above.
61
63
 
62
- If the reopened harness is stuck again within a minute, it stops for good: it logs the cause as an error, later calls fail with a `DurableHarnessError` naming it, and running attempts fail with `InfraFailure`. The next orchestrator start reopens the storage.
64
+ pi-durable reports failures that don't fail their caller through `onReport`. The harness logs a failure's first report, then its repeat count at most every five seconds.
63
65
 
64
66
  pi-durable has no cross-process locking: tasks and documents from a second writer can't be read back. `usine up` locks the instance folder to prevent this.
65
67
 
@@ -77,6 +79,6 @@ const attempts = layer({
77
79
  - `layer({ database, parent })` provides `AttemptRuntime`, `DurableHarness`, `ChildBackend`, and `StubChildren` on a SQLite file. To simulate a restart, build a second layer on the file with the remaining answers.
78
80
  - `parent` lists the parent model's answers, one per request: `delegate(task)` calls `subagent`, `answer(text)` is a final answer, and a function gets the request's context and returns an answer.
79
81
  - `PARENT_MODEL`, `faux/faux-1`, is the scripted model. It accepts efforts up to `high`; an empty `RunSpec.parentModel` selects it.
80
- - `StubChildren.next` waits for the next child. A `StubChild` exposes `request`, `emit(event)`, `reply(message)`, `block(message)`, `interrupted`, and its `interventions`. A held child replies after `Release`.
82
+ - `StubChildren.next` waits for the next child. A `StubChild` exposes `request`, `emit(event)`, `reply(message)`, `block(message)`, `crash(message)`, `interrupted`, and its `interventions`. `crash` ends the child without a result, as a Claude child whose output stream fails, so the parent's `subagent` call fails. A held child replies after `Release`.
81
83
  - `fauxParent(steps)` and `stubChildBackendLayer` are the two halves, to compose `DurableHarness` with other storage.
82
84
  - `stubAttemptRuntime(storage, parent)` is an in-memory `AttemptRuntime` for executor and engine tests without a parent model. `parent` scripts each attempt's final message or `AttemptReport` (`completes`, `worksFor(millis)`, or a `StubParent`). Rebuilding it on the same `StubStorage` simulates a restart. `StubStorage.unsupervised` contains what `recordUnsupervised` stored, and `attached` completes when `execute` starts recording.
@@ -5,7 +5,7 @@ import type { AttemptId } from "@usine/core/attempt";
5
5
  import type * as AttemptChannel from "@usine/core/attempt/channel";
6
6
  import { Deferred, Effect, Option, Queue, Semaphore } from "effect";
7
7
  import type { AttemptRequest } from "../attempt-runtime.ts";
8
- import type { HarnessListener } from "../harness.ts";
8
+ import type { DurableStorageFailed, HarnessListener } from "../harness.ts";
9
9
  /**
10
10
  * Whether a child read a queued operator input, with the child's state when it read it, or `None`
11
11
  * if it stopped first.
@@ -69,6 +69,13 @@ export interface AttemptHub {
69
69
  * detaches.
70
70
  */
71
71
  attached: Deferred.Deferred<AttemptRequest>;
72
+ /** Completes with the storage failure that failed the harness while a channel was attached. */
73
+ readonly storageFailure: Deferred.Deferred<DurableStorageFailed>;
74
+ }
75
+ /** An Attempt whose `execute` a storage failure ended, with its task to abort. */
76
+ export interface EndedAttempt {
77
+ readonly attemptId: AttemptId;
78
+ readonly taskId: TaskId;
72
79
  }
73
80
  /**
74
81
  * Returns the notices to buffer after `notice`: the latest one, preceded by the last
@@ -100,7 +107,15 @@ export interface AttemptHubs {
100
107
  * Completes when an `execute` call is relaying the Attempt, even if the hub doesn't exist yet.
101
108
  */
102
109
  readonly attached: (attemptId: AttemptId) => Effect.Effect<void>;
103
- /** Routes commits to hubs and wakes every hub after a reopen or stop. */
110
+ /**
111
+ * Returns the Attempts whose `execute` a storage failure ended since the last call, and forgets
112
+ * them.
113
+ */
114
+ readonly takeEnded: () => ReadonlyArray<EndedAttempt>;
115
+ /**
116
+ * Routes commits to hubs. After a storage failure, completes `storageFailure` of every hub with an
117
+ * attached channel.
118
+ */
104
119
  readonly listener: HarnessListener;
105
120
  }
106
121
  export declare const attemptHubs: Effect.Effect<{
@@ -110,6 +125,7 @@ export declare const attemptHubs: Effect.Effect<{
110
125
  event: (target: AttemptHub, event: import("@usine/core/agent/session").PoolRateLimitsUpdated | import("@usine/core/agent/session").ProviderRecovered | import("@usine/core/agent/session").ProviderRetrying | import("@usine/core/agent/session").SessionFinished | import("@usine/core/agent/session").SessionIdle | import("@usine/core/agent/session").SessionResumed | import("@usine/core/agent/session").SessionStarted | import("@usine/core/agent/session").SessionTokensUpdated | import("@usine/core/agent/session").TextOutput | import("@usine/core/agent/session").ToolFinished | import("@usine/core/agent/session").ToolStarted) => Effect.Effect<void, never, never>;
111
126
  notice: (attemptId: string & import("effect/Brand").Brand<"AttemptId">, notice: AttemptChannel.WorkerResponsive | AttemptChannel.WorkerUnresponsive) => Effect.Effect<NoticeRouting, never, never>;
112
127
  delivery: (target: AttemptHub, delivery: ChildDelivery) => Effect.Effect<void, never, never>;
128
+ takeEnded: () => EndedAttempt[];
113
129
  attached: (attemptId: string & import("effect/Brand").Brand<"AttemptId">) => Effect.Effect<void, never, never>;
114
130
  listener: HarnessListener;
115
131
  }, never, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"hubs.d.ts","sourceRoot":"","sources":["../../src/attempt/hubs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hubs.d.ts","sourceRoot":"","sources":["../../src/attempt/hubs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Deferred, Effect, Option, Queue, Semaphore } from "effect";
1
+ import { Deferred, Effect, Exit, Option, Queue, Semaphore } from "effect";
2
2
  import { ATTEMPT_RECORD_KIND } from "./documents.js";
3
3
  /**
4
4
  * Returns the notices to buffer after `notice`: the latest one, preceded by the last
@@ -22,6 +22,8 @@ export const attemptHubs = Effect.gen(function* () {
22
22
  * Deferred.
23
23
  */
24
24
  const awaited = new Map();
25
+ /** The Attempts whose `execute` a storage failure ended, by Attempt ID. */
26
+ const ended = new Map();
25
27
  const bindParent = (hub, parent) => {
26
28
  if (Option.isSome(hub.parent))
27
29
  return;
@@ -37,6 +39,7 @@ export const attemptHubs = Effect.gen(function* () {
37
39
  const emission = yield* Semaphore.make(1);
38
40
  const routing = yield* Semaphore.make(1);
39
41
  const fresh = yield* Deferred.make();
42
+ const storageFailure = yield* Deferred.make();
40
43
  // No yield until the hub is registered, so a concurrent `notice` or `attached` sees either
41
44
  // the pre-hub buffers or the registered hub.
42
45
  const attached = awaited.get(attemptId) ?? fresh;
@@ -52,6 +55,7 @@ export const attemptHubs = Effect.gen(function* () {
52
55
  channel: Option.none(),
53
56
  early: early.get(attemptId) ?? [],
54
57
  attached,
58
+ storageFailure,
55
59
  };
56
60
  early.delete(attemptId);
57
61
  awaited.delete(attemptId);
@@ -97,13 +101,13 @@ export const attemptHubs = Effect.gen(function* () {
97
101
  }
98
102
  }
99
103
  },
100
- onReopen: () => {
101
- for (const target of byAttempt.values())
102
- wake(target);
103
- },
104
- onStop: () => {
105
- for (const target of byAttempt.values())
106
- wake(target);
104
+ onFailure: (failure) => {
105
+ for (const target of byAttempt.values()) {
106
+ if (Option.isNone(target.channel))
107
+ continue;
108
+ ended.set(target.attemptId, { attemptId: target.attemptId, taskId: target.taskId });
109
+ Deferred.doneUnsafe(target.storageFailure, Exit.succeed(failure));
110
+ }
107
111
  },
108
112
  };
109
113
  return {
@@ -122,6 +126,11 @@ export const attemptHubs = Effect.gen(function* () {
122
126
  return { _tag: "Kept", kept };
123
127
  }),
124
128
  delivery: (target, delivery) => Queue.offer(target.queue, delivery).pipe(Effect.asVoid),
129
+ takeEnded: () => {
130
+ const taken = [...ended.values()];
131
+ ended.clear();
132
+ return taken;
133
+ },
125
134
  // Read `attached` at call time: `relayAttempt` replaces it when the channel detaches.
126
135
  attached: (attemptId) => Effect.suspend(() => {
127
136
  const target = byAttempt.get(attemptId);
@@ -1 +1 @@
1
- {"version":3,"file":"hubs.js","sourceRoot":"","sources":["../../src/attempt/hubs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hubs.js","sourceRoot":"","sources":["../../src/attempt/hubs.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,14 @@
1
- import { type Harness } from "@earendil-works/pi-durable";
1
+ import { type Harness, type Storage } from "@earendil-works/pi-durable";
2
2
  import { Effect } from "effect";
3
+ import type { EndedAttempt } from "./hubs.ts";
3
4
  /**
4
5
  * Replaces the unreadable documents of each live task's conversation and aborts the affected
5
6
  * Attempt's task with the reason. Runs before the harness resumes its tasks.
6
7
  */
7
- export declare const repairUnreadableConversations: (harness: Harness) => Effect.Effect<void>;
8
+ export declare const repairUnreadableConversations: (harness: Harness, storage: Storage) => Effect.Effect<void>;
9
+ /**
10
+ * Aborts the tasks of the Attempts whose `execute` a storage failure ended, so the reopened harness
11
+ * doesn't run their parents again. Runs before the harness resumes its tasks. Failures are logged.
12
+ */
13
+ export declare const abortEndedAttempts: (harness: Harness, attempts: ReadonlyArray<EndedAttempt>) => Effect.Effect<void>;
8
14
  //# sourceMappingURL=repair.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repair.d.ts","sourceRoot":"","sources":["../../src/attempt/repair.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,OAAO,EAQb,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,MAAM,EAAkB,MAAM,QAAQ,CAAC;AAiKhD;;;GAGG;AACH,eAAO,MAAM,6BAA6B,YAAa,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAiBhF,CAAC"}
1
+ {"version":3,"file":"repair.d.ts","sourceRoot":"","sources":["../../src/attempt/repair.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,OAAO,EAKZ,KAAK,OAAO,EAIb,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,MAAM,EAAkB,MAAM,QAAQ,CAAC;AAGhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAwK9C;;;GAGG;AACH,eAAO,MAAM,6BAA6B,YAC/B,OAAO,WACP,OAAO,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAiBlB,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,CAC/B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,KAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAwBrB,CAAC"}
@@ -8,8 +8,10 @@ import { ATTEMPT_TASK } from "./task.js";
8
8
  const call = (operation, run) => Effect.tryPromise({ try: run, catch: (cause) => durableError(operation, cause) });
9
9
  const conversationDocument = (token) => ({
10
10
  kind: token.definition.kind,
11
- read: async (harness, conversationId) => {
12
- await harness.snapshot(token, conversationId, BACKGROUND_CONTEXT);
11
+ read: async (storage, conversationId) => {
12
+ const record = await storage.findDocument({ kind: token.definition.kind, scope: { kind: "conversation", conversationId } }, "current", BACKGROUND_CONTEXT);
13
+ if (record !== undefined)
14
+ await storage.document(record.id, "current", BACKGROUND_CONTEXT);
13
15
  },
14
16
  replace: async (tx, conversationId) => {
15
17
  await tx.retireDoc(token, conversationId);
@@ -25,11 +27,11 @@ const CONVERSATION_DOCUMENTS = [
25
27
  ];
26
28
  const messageOf = (cause) => cause instanceof Error && cause.message.length > 0 ? cause.message : String(cause);
27
29
  /** Returns the conversation's documents that cannot be read, with each failure reason. */
28
- const unreadableDocuments = Effect.fn("AttemptRepair.unreadableDocuments")(function* (harness, conversationId) {
30
+ const unreadableDocuments = Effect.fn("AttemptRepair.unreadableDocuments")(function* (storage, conversationId) {
29
31
  const unreadable = [];
30
32
  for (const document of CONVERSATION_DOCUMENTS) {
31
33
  const read = yield* Effect.tryPromise({
32
- try: () => document.read(harness, conversationId),
34
+ try: () => document.read(storage, conversationId),
33
35
  catch: messageOf,
34
36
  }).pipe(Effect.result);
35
37
  if (Result.isFailure(read))
@@ -55,11 +57,11 @@ const owningAttempt = Effect.fn("AttemptRepair.owningAttempt")(function* (harnes
55
57
  * Replaces the unreadable documents of the live tasks' conversations in one commit and sets
56
58
  * `storageFailure` on each affected Attempt record.
57
59
  */
58
- const replaceUnreadable = Effect.fn("AttemptRepair.replaceUnreadable")(function* (harness, tasks) {
60
+ const replaceUnreadable = Effect.fn("AttemptRepair.replaceUnreadable")(function* (harness, storage, tasks) {
59
61
  const conversations = [...new Set(tasks.map(({ conversationId }) => conversationId))];
60
62
  const repairs = [];
61
63
  for (const conversationId of conversations) {
62
- const unreadable = yield* unreadableDocuments(harness, conversationId);
64
+ const unreadable = yield* unreadableDocuments(storage, conversationId);
63
65
  if (unreadable.length === 0)
64
66
  continue;
65
67
  const reasons = unreadable.map(({ document, message }) => `${document.kind}: ${message}`);
@@ -118,13 +120,31 @@ const abortFailedAttempts = Effect.fn("AttemptRepair.abortFailedAttempts")(funct
118
120
  * Replaces the unreadable documents of each live task's conversation and aborts the affected
119
121
  * Attempt's task with the reason. Runs before the harness resumes its tasks.
120
122
  */
121
- export const repairUnreadableConversations = (harness) => Effect.gen(function* () {
123
+ export const repairUnreadableConversations = (harness, storage) => Effect.gen(function* () {
122
124
  const { tasks } = yield* call("inspect the live tasks", () => harness.inspect(BACKGROUND_CONTEXT));
123
125
  const records = tasks.map(({ record }) => record);
124
- yield* replaceUnreadable(harness, records);
126
+ yield* replaceUnreadable(harness, storage, records);
125
127
  yield* abortFailedAttempts(harness, records);
126
128
  }).pipe(Effect.tapError((error) => Effect.logError("Could not repair the durable storage before resuming its tasks", {
127
129
  operation: error.operation,
128
130
  message: error.message,
129
131
  })), Effect.ignore, Effect.withSpan("AttemptRepair.repair"));
132
+ /**
133
+ * Aborts the tasks of the Attempts whose `execute` a storage failure ended, so the reopened harness
134
+ * doesn't run their parents again. Runs before the harness resumes its tasks. Failures are logged.
135
+ */
136
+ export const abortEndedAttempts = Effect.fn("AttemptRepair.abortEndedAttempts")(function* (harness, attempts) {
137
+ yield* Effect.annotateCurrentSpan({ attempts: attempts.length });
138
+ for (const { attemptId, taskId } of attempts) {
139
+ yield* call("abort the Attempt task", () => harness.abortTask(taskId, BACKGROUND_CONTEXT)).pipe(Effect.tap((marked) => Effect.logInfo("Aborting the task of an Attempt that a storage failure ended", {
140
+ attemptId,
141
+ taskId,
142
+ marked,
143
+ })), Effect.tapError((error) => Effect.logWarning("Could not abort the task of an Attempt that a storage failure ended", {
144
+ attemptId,
145
+ taskId,
146
+ message: error.message,
147
+ })), Effect.ignore);
148
+ }
149
+ });
130
150
  //# sourceMappingURL=repair.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"repair.js","sourceRoot":"","sources":["../../src/attempt/repair.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repair.js","sourceRoot":"","sources":["../../src/attempt/repair.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/attempt/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD,OAAO,EAAoB,KAAK,EAA0B,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAuB,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AA0jBzE;;;GAGG;AACH,eAAO,MAAM,KAAK,iFAAmD,CAAC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/attempt/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD,OAAO,EAA8B,KAAK,EAA0B,MAAM,QAAQ,CAAC;AACnF,OAAO,EAAuB,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAA6B,MAAM,eAAe,CAAC;AAglBpG;;;GAGG;AACH,eAAO,MAAM,KAAK,iFAAmD,CAAC"}
@@ -2,7 +2,7 @@ import { LiveDoc } from "@earendil-works/pi-durable";
2
2
  import { ChildBackend } from "@usine/agents/runtime";
3
3
  import * as AttemptChannel from "@usine/core/attempt/channel";
4
4
  import { AgentFailure, InfraFailure } from "@usine/core/attempt/failure";
5
- import { Duration, Effect, Layer, Option, Result, Schema } from "effect";
5
+ import { Deferred, Duration, Effect, Layer, Option, Result, Schema } from "effect";
6
6
  import { AttemptRuntime } from "../attempt-runtime.js";
7
7
  import { DurableHarness } from "../harness.js";
8
8
  import { AttemptRecordDoc, HoldDoc, RELEASE_GUIDANCE } from "./documents.js";
@@ -10,7 +10,7 @@ import { usineExtension } from "./extension.js";
10
10
  import { attemptHubs } from "./hubs.js";
11
11
  import { encodeResult, finishedOf } from "./outcome.js";
12
12
  import { parentSessionId } from "./parent.js";
13
- import { repairUnreadableConversations } from "./repair.js";
13
+ import { abortEndedAttempts, repairUnreadableConversations } from "./repair.js";
14
14
  import { appendInbound, emitPayload, readRecord, relayAttempt, relayDeliveries } from "./relay.js";
15
15
  import { readStoredRequest, taskInput } from "./request.js";
16
16
  /**
@@ -21,6 +21,10 @@ class InterventionRefused extends Schema.TaggedError("@usine/durable/Interventio
21
21
  }
22
22
  const refuse = (message) => new InterventionRefused({ message });
23
23
  const infra = (error) => new InfraFailure({ message: error.message, cause: error });
24
+ const storageFailed = (failure) => new InfraFailure({
25
+ message: `Durable storage failed during the attempt: ${failure.message}`,
26
+ cause: failure,
27
+ });
24
28
  const LIVE_STATUSES = ["pending", "running", "waiting"];
25
29
  const encodeIntervention = Schema.encodeSync(AttemptChannel.Intervention);
26
30
  const makeAttemptRuntime = Effect.gen(function* () {
@@ -37,7 +41,7 @@ const makeAttemptRuntime = Effect.gen(function* () {
37
41
  yield* durable.install(extension);
38
42
  yield* durable.subscribe(hubs.listener);
39
43
  yield* durable.use("open the root conversation", (harness, context) => harness.root(context));
40
- yield* durable.resume(repairUnreadableConversations);
44
+ yield* durable.resume((harness, storage) => repairUnreadableConversations(harness, storage).pipe(Effect.andThen(Effect.suspend(() => abortEndedAttempts(harness, hubs.takeEnded())))));
41
45
  const createOrFind = Effect.fn("AttemptRuntime.createOrFind")(function* (request) {
42
46
  const attemptId = request.spec.attemptId;
43
47
  const input = taskInput(request);
@@ -66,14 +70,17 @@ const makeAttemptRuntime = Effect.gen(function* () {
66
70
  ? "Created the Attempt's durable task"
67
71
  : "Reattached to the Attempt's durable task", { taskId: found.taskId });
68
72
  const hub = yield* hubs.hub(attemptId, found.taskId);
69
- const settled = yield* relayAttempt(durable, hubs, hub, request, io);
73
+ const settled = yield* relayAttempt(durable, hubs, hub, request, io).pipe(Effect.raceFirst(Deferred.await(hub.storageFailure).pipe(Effect.tap((failure) => Effect.logError("A storage error failed the durable harness; the Attempt fails", {
74
+ generation: failure.generation,
75
+ cause: failure.message,
76
+ })), Effect.flatMap((failure) => Effect.fail(storageFailed(failure))))));
70
77
  return yield* Result.match(settled, {
71
78
  onSuccess: (report) => Effect.logInfo("The Attempt completed").pipe(Effect.as(report)),
72
79
  onFailure: (failure) => Effect.logInfo("The Attempt ended without success", { failure: failure._tag }).pipe(Effect.andThen(Effect.fail(failure))),
73
80
  });
74
81
  }, (effect, request) => effect.pipe(Effect.catchTag("DurableHarnessError", (error) => Effect.fail(infra(error))), Effect.annotateLogs({ attemptId: request.spec.attemptId })));
75
- // An aborted task is never live: only `cancel` aborts a task, and every caller of `cancel` has
76
- // the engine close the Attempt.
82
+ // An aborted task is never live: `cancel` aborts a task only for an Attempt the engine closes,
83
+ // and a reopened harness aborts one only for an Attempt whose `execute` a storage failure ended.
77
84
  const isLive = Effect.fn("AttemptRuntime.isLive")(function* (attemptId) {
78
85
  yield* Effect.annotateCurrentSpan({ attemptId });
79
86
  const record = yield* readRecord(durable, attemptId);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/attempt/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/attempt/runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../src/attempt/subagent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAyB7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,0CAA0C;AAC1C,eAAO,MAAM,aAAa,aAAa,CAAC;AAExC,KAAK,YAAY,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAsC/C;;;;GAIG;AACH,eAAO,MAAM,YAAY,aAAc,iBAAiB;;iBAoOvD,CAAC"}
1
+ {"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../src/attempt/subagent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AA6B7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,0CAA0C;AAC1C,eAAO,MAAM,aAAa,aAAa,CAAC;AAExC,KAAK,YAAY,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAkD/C;;;;GAIG;AACH,eAAO,MAAM,YAAY,aAAc,iBAAiB;;iBAwOvD,CAAC"}