@aeolus-fleet/trierarch 0.20.3 → 0.20.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/adapters/claude-code-screen.js +12 -2
- package/dist/adapters/claude-code-screen.js.map +1 -1
- package/dist/adapters/claude-code-setup.d.ts +8 -2
- package/dist/adapters/claude-code-setup.js +11 -0
- package/dist/adapters/claude-code-setup.js.map +1 -1
- package/dist/adapters/claude-code.d.ts +14 -2
- package/dist/adapters/claude-code.js +20 -5
- package/dist/adapters/claude-code.js.map +1 -1
- package/dist/adapters/codex-screen.js +1 -0
- package/dist/adapters/codex-screen.js.map +1 -1
- package/dist/adapters/codex.d.ts +3 -2
- package/dist/adapters/codex.js +15 -4
- package/dist/adapters/codex.js.map +1 -1
- package/dist/adapters/flags.d.ts +0 -8
- package/dist/adapters/flags.js +1 -12
- package/dist/adapters/flags.js.map +1 -1
- package/dist/adapters/git-workspace.js +5 -0
- package/dist/adapters/git-workspace.js.map +1 -1
- package/dist/adapters/harnesses.js +2 -1
- package/dist/adapters/harnesses.js.map +1 -1
- package/dist/adapters/json-state.js +1 -0
- package/dist/adapters/json-state.js.map +1 -1
- package/dist/adapters/launch-screen.d.ts +8 -2
- package/dist/adapters/launch-screen.js +8 -3
- package/dist/adapters/launch-screen.js.map +1 -1
- package/dist/adapters/service.d.ts +2 -0
- package/dist/adapters/service.js +10 -1
- package/dist/adapters/service.js.map +1 -1
- package/dist/adapters/trust.d.ts +3 -1
- package/dist/adapters/trust.js +11 -3
- package/dist/adapters/trust.js.map +1 -1
- package/dist/cli/add.d.ts +7 -1
- package/dist/cli/add.js +3 -2
- package/dist/cli/add.js.map +1 -1
- package/dist/cli/config-check.js +2 -1
- package/dist/cli/config-check.js.map +1 -1
- package/dist/cli/init.d.ts +8 -3
- package/dist/cli/init.js +61 -34
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/main.js +5 -4
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/new-process.d.ts +23 -0
- package/dist/cli/new-process.js +25 -0
- package/dist/cli/new-process.js.map +1 -0
- package/dist/core/check-settings.d.ts +13 -1
- package/dist/core/check-settings.js +19 -1
- package/dist/core/check-settings.js.map +1 -1
- package/dist/core/effective-flags.d.ts +9 -0
- package/dist/core/effective-flags.js +13 -0
- package/dist/core/effective-flags.js.map +1 -0
- package/dist/core/entry.d.ts +2 -0
- package/dist/core/entry.js.map +1 -1
- package/dist/core/ports.d.ts +16 -2
- package/dist/core/reconciler.js +126 -50
- package/dist/core/reconciler.js.map +1 -1
- package/dist/core/run-pass.js +73 -24
- package/dist/core/run-pass.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Starts a new trierarch process (restart, install) and waits until it has
|
|
3
|
+
* said its version in running.json, so the status that follows shows the
|
|
4
|
+
* version it runs (#402, the race #376 fixed for upgrade). running.json is the
|
|
5
|
+
* new process's once its pid is the one the service runs: the old process's
|
|
6
|
+
* file may name the same version. It waits at most 30 seconds.
|
|
7
|
+
*/
|
|
8
|
+
export const NOT_SAID_YET = 'The new process has not said its version after 30 seconds: aeolus-trierarch status shows the version it runs once it does.';
|
|
9
|
+
const CHECK_MS = 1000;
|
|
10
|
+
const TIMEOUT_MS = 30_000;
|
|
11
|
+
export async function startNewProcess(at) {
|
|
12
|
+
const sleep = at.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
13
|
+
await at.start();
|
|
14
|
+
for (let waited = 0;; waited += CHECK_MS) {
|
|
15
|
+
const [status, running] = await Promise.all([at.service.status(), at.running()]);
|
|
16
|
+
if (status.isRunning && running !== undefined && running.pid === status.pid) {
|
|
17
|
+
return { status, hasSaidVersion: true };
|
|
18
|
+
}
|
|
19
|
+
if (waited >= TIMEOUT_MS) {
|
|
20
|
+
return { status, hasSaidVersion: false };
|
|
21
|
+
}
|
|
22
|
+
await sleep(CHECK_MS);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=new-process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-process.js","sourceRoot":"","sources":["../../src/cli/new-process.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,4HAA4H,CAAC;AAEzJ,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB,MAAM,UAAU,GAAG,MAAM,CAAC;AAQ1B,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAOrC;IACC,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpG,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACjB,KAAK,IAAI,MAAM,GAAG,CAAC,GAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACjF,IAAI,MAAM,CAAC,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;YAC5E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;YACzB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QAC3C,CAAC;QACD,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;AACH,CAAC"}
|
|
@@ -24,11 +24,23 @@ export declare function trustRefusal(at: {
|
|
|
24
24
|
workspace: CrewSettings['workspace'];
|
|
25
25
|
trusted: TrustedPlaces;
|
|
26
26
|
}): Refusal | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Why a harness may not start a session with its flags: one of them waits on
|
|
29
|
+
* a one-time question it still asks, as Claude Code's bypass permissions
|
|
30
|
+
* (#403). Init is where the operator accepts it, so the reason says to do that.
|
|
31
|
+
*/
|
|
32
|
+
export declare function unacceptedRefusal(at: {
|
|
33
|
+
harness: string;
|
|
34
|
+
configuration: TrierarchConfiguration;
|
|
35
|
+
options: Readonly<Record<string, string>>;
|
|
36
|
+
trusted: TrustedPlaces;
|
|
37
|
+
}): Refusal | undefined;
|
|
27
38
|
/**
|
|
28
39
|
* Checks a crew request's settings again before crewing (decision 0027):
|
|
29
40
|
* the crew settings schema, then what this trierarch's configuration offers
|
|
30
41
|
* (harness, repository or folder, each option and its value), that the
|
|
31
|
-
* harness trusts the repository or folder (#381), and one folder per ship
|
|
42
|
+
* harness trusts the repository or folder (#381), and one folder per ship,
|
|
43
|
+
* and that no flag it launches with waits on a question (#403). The trierarch plugin checked them already; this machine's
|
|
32
44
|
* configuration may have changed since.
|
|
33
45
|
*/
|
|
34
46
|
export declare function checkSettings(raw: unknown, context: {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { crewSettingsSchema } from '@aeolus-fleet/common';
|
|
2
|
+
import { effectiveFlags } from './effective-flags.js';
|
|
2
3
|
import { err, ok } from './shared/result.js';
|
|
3
4
|
/**
|
|
4
5
|
* Why a harness may not start a session in a place: it does not trust it
|
|
@@ -12,6 +13,18 @@ export function trustRefusal(at) {
|
|
|
12
13
|
: ['workspace.name', 'folder', workspace.name, trusted[harness]?.folders ?? []];
|
|
13
14
|
return places.includes(name) ? undefined : { field, reason: `${harness} does not trust the ${kind} ${name}: add it with aeolus-trierarch init, which trusts it` };
|
|
14
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Why a harness may not start a session with its flags: one of them waits on
|
|
18
|
+
* a one-time question it still asks, as Claude Code's bypass permissions
|
|
19
|
+
* (#403). Init is where the operator accepts it, so the reason says to do that.
|
|
20
|
+
*/
|
|
21
|
+
export function unacceptedRefusal(at) {
|
|
22
|
+
const { harness, configuration, options, trusted } = at;
|
|
23
|
+
const settings = configuration.harnesses[harness];
|
|
24
|
+
const unaccepted = trusted[harness]?.unacceptedFlags ?? [];
|
|
25
|
+
const flag = settings === undefined ? undefined : effectiveFlags(settings, options).find((each) => unaccepted.includes(each));
|
|
26
|
+
return flag === undefined ? undefined : { field: 'harness', reason: `${harness} still asks to accept ${flag}: accept it with aeolus-trierarch init` };
|
|
27
|
+
}
|
|
15
28
|
/** The field an issue names, as `options.model`, when it names one. */
|
|
16
29
|
function fieldOf(path) {
|
|
17
30
|
return path.length === 0 ? {} : { field: path.map(String).join('.') };
|
|
@@ -20,7 +33,8 @@ function fieldOf(path) {
|
|
|
20
33
|
* Checks a crew request's settings again before crewing (decision 0027):
|
|
21
34
|
* the crew settings schema, then what this trierarch's configuration offers
|
|
22
35
|
* (harness, repository or folder, each option and its value), that the
|
|
23
|
-
* harness trusts the repository or folder (#381), and one folder per ship
|
|
36
|
+
* harness trusts the repository or folder (#381), and one folder per ship,
|
|
37
|
+
* and that no flag it launches with waits on a question (#403). The trierarch plugin checked them already; this machine's
|
|
24
38
|
* configuration may have changed since.
|
|
25
39
|
*/
|
|
26
40
|
export function checkSettings(raw, context) {
|
|
@@ -65,6 +79,10 @@ export function checkSettings(raw, context) {
|
|
|
65
79
|
}
|
|
66
80
|
options[name] = value;
|
|
67
81
|
}
|
|
82
|
+
const unaccepted = unacceptedRefusal({ harness: harnessName, configuration, options, trusted });
|
|
83
|
+
if (unaccepted !== undefined) {
|
|
84
|
+
return err(unaccepted);
|
|
85
|
+
}
|
|
68
86
|
return ok({ settings, harness: harnessName, options });
|
|
69
87
|
}
|
|
70
88
|
//# sourceMappingURL=check-settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-settings.js","sourceRoot":"","sources":["../../src/core/check-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA+D,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"check-settings.js","sourceRoot":"","sources":["../../src/core/check-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { TrierarchConfiguration } from '@aeolus-fleet/common';
|
|
2
|
+
type HarnessConfiguration = TrierarchConfiguration['harnesses'][string];
|
|
3
|
+
/**
|
|
4
|
+
* The flags a launch gets: the harness's own, then each option's value as the
|
|
5
|
+
* settings picked it, or its default. Settings pick names only; the flags come
|
|
6
|
+
* from the configuration alone.
|
|
7
|
+
*/
|
|
8
|
+
export declare function effectiveFlags(harness: HarnessConfiguration, options: Readonly<Record<string, string>>): string[];
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The flags a launch gets: the harness's own, then each option's value as the
|
|
3
|
+
* settings picked it, or its default. Settings pick names only; the flags come
|
|
4
|
+
* from the configuration alone.
|
|
5
|
+
*/
|
|
6
|
+
export function effectiveFlags(harness, options) {
|
|
7
|
+
const picked = Object.entries(harness.options).flatMap(([name, option]) => {
|
|
8
|
+
const value = options[name] ?? option.default;
|
|
9
|
+
return value === undefined ? [] : (option.values[value] ?? []);
|
|
10
|
+
});
|
|
11
|
+
return [...harness.flags, ...picked];
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=effective-flags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effective-flags.js","sourceRoot":"","sources":["../../src/core/effective-flags.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAA6B,EAAE,OAAyC;IACrG,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;QACxE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC;QAC9C,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC;AACvC,CAAC"}
|
package/dist/core/entry.d.ts
CHANGED
|
@@ -42,6 +42,8 @@ export interface Entry {
|
|
|
42
42
|
readonly hasStarted: boolean;
|
|
43
43
|
/** When the session crewing checks in its launch window started (#382), ISO 8601; none before its launch. */
|
|
44
44
|
readonly launchedAt?: string;
|
|
45
|
+
/** Set when its crew was final as it went back to crewing after a release elsewhere (row 11): a failed start then follows the restart rule (#469). */
|
|
46
|
+
readonly isFinal?: true;
|
|
45
47
|
/** The inbox count last seen, and whether a wake waits for the session to turn idle. */
|
|
46
48
|
readonly wake: {
|
|
47
49
|
readonly waiting: number;
|
package/dist/core/entry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/core/entry.ts"],"names":[],"mappings":"AAiBA,kGAAkG;AAClG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/core/entry.ts"],"names":[],"mappings":"AAiBA,kGAAkG;AAClG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,CAAU,CAAC;AAkDlG,MAAM,CAAC,MAAM,WAAW,GAAmB,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAE/F,0CAA0C;AAC1C,MAAM,UAAU,SAAS,CAAC,KAAY,EAAE,MAAwC;IAC9E,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;AAC5E,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,QAAQ,CAAC,KAAqB,EAAE,KAAY;IAC1D,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;AAC5E,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,WAAW,CAAC,KAAqB,EAAE,MAAc;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC;IAClG,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC"}
|
package/dist/core/ports.d.ts
CHANGED
|
@@ -180,7 +180,9 @@ export interface HarnessPort {
|
|
|
180
180
|
}
|
|
181
181
|
/**
|
|
182
182
|
* What a session's screen shows in its launch window (#382): activity once
|
|
183
|
-
* its first prompt made a tool call, the model refused, or neither yet
|
|
183
|
+
* its first prompt made a tool call, the model refused, or neither yet, with
|
|
184
|
+
* the harness's own screen it stopped at when it knows that screen (#403),
|
|
185
|
+
* such as `bypass permissions warning`.
|
|
184
186
|
*/
|
|
185
187
|
export type LaunchSeen = {
|
|
186
188
|
readonly kind: 'active';
|
|
@@ -189,6 +191,7 @@ export type LaunchSeen = {
|
|
|
189
191
|
readonly model: string;
|
|
190
192
|
} | {
|
|
191
193
|
readonly kind: 'none';
|
|
194
|
+
readonly screen?: string;
|
|
192
195
|
};
|
|
193
196
|
/** A session the process supervisor runs, by ship id: running, or exited and kept so the exit is seen. */
|
|
194
197
|
export interface ObservedSession {
|
|
@@ -206,10 +209,15 @@ export interface ObservedWorktree {
|
|
|
206
209
|
readonly name: string;
|
|
207
210
|
readonly shipId?: ShipId;
|
|
208
211
|
}
|
|
209
|
-
/**
|
|
212
|
+
/**
|
|
213
|
+
* The configured repositories and folders each configured harness trusts, by
|
|
214
|
+
* name (#381), and its flags whose one-time question is not accepted yet: a
|
|
215
|
+
* session launched with one waits on that question (#403).
|
|
216
|
+
*/
|
|
210
217
|
export type TrustedPlaces = Readonly<Record<string, {
|
|
211
218
|
readonly repositories: readonly string[];
|
|
212
219
|
readonly folders: readonly string[];
|
|
220
|
+
readonly unacceptedFlags: readonly string[];
|
|
213
221
|
}>>;
|
|
214
222
|
/**
|
|
215
223
|
* What each harness trusts now, as its own files say (#381). Init trusts a
|
|
@@ -229,6 +237,12 @@ export interface WorkspacePort {
|
|
|
229
237
|
folder: string;
|
|
230
238
|
}>;
|
|
231
239
|
isClean(folder: string): Promise<boolean>;
|
|
240
|
+
/**
|
|
241
|
+
* What removing the worktree would discard, one line each (#450): each change
|
|
242
|
+
* not committed, as git status shows it, then each commit no branch, tag or
|
|
243
|
+
* remote branch keeps. None when everything in it is kept elsewhere.
|
|
244
|
+
*/
|
|
245
|
+
unsaved(folder: string): Promise<readonly string[]>;
|
|
232
246
|
/** Removes a worktree the trierarch made; never a configured folder. */
|
|
233
247
|
remove(folder: string): Promise<void>;
|
|
234
248
|
worktrees(): Promise<readonly ObservedWorktree[]>;
|
package/dist/core/reconciler.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { checkSettings, trustRefusal } from './check-settings.js';
|
|
1
|
+
import { checkSettings, trustRefusal, unacceptedRefusal } from './check-settings.js';
|
|
2
2
|
import { MODEL_OPTION } from './detected-options.js';
|
|
3
3
|
import { putEntry, removeEntry, withState } from './entry.js';
|
|
4
4
|
import { decideRestart, exitsInWindow } from './restart-policy.js';
|
|
@@ -137,6 +137,8 @@ function entryOf(checked, at) {
|
|
|
137
137
|
* A new settings version of a request it crews (Restart or Edit): the
|
|
138
138
|
* session stops and the ship is crewed again with that version, in its
|
|
139
139
|
* folder, with a fresh restart budget. It is no release: the worktree stays.
|
|
140
|
+
* It is a first start (#443): a fresh session with the new version's first
|
|
141
|
+
* prompt, never the old conversation continued.
|
|
140
142
|
* Settings this trierarch cannot crew are given back while the crew is not
|
|
141
143
|
* final, its entry ending; once it is final, argo is told and the entry stays
|
|
142
144
|
* as it was.
|
|
@@ -154,7 +156,7 @@ function newVersionStep(entry, at) {
|
|
|
154
156
|
}
|
|
155
157
|
const fresh = entryOf(checked.value, { shipId: entry.shipId, settingsVersion: request.settingsVersion, now: context.now });
|
|
156
158
|
return {
|
|
157
|
-
entry: { ...fresh,
|
|
159
|
+
entry: { ...fresh, ...(entry.shipName !== undefined && { shipName: entry.shipName }), ...(entry.folder !== undefined && { folder: entry.folder }) },
|
|
158
160
|
actions: [
|
|
159
161
|
{ kind: 'stop', shipId: entry.shipId },
|
|
160
162
|
{ kind: 'crew', shipId: entry.shipId, isResumed: true },
|
|
@@ -164,15 +166,17 @@ function newVersionStep(entry, at) {
|
|
|
164
166
|
}
|
|
165
167
|
/**
|
|
166
168
|
* A step that would start the entry's session, held while its harness does
|
|
167
|
-
* not trust its repository or folder (#381)
|
|
168
|
-
* launch, a restart too. While the crew is not final the request is given
|
|
169
|
+
* not trust its repository or folder (#381), or still asks about a flag it
|
|
170
|
+
* launches with (#403): both are checked before every launch, a restart too. While the crew is not final the request is given
|
|
169
171
|
* back and the entry ends (#382); once it is final, the entry stays as it is
|
|
170
172
|
* and argo is told once per settings version.
|
|
171
173
|
*/
|
|
172
174
|
function trustedStep(entry, at) {
|
|
173
175
|
const { step, request, state, context } = at;
|
|
174
176
|
const isLaunching = step.actions.some((action) => action.kind === 'crew' || action.kind === 'launch');
|
|
175
|
-
const
|
|
177
|
+
const { harness, workspace, options } = entry;
|
|
178
|
+
const { trusted, configuration } = context;
|
|
179
|
+
const refusal = isLaunching ? (trustRefusal({ harness, workspace, trusted }) ?? unacceptedRefusal({ harness, configuration, options, trusted })) : undefined;
|
|
176
180
|
if (refusal === undefined) {
|
|
177
181
|
return step;
|
|
178
182
|
}
|
|
@@ -184,8 +188,9 @@ function stepOf(entry, context) {
|
|
|
184
188
|
const { observed, now, canStart } = context;
|
|
185
189
|
const seen = observed.ships[entry.shipId];
|
|
186
190
|
if (seen?.inbox.kind === 'leaseEnded') {
|
|
187
|
-
// Released elsewhere (row 11): its session stops and the ship is crewed again, in its folder.
|
|
188
|
-
|
|
191
|
+
// Released elsewhere (row 11): its session stops and the ship is crewed again, in its folder. A final crew stays final (#469).
|
|
192
|
+
const crewing = withState(entry, { state: 'crewing', now });
|
|
193
|
+
return { entry: FINAL.has(entry.state) ? { ...crewing, isFinal: true } : crewing, actions: [{ kind: 'stop', shipId: entry.shipId }, { kind: 'crew', shipId: entry.shipId, isResumed: false }], starts: 0 };
|
|
189
194
|
}
|
|
190
195
|
switch (entry.state) {
|
|
191
196
|
case 'crewing':
|
|
@@ -194,7 +199,7 @@ function stepOf(entry, context) {
|
|
|
194
199
|
return runningStep(entry, context);
|
|
195
200
|
case 'restarting':
|
|
196
201
|
return entry.restartAt !== undefined && now >= new Date(entry.restartAt) && canStart
|
|
197
|
-
? { entry: withState(entry, { state: 'running', now }), actions: [{ kind: 'launch', shipId: entry.shipId }], starts: 1 }
|
|
202
|
+
? { entry: withState(withoutLaunch(entry), { state: 'running', now }), actions: [{ kind: 'launch', shipId: entry.shipId }], starts: 1 }
|
|
198
203
|
: NOTHING;
|
|
199
204
|
case 'crashed':
|
|
200
205
|
case 'releasing':
|
|
@@ -205,74 +210,145 @@ function stepOf(entry, context) {
|
|
|
205
210
|
* An entry crewing: crewed (again) until its session started, then in its
|
|
206
211
|
* launch window (#382). Activity makes the crew final, so it runs from when
|
|
207
212
|
* its session started. A model refused, or no activity within the minute,
|
|
208
|
-
* gives the request back, its entry ending
|
|
209
|
-
*
|
|
213
|
+
* gives the request back, its entry ending, the reason naming the harness's
|
|
214
|
+
* screen the session stopped at when it knows it (#403); for a crew already
|
|
215
|
+
* final, crewed again after a release elsewhere, it is a failed start against
|
|
216
|
+
* the restart budget instead (#469). A session gone, as after the machine
|
|
217
|
+
* restarts, is crewed again. Until its start fails, its session is watched
|
|
218
|
+
* and woken as any other (#473).
|
|
210
219
|
*/
|
|
211
220
|
function launchStep(entry, context) {
|
|
212
221
|
const { observed, now } = context;
|
|
213
|
-
const { launchedAt, ...running } = entry;
|
|
222
|
+
const { launchedAt, isFinal, ...running } = entry;
|
|
214
223
|
const seen = observed.launches[entry.shipId];
|
|
215
224
|
if (launchedAt === undefined || seen === undefined) {
|
|
216
225
|
return { actions: [{ kind: 'crew', shipId: entry.shipId, isResumed: true }], starts: 1 };
|
|
217
226
|
}
|
|
218
|
-
const
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
227
|
+
const failedStart = (reason, first = []) => {
|
|
228
|
+
if (isFinal === true) {
|
|
229
|
+
const step = exitStep(running, { now, failedStart: reason });
|
|
230
|
+
return { ...step, actions: [...first, ...step.actions] };
|
|
231
|
+
}
|
|
232
|
+
return { isGivenBack: true, actions: [...first, { kind: 'giveBack', shipId: entry.shipId, settingsVersion: entry.settingsVersion, reason, entry }], starts: 0 };
|
|
233
|
+
};
|
|
223
234
|
switch (seen.kind) {
|
|
224
|
-
case 'active':
|
|
235
|
+
case 'active': {
|
|
225
236
|
// Running since its session started, so the session start it writes is that start; the window is closed.
|
|
226
|
-
|
|
237
|
+
const final = { ...running, state: 'running', since: launchedAt };
|
|
238
|
+
const step = wakeStep(final, observed.ships[entry.shipId]);
|
|
239
|
+
return { ...step, entry: step.entry ?? final };
|
|
240
|
+
}
|
|
227
241
|
case 'refused': {
|
|
228
|
-
const {
|
|
229
|
-
|
|
230
|
-
const reason = `${harness}${version === undefined ? '' : ` ${version}`} refused ${seen.model}`;
|
|
231
|
-
// The harness's own default refused drops nothing: the machine never offered it as a model.
|
|
232
|
-
if (entry.options[MODEL_OPTION] === undefined || version === undefined) {
|
|
233
|
-
return giveBack(reason);
|
|
234
|
-
}
|
|
235
|
-
return giveBack(reason, [{ kind: 'modelRefused', shipId: entry.shipId, ...(entry.shipName !== undefined && { shipName: entry.shipName }), harness, version, model: seen.model }]);
|
|
242
|
+
const refused = modelRefusal(entry, { model: seen.model, versions: context.versions });
|
|
243
|
+
return failedStart(refused.reason, refused.actions);
|
|
236
244
|
}
|
|
237
245
|
case 'none':
|
|
238
|
-
|
|
246
|
+
if (!isWindowOver(launchedAt, now)) {
|
|
247
|
+
return wakeStep(entry, observed.ships[entry.shipId]);
|
|
248
|
+
}
|
|
249
|
+
return failedStart(seen.screen === undefined ? NO_ACTIVITY_REASON : `${NO_ACTIVITY_REASON}, stopped at ${entry.harness}'s ${seen.screen}`);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
/** The entry with no launch window open. */
|
|
253
|
+
function withoutLaunch(entry) {
|
|
254
|
+
const { launchedAt, ...rest } = entry;
|
|
255
|
+
return launchedAt === undefined ? entry : rest;
|
|
256
|
+
}
|
|
257
|
+
function isWindowOver(launchedAt, now) {
|
|
258
|
+
return now.getTime() - new Date(launchedAt).getTime() >= LAUNCH_WINDOW_MS;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Why a session refused the model it launched with, naming the harness and
|
|
262
|
+
* its version, and the model kept refused when the settings picked it (#382).
|
|
263
|
+
* The harness's own default refused drops nothing: the machine never offered
|
|
264
|
+
* it as a model.
|
|
265
|
+
*/
|
|
266
|
+
function modelRefusal(entry, at) {
|
|
267
|
+
const { harness } = entry;
|
|
268
|
+
const version = at.versions[harness];
|
|
269
|
+
const reason = `${harness}${version === undefined ? '' : ` ${version}`} refused ${at.model}`;
|
|
270
|
+
if (entry.options[MODEL_OPTION] === undefined || version === undefined) {
|
|
271
|
+
return { reason, actions: [] };
|
|
239
272
|
}
|
|
273
|
+
return { reason, actions: [{ kind: 'modelRefused', shipId: entry.shipId, ...(entry.shipName !== undefined && { shipName: entry.shipName }), harness, version, model: at.model }] };
|
|
240
274
|
}
|
|
241
275
|
function runningStep(entry, context) {
|
|
242
276
|
const { observed, now, canStart } = context;
|
|
243
277
|
const session = observed.sessions.find((each) => each.shipId === entry.shipId);
|
|
244
278
|
if (session === undefined) {
|
|
245
279
|
// No session at all, as after the machine restarts: start it again, with no restart counted.
|
|
246
|
-
return canStart ? { actions: [{ kind: 'launch', shipId: entry.shipId }], starts: 1 } : NOTHING;
|
|
280
|
+
return canStart ? { entry: withoutLaunch(entry), actions: [{ kind: 'launch', shipId: entry.shipId }], starts: 1 } : NOTHING;
|
|
247
281
|
}
|
|
248
282
|
if (session.status === 'exited') {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
283
|
+
return exitStep(entry, { now });
|
|
284
|
+
}
|
|
285
|
+
return restartWindowStep(entry, context);
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* A running entry whose session started again (#397): its crew is final, so
|
|
289
|
+
* the check only observes. The session runs, is watched and woken as any
|
|
290
|
+
* other; activity closes the window. A model refused, or no activity within
|
|
291
|
+
* the minute, is a failed start: the session stops, and it counts against
|
|
292
|
+
* the restart budget as an exit does, nothing given back.
|
|
293
|
+
*/
|
|
294
|
+
function restartWindowStep(entry, context) {
|
|
295
|
+
const { observed, now } = context;
|
|
296
|
+
const seen = observed.ships[entry.shipId];
|
|
297
|
+
const { launchedAt } = entry;
|
|
298
|
+
const launch = observed.launches[entry.shipId];
|
|
299
|
+
if (launchedAt === undefined || launch === undefined) {
|
|
300
|
+
return wakeStep(entry, seen);
|
|
301
|
+
}
|
|
302
|
+
switch (launch.kind) {
|
|
303
|
+
case 'active': {
|
|
304
|
+
const closed = withoutLaunch(entry);
|
|
305
|
+
const step = wakeStep(closed, seen);
|
|
306
|
+
return { ...step, entry: step.entry ?? closed };
|
|
307
|
+
}
|
|
308
|
+
case 'refused': {
|
|
309
|
+
const refused = modelRefusal(entry, { model: launch.model, versions: context.versions });
|
|
310
|
+
const step = exitStep(entry, { now, failedStart: refused.reason });
|
|
311
|
+
return { ...step, actions: [...refused.actions, ...step.actions] };
|
|
268
312
|
}
|
|
313
|
+
case 'none':
|
|
314
|
+
return isWindowOver(launchedAt, now) ? exitStep(entry, { now, failedStart: NO_ACTIVITY_REASON }) : wakeStep(entry, seen);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* The session exited, or failed its start with the reason given (#397): it
|
|
319
|
+
* starts again after its wait, or, with the restart budget spent, the entry
|
|
320
|
+
* is crashed and argo told. A session that failed its start still runs, so it
|
|
321
|
+
* stops first.
|
|
322
|
+
*/
|
|
323
|
+
function exitStep(entry, at) {
|
|
324
|
+
const { now, failedStart } = at;
|
|
325
|
+
const exits = [...exitsInWindow(entry.exits, now), now.toISOString()];
|
|
326
|
+
const decision = decideRestart(exits, now);
|
|
327
|
+
const stop = { kind: 'stop', shipId: entry.shipId };
|
|
328
|
+
switch (decision.kind) {
|
|
329
|
+
case 'restart':
|
|
330
|
+
return {
|
|
331
|
+
entry: { ...withState(withoutLaunch(entry), { state: 'restarting', now }), exits, restartAt: decision.at.toISOString() },
|
|
332
|
+
actions: [...(failedStart === undefined ? [] : [stop]), { kind: 'report', shipId: entry.shipId, note: RESTARTING_NOTE }],
|
|
333
|
+
starts: 0,
|
|
334
|
+
};
|
|
335
|
+
case 'crashed':
|
|
336
|
+
return {
|
|
337
|
+
entry: { ...withState(withoutLaunch(entry), { state: 'crashed', now }), exits },
|
|
338
|
+
actions: [
|
|
339
|
+
stop,
|
|
340
|
+
{ kind: 'report', shipId: entry.shipId, note: CRASHED_NOTE },
|
|
341
|
+
{ kind: 'argo', report: crashReport(entry, { exits: exits.length, now, ...(failedStart !== undefined && { failedStart }) }) },
|
|
342
|
+
],
|
|
343
|
+
starts: 0,
|
|
344
|
+
};
|
|
269
345
|
}
|
|
270
|
-
return wakeStep(entry, observed.ships[entry.shipId]);
|
|
271
346
|
}
|
|
272
|
-
/** What argo is told when a session's restart budget is spent: a human decides. */
|
|
347
|
+
/** What argo is told when a session's restart budget is spent, with why its last start failed when it did (#397): a human decides. */
|
|
273
348
|
function crashReport(entry, at) {
|
|
349
|
+
const lastStart = at.failedStart === undefined ? '' : `; its last start: ${at.failedStart}`;
|
|
274
350
|
return {
|
|
275
|
-
text: `${entry.shipName ?? entry.shipId} (${entry.shipId}): its session crashed ${String(at.exits)} times within an hour, restart budget spent; status crashed. Restart it in the console to crew it again.`,
|
|
351
|
+
text: `${entry.shipName ?? entry.shipId} (${entry.shipId}): its session crashed ${String(at.exits)} times within an hour, restart budget spent${lastStart}; status crashed. Restart it in the console to crew it again.`,
|
|
276
352
|
idempotencyKey: `trierarch:crashed:${entry.shipId}:${at.now.toISOString()}`,
|
|
277
353
|
};
|
|
278
354
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../../src/core/reconciler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../../src/core/reconciler.ts"],"names":[],"mappings":"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"}
|