@clemrig/flow 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/app/run.d.ts +5 -0
- package/dist/app/run.js +55 -6
- package/dist/app/run.js.map +1 -1
- package/dist/engine/types.d.ts +79 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/system/launch.d.ts +8 -0
- package/dist/system/launch.js +31 -0
- package/dist/system/launch.js.map +1 -0
- package/dist/system/runtimes/adapter.d.ts +30 -0
- package/dist/system/runtimes/adapter.js.map +1 -1
- package/dist/system/runtimes/agent-runtime.js +38 -3
- package/dist/system/runtimes/agent-runtime.js.map +1 -1
- package/dist/system/runtimes/claude-code.js +296 -4
- package/dist/system/runtimes/claude-code.js.map +1 -1
- package/dist/system/runtimes/codex.js +1 -0
- package/dist/system/runtimes/codex.js.map +1 -1
- package/dist/system/runtimes/pi.d.ts +3 -2
- package/dist/system/runtimes/pi.js +188 -8
- package/dist/system/runtimes/pi.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -45,15 +45,15 @@ console.log(state.status, state.data);
|
|
|
45
45
|
|
|
46
46
|
A workflow may declare `steps`: ordered groups of its stages that show how far a run went, for instance `steps: [{ name: "greet", stages: ["greet"] }]`. `defineWorkflow` refuses steps unless they name each step once and hold each stage exactly once; the engine itself ignores them, and the factory's Kanban shows them.
|
|
47
47
|
|
|
48
|
-
Before it creates the run, `startRun` checks, in this order, `dir` (an existing directory), the budget (`maxCostUsd`, in USD, replaces the workflow's; refused when an agent stage uses Codex, which announces no cost), the input against the workflow's `input` (an `InvalidInputError` lists every problem), the prompts (a non-empty text for each agent stage's prompt) and each runtime the workflow uses, its version and connection checked in `dir`; the first failing check rejects it with its reasons. It then returns the run, its end (`done`) and `stop(reason)`, which fails the run before its next stage. Runs are kept in `runsDir` when it is given. The engine never changes the process's current directory: stage code reaches the working directory through `dir`, and the run's own folder through `runDir`, where it can keep files that belong to the run. While child processes run (agents, commands), a SIGINT or SIGTERM to the program interrupts them, each agent with the signal on which it ends its own commands, so that none outlives it, and stops each run before its next stage, even if a stage catches the interruption. A program about to quit at once can call `killChildProcesses()`, which kills the child processes of every run, but not the commands Codex runs in their own process groups.
|
|
48
|
+
Before it creates the run, `startRun` checks, in this order, `dir` (an existing directory), the budget (`maxCostUsd`, in USD, replaces the workflow's; refused when an agent stage uses Codex, which announces no cost), the input against the workflow's `input` (an `InvalidInputError` lists every problem), the prompts (a non-empty text for each agent stage's prompt) and each runtime the workflow uses, its version and connection checked in `dir`; the first failing check rejects it with its reasons. It then records the launch (a `launch` event: flow's version, the `caller` labels given, such as a caller's version and where its prompts come from, each runtime as checked, the budget in force and whether it was given, the run's own or the workflow's, the machine, `dir`, and the names of the variables set that the runtimes read, never their values) and returns the run, its end (`done`) and `stop(reason)`, which fails the run before its next stage. Runs are kept in `runsDir` when it is given. The engine never changes the process's current directory: stage code reaches the working directory through `dir`, and the run's own folder through `runDir`, where it can keep files that belong to the run. While child processes run (agents, commands), a SIGINT or SIGTERM to the program interrupts them, each agent with the signal on which it ends its own commands, so that none outlives it, and stops each run before its next stage, even if a stage catches the interruption. A program about to quit at once can call `killChildProcesses()`, which kills the child processes of every run, but not the commands Codex runs in their own process groups.
|
|
49
49
|
|
|
50
|
-
`resumeRun({ workflow, runId, maxCostUsd, data, prompts, dir, configDir, runsDir }, hooks)` resumes a failed run at the stage where it stopped, with the same ID, input, data, corrections, measures and agent conversations: that stage runs again, journals why the run had stopped (`Resumed after: …`) and passes it on to its agent, which is asked to continue rather than start over. It refuses, changing nothing, a run that did not fail (a run left `running` after its process was killed included), a run of another workflow, a stage the workflow no longer has, a run that already spent its budget, and whatever the workflow's optional `resumeProblem({ state, dir })` returns, for instance a working directory that is no longer as the stage left it; then it checks prompts and runtimes like `startRun`, takes the run over (two resumptions never both run it: the state is reloaded and marked `running` under a `run.lock` file created atomically in the run's folder) and returns the same handle. The budget is the `maxCostUsd` given, else the one the run was started or last resumed with (`state.maxCostUsd`), else the workflow's. The stage starts over: what it did before it failed must be safe to do again, or `resumeProblem` must refuse. `data` gives the run values decided by the operator, merged into its data before the stage runs again, seen by `resumeProblem` and named in the cause it journals. A run stopped by a retry edge past its maximum is allowed one more correction on that edge by each resumption (`state.allowances`; `exceededEdge(workflow, state)` names that edge, `<stage>.<outcome>`: `state.exceeded`, or for a run stopped before the engine kept it, the edge of its stage whose message its error is, if a single one is): the stage runs again and, if it asks for the correction again, takes it; the correction it could not take is kept in its failed stage event's `feedback`. Each finished stage event also carries its agent's answer (`output`) and the correction it sent back (`feedback`). Calls that announced no cost before the resumption (a call stopped by its timeout) no longer fail the budget; later ones do. The time a run spent stopped is not part of its duration (`state.pausedMs`, left out by `elapsedMs`).
|
|
50
|
+
`resumeRun({ workflow, runId, maxCostUsd, data, prompts, dir, configDir, runsDir, caller }, hooks)` resumes a failed run at the stage where it stopped, with the same ID, input, data, corrections, measures and agent conversations: that stage runs again, journals why the run had stopped (`Resumed after: …`) and passes it on to its agent, which is asked to continue rather than start over. It refuses, changing nothing, a run that did not fail (a run left `running` after its process was killed included), a run of another workflow, a stage the workflow no longer has, a run that already spent its budget, and whatever the workflow's optional `resumeProblem({ state, dir })` returns, for instance a working directory that is no longer as the stage left it; then it checks prompts and runtimes like `startRun`, takes the run over (two resumptions never both run it: the state is reloaded and marked `running` under a `run.lock` file created atomically in the run's folder), records the launch with the values given, and returns the same handle. The budget is the `maxCostUsd` given, else the one the run was started or last resumed with (`state.maxCostUsd`), else the workflow's. The stage starts over: what it did before it failed must be safe to do again, or `resumeProblem` must refuse. `data` gives the run values decided by the operator, merged into its data before the stage runs again, seen by `resumeProblem` and named in the cause it journals. A run stopped by a retry edge past its maximum is allowed one more correction on that edge by each resumption (`state.allowances`; `exceededEdge(workflow, state)` names that edge, `<stage>.<outcome>`: `state.exceeded`, or for a run stopped before the engine kept it, the edge of its stage whose message its error is, if a single one is): the stage runs again and, if it asks for the correction again, takes it; the correction it could not take is kept in its failed stage event's `feedback`. Each finished stage event also carries its agent's answer (`output`) and the correction it sent back (`feedback`). Calls that announced no cost before the resumption (a call stopped by its timeout) no longer fail the budget; later ones do. The time a run spent stopped is not part of its duration (`state.pausedMs`, left out by `elapsedMs`).
|
|
51
51
|
|
|
52
52
|
The stages, gates, corrections, agent profiles, sessions and prompts are described in the "Write a workflow" section of [`@clemrig/factory`'s README](https://www.npmjs.com/package/@clemrig/factory); import them from `@clemrig/flow` here. What it says of `.factory/`, prompt files and `factory run` options belongs to the factory: with the engine alone, the program gives the input, the prompt texts and the directories to `startRun`.
|
|
53
53
|
|
|
54
54
|
## Runs
|
|
55
55
|
|
|
56
|
-
Each run keeps `state.json`, `events.jsonl` and, for each agent call, a record in `calls/<n>.json` (the workflow's prompt, the request as the runtime read it, the command with the prompt and the MCP servers' configuration replaced by what names them, and the agent's final text) in its own folder of `runsDir`, by default `.flow/runs/` of `dir`. When the engine creates `.flow/`, it writes a `.gitignore` that ignores everything in it: runs hold inputs, agent outputs and the journal, and stay private. `listRuns(runsDir)`, `loadRun(runsDir, id)`, `loadRunEvents(runsDir, id)`, `loadAgentCall(runsDir, id, n)`, `summarizeRun(state)`, `summarizeCorrections(state, events)` (each retry edge taken, with the maximum its events recorded) and `presentResult(workflow, state)` (any object with a `presentResult` in place of the workflow; without one, the validated data as JSON) read them; `flow-ui` shows them.
|
|
56
|
+
Each run keeps `state.json`, `events.jsonl` and, for each agent call, a record in `calls/<n>.json` (the workflow's prompt, the request as the runtime read it, the command with the prompt and the MCP servers' configuration replaced by what names them, the configuration the session confirmed when its runtime announces one, the end of a successful call's error output, and the agent's final text) in its own folder of `runsDir`, by default `.flow/runs/` of `dir`. When the engine creates `.flow/`, it writes a `.gitignore` that ignores everything in it: runs hold inputs, agent outputs and the journal, and stay private. `listRuns(runsDir)`, `loadRun(runsDir, id)`, `loadRunEvents(runsDir, id)`, `loadAgentCall(runsDir, id, n)`, `summarizeRun(state)`, `summarizeCorrections(state, events)` (each retry edge taken, with the maximum its events recorded) and `presentResult(workflow, state)` (any object with a `presentResult` in place of the workflow; without one, the validated data as JSON) read them; `flow-ui` shows them.
|
|
57
57
|
|
|
58
58
|
## License
|
|
59
59
|
|
package/dist/app/run.d.ts
CHANGED
|
@@ -15,6 +15,11 @@ export interface RunSetup {
|
|
|
15
15
|
configDir: string;
|
|
16
16
|
/** Where runs are kept, one directory per run; `.flow/runs/` of `dir` by default. */
|
|
17
17
|
runsDir?: string;
|
|
18
|
+
/**
|
|
19
|
+
* What the caller runs the workflow with, recorded with each launch: its own
|
|
20
|
+
* version, where its prompts come from, as labels of its choice.
|
|
21
|
+
*/
|
|
22
|
+
caller?: Record<string, string>;
|
|
18
23
|
}
|
|
19
24
|
/** What resuming a failed run needs: the run, and its workflow with its options, prompts and directories. */
|
|
20
25
|
export interface ResumeSetup extends Omit<RunSetup, "input"> {
|
package/dist/app/run.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { budgetProblem, emptyMetrics, recordUsage } from "../engine/metrics.js";
|
|
2
2
|
import { exceededEdge, executeWorkflow } from "../engine/runner.js";
|
|
3
3
|
import { budgetRefusal, parseInput } from "../engine/workflow.js";
|
|
4
|
+
import { machineFacts } from "../system/launch.js";
|
|
4
5
|
import { whenInterrupted } from "../system/process.js";
|
|
5
6
|
import { AgentRuntime } from "../system/runtimes/agent-runtime.js";
|
|
6
7
|
import { inspectRuntimes, } from "../system/runtimes/inspect.js";
|
|
@@ -36,14 +37,25 @@ async function prerequisites(workflow, setup) {
|
|
|
36
37
|
function runtimeDetails(runtimes) {
|
|
37
38
|
return Object.fromEntries(Object.entries(runtimes).map(([runtime, { detail }]) => [runtime, detail]));
|
|
38
39
|
}
|
|
40
|
+
/** Where the budget in force comes from: given to this launch, the run's own, or the workflow's. */
|
|
41
|
+
function budgetFrom(usd, given, own) {
|
|
42
|
+
if (usd === undefined)
|
|
43
|
+
return undefined;
|
|
44
|
+
return {
|
|
45
|
+
usd,
|
|
46
|
+
from: given !== undefined ? "given" : own !== undefined ? "run" : "workflow",
|
|
47
|
+
};
|
|
48
|
+
}
|
|
39
49
|
/**
|
|
40
|
-
* Saves the run, then executes it from its current stage.
|
|
41
|
-
* its budget is exceeded, or once a call announced no cost;
|
|
42
|
-
* cost recorded before it executes, by an earlier execution,
|
|
50
|
+
* Saves the run, records its launch, then executes it from its current stage.
|
|
51
|
+
* The run fails once its budget is exceeded, or once a call announced no cost;
|
|
52
|
+
* calls without a cost recorded before it executes, by an earlier execution,
|
|
53
|
+
* do not count.
|
|
43
54
|
*/
|
|
44
|
-
async function execute(state, store, setup, checked, hooks,
|
|
55
|
+
async function execute(state, store, setup, checked, hooks, resumed) {
|
|
45
56
|
const { workflow, dir, configDir } = setup;
|
|
46
57
|
const { maxCostUsd } = checked;
|
|
58
|
+
const resumedAfter = resumed?.after;
|
|
47
59
|
const agent = new AgentRuntime({
|
|
48
60
|
dir,
|
|
49
61
|
configDir,
|
|
@@ -57,6 +69,35 @@ async function execute(state, store, setup, checked, hooks, resumedAfter) {
|
|
|
57
69
|
executables: checked.executables,
|
|
58
70
|
});
|
|
59
71
|
await store.save(state);
|
|
72
|
+
const used = [
|
|
73
|
+
...new Set(Object.values(workflow.agents).map(({ profile }) => profile.runtime)),
|
|
74
|
+
];
|
|
75
|
+
// Before the first stage: what the launch executes with, as this process finds it.
|
|
76
|
+
const launch = {
|
|
77
|
+
type: "launch",
|
|
78
|
+
runId: state.id,
|
|
79
|
+
stage: state.stage,
|
|
80
|
+
at: new Date().toISOString(),
|
|
81
|
+
...machineFacts(dir, used),
|
|
82
|
+
...(setup.caller ? { caller: setup.caller } : {}),
|
|
83
|
+
runtimes: runtimeDetails(checked.runtimes) ?? {},
|
|
84
|
+
...(checked.budget ? { budget: checked.budget } : {}),
|
|
85
|
+
...(resumed && Object.keys(resumed.given).length
|
|
86
|
+
? { given: resumed.given }
|
|
87
|
+
: {}),
|
|
88
|
+
};
|
|
89
|
+
try {
|
|
90
|
+
await store.event(launch);
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
// Unrecorded, the launch fails the run as a stage would: it stays resumable.
|
|
94
|
+
state.status = "failed";
|
|
95
|
+
state.error = `The launch could not be recorded: ${error instanceof Error ? error.message : String(error)}`;
|
|
96
|
+
state.updatedAt = new Date().toISOString();
|
|
97
|
+
await store.save(state);
|
|
98
|
+
throw error;
|
|
99
|
+
}
|
|
100
|
+
hooks.onEvent(launch);
|
|
60
101
|
const accepted = state.metrics?.usage.missing ?? 0;
|
|
61
102
|
const controller = new AbortController();
|
|
62
103
|
/**
|
|
@@ -131,7 +172,11 @@ export async function startRun(setup, hooks) {
|
|
|
131
172
|
else if ((await isDirectory(setup.runsDir)) === false)
|
|
132
173
|
throw new Error(`runsDir is not a directory: ${setup.runsDir}`);
|
|
133
174
|
const store = new FileRunStore(setup.runsDir ?? defaultRunsDir(dir), state.id);
|
|
134
|
-
return execute(state, store, setup, {
|
|
175
|
+
return execute(state, store, setup, {
|
|
176
|
+
...checked,
|
|
177
|
+
maxCostUsd,
|
|
178
|
+
budget: budgetFrom(maxCostUsd, setup.maxCostUsd, undefined),
|
|
179
|
+
}, hooks);
|
|
135
180
|
}
|
|
136
181
|
/**
|
|
137
182
|
* Resumes a failed run at the stage where it stopped, with its input, data,
|
|
@@ -199,6 +244,10 @@ export async function resumeRun(setup, hooks) {
|
|
|
199
244
|
await store.save(current);
|
|
200
245
|
return current;
|
|
201
246
|
});
|
|
202
|
-
return execute(state, store, setup, {
|
|
247
|
+
return execute(state, store, setup, {
|
|
248
|
+
...checked,
|
|
249
|
+
maxCostUsd,
|
|
250
|
+
budget: budgetFrom(maxCostUsd, setup.maxCostUsd, found.maxCostUsd),
|
|
251
|
+
}, hooks, { after: resumedAfter, given });
|
|
203
252
|
}
|
|
204
253
|
//# sourceMappingURL=run.js.map
|
package/dist/app/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/app/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/app/run.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/types.d.ts
CHANGED
|
@@ -57,7 +57,38 @@ export type AgentActivity = {
|
|
|
57
57
|
} | {
|
|
58
58
|
kind: "warning";
|
|
59
59
|
message: string;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* What the session confirmed it runs with differs from the profile in these
|
|
63
|
+
* respects; its whole configuration is in the call's record.
|
|
64
|
+
*/
|
|
65
|
+
| {
|
|
66
|
+
kind: "effective";
|
|
67
|
+
differences: string[];
|
|
68
|
+
}
|
|
69
|
+
/** Something the runtime reported that explains the call without stopping it. */
|
|
70
|
+
| {
|
|
71
|
+
kind: "notice";
|
|
72
|
+
notice: NoticeKind;
|
|
73
|
+
message: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* A hook of the runtime's configuration that ran: its outcome, its exit code
|
|
77
|
+
* and the start of what it printed, which the agent may receive.
|
|
78
|
+
*/
|
|
79
|
+
| {
|
|
80
|
+
kind: "hook";
|
|
81
|
+
name: string;
|
|
82
|
+
outcome: string;
|
|
83
|
+
exitCode?: number;
|
|
84
|
+
output?: string;
|
|
60
85
|
};
|
|
86
|
+
/**
|
|
87
|
+
* A subscription limit, tools the runtime refused, a request it sent again, a
|
|
88
|
+
* conversation it compacted, the models the call used, or what a successful
|
|
89
|
+
* call wrote on its error output.
|
|
90
|
+
*/
|
|
91
|
+
export type NoticeKind = "limit" | "denied" | "retry" | "compaction" | "models" | "stderr";
|
|
61
92
|
/**
|
|
62
93
|
* What flow sent an agent in one call, and the agent's final text: kept beside
|
|
63
94
|
* the journal, one file per call, so that the journal stays light.
|
|
@@ -82,6 +113,14 @@ export interface AgentCallRecord {
|
|
|
82
113
|
};
|
|
83
114
|
/** The agent's final text, before the engine reads it; absent from a call that ended without one. */
|
|
84
115
|
answer?: string;
|
|
116
|
+
/**
|
|
117
|
+
* What the session confirmed it runs with, as the runtime announced it:
|
|
118
|
+
* version, model, tools, servers and their status… Absent from a runtime
|
|
119
|
+
* that announces nothing, Codex.
|
|
120
|
+
*/
|
|
121
|
+
effective?: Record<string, unknown>;
|
|
122
|
+
/** The end of what a successful call wrote on its error output. */
|
|
123
|
+
stderr?: string;
|
|
85
124
|
}
|
|
86
125
|
/** Records an agent call's activity under the calling stage. */
|
|
87
126
|
export type RecordActivity = (activity: AgentActivity) => void;
|
|
@@ -248,7 +287,46 @@ export interface AgentEvent extends EventBase {
|
|
|
248
287
|
type: "agent";
|
|
249
288
|
activity: AgentActivity;
|
|
250
289
|
}
|
|
251
|
-
|
|
290
|
+
/**
|
|
291
|
+
* Recorded by the engine before the first stage of each launch: the run's
|
|
292
|
+
* start, then each resumption. Where and with what the launch executes, since
|
|
293
|
+
* a resumption may run with other versions, another budget or on another
|
|
294
|
+
* machine.
|
|
295
|
+
*/
|
|
296
|
+
export interface LaunchEvent {
|
|
297
|
+
type: "launch";
|
|
298
|
+
runId: string;
|
|
299
|
+
/** The stage the launch starts with. */
|
|
300
|
+
stage: string;
|
|
301
|
+
at: string;
|
|
302
|
+
/** flow's version. */
|
|
303
|
+
flow: string;
|
|
304
|
+
/** What the caller says it runs the workflow with, such as its own version and where its prompts come from. */
|
|
305
|
+
caller?: Record<string, string>;
|
|
306
|
+
/** Each runtime the run uses, as checked before the launch: version, executable and connection. */
|
|
307
|
+
runtimes: Partial<Record<Runtime, string>>;
|
|
308
|
+
/**
|
|
309
|
+
* The budget in force and where it comes from: given to this launch, the
|
|
310
|
+
* run's own from an earlier launch, or the workflow's.
|
|
311
|
+
*/
|
|
312
|
+
budget?: {
|
|
313
|
+
usd: number;
|
|
314
|
+
from: "given" | "run" | "workflow";
|
|
315
|
+
};
|
|
316
|
+
/** The machine, and the directory the stages and agents work in. */
|
|
317
|
+
host: {
|
|
318
|
+
name: string;
|
|
319
|
+
platform: string;
|
|
320
|
+
arch: string;
|
|
321
|
+
node: string;
|
|
322
|
+
dir: string;
|
|
323
|
+
};
|
|
324
|
+
/** The variables the runtimes read that are set: their names, never their values. */
|
|
325
|
+
environment: string[];
|
|
326
|
+
/** Values the operator gave the resumption, merged into the run's data. */
|
|
327
|
+
given?: Record<string, unknown>;
|
|
328
|
+
}
|
|
329
|
+
export type RunEvent = StageEvent | LogEvent | AgentEvent | LaunchEvent;
|
|
252
330
|
export interface RunStore {
|
|
253
331
|
save(state: RunState): Promise<void>;
|
|
254
332
|
event(event: RunEvent): Promise<void>;
|
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export { type AgentUsage, elapsedMs, type TokenCounts, } from "./engine/metrics.
|
|
|
10
10
|
export { exceededEdge } from "./engine/runner.js";
|
|
11
11
|
export { agent, type Check, code, END, gate, node, pick, retry, schemaGate, step, } from "./engine/primitives.js";
|
|
12
12
|
export { type AgentProfile, type AgentSettings, profileProblems, type Runtime, runtimeLabels, } from "./engine/profiles.js";
|
|
13
|
-
export type { AgentActivity, AgentCallRecord, AgentStage, Log, RunEvent, RunState, Stage, StageContext, StageEvent, StageResult, Workflow, WorkflowDefinition, WorkflowStep, } from "./engine/types.js";
|
|
13
|
+
export type { AgentActivity, AgentCallRecord, AgentStage, LaunchEvent, Log, RunEvent, RunState, Stage, StageContext, StageEvent, StageResult, Workflow, WorkflowDefinition, WorkflowStep, } from "./engine/types.js";
|
|
14
14
|
export { defineWorkflow, type InputProblem, InvalidInputError, isWorkflow, parseInput, } from "./engine/workflow.js";
|
|
15
15
|
export { killChildProcesses, ProcessInterruptedError, ProcessTimeoutError, runProcess, } from "./system/process.js";
|
|
16
16
|
export { type AgentProblem, inspectNode, inspectRuntimes, type RuntimeStatus, } from "./system/runtimes/inspect.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAIL,SAAS,EAET,QAAQ,GACT,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,QAAQ,EACR,aAAa,EACb,OAAO,EACP,aAAa,EACb,aAAa,EAEb,oBAAoB,EACpB,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,SAAS,GAEV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,KAAK,EAEL,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,UAAU,EACV,IAAI,GACL,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,eAAe,EAEf,aAAa,GACd,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAIL,SAAS,EAET,QAAQ,GACT,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,QAAQ,EACR,aAAa,EACb,OAAO,EACP,aAAa,EACb,aAAa,EAEb,oBAAoB,EACpB,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,SAAS,GAEV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,KAAK,EAEL,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,UAAU,EACV,IAAI,GACL,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,eAAe,EAEf,aAAa,GACd,MAAM,sBAAsB,CAAC;AAiB9B,OAAO,EACL,cAAc,EAEd,iBAAiB,EACjB,UAAU,EACV,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,WAAW,EACX,eAAe,GAEhB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Runtime } from "../engine/profiles.js";
|
|
2
|
+
import type { LaunchEvent } from "../engine/types.js";
|
|
3
|
+
/**
|
|
4
|
+
* What a launch executes with on this machine: flow's version, the machine,
|
|
5
|
+
* the directory agents work in, and the names of the variables set that the
|
|
6
|
+
* runtimes read.
|
|
7
|
+
*/
|
|
8
|
+
export declare function machineFacts(dir: string, used: readonly Runtime[]): Pick<LaunchEvent, "flow" | "host" | "environment">;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { arch, hostname, platform } from "node:os";
|
|
3
|
+
import { resolve } from "node:path";
|
|
4
|
+
import { runtimes } from "./runtimes/registry.js";
|
|
5
|
+
/** Both `src/system/` and `dist/system/` sit two levels below the package root. */
|
|
6
|
+
const version = JSON.parse(readFileSync(new URL("../../package.json", import.meta.url), "utf8")).version;
|
|
7
|
+
/** Variables that change how any runtime reaches its provider. */
|
|
8
|
+
const network = /^(HTTPS?_PROXY|NO_PROXY|https?_proxy|no_proxy)$/;
|
|
9
|
+
/**
|
|
10
|
+
* What a launch executes with on this machine: flow's version, the machine,
|
|
11
|
+
* the directory agents work in, and the names of the variables set that the
|
|
12
|
+
* runtimes read.
|
|
13
|
+
*/
|
|
14
|
+
export function machineFacts(dir, used) {
|
|
15
|
+
const patterns = [network, ...used.map((name) => runtimes[name].environment)];
|
|
16
|
+
return {
|
|
17
|
+
flow: version,
|
|
18
|
+
host: {
|
|
19
|
+
name: hostname(),
|
|
20
|
+
platform: platform(),
|
|
21
|
+
arch: arch(),
|
|
22
|
+
node: process.versions.node,
|
|
23
|
+
dir: resolve(dir),
|
|
24
|
+
},
|
|
25
|
+
environment: Object.keys(process.env)
|
|
26
|
+
.filter((name) => process.env[name] !== undefined &&
|
|
27
|
+
patterns.some((pattern) => pattern.test(name)))
|
|
28
|
+
.sort(),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=launch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/system/launch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,mFAAmF;AACnF,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAChC,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CACrE,CAAC,OAAO,CAAC;AAEV,kEAAkE;AAClE,MAAM,OAAO,GAAG,iDAAiD,CAAC;AAElE;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAW,EACX,IAAwB;IAExB,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9E,OAAO;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ,EAAE;YAChB,QAAQ,EAAE,QAAQ,EAAE;YACpB,IAAI,EAAE,IAAI,EAAE;YACZ,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;YAC3B,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;SAClB;QACD,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;aAClC,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS;YAC/B,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACjD;aACA,IAAI,EAAE;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { z } from "zod";
|
|
2
2
|
import type { AgentUsage, TokenCounts } from "../../engine/metrics.js";
|
|
3
|
+
import type { NoticeKind } from "../../engine/types.js";
|
|
3
4
|
import type { ProfileOf, Runtime } from "../../engine/profiles.js";
|
|
4
5
|
export type { ProfileOf } from "../../engine/profiles.js";
|
|
5
6
|
/** One agent call, as a runtime prepares it. */
|
|
@@ -41,6 +42,30 @@ export type RuntimeEvent = {
|
|
|
41
42
|
type: "warning";
|
|
42
43
|
message: string;
|
|
43
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* What the session confirms it runs with, as the runtime announces it: its
|
|
47
|
+
* whole configuration for the call's record, how it differs from the
|
|
48
|
+
* profile for the journal.
|
|
49
|
+
*/
|
|
50
|
+
| {
|
|
51
|
+
type: "effective";
|
|
52
|
+
config: Record<string, unknown>;
|
|
53
|
+
differences: string[];
|
|
54
|
+
}
|
|
55
|
+
/** Something the runtime reported that explains the call without stopping it. */
|
|
56
|
+
| {
|
|
57
|
+
type: "notice";
|
|
58
|
+
notice: NoticeKind;
|
|
59
|
+
message: string;
|
|
60
|
+
}
|
|
61
|
+
/** A hook of the runtime's configuration that ran. */
|
|
62
|
+
| {
|
|
63
|
+
type: "hook";
|
|
64
|
+
name: string;
|
|
65
|
+
outcome: string;
|
|
66
|
+
exitCode?: number;
|
|
67
|
+
output?: string;
|
|
68
|
+
}
|
|
44
69
|
/** The runtime reported that the call failed: it stops there. */
|
|
45
70
|
| {
|
|
46
71
|
type: "failure";
|
|
@@ -91,6 +116,11 @@ export interface RuntimeAdapter<R extends Runtime> {
|
|
|
91
116
|
minimumVersion: string;
|
|
92
117
|
/** The signal on which the runtime stops cleanly, its commands included. */
|
|
93
118
|
stopSignal: NodeJS.Signals;
|
|
119
|
+
/**
|
|
120
|
+
* The environment variables the runtime reads, as its documentation names
|
|
121
|
+
* them: a launch records which ones are set, never their values.
|
|
122
|
+
*/
|
|
123
|
+
environment: RegExp;
|
|
94
124
|
/**
|
|
95
125
|
* How a profile's connection is known without a provider request: the command
|
|
96
126
|
* that reports it and how to read its output, or the connection itself when the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/system/runtimes/adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/system/runtimes/adapter.ts"],"names":[],"mappings":"AAgEA,6EAA6E;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AA0D/C;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,KAAa,EACb,MAAoB,EACpB,KAAc;IAEd,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IACvC,MAAM,IAAI,GACR,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC5B,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG;QAClB,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;SAC/B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;SACtE,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,0BAA0B,IAAI,UAAU,MAAM,EAAE,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -146,6 +146,23 @@ export async function runCall(adapter, call, options) {
|
|
|
146
146
|
case "warning":
|
|
147
147
|
record?.({ kind: "warning", message: item.message });
|
|
148
148
|
break;
|
|
149
|
+
case "effective":
|
|
150
|
+
if (kept)
|
|
151
|
+
kept.record.effective = item.config;
|
|
152
|
+
record?.({ kind: "effective", differences: item.differences });
|
|
153
|
+
break;
|
|
154
|
+
case "notice":
|
|
155
|
+
record?.({
|
|
156
|
+
kind: "notice",
|
|
157
|
+
notice: item.notice,
|
|
158
|
+
message: item.message,
|
|
159
|
+
});
|
|
160
|
+
break;
|
|
161
|
+
case "hook": {
|
|
162
|
+
const { type: _type, ...hook } = item;
|
|
163
|
+
record?.({ kind: "hook", ...hook });
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
149
166
|
case "failure":
|
|
150
167
|
throw new Error(item.message);
|
|
151
168
|
case "result":
|
|
@@ -157,6 +174,18 @@ export async function runCall(adapter, call, options) {
|
|
|
157
174
|
throw new Error(`${label} exited with code ${exit.exitCode}: ${exit.stderr.trim() || "no error output"}`);
|
|
158
175
|
if (text === undefined)
|
|
159
176
|
throw new Error(`${label} completed without a final result`);
|
|
177
|
+
// What a successful call still wrote on its error output: its end.
|
|
178
|
+
const errors = exit.stderr.trim();
|
|
179
|
+
if (errors) {
|
|
180
|
+
const lines = errors.split("\n");
|
|
181
|
+
if (kept)
|
|
182
|
+
kept.record.stderr = lines.slice(-40).join("\n").slice(-4000);
|
|
183
|
+
record?.({
|
|
184
|
+
kind: "notice",
|
|
185
|
+
notice: "stderr",
|
|
186
|
+
message: `${label} wrote ${lines.length} line${lines.length === 1 ? "" : "s"} on its error output; the last: ${lines.at(-1)?.slice(0, 200)}`,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
160
189
|
succeeded = true;
|
|
161
190
|
}
|
|
162
191
|
catch (error) {
|
|
@@ -167,10 +196,16 @@ export async function runCall(adapter, call, options) {
|
|
|
167
196
|
finally {
|
|
168
197
|
// What the agent answered, even when the engine cannot read it, before the
|
|
169
198
|
// call ends; a record that cannot take it changes neither its outcome nor its measures.
|
|
170
|
-
if (kept &&
|
|
171
|
-
|
|
199
|
+
if (kept &&
|
|
200
|
+
(text !== undefined ||
|
|
201
|
+
kept.record.effective !== undefined ||
|
|
202
|
+
kept.record.stderr !== undefined))
|
|
203
|
+
await keep(kept.path, {
|
|
204
|
+
...kept.record,
|
|
205
|
+
...(text === undefined ? {} : { answer: text }),
|
|
206
|
+
}).catch((error) => record?.({
|
|
172
207
|
kind: "warning",
|
|
173
|
-
message: `The call's record could not keep the agent's answer: ${error instanceof Error ? error.message : String(error)}`,
|
|
208
|
+
message: `The call's record could not keep ${text === undefined ? "what the runtime reported" : "the agent's answer"}: ${error instanceof Error ? error.message : String(error)}`,
|
|
174
209
|
}));
|
|
175
210
|
for (const report of reports)
|
|
176
211
|
await onUsage?.(report);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../../src/system/runtimes/agent-runtime.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../../src/system/runtimes/agent-runtime.ts"],"names":[],"mappings":"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"}
|