@aeolus-fleet/trierarch 0.18.0 → 0.20.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 +201 -0
- package/README.md +11 -11
- package/dist/adapters/claude-code.d.ts +5 -3
- package/dist/adapters/claude-code.js +2 -0
- package/dist/adapters/claude-code.js.map +1 -1
- package/dist/adapters/codex.d.ts +5 -3
- package/dist/adapters/codex.js +2 -0
- package/dist/adapters/codex.js.map +1 -1
- package/dist/adapters/flags.d.ts +2 -2
- package/dist/adapters/flags.js +2 -2
- package/dist/adapters/git-workspace.js +2 -2
- package/dist/adapters/git-workspace.js.map +1 -1
- package/dist/adapters/harnesses.d.ts +6 -4
- package/dist/adapters/harnesses.js +11 -5
- package/dist/adapters/harnesses.js.map +1 -1
- package/dist/adapters/json-state.d.ts +6 -4
- package/dist/adapters/json-state.js +28 -23
- package/dist/adapters/json-state.js.map +1 -1
- package/dist/adapters/rest-fleet.d.ts +4 -3
- package/dist/adapters/rest-fleet.js +24 -13
- package/dist/adapters/rest-fleet.js.map +1 -1
- package/dist/adapters/service.js +1 -1
- package/dist/adapters/style.d.ts +3 -3
- package/dist/adapters/style.js +1 -2
- package/dist/adapters/style.js.map +1 -1
- package/dist/cli/config-check.d.ts +3 -3
- package/dist/cli/config-check.js +1 -1
- package/dist/cli/config-check.js.map +1 -1
- package/dist/cli/init.d.ts +2 -2
- package/dist/cli/init.js +1 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/list.d.ts +4 -3
- package/dist/cli/list.js +1 -1
- package/dist/cli/list.js.map +1 -1
- package/dist/cli/main.js +2 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/run.d.ts +12 -7
- package/dist/cli/run.js +53 -26
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/status.d.ts +3 -2
- package/dist/cli/status.js +6 -5
- package/dist/cli/status.js.map +1 -1
- package/dist/core/check-settings.d.ts +25 -0
- package/dist/core/check-settings.js +52 -0
- package/dist/core/check-settings.js.map +1 -0
- package/dist/core/entry.d.ts +24 -29
- package/dist/core/entry.js +3 -1
- package/dist/core/entry.js.map +1 -1
- package/dist/core/handle-delivery.d.ts +9 -14
- package/dist/core/handle-delivery.js +4 -133
- package/dist/core/handle-delivery.js.map +1 -1
- package/dist/core/machine.d.ts +12 -0
- package/dist/core/machine.js +15 -0
- package/dist/core/machine.js.map +1 -0
- package/dist/core/options-schema.d.ts +7 -0
- package/dist/core/options-schema.js +10 -0
- package/dist/core/options-schema.js.map +1 -0
- package/dist/core/ports.d.ts +72 -9
- package/dist/core/reconciler.d.ts +50 -12
- package/dist/core/reconciler.js +129 -25
- package/dist/core/reconciler.js.map +1 -1
- package/dist/core/report-self.d.ts +16 -0
- package/dist/core/report-self.js +52 -0
- package/dist/core/report-self.js.map +1 -0
- package/dist/core/run-pass.d.ts +8 -7
- package/dist/core/run-pass.js +140 -70
- package/dist/core/run-pass.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +7 -5
- package/dist/core/answers.d.ts +0 -4
- package/dist/core/answers.js +0 -32
- package/dist/core/answers.js.map +0 -1
- package/dist/core/check-want.d.ts +0 -32
- package/dist/core/check-want.js +0 -80
- package/dist/core/check-want.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-self.js","sourceRoot":"","sources":["../../src/core/report-self.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOtD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAA2F;IAC1H,IAAI,QAA4B,CAAC;IACjC,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;QACvG,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACpC,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EAAqE;IACzF,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACjG,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC3I,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED,qDAAqD;AACrD,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACvC,CAAC;AAED,2HAA2H;AAC3H,SAAS,SAAS,CAAC,KAAqB,EAAE,KAAqB;IAC7D,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACzC,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/E,OAAO;YACP,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC;YAClC,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC1B,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC;SAC1G,CAAC,CAAC;QACH,UAAU,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QAClH,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,yDAAyD;QACzD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC1E,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAC7G,OAAO;KACR,CAAC;AACJ,CAAC"}
|
package/dist/core/run-pass.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { FleetPort, HarnessPort, Logger, ProcessPort, StatePort, TrierarchSetup, WorkspacePort } from './ports.js';
|
|
2
2
|
import type { Clock } from './shared/clock.js';
|
|
3
3
|
/**
|
|
4
|
-
* Use case: one pass of the trierarch's loop (docs/trierarch.md
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* with
|
|
10
|
-
* the saved state
|
|
4
|
+
* Use case: one pass of the trierarch's loop (docs/trierarch.md, "Crewing a
|
|
5
|
+
* ship"). It reads the crew requests assigned to it and sees what runs, lets
|
|
6
|
+
* the Reconciler decide, saves the state the actions start from (an entry
|
|
7
|
+
* crewing is saved before the trierarch registers), then carries the actions
|
|
8
|
+
* out, saving after each one that changes the state. Each action is logged
|
|
9
|
+
* with its ship and outcome. A failed one is logged with what happens next,
|
|
10
|
+
* and the pass ends there: the next pass starts from the saved state and the
|
|
11
|
+
* requests as the fleet holds them then.
|
|
11
12
|
*/
|
|
12
13
|
export type RunPass = () => Promise<void>;
|
|
13
14
|
export interface RunPassDeps {
|
package/dist/core/run-pass.js
CHANGED
|
@@ -1,25 +1,28 @@
|
|
|
1
1
|
import { putEntry, removeEntry, withState } from './entry.js';
|
|
2
|
-
import { reconcile } from './reconciler.js';
|
|
2
|
+
import { reconcile, writtenStatusOf } from './reconciler.js';
|
|
3
|
+
const NEXT_AFTER_FAILURE = 'the next pass tries again; aeolus-trierarch status and list show where it stands';
|
|
3
4
|
export function createRunPass(deps) {
|
|
4
5
|
return async () => {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
let state = await deps.state.load();
|
|
7
|
+
let action;
|
|
8
|
+
try {
|
|
9
|
+
const requests = await deps.fleet.assignedRequests();
|
|
10
|
+
const clears = await deps.fleet.pendingClears();
|
|
11
|
+
const observed = await observe(state, deps);
|
|
12
|
+
const reconciled = reconcile(state, { requests, clears, observed, now: deps.clock.now(), configuration: deps.setup.configuration });
|
|
13
|
+
state = reconciled.state;
|
|
14
|
+
await deps.state.save(state);
|
|
15
|
+
for (action of reconciled.actions) {
|
|
12
16
|
state = await carryOut(state, { action, deps });
|
|
13
17
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
return;
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
21
|
+
if (action === undefined || action.kind === 'argo' || action.kind === 'status' || action.kind === 'refuse') {
|
|
22
|
+
deps.logger.warn(`The pass failed${action === undefined ? '' : ` at ${action.kind}`}: ${reason}; ${NEXT_AFTER_FAILURE}`);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
log(deps, { ...about(state, { shipId: action.shipId, action: action.kind }), outcome: `failed: ${reason}`, next: NEXT_AFTER_FAILURE });
|
|
23
26
|
}
|
|
24
27
|
}
|
|
25
28
|
};
|
|
@@ -48,7 +51,6 @@ async function observe(state, deps) {
|
|
|
48
51
|
}
|
|
49
52
|
return { sessions, worktrees, ships };
|
|
50
53
|
}
|
|
51
|
-
const NEXT_AFTER_FAILURE = 'the next pass tries again; aeolus-trierarch status and list show where it stands';
|
|
52
54
|
function log(deps, logged) {
|
|
53
55
|
deps.logger.action({ time: deps.clock.now(), ...logged });
|
|
54
56
|
}
|
|
@@ -59,15 +61,38 @@ function about(state, of) {
|
|
|
59
61
|
}
|
|
60
62
|
async function carryOut(state, at) {
|
|
61
63
|
const { action, deps } = at;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
switch (action.kind) {
|
|
65
|
+
case 'argo':
|
|
66
|
+
await deps.fleet.reportToArgo(action.report);
|
|
67
|
+
return state;
|
|
68
|
+
case 'status':
|
|
69
|
+
await deps.fleet.writeStatus(action.shipId, action.written);
|
|
70
|
+
return state;
|
|
71
|
+
case 'refuse':
|
|
72
|
+
return refuse(state, { action, deps });
|
|
73
|
+
case 'confirm':
|
|
74
|
+
await deps.fleet.confirmRelease(action.shipId);
|
|
75
|
+
log(deps, { shipId: action.shipId, action: 'confirm', outcome: 'its request removed; this trierarch did not crew it' });
|
|
76
|
+
return state;
|
|
77
|
+
case 'stop':
|
|
78
|
+
await deps.processes.stop(action.shipId);
|
|
79
|
+
log(deps, { ...about(state, { shipId: action.shipId, action: 'stop' }), outcome: 'its session stopped' });
|
|
80
|
+
return state;
|
|
81
|
+
case 'forget':
|
|
82
|
+
return forget(state, { entry: action.entry, deps });
|
|
83
|
+
case 'release':
|
|
84
|
+
return release(state, { shipId: action.shipId, deps });
|
|
85
|
+
case 'clear':
|
|
86
|
+
return clear(state, { action, deps });
|
|
87
|
+
case 'crew':
|
|
88
|
+
case 'launch':
|
|
89
|
+
case 'wake':
|
|
90
|
+
case 'report':
|
|
91
|
+
return carryOutForEntry(state, { action, deps });
|
|
70
92
|
}
|
|
93
|
+
}
|
|
94
|
+
async function carryOutForEntry(state, at) {
|
|
95
|
+
const { action, deps } = at;
|
|
71
96
|
const entry = state.entries[action.shipId];
|
|
72
97
|
if (entry === undefined) {
|
|
73
98
|
return state;
|
|
@@ -104,19 +129,16 @@ async function carryOut(state, at) {
|
|
|
104
129
|
}
|
|
105
130
|
return state;
|
|
106
131
|
}
|
|
107
|
-
case 'release':
|
|
108
|
-
return release(state, { entry, deps });
|
|
109
|
-
case 'drop':
|
|
110
|
-
return drop(state, { entry, deps });
|
|
111
132
|
}
|
|
112
133
|
}
|
|
113
134
|
/**
|
|
114
|
-
* Crews the ship: gets its starting prompt
|
|
115
|
-
* secret, so the session never sees it; makes the workspace
|
|
116
|
-
* folder's identity (with its squadron) and starts the
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
135
|
+
* Crews the ship (crew:run): gets its starting prompt and registers with the
|
|
136
|
+
* secret, so the session never sees it; makes the workspace (or uses the one
|
|
137
|
+
* it has), writes the folder's identity (with its squadron) and starts the
|
|
138
|
+
* harness, writing status crewing, then running. A resumed crew whose ship is
|
|
139
|
+
* crewed holds the ship by its own lease, or lost its register reply: the
|
|
140
|
+
* trierarch releases the ship and crews it again. A ship another session
|
|
141
|
+
* crews before its crew is left; a ship gone is forgotten.
|
|
120
142
|
*/
|
|
121
143
|
async function crew(state, at) {
|
|
122
144
|
const { entry, isResumed, deps } = at;
|
|
@@ -125,12 +147,19 @@ async function crew(state, at) {
|
|
|
125
147
|
return state;
|
|
126
148
|
}
|
|
127
149
|
const ship = await deps.fleet.ship(entry.shipId);
|
|
128
|
-
if (ship.kind === 'notFound' || ship.kind === 'retired'
|
|
129
|
-
return
|
|
150
|
+
if (ship.kind === 'notFound' || ship.kind === 'retired') {
|
|
151
|
+
return forget(state, { entry, deps });
|
|
152
|
+
}
|
|
153
|
+
if (ship.kind === 'crewed' && !isResumed) {
|
|
154
|
+
const next = removeEntry(state, entry.shipId);
|
|
155
|
+
await deps.state.save(next);
|
|
156
|
+
log(deps, { shipId: entry.shipId, shipName: ship.name, action: 'leave', outcome: 'crewed by another session, so the trierarch leaves it' });
|
|
157
|
+
return next;
|
|
130
158
|
}
|
|
131
159
|
if (ship.kind === 'crewed') {
|
|
132
160
|
await deps.fleet.release(entry.shipId);
|
|
133
161
|
}
|
|
162
|
+
await deps.fleet.writeStatus(entry.shipId, writtenStatusOf(withState(entry, { state: 'crewing', now: deps.clock.now() })));
|
|
134
163
|
const { secret } = await deps.fleet.getStartingPrompt(entry.shipId);
|
|
135
164
|
const { crewToken } = await deps.fleet.register({ shipId: entry.shipId, secret });
|
|
136
165
|
const { folder } = await deps.workspace.prepare({ shipId: entry.shipId, shipName: ship.name, workspace: entry.workspace });
|
|
@@ -151,49 +180,93 @@ async function crew(state, at) {
|
|
|
151
180
|
const now = deps.clock.now();
|
|
152
181
|
const next = putEntry(state, { ...withState(entry, { state: 'running', now }), shipName: ship.name, folder, hasStarted: true });
|
|
153
182
|
await deps.state.save(next);
|
|
183
|
+
const running = next.entries[entry.shipId];
|
|
184
|
+
await deps.fleet.writeStatus(entry.shipId, running === undefined ? { status: 'running', attempt: 0, startedAt: now } : writtenStatusOf({ ...running, state: 'running' }));
|
|
154
185
|
log(deps, { shipId: entry.shipId, shipName: ship.name, action: 'crew', outcome: `crewed, ${entry.harness} started in ${folder}` });
|
|
155
|
-
await deps.fleet.send(notice(entry, { name: 'running', now }));
|
|
156
186
|
return next;
|
|
157
187
|
}
|
|
158
|
-
/**
|
|
188
|
+
/**
|
|
189
|
+
* Its request was removed (row 7): the session stops, the lease ends
|
|
190
|
+
* whatever the worktree holds, then the workspace; only then does the
|
|
191
|
+
* trierarch confirm, and the request goes.
|
|
192
|
+
*/
|
|
159
193
|
async function release(state, at) {
|
|
160
|
-
const {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
194
|
+
const { shipId, deps } = at;
|
|
195
|
+
const entry = state.entries[shipId];
|
|
196
|
+
if (entry === undefined) {
|
|
197
|
+
return state;
|
|
198
|
+
}
|
|
199
|
+
await deps.processes.stop(shipId);
|
|
200
|
+
if ((await deps.fleet.ship(shipId)).kind === 'crewed') {
|
|
201
|
+
await deps.fleet.release(shipId);
|
|
202
|
+
}
|
|
203
|
+
const finished = await finishWorkspace(state, { entry, deps });
|
|
204
|
+
const next = removeEntry(finished.state, shipId);
|
|
165
205
|
await deps.state.save(next);
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
206
|
+
await deps.fleet.confirmRelease(shipId);
|
|
207
|
+
log(deps, { ...about(state, { shipId, action: 'release' }), outcome: `released, ${describeWorkspace(entry, finished)}` });
|
|
208
|
+
return next;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* A clear request (decision 0032): the kept worktree it names is removed
|
|
212
|
+
* (the workspace removes only one under the root) and dropped from the state,
|
|
213
|
+
* saved, then the request is confirmed removed. With none kept, it is
|
|
214
|
+
* confirmed not-kept. A failed remove leaves both for the next pass; a lost
|
|
215
|
+
* confirmation is confirmed not-kept on the next one.
|
|
216
|
+
*/
|
|
217
|
+
async function clear(state, at) {
|
|
218
|
+
const { action, deps } = at;
|
|
219
|
+
const { shipId, repository, kept } = action;
|
|
220
|
+
if (kept === undefined) {
|
|
221
|
+
await deps.fleet.confirmCleared({ shipId, repository, outcome: 'not-kept' });
|
|
222
|
+
log(deps, { shipId, action: 'clear', outcome: `no kept ${repository} worktree of it here` });
|
|
223
|
+
return state;
|
|
176
224
|
}
|
|
225
|
+
await deps.workspace.remove(kept.path);
|
|
226
|
+
const next = { ...state, kept: state.kept.filter((each) => each.path !== kept.path) };
|
|
227
|
+
await deps.state.save(next);
|
|
228
|
+
await deps.fleet.confirmCleared({ shipId, repository, outcome: 'removed' });
|
|
229
|
+
log(deps, { shipId, action: 'clear', outcome: `its kept worktree removed: ${kept.path}` });
|
|
177
230
|
return next;
|
|
178
231
|
}
|
|
179
|
-
/**
|
|
180
|
-
|
|
232
|
+
/**
|
|
233
|
+
* Its request is no longer assigned here, as when its ship is retired (gap
|
|
234
|
+
* rule 2): the session stops and its identity goes, but nothing the trierarch
|
|
235
|
+
* cannot tell is clean goes: its worktree stays, reported as an orphan.
|
|
236
|
+
*/
|
|
237
|
+
async function forget(state, at) {
|
|
181
238
|
const { entry, deps } = at;
|
|
182
239
|
await deps.processes.stop(entry.shipId);
|
|
183
|
-
|
|
184
|
-
|
|
240
|
+
if (entry.folder !== undefined) {
|
|
241
|
+
await harnessOf(entry, deps)?.removeIdentity(entry.folder);
|
|
242
|
+
}
|
|
243
|
+
const next = removeEntry(state, entry.shipId);
|
|
185
244
|
await deps.state.save(next);
|
|
186
|
-
log(deps, { ...
|
|
187
|
-
|
|
245
|
+
log(deps, { shipId: entry.shipId, ...(entry.shipName !== undefined && { shipName: entry.shipName }), action: 'forget', outcome: 'its request is no longer assigned here, so its session stopped' });
|
|
246
|
+
return next;
|
|
247
|
+
}
|
|
248
|
+
/** Tells argo, once per settings version, that this trierarch cannot crew them. */
|
|
249
|
+
async function refuse(state, at) {
|
|
250
|
+
const { action, deps } = at;
|
|
251
|
+
const ship = await deps.fleet.ship(action.shipId);
|
|
252
|
+
const name = ship.kind === 'awaitingCrew' || ship.kind === 'crewed' ? ship.name : action.shipId;
|
|
253
|
+
const { field, reason } = action.refusal;
|
|
254
|
+
await deps.fleet.reportToArgo({
|
|
255
|
+
text: `${name} (${action.shipId}): this trierarch cannot crew settings version ${String(action.settingsVersion)}: ${field === undefined ? reason : `${field}: ${reason}`}`,
|
|
256
|
+
idempotencyKey: `trierarch:refused:${action.shipId}:${String(action.settingsVersion)}`,
|
|
257
|
+
});
|
|
258
|
+
const next = { ...state, refused: { ...state.refused, [action.shipId]: action.settingsVersion } };
|
|
259
|
+
await deps.state.save(next);
|
|
260
|
+
deps.logger.warn(`Cannot crew ${name} (${action.shipId}), settings version ${String(action.settingsVersion)}: ${reason}`);
|
|
188
261
|
return next;
|
|
189
262
|
}
|
|
190
263
|
/**
|
|
191
264
|
* The workspace of an entry that ends: a worktree the trierarch made is
|
|
192
|
-
* removed when clean
|
|
193
|
-
*
|
|
265
|
+
* removed when clean, and kept and reported when not; a configured folder is
|
|
266
|
+
* never removed. The identity goes either way.
|
|
194
267
|
*/
|
|
195
268
|
async function finishWorkspace(state, at) {
|
|
196
|
-
const { entry, deps
|
|
269
|
+
const { entry, deps } = at;
|
|
197
270
|
const { folder } = entry;
|
|
198
271
|
if (folder === undefined) {
|
|
199
272
|
return { state, workspace: 'removed' };
|
|
@@ -202,12 +275,12 @@ async function finishWorkspace(state, at) {
|
|
|
202
275
|
if (entry.workspace.kind === 'folder') {
|
|
203
276
|
return { state, workspace: 'kept', path: folder };
|
|
204
277
|
}
|
|
205
|
-
if (
|
|
278
|
+
if (await deps.workspace.isClean(folder)) {
|
|
206
279
|
await deps.workspace.remove(folder);
|
|
207
280
|
return { state, workspace: 'removed' };
|
|
208
281
|
}
|
|
209
282
|
deps.logger.warn(`Kept the worktree of ${entry.shipId}, which has changes: ${folder}`);
|
|
210
|
-
return { state: { ...state, kept: [...state.kept, { shipId: entry.shipId, path: folder }] }, workspace: 'kept', path: folder };
|
|
283
|
+
return { state: { ...state, kept: [...state.kept, { shipId: entry.shipId, repository: entry.workspace.repository, path: folder }] }, workspace: 'kept', path: folder };
|
|
211
284
|
}
|
|
212
285
|
/** What became of an ended entry's workspace, as its log line says it. */
|
|
213
286
|
function describeWorkspace(entry, finished) {
|
|
@@ -217,7 +290,7 @@ function describeWorkspace(entry, finished) {
|
|
|
217
290
|
return entry.workspace.kind === 'folder' ? `its folder kept: ${finished.path ?? ''}` : `its worktree kept with changes: ${finished.path ?? ''}`;
|
|
218
291
|
}
|
|
219
292
|
/**
|
|
220
|
-
* The adapter of the entry's harness.
|
|
293
|
+
* The adapter of the entry's harness. Settings name only a harness the
|
|
221
294
|
* configuration offers, and the trierarch starts with an adapter for each, so
|
|
222
295
|
* none missing is a setup gone wrong: logged, and the entry left as it is.
|
|
223
296
|
*/
|
|
@@ -228,7 +301,4 @@ function harnessOf(entry, deps) {
|
|
|
228
301
|
}
|
|
229
302
|
return harness;
|
|
230
303
|
}
|
|
231
|
-
function notice(entry, at) {
|
|
232
|
-
return { to: entry.requester, name: at.name, payload: { shipId: entry.shipId }, idempotencyKey: `trierarch:${at.name}:${entry.shipId}:${at.now.toISOString()}` };
|
|
233
|
-
}
|
|
234
304
|
//# sourceMappingURL=run-pass.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-pass.js","sourceRoot":"","sources":["../../src/core/run-pass.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-pass.js","sourceRoot":"","sources":["../../src/core/run-pass.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** The trierarch package's entry: its core, for the command and for whoever tests it. */
|
|
2
|
-
export { createHandleDelivery, type HandleDelivery
|
|
2
|
+
export { createHandleDelivery, type HandleDelivery } from './core/handle-delivery.js';
|
|
3
3
|
export { createRunPass, type RunPass, type RunPassDeps } from './core/run-pass.js';
|
|
4
4
|
export { createUninstall, type Uninstall } from './core/uninstall.js';
|
|
5
|
-
export { EMPTY_STATE, type Entry, type
|
|
5
|
+
export { EMPTY_STATE, type Entry, type EntryState, type KeptWorktree, type TrierarchState } from './core/entry.js';
|
|
6
6
|
export type * from './core/ports.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,EAAE,oBAAoB,EAAuB,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,aAAa,EAAkC,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAkB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAuE,MAAM,iBAAiB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aeolus-fleet/trierarch",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Aeolus trierarch: keeps the ships
|
|
3
|
+
"version": "0.20.0",
|
|
4
|
+
"description": "Aeolus trierarch: keeps the ships whose crew requests are assigned to it crewed on its machine, as a ship of the fleet with crew:run.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"repository": {
|
|
@@ -27,13 +27,15 @@
|
|
|
27
27
|
],
|
|
28
28
|
"scripts": {
|
|
29
29
|
"build": "tsc --project tsconfig.build.json",
|
|
30
|
-
"typecheck": "tsc --project tsconfig.json"
|
|
30
|
+
"typecheck": "tsc --project tsconfig.json",
|
|
31
|
+
"prepack": "cp ../../LICENSE LICENSE",
|
|
32
|
+
"postpack": "rm LICENSE"
|
|
31
33
|
},
|
|
32
34
|
"dependencies": {
|
|
33
|
-
"@aeolus-fleet/common": "0.
|
|
35
|
+
"@aeolus-fleet/common": "0.20.0",
|
|
34
36
|
"zod": "^4.6.5"
|
|
35
37
|
},
|
|
36
38
|
"devDependencies": {
|
|
37
|
-
"@aeolus-fleet/core": "0.
|
|
39
|
+
"@aeolus-fleet/core": "0.20.0"
|
|
38
40
|
}
|
|
39
41
|
}
|
package/dist/core/answers.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { TrierarchState } from './entry.js';
|
|
2
|
-
import type { TrierarchSetup } from './ports.js';
|
|
3
|
-
export declare function describedOf(setup: TrierarchSetup, state: TrierarchState): Record<string, unknown>;
|
|
4
|
-
export declare function listedOf(state: TrierarchState): Record<string, unknown>;
|
package/dist/core/answers.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* What describe and list answer (docs/trierarch.md, "The protocol"), from the
|
|
3
|
-
* configuration and the saved state.
|
|
4
|
-
*/
|
|
5
|
-
/** A harness's options as a JSON Schema: each option one of its value names, with its default when it has one. */
|
|
6
|
-
function optionsSchemaOf(harness) {
|
|
7
|
-
const properties = Object.fromEntries(Object.entries(harness.options).map(([name, option]) => [name, { enum: Object.keys(option.values), ...(option.default !== undefined && { default: option.default }) }]));
|
|
8
|
-
return { type: 'object', properties, additionalProperties: false };
|
|
9
|
-
}
|
|
10
|
-
export function describedOf(setup, state) {
|
|
11
|
-
const { configuration, version, adapterFlags } = setup;
|
|
12
|
-
return {
|
|
13
|
-
harnesses: Object.entries(configuration.harnesses).map(([harness, settings]) => ({
|
|
14
|
-
harness,
|
|
15
|
-
options: optionsSchemaOf(settings),
|
|
16
|
-
flags: settings.flags,
|
|
17
|
-
adapterFlags: adapterFlags[harness] ?? [],
|
|
18
|
-
})),
|
|
19
|
-
workspaces: { repositories: Object.keys(configuration.repositories), folders: Object.keys(configuration.folders) },
|
|
20
|
-
caps: configuration.caps,
|
|
21
|
-
kept: state.kept,
|
|
22
|
-
version,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
export function listedOf(state) {
|
|
26
|
-
return {
|
|
27
|
-
ships: Object.values(state.entries).map((entry) => ({ shipId: entry.shipId, harness: entry.harness, state: entry.state, since: entry.since, restarts: entry.exits.length })),
|
|
28
|
-
kept: state.kept,
|
|
29
|
-
orphans: state.orphans.map((path) => ({ path })),
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=answers.js.map
|
package/dist/core/answers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"answers.js","sourceRoot":"","sources":["../../src/core/answers.ts"],"names":[],"mappings":"AAKA;;;GAGG;AAEH,kHAAkH;AAClH,SAAS,eAAe,CAAC,OAAoD;IAC3E,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACnC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CACxK,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAqB,EAAE,KAAqB;IACtE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IACvD,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/E,OAAO;YACP,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC;YAClC,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE;SAC1C,CAAC,CAAC;QACH,UAAU,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QAClH,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAqB;IAC5C,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5K,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;KACjD,CAAC;AACJ,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { type ShipId, type TrierarchConfiguration, type WantCommand } from '@aeolus-fleet/common';
|
|
2
|
-
import type { Entry, TrierarchState } from './entry.js';
|
|
3
|
-
import { type Result } from './shared/result.js';
|
|
4
|
-
/** Why a want was refused: the field, when one is at fault, and a reason a requester can read. */
|
|
5
|
-
export interface Refusal {
|
|
6
|
-
readonly field?: string;
|
|
7
|
-
readonly reason: string;
|
|
8
|
-
}
|
|
9
|
-
/** A want that parses and fits what the configuration offers, before the fleet is asked about its ship. */
|
|
10
|
-
export interface CheckedWant {
|
|
11
|
-
readonly want: WantCommand;
|
|
12
|
-
readonly options: Readonly<Record<string, string>>;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Checks a want against the protocol schema, the configuration (harness,
|
|
16
|
-
* repository or folder, each option and its value) and the wanted list (the
|
|
17
|
-
* ships cap, one ship per folder), naming the
|
|
18
|
-
* field at fault. Anything unknown is refused (decision 0027).
|
|
19
|
-
*/
|
|
20
|
-
export declare function checkWant(payload: unknown, context: {
|
|
21
|
-
configuration: TrierarchConfiguration;
|
|
22
|
-
state: TrierarchState;
|
|
23
|
-
}): Result<CheckedWant, Refusal>;
|
|
24
|
-
/** The field an issue names, as `options.model`, when it names one. */
|
|
25
|
-
export declare function fieldOf(path: readonly PropertyKey[] | undefined): {
|
|
26
|
-
field?: string;
|
|
27
|
-
};
|
|
28
|
-
/** A new entry for a checked want, wanted since now, for the ship that sent it. */
|
|
29
|
-
export declare function newEntry(checked: CheckedWant, context: {
|
|
30
|
-
requester: ShipId;
|
|
31
|
-
now: Date;
|
|
32
|
-
}): Entry;
|
package/dist/core/check-want.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { wantCommandSchema } from '@aeolus-fleet/common';
|
|
2
|
-
import { err, ok } from './shared/result.js';
|
|
3
|
-
/**
|
|
4
|
-
* Checks a want against the protocol schema, the configuration (harness,
|
|
5
|
-
* repository or folder, each option and its value) and the wanted list (the
|
|
6
|
-
* ships cap, one ship per folder), naming the
|
|
7
|
-
* field at fault. Anything unknown is refused (decision 0027).
|
|
8
|
-
*/
|
|
9
|
-
export function checkWant(payload, context) {
|
|
10
|
-
const parsed = wantCommandSchema.safeParse(payload);
|
|
11
|
-
if (!parsed.success) {
|
|
12
|
-
const [issue] = parsed.error.issues;
|
|
13
|
-
return err({ ...fieldOf(issue?.path), reason: issue?.message ?? 'The want does not parse' });
|
|
14
|
-
}
|
|
15
|
-
const want = parsed.data;
|
|
16
|
-
const { configuration, state } = context;
|
|
17
|
-
const harness = configuration.harnesses[want.harness];
|
|
18
|
-
if (harness === undefined) {
|
|
19
|
-
return err({ field: 'harness', reason: `This trierarch offers no harness ${want.harness}` });
|
|
20
|
-
}
|
|
21
|
-
const workspaceRefusal = refusalOfWorkspace(want, context);
|
|
22
|
-
if (workspaceRefusal !== undefined) {
|
|
23
|
-
return err(workspaceRefusal);
|
|
24
|
-
}
|
|
25
|
-
const options = {};
|
|
26
|
-
for (const [name, value] of Object.entries(want.options)) {
|
|
27
|
-
const option = harness.options[name];
|
|
28
|
-
if (option === undefined) {
|
|
29
|
-
return err({ field: `options.${name}`, reason: `${want.harness} has no option ${name}` });
|
|
30
|
-
}
|
|
31
|
-
if (typeof value !== 'string' || !(value in option.values)) {
|
|
32
|
-
return err({ field: `options.${name}`, reason: `${name} must be one of ${Object.keys(option.values).join(', ')}` });
|
|
33
|
-
}
|
|
34
|
-
options[name] = value;
|
|
35
|
-
}
|
|
36
|
-
if (Object.keys(state.entries).length >= configuration.caps.ships) {
|
|
37
|
-
return err({ reason: `This trierarch keeps at most ${String(configuration.caps.ships)} ships` });
|
|
38
|
-
}
|
|
39
|
-
return ok({ want, options });
|
|
40
|
-
}
|
|
41
|
-
function refusalOfWorkspace(want, context) {
|
|
42
|
-
const { configuration, state } = context;
|
|
43
|
-
const { workspace } = want;
|
|
44
|
-
switch (workspace.kind) {
|
|
45
|
-
case 'worktree':
|
|
46
|
-
return workspace.repository in configuration.repositories
|
|
47
|
-
? undefined
|
|
48
|
-
: { field: 'workspace.repository', reason: `This trierarch offers no repository ${workspace.repository}` };
|
|
49
|
-
case 'folder': {
|
|
50
|
-
if (!(workspace.name in configuration.folders)) {
|
|
51
|
-
return { field: 'workspace.name', reason: `This trierarch offers no folder ${workspace.name}` };
|
|
52
|
-
}
|
|
53
|
-
const crewing = Object.values(state.entries).find((entry) => entry.workspace.kind === 'folder' && entry.workspace.name === workspace.name);
|
|
54
|
-
return crewing === undefined ? undefined : { field: 'workspace.name', reason: `The folder ${workspace.name} crews ${crewing.shipId} already: one folder crews one ship` };
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
/** The field an issue names, as `options.model`, when it names one. */
|
|
59
|
-
export function fieldOf(path) {
|
|
60
|
-
return path === undefined || path.length === 0 ? {} : { field: path.map(String).join('.') };
|
|
61
|
-
}
|
|
62
|
-
/** A new entry for a checked want, wanted since now, for the ship that sent it. */
|
|
63
|
-
export function newEntry(checked, context) {
|
|
64
|
-
const { want, options } = checked;
|
|
65
|
-
return {
|
|
66
|
-
shipId: want.shipId,
|
|
67
|
-
harness: want.harness,
|
|
68
|
-
workspace: want.workspace,
|
|
69
|
-
...(want.squadron !== undefined && { squadron: want.squadron }),
|
|
70
|
-
...(want.firstPrompt !== undefined && { firstPrompt: want.firstPrompt }),
|
|
71
|
-
options,
|
|
72
|
-
requester: context.requester,
|
|
73
|
-
state: 'wanted',
|
|
74
|
-
since: context.now.toISOString(),
|
|
75
|
-
exits: [],
|
|
76
|
-
hasStarted: false,
|
|
77
|
-
wake: { waiting: 0, isPending: false },
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=check-want.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"check-want.js","sourceRoot":"","sources":["../../src/core/check-want.ts"],"names":[],"mappings":"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"}
|