@goah/cli 0.3.1 → 0.4.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/dist/cli.js +49 -4
- package/dist/cli.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inspect.d.ts +1 -0
- package/dist/inspect.d.ts.map +1 -1
- package/dist/inspect.js +1 -0
- package/dist/inspect.js.map +1 -1
- package/node_modules/goah-ledger-contract/dist/execution.d.ts +50 -4
- package/node_modules/goah-ledger-contract/dist/execution.d.ts.map +1 -1
- package/node_modules/goah-ledger-contract/dist/execution.js +5 -1
- package/node_modules/goah-ledger-contract/dist/execution.js.map +1 -1
- package/node_modules/goah-ledger-contract/dist/kernel.d.ts +3 -1
- package/node_modules/goah-ledger-contract/dist/kernel.d.ts.map +1 -1
- package/node_modules/goah-ledger-contract/dist/kernel.js +1 -1
- package/node_modules/goah-ledger-contract/dist/kernel.js.map +1 -1
- package/node_modules/goah-ledger-contract/dist/session.d.ts +24 -0
- package/node_modules/goah-ledger-contract/dist/session.d.ts.map +1 -1
- package/node_modules/goah-ledger-contract/dist/session.js +67 -5
- package/node_modules/goah-ledger-contract/dist/session.js.map +1 -1
- package/node_modules/goah-ledger-contract/package.json +1 -1
- package/node_modules/goah-ledger-sqlite/dist/index.d.ts +5 -3
- package/node_modules/goah-ledger-sqlite/dist/index.d.ts.map +1 -1
- package/node_modules/goah-ledger-sqlite/dist/index.js +159 -9
- package/node_modules/goah-ledger-sqlite/dist/index.js.map +1 -1
- package/node_modules/goah-ledger-sqlite/package.json +2 -2
- package/node_modules/goah-runner-pi/dist/pi-worker.d.ts +1 -1
- package/node_modules/goah-runner-pi/dist/pi-worker.d.ts.map +1 -1
- package/node_modules/goah-runner-pi/dist/pi-worker.js +28 -15
- package/node_modules/goah-runner-pi/dist/pi-worker.js.map +1 -1
- package/node_modules/goah-runner-pi/package.json +2 -2
- package/node_modules/goah-supervisor/dist/context-view.d.ts +4 -1
- package/node_modules/goah-supervisor/dist/context-view.d.ts.map +1 -1
- package/node_modules/goah-supervisor/dist/context-view.js +3 -2
- package/node_modules/goah-supervisor/dist/context-view.js.map +1 -1
- package/node_modules/goah-supervisor/dist/index.d.ts +15 -1
- package/node_modules/goah-supervisor/dist/index.d.ts.map +1 -1
- package/node_modules/goah-supervisor/dist/index.js +182 -6
- package/node_modules/goah-supervisor/dist/index.js.map +1 -1
- package/node_modules/goah-supervisor/dist/roles.d.ts.map +1 -1
- package/node_modules/goah-supervisor/dist/roles.js +5 -1
- package/node_modules/goah-supervisor/dist/roles.js.map +1 -1
- package/node_modules/goah-supervisor/package.json +2 -2
- package/node_modules/goah-testkit/dist/faux-runner-worker.js +4 -1
- package/node_modules/goah-testkit/dist/faux-runner-worker.js.map +1 -1
- package/node_modules/goah-testkit/dist/index.d.ts.map +1 -1
- package/node_modules/goah-testkit/dist/index.js +15 -0
- package/node_modules/goah-testkit/dist/index.js.map +1 -1
- package/node_modules/goah-testkit/package.json +5 -5
- package/package.json +6 -6
|
@@ -1,16 +1,68 @@
|
|
|
1
|
+
export const SESSION_FORMAT_VERSION = 1;
|
|
2
|
+
export const SESSION_MIN_READABLE_VERSION = 0;
|
|
1
3
|
const SESSION_TYPES = new Set(["session.started", "request.prepared", "turn.started", "message.user", "message.assistant.delta", "message.assistant.completed", "tool.called", "tool.completed", "context.compacted", "turn.completed", "session.completed", "session.interrupted"]);
|
|
2
4
|
export function isSessionEvent(event) { return SESSION_TYPES.has(event.type); }
|
|
5
|
+
export class SessionFormatUnsupportedError extends Error {
|
|
6
|
+
foundVersion;
|
|
7
|
+
supportedVersion;
|
|
8
|
+
constructor(foundVersion, supportedVersion = SESSION_FORMAT_VERSION) {
|
|
9
|
+
super(`session format ${foundVersion} is unsupported by this harness (supports ${supportedVersion}); upgrade the harness`);
|
|
10
|
+
this.foundVersion = foundVersion;
|
|
11
|
+
this.supportedVersion = supportedVersion;
|
|
12
|
+
this.name = "SessionFormatUnsupportedError";
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export class SessionEventUnsupportedError extends Error {
|
|
16
|
+
eventType;
|
|
17
|
+
constructor(eventType) {
|
|
18
|
+
super(`required session event is unknown to this harness: ${eventType}`);
|
|
19
|
+
this.eventType = eventType;
|
|
20
|
+
this.name = "SessionEventUnsupportedError";
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export class SessionCorruptionError extends Error {
|
|
24
|
+
constructor(message) { super(message); this.name = "SessionCorruptionError"; }
|
|
25
|
+
}
|
|
26
|
+
/** Import supported legacy records without rewriting the append-only source log. */
|
|
27
|
+
export function upgradeSessionEvents(source) {
|
|
28
|
+
assertContiguous(source);
|
|
29
|
+
const starts = source.filter((event) => event.type === "session.started");
|
|
30
|
+
if (starts.length === 0) {
|
|
31
|
+
if (source.some((event) => isSessionNamespace(event.type)))
|
|
32
|
+
throw new SessionCorruptionError("session events exist without session.started");
|
|
33
|
+
return [...source];
|
|
34
|
+
}
|
|
35
|
+
if (starts.length !== 1)
|
|
36
|
+
throw new SessionCorruptionError("session stream contains multiple session.started events");
|
|
37
|
+
const rawVersion = field(starts[0].data, "formatVersion");
|
|
38
|
+
let version = rawVersion === undefined ? 0 : Number(rawVersion);
|
|
39
|
+
if (!Number.isSafeInteger(version) || version < SESSION_MIN_READABLE_VERSION)
|
|
40
|
+
throw new SessionCorruptionError(`invalid session format version: ${String(rawVersion)}`);
|
|
41
|
+
if (version > SESSION_FORMAT_VERSION)
|
|
42
|
+
throw new SessionFormatUnsupportedError(version);
|
|
43
|
+
let events = [...source];
|
|
44
|
+
while (version < SESSION_FORMAT_VERSION) {
|
|
45
|
+
if (version === 0) {
|
|
46
|
+
events = events.map((event) => event.type === "session.started" ? { ...event, data: { ...event.data, formatVersion: 1 } } : event);
|
|
47
|
+
version = 1;
|
|
48
|
+
}
|
|
49
|
+
else
|
|
50
|
+
throw new SessionFormatUnsupportedError(version);
|
|
51
|
+
}
|
|
52
|
+
for (const event of events) {
|
|
53
|
+
if (!isSessionEvent(event) && isSessionNamespace(event.type) && event.ignorable !== true)
|
|
54
|
+
throw new SessionEventUnsupportedError(event.type);
|
|
55
|
+
}
|
|
56
|
+
return events;
|
|
57
|
+
}
|
|
3
58
|
/** Rebuild the model-visible transcript from canonical, normalized session events. */
|
|
4
59
|
export function replaySession(events) {
|
|
5
|
-
|
|
60
|
+
const upgraded = upgradeSessionEvents(events);
|
|
6
61
|
const messages = [];
|
|
7
62
|
const calls = new Map();
|
|
8
63
|
let status = "running";
|
|
9
64
|
let lastRequest = null;
|
|
10
|
-
for (const event of
|
|
11
|
-
if (event.streamSeq !== expected)
|
|
12
|
-
throw new Error(`session stream gap: expected ${expected}, got ${event.streamSeq}`);
|
|
13
|
-
expected += 1;
|
|
65
|
+
for (const event of upgraded) {
|
|
14
66
|
if (!isSessionEvent(event))
|
|
15
67
|
continue;
|
|
16
68
|
const data = event.data;
|
|
@@ -50,4 +102,14 @@ export function interruptedSessionEvents(events, ts, actor) {
|
|
|
50
102
|
repairs.push({ streamId, ts, actor, type: "session.interrupted", data: { reason: "runner interrupted" } });
|
|
51
103
|
return repairs;
|
|
52
104
|
}
|
|
105
|
+
function assertContiguous(events) {
|
|
106
|
+
let expected = events[0]?.streamSeq ?? 1;
|
|
107
|
+
for (const event of events) {
|
|
108
|
+
if (event.streamSeq !== expected)
|
|
109
|
+
throw new SessionCorruptionError(`session stream gap: expected ${expected}, got ${event.streamSeq}`);
|
|
110
|
+
expected += 1;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
function isSessionNamespace(type) { return ["session.", "request.", "turn.", "message.", "tool.", "context."].some((prefix) => type.startsWith(prefix)); }
|
|
114
|
+
function field(value, key) { return value && typeof value === "object" && !Array.isArray(value) ? value[key] : undefined; }
|
|
53
115
|
//# sourceMappingURL=session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DatabaseSync } from "node:sqlite";
|
|
2
|
-
import { type ActionSnapshot, type ActionStatus, type AuditAdvice, type Clock, type EventInput, type EventRecord, type GoalSnapshot, type HandoffCommit, type Ledger, type MailSnapshot, type MetricSample, type ScheduleSnapshot, type WakeSnapshot } from "goah-ledger-contract";
|
|
3
|
-
type FaultPoint = "after_event_before_projection";
|
|
2
|
+
import { type ActionSnapshot, type ActionStatus, type AuditAdvice, type Clock, type DelegationRequest, type DelegationResult, type EventInput, type EventRecord, type GoalSnapshot, type HandoffCommit, type Ledger, type MailSnapshot, type MetricSample, type ReassignmentRequest, type ReassignmentResult, type ScheduleSnapshot, type WakeSnapshot } from "goah-ledger-contract";
|
|
3
|
+
type FaultPoint = "after_event_before_projection" | "after_delegation_event" | "after_reassignment_event";
|
|
4
4
|
type FaultInjector = (point: FaultPoint) => void;
|
|
5
|
-
export declare const SQLITE_SCHEMA_VERSION =
|
|
5
|
+
export declare const SQLITE_SCHEMA_VERSION = 7;
|
|
6
6
|
export interface SqliteLedgerOptions {
|
|
7
7
|
faultInjector?: FaultInjector;
|
|
8
8
|
clock?: Clock;
|
|
@@ -17,6 +17,8 @@ export declare class SqliteLedger implements Ledger {
|
|
|
17
17
|
appendEvents(inputs: EventInput[]): EventRecord[];
|
|
18
18
|
readStream(streamId: string, fromStreamSeq?: number): EventRecord[];
|
|
19
19
|
putGoal(goal: GoalSnapshot, actor: string, wakeId?: string): EventRecord;
|
|
20
|
+
commitDelegation(request: DelegationRequest, actor: string, wakeId?: string): DelegationResult;
|
|
21
|
+
commitReassignment(request: ReassignmentRequest, actor: string, wakeId?: string): ReassignmentResult;
|
|
20
22
|
putSchedule(value: ScheduleSnapshot, actor: string, wakeId?: string): EventRecord;
|
|
21
23
|
enqueueWake(input: WakeSnapshot, actor: string): {
|
|
22
24
|
event: EventRecord;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { DatabaseSync } from "node:sqlite";
|
|
2
|
-
import { assertActionRequest, assertActionTransition, assertGoalSnapshot, controlStream, goalStream, wakeStream, } from "goah-ledger-contract";
|
|
3
|
-
export const SQLITE_SCHEMA_VERSION =
|
|
2
|
+
import { assertActionRequest, assertActionTransition, assertGoalSnapshot, assertGoalTransition, controlStream, goalStream, wakeStream, } from "goah-ledger-contract";
|
|
3
|
+
export const SQLITE_SCHEMA_VERSION = 7;
|
|
4
4
|
const createGoals = `CREATE TABLE IF NOT EXISTS goals (
|
|
5
5
|
id TEXT PRIMARY KEY,
|
|
6
6
|
parent_id TEXT REFERENCES goals(id),
|
|
7
7
|
objective TEXT NOT NULL,
|
|
8
8
|
owner TEXT NOT NULL,
|
|
9
|
-
phase TEXT NOT NULL,
|
|
9
|
+
phase TEXT NOT NULL CHECK(phase IN ('active','paused','blocked','complete')),
|
|
10
10
|
revision INTEGER NOT NULL CHECK(revision >= 0)
|
|
11
11
|
) STRICT;`;
|
|
12
12
|
const createWakes = `CREATE TABLE IF NOT EXISTS wakes (
|
|
@@ -74,6 +74,14 @@ WHEN OLD.status <> NEW.status AND NOT (
|
|
|
74
74
|
(OLD.status = 'unknown' AND NEW.status IN ('dispatching','confirmed','failed'))
|
|
75
75
|
)
|
|
76
76
|
BEGIN SELECT RAISE(ABORT, 'invalid action transition'); END;
|
|
77
|
+
|
|
78
|
+
CREATE TRIGGER IF NOT EXISTS goals_valid_transition BEFORE UPDATE OF phase ON goals
|
|
79
|
+
WHEN OLD.phase <> NEW.phase AND NOT (
|
|
80
|
+
(OLD.phase = 'active' AND NEW.phase IN ('paused','blocked','complete')) OR
|
|
81
|
+
(OLD.phase = 'paused' AND NEW.phase IN ('active','complete')) OR
|
|
82
|
+
(OLD.phase = 'blocked' AND NEW.phase IN ('active','complete'))
|
|
83
|
+
)
|
|
84
|
+
BEGIN SELECT RAISE(ABORT, 'invalid goal transition'); END;
|
|
77
85
|
`;
|
|
78
86
|
const schema = `
|
|
79
87
|
CREATE TABLE IF NOT EXISTS events (
|
|
@@ -84,6 +92,7 @@ CREATE TABLE IF NOT EXISTS events (
|
|
|
84
92
|
actor TEXT NOT NULL,
|
|
85
93
|
type TEXT NOT NULL,
|
|
86
94
|
data TEXT NOT NULL CHECK(json_valid(data)),
|
|
95
|
+
ignorable INTEGER CHECK(ignorable IS NULL OR ignorable = 1),
|
|
87
96
|
UNIQUE(stream_id, stream_seq)
|
|
88
97
|
) STRICT;
|
|
89
98
|
${createGoals}
|
|
@@ -147,7 +156,16 @@ export class SqliteLedger {
|
|
|
147
156
|
throw new Error("goal revision CAS failed");
|
|
148
157
|
if (goal.parentId !== current.parentId)
|
|
149
158
|
throw new Error("goal reparenting is not supported");
|
|
159
|
+
assertGoalTransition(current.phase, goal.phase);
|
|
150
160
|
this.#assertGoalAuthority(current.parentId, actor);
|
|
161
|
+
if (current.parentId === null && goal.phase === "complete") {
|
|
162
|
+
const open = this.db.prepare(`WITH RECURSIVE descendants(id) AS (
|
|
163
|
+
SELECT id FROM goals WHERE parent_id=?
|
|
164
|
+
UNION ALL SELECT g.id FROM goals g JOIN descendants d ON g.parent_id=d.id
|
|
165
|
+
) SELECT 1 FROM goals WHERE id IN (SELECT id FROM descendants) AND phase<>'complete' LIMIT 1`).get(goal.id);
|
|
166
|
+
if (open)
|
|
167
|
+
throw new Error("root goal cannot complete while descendants remain non-complete");
|
|
168
|
+
}
|
|
151
169
|
}
|
|
152
170
|
else {
|
|
153
171
|
if (goal.revision !== 0)
|
|
@@ -156,6 +174,105 @@ export class SqliteLedger {
|
|
|
156
174
|
}
|
|
157
175
|
return this.#project("goals", goal, actor, "goal.put", wakeId, undefined, goalStream(goal.id));
|
|
158
176
|
}
|
|
177
|
+
commitDelegation(request, actor, wakeId) {
|
|
178
|
+
const existing = this.#delegationResult(request.id);
|
|
179
|
+
if (existing) {
|
|
180
|
+
if (existing.goal.id !== request.childGoal.id || existing.goal.parentId !== request.parentGoalId || existing.goal.objective !== request.childGoal.objective || existing.goal.owner !== request.childGoal.owner)
|
|
181
|
+
throw new Error("delegation id was reused with a different child goal");
|
|
182
|
+
return existing;
|
|
183
|
+
}
|
|
184
|
+
if (!request.id.trim() || !request.reason.trim())
|
|
185
|
+
throw new Error("delegation id and reason are required");
|
|
186
|
+
if (!request.childGoal.id.trim() || !request.childGoal.objective.trim() || !request.childGoal.owner.trim())
|
|
187
|
+
throw new Error("delegation child goal is incomplete");
|
|
188
|
+
this.#assertEvidenceExists(request.evidence);
|
|
189
|
+
const parent = this.#getGoal(request.parentGoalId);
|
|
190
|
+
if (!parent)
|
|
191
|
+
throw new Error("delegation parent goal does not exist");
|
|
192
|
+
if (parent.owner !== actor)
|
|
193
|
+
throw new Error("only the parent goal owner may delegate");
|
|
194
|
+
if (parent.phase !== "active")
|
|
195
|
+
throw new Error("delegation parent goal must be active");
|
|
196
|
+
if (this.#getGoal(request.childGoal.id))
|
|
197
|
+
throw new Error("delegation child goal already exists");
|
|
198
|
+
return this.#transaction(() => {
|
|
199
|
+
const goal = { ...request.childGoal, parentId: request.parentGoalId, phase: "active", revision: 0 };
|
|
200
|
+
const mail = {
|
|
201
|
+
id: `delegation-mail:${request.id}`,
|
|
202
|
+
to: goal.owner,
|
|
203
|
+
from: actor,
|
|
204
|
+
level: "decision",
|
|
205
|
+
body: { type: "delegation", delegationId: request.id, goalId: goal.id, parentGoalId: request.parentGoalId, brief: request.brief, reason: request.reason, evidence: request.evidence },
|
|
206
|
+
readAt: null,
|
|
207
|
+
};
|
|
208
|
+
const wakeBase = {
|
|
209
|
+
id: `delegation-wake:${request.id}`,
|
|
210
|
+
agent: goal.owner,
|
|
211
|
+
triggerRef: `delegation:${request.id}`,
|
|
212
|
+
status: "queued",
|
|
213
|
+
leaseUntil: null,
|
|
214
|
+
attempt: 0,
|
|
215
|
+
startedAt: null,
|
|
216
|
+
endedAt: null,
|
|
217
|
+
enqueuedSeq: 0,
|
|
218
|
+
leaseToken: null,
|
|
219
|
+
runnerPid: null,
|
|
220
|
+
};
|
|
221
|
+
this.#insertEvent({
|
|
222
|
+
streamId: wakeId ? wakeStream(wakeId) : controlStream("delegations"),
|
|
223
|
+
ts: this.#now(),
|
|
224
|
+
actor,
|
|
225
|
+
type: "delegation.created",
|
|
226
|
+
data: { delegationId: request.id, parentGoalId: request.parentGoalId, goalId: goal.id, mailId: mail.id, wakeId: wakeBase.id, reason: request.reason, evidence: request.evidence },
|
|
227
|
+
});
|
|
228
|
+
this.#faultInjector?.("after_delegation_event");
|
|
229
|
+
this.#recordProjection("goals", goal, actor, "goal.put", wakeId, undefined, undefined, goalStream(goal.id));
|
|
230
|
+
this.#recordProjection("mailbox", mail, actor, "mail.put", wakeId);
|
|
231
|
+
const wake = { ...wakeBase, enqueuedSeq: this.#nextEventSeq() };
|
|
232
|
+
this.#recordProjection("wakes", wake, "supervisor", "wake.enqueued", wake.id, undefined, wake.enqueuedSeq);
|
|
233
|
+
return { delegationId: request.id, goal, mail, wake };
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
commitReassignment(request, actor, wakeId) {
|
|
237
|
+
const existing = this.#reassignmentResult(request.id);
|
|
238
|
+
if (existing) {
|
|
239
|
+
if (existing.goal.id !== request.goalId || existing.goal.owner !== request.newOwner)
|
|
240
|
+
throw new Error("reassignment id was reused with a different target");
|
|
241
|
+
return existing;
|
|
242
|
+
}
|
|
243
|
+
if (!request.id.trim() || !request.newOwner.trim() || !request.reason.trim())
|
|
244
|
+
throw new Error("reassignment id, owner and reason are required");
|
|
245
|
+
this.#assertEvidenceExists(request.evidence);
|
|
246
|
+
const current = this.#getGoal(request.goalId);
|
|
247
|
+
if (!current)
|
|
248
|
+
throw new Error("reassignment goal does not exist");
|
|
249
|
+
if (!current.parentId)
|
|
250
|
+
throw new Error("root goals cannot be reassigned by CEO");
|
|
251
|
+
this.#assertGoalAuthority(current.parentId, actor);
|
|
252
|
+
if (current.phase === "complete")
|
|
253
|
+
throw new Error("completed goals cannot be reassigned");
|
|
254
|
+
if (current.owner === request.newOwner)
|
|
255
|
+
throw new Error("reassignment owner is unchanged");
|
|
256
|
+
return this.#transaction(() => {
|
|
257
|
+
const goal = { ...current, owner: request.newOwner, revision: current.revision + 1 };
|
|
258
|
+
const mail = [
|
|
259
|
+
{ id: `reassignment-old-mail:${request.id}`, to: current.owner, from: actor, level: "fyi", body: { type: "reassignment", reassignmentId: request.id, goalId: goal.id, role: "previous_owner", reason: request.reason, evidence: request.evidence }, readAt: null },
|
|
260
|
+
{ id: `reassignment-new-mail:${request.id}`, to: goal.owner, from: actor, level: "decision", body: { type: "reassignment", reassignmentId: request.id, goalId: goal.id, role: "new_owner", brief: request.brief, reason: request.reason, evidence: request.evidence }, readAt: null },
|
|
261
|
+
];
|
|
262
|
+
const wakeBase = { id: `reassignment-wake:${request.id}`, agent: goal.owner, triggerRef: `reassignment:${request.id}`, status: "queued", leaseUntil: null, attempt: 0, startedAt: null, endedAt: null, enqueuedSeq: 0, leaseToken: null, runnerPid: null };
|
|
263
|
+
this.#insertEvent({ streamId: wakeId ? wakeStream(wakeId) : controlStream("reassignments"), ts: this.#now(), actor, type: "goal.reassigned", data: { reassignmentId: request.id, goalId: goal.id, oldOwner: current.owner, newOwner: goal.owner, mailIds: mail.map((item) => item.id), wakeId: wakeBase.id, reason: request.reason, evidence: request.evidence } });
|
|
264
|
+
this.#faultInjector?.("after_reassignment_event");
|
|
265
|
+
this.#recordProjection("goals", goal, actor, "goal.put", wakeId, undefined, undefined, goalStream(goal.id));
|
|
266
|
+
const oldWake = this.queuedWakeForAgent(current.owner);
|
|
267
|
+
if (oldWake)
|
|
268
|
+
this.#recordProjection("wakes", { ...oldWake, status: "abnormal", endedAt: this.#now() }, "supervisor", "wake.suppressed", oldWake.id);
|
|
269
|
+
for (const item of mail)
|
|
270
|
+
this.#recordProjection("mailbox", item, actor, "mail.put", wakeId);
|
|
271
|
+
const wake = { ...wakeBase, enqueuedSeq: this.#nextEventSeq() };
|
|
272
|
+
this.#recordProjection("wakes", wake, "supervisor", "wake.enqueued", wake.id, undefined, wake.enqueuedSeq);
|
|
273
|
+
return { reassignmentId: request.id, goal, mail, wake };
|
|
274
|
+
});
|
|
275
|
+
}
|
|
159
276
|
putSchedule(value, actor, wakeId) {
|
|
160
277
|
if (actor !== "supervisor" && actor !== value.agent)
|
|
161
278
|
throw new Error("schedule may only be set by its agent or supervisor");
|
|
@@ -373,6 +490,35 @@ export class SqliteLedger {
|
|
|
373
490
|
}
|
|
374
491
|
});
|
|
375
492
|
}
|
|
493
|
+
#delegationResult(id) {
|
|
494
|
+
const row = this.db.prepare("SELECT data FROM events WHERE type='delegation.created' AND json_extract(data,'$.delegationId')=? ORDER BY seq LIMIT 1").get(id);
|
|
495
|
+
if (!row)
|
|
496
|
+
return null;
|
|
497
|
+
const data = JSON.parse(row.data);
|
|
498
|
+
const goal = this.#getGoal(data.goalId);
|
|
499
|
+
const mailRow = this.db.prepare("SELECT * FROM mailbox WHERE id=?").get(data.mailId);
|
|
500
|
+
const wake = this.wake(data.wakeId);
|
|
501
|
+
if (!goal || !mailRow || !wake)
|
|
502
|
+
throw new Error("committed delegation projections are incomplete");
|
|
503
|
+
return { delegationId: id, goal, mail: mapMail(mailRow), wake };
|
|
504
|
+
}
|
|
505
|
+
#reassignmentResult(id) {
|
|
506
|
+
const row = this.db.prepare("SELECT data FROM events WHERE type='goal.reassigned' AND json_extract(data,'$.reassignmentId')=? ORDER BY seq LIMIT 1").get(id);
|
|
507
|
+
if (!row)
|
|
508
|
+
return null;
|
|
509
|
+
const data = JSON.parse(row.data);
|
|
510
|
+
const goal = this.#getGoal(data.goalId);
|
|
511
|
+
const mail = data.mailIds.map((mailId) => {
|
|
512
|
+
const mailRow = this.db.prepare("SELECT * FROM mailbox WHERE id=?").get(mailId);
|
|
513
|
+
if (!mailRow)
|
|
514
|
+
throw new Error("committed reassignment mail is missing");
|
|
515
|
+
return mapMail(mailRow);
|
|
516
|
+
});
|
|
517
|
+
const wake = this.wake(data.wakeId);
|
|
518
|
+
if (!goal || !wake)
|
|
519
|
+
throw new Error("committed reassignment projections are incomplete");
|
|
520
|
+
return { reassignmentId: id, goal, mail, wake };
|
|
521
|
+
}
|
|
376
522
|
#decideAction(id, status, approver, reason, evidence) {
|
|
377
523
|
if (!reason.trim())
|
|
378
524
|
throw new Error("approval reason is required");
|
|
@@ -427,8 +573,8 @@ export class SqliteLedger {
|
|
|
427
573
|
throw new Error("event streamId, actor and type are required");
|
|
428
574
|
const streamSeq = Number(this.db.prepare("SELECT COALESCE(MAX(stream_seq),0)+1 AS next FROM events WHERE stream_id=?").get(input.streamId).next);
|
|
429
575
|
const result = expectedSeq === undefined
|
|
430
|
-
? this.db.prepare("INSERT INTO events(stream_id,stream_seq,ts,actor,type,data) VALUES (?,?,?,?,?,json(?))").run(input.streamId, streamSeq, input.ts, input.actor, input.type, JSON.stringify(input.data))
|
|
431
|
-
: this.db.prepare("INSERT INTO events(seq,stream_id,stream_seq,ts,actor,type,data) VALUES (?,?,?,?,?,?,json(?))").run(expectedSeq, input.streamId, streamSeq, input.ts, input.actor, input.type, JSON.stringify(input.data));
|
|
576
|
+
? this.db.prepare("INSERT INTO events(stream_id,stream_seq,ts,actor,type,data,ignorable) VALUES (?,?,?,?,?,json(?),?)").run(input.streamId, streamSeq, input.ts, input.actor, input.type, JSON.stringify(input.data), input.ignorable === true ? 1 : null)
|
|
577
|
+
: this.db.prepare("INSERT INTO events(seq,stream_id,stream_seq,ts,actor,type,data,ignorable) VALUES (?,?,?,?,?,?,json(?),?)").run(expectedSeq, input.streamId, streamSeq, input.ts, input.actor, input.type, JSON.stringify(input.data), input.ignorable === true ? 1 : null);
|
|
432
578
|
return { ...input, seq: Number(result.lastInsertRowid), streamSeq };
|
|
433
579
|
}
|
|
434
580
|
#nextEventSeq() {
|
|
@@ -470,7 +616,7 @@ export class SqliteLedger {
|
|
|
470
616
|
this.#transaction(() => {
|
|
471
617
|
this.db.exec(`PRAGMA defer_foreign_keys=ON;
|
|
472
618
|
DROP TRIGGER IF EXISTS events_no_update; DROP TRIGGER IF EXISTS events_no_delete; DROP TRIGGER IF EXISTS events_fts_insert;
|
|
473
|
-
DROP TRIGGER IF EXISTS wakes_valid_transition; DROP TRIGGER IF EXISTS actions_valid_transition;
|
|
619
|
+
DROP TRIGGER IF EXISTS wakes_valid_transition; DROP TRIGGER IF EXISTS actions_valid_transition; DROP TRIGGER IF EXISTS goals_valid_transition;
|
|
474
620
|
DROP INDEX IF EXISTS events_agent_kind_seq; DROP INDEX IF EXISTS events_wake_seq; DROP INDEX IF EXISTS events_coalesced_trigger;
|
|
475
621
|
DROP INDEX IF EXISTS events_actor_type_seq; DROP INDEX IF EXISTS events_stream_seq;
|
|
476
622
|
DROP INDEX IF EXISTS wakes_one_active_agent; DROP INDEX IF EXISTS wakes_queue_order; DROP INDEX IF EXISTS schedule_due; DROP INDEX IF EXISTS actions_agent_status;
|
|
@@ -503,14 +649,18 @@ export class SqliteLedger {
|
|
|
503
649
|
actor TEXT NOT NULL,
|
|
504
650
|
type TEXT NOT NULL,
|
|
505
651
|
data TEXT NOT NULL CHECK(json_valid(data)),
|
|
652
|
+
ignorable INTEGER CHECK(ignorable IS NULL OR ignorable = 1),
|
|
506
653
|
UNIQUE(stream_id, stream_seq)
|
|
507
654
|
) STRICT;
|
|
508
|
-
INSERT INTO events(seq,stream_id,stream_seq,ts,actor,type,data)
|
|
509
|
-
SELECT seq,stream_id,ROW_NUMBER() OVER (PARTITION BY stream_id ORDER BY seq),ts,agent,kind,data FROM (
|
|
655
|
+
INSERT INTO events(seq,stream_id,stream_seq,ts,actor,type,data,ignorable)
|
|
656
|
+
SELECT seq,stream_id,ROW_NUMBER() OVER (PARTITION BY stream_id ORDER BY seq),ts,agent,kind,data,NULL FROM (
|
|
510
657
|
SELECT seq,ts,agent,kind,data,CASE WHEN wake_id IS NULL THEN 'control:'||agent ELSE 'wake:'||wake_id END AS stream_id FROM events_legacy
|
|
511
658
|
);
|
|
512
659
|
DROP TABLE events_legacy;`);
|
|
513
660
|
}
|
|
661
|
+
else if (!eventColumns.has("ignorable")) {
|
|
662
|
+
this.db.exec("ALTER TABLE events ADD COLUMN ignorable INTEGER CHECK(ignorable IS NULL OR ignorable = 1)");
|
|
663
|
+
}
|
|
514
664
|
this.db.exec(`${indexesAndTriggers} INSERT INTO events_fts(events_fts) VALUES('rebuild'); PRAGMA user_version=${SQLITE_SCHEMA_VERSION};`);
|
|
515
665
|
});
|
|
516
666
|
}
|
|
@@ -528,7 +678,7 @@ export class SqliteLedger {
|
|
|
528
678
|
}
|
|
529
679
|
#now() { return this.#clock.now().toISOString(); }
|
|
530
680
|
}
|
|
531
|
-
function mapEvent(r) { return { seq: Number(r.seq), streamId: String(r.stream_id), streamSeq: Number(r.stream_seq), ts: String(r.ts), actor: String(r.actor), type: String(r.type), data: JSON.parse(String(r.data)) }; }
|
|
681
|
+
function mapEvent(r) { return { seq: Number(r.seq), streamId: String(r.stream_id), streamSeq: Number(r.stream_seq), ts: String(r.ts), actor: String(r.actor), type: String(r.type), data: JSON.parse(String(r.data)), ...(Number(r.ignorable) === 1 ? { ignorable: true } : {}) }; }
|
|
532
682
|
function mapGoal(r) { return { id: String(r.id), parentId: r.parent_id === null ? null : String(r.parent_id), objective: String(r.objective), owner: String(r.owner), phase: String(r.phase), revision: Number(r.revision) }; }
|
|
533
683
|
function mapSchedule(r) { return { id: String(r.id), agent: String(r.agent), nextWakeAt: String(r.next_wake_at), reason: String(r.reason), setBy: String(r.set_by) }; }
|
|
534
684
|
function mapWake(r) { return { id: String(r.id), agent: String(r.agent), triggerRef: String(r.trigger_ref), status: String(r.status), leaseUntil: r.lease_until === null ? null : String(r.lease_until), attempt: Number(r.attempt), startedAt: r.started_at === null ? null : String(r.started_at), endedAt: r.ended_at === null ? null : String(r.ended_at), enqueuedSeq: Number(r.enqueued_seq), leaseToken: r.lease_token === null ? null : String(r.lease_token), runnerPid: r.runner_pid === null ? null : Number(r.runner_pid) }; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "goah-ledger-sqlite",
|
|
3
3
|
"private": true,
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.4.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -21,6 +21,6 @@
|
|
|
21
21
|
"types": "./dist/index.d.ts",
|
|
22
22
|
"exports": "./dist/index.js",
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"goah-ledger-contract": "0.
|
|
24
|
+
"goah-ledger-contract": "0.4.0"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AgentMessage } from "@earendil-works/pi-agent-core";
|
|
2
|
-
import type
|
|
2
|
+
import { type JsonValue } from "goah-ledger-contract";
|
|
3
3
|
export declare function compactMessages(messages: AgentMessage[], maxRecent?: number): AgentMessage[];
|
|
4
4
|
export declare function runPiWorker(): Promise<void>;
|
|
5
5
|
/** Persist only model behavior, never transport credentials or abort handles. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi-worker.d.ts","sourceRoot":"","sources":["../src/pi-worker.ts"],"names":[],"mappings":"AAKA,OAAO,EAAS,KAAK,YAAY,EAAkB,MAAM,+BAA+B,CAAC;AAEzF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"pi-worker.d.ts","sourceRoot":"","sources":["../src/pi-worker.ts"],"names":[],"mappings":"AAKA,OAAO,EAAS,KAAK,YAAY,EAAkB,MAAM,+BAA+B,CAAC;AAEzF,OAAO,EAAgD,KAAK,SAAS,EAA2D,MAAM,sBAAsB,CAAC;AAM7J,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,SAAS,SAAI,GAAG,YAAY,EAAE,CASvF;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA6FjD;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAK/D;AA+DD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAMzG;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,oBAAoB,CAAC,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,aAAa,CAMvG;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,YAAY,EAAE,CAqB3G"}
|