@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/LICENSE +661 -21
- package/README.md +10 -8
- package/dist/attempt/hubs.d.ts +18 -2
- package/dist/attempt/hubs.d.ts.map +1 -1
- package/dist/attempt/hubs.js +17 -8
- package/dist/attempt/hubs.js.map +1 -1
- package/dist/attempt/repair.d.ts +8 -2
- package/dist/attempt/repair.d.ts.map +1 -1
- package/dist/attempt/repair.js +28 -8
- package/dist/attempt/repair.js.map +1 -1
- package/dist/attempt/runtime.d.ts.map +1 -1
- package/dist/attempt/runtime.js +13 -6
- package/dist/attempt/runtime.js.map +1 -1
- package/dist/attempt/subagent.d.ts.map +1 -1
- package/dist/attempt/subagent.js +14 -9
- package/dist/attempt/subagent.js.map +1 -1
- package/dist/attempt-runtime.d.ts +6 -1
- package/dist/attempt-runtime.d.ts.map +1 -1
- package/dist/attempt-runtime.js +7 -2
- package/dist/attempt-runtime.js.map +1 -1
- package/dist/harness.d.ts +35 -21
- package/dist/harness.d.ts.map +1 -1
- package/dist/harness.js +203 -176
- package/dist/harness.js.map +1 -1
- package/dist/live.d.ts +2 -2
- package/dist/live.d.ts.map +1 -1
- package/dist/testing.d.ts +5 -0
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +12 -1
- package/dist/testing.js.map +1 -1
- package/package.json +19 -19
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
|
|
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
|
|
54
|
+
## Recovery from storage errors
|
|
55
55
|
|
|
56
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
package/dist/attempt/hubs.d.ts
CHANGED
|
@@ -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
|
-
/**
|
|
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":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,KAAK,cAAc,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"hubs.d.ts","sourceRoot":"","sources":["../../src/attempt/hubs.ts"],"names":[],"mappings":"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"}
|
package/dist/attempt/hubs.js
CHANGED
|
@@ -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
|
-
|
|
101
|
-
for (const target of byAttempt.values())
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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);
|
package/dist/attempt/hubs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hubs.js","sourceRoot":"","sources":["../../src/attempt/hubs.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"hubs.js","sourceRoot":"","sources":["../../src/attempt/hubs.ts"],"names":[],"mappings":"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"}
|
package/dist/attempt/repair.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/attempt/repair.js
CHANGED
|
@@ -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 (
|
|
12
|
-
await
|
|
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* (
|
|
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(
|
|
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(
|
|
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":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EACL,QAAQ,EAIR,QAAQ,EAER,OAAO,EACP,WAAW,
|
|
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,
|
|
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"}
|
package/dist/attempt/runtime.js
CHANGED
|
@@ -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:
|
|
76
|
-
//
|
|
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;
|
|
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"}
|